From 0391d5bc6bd5e34de3d39abbc3e4d5e83b038519 Mon Sep 17 00:00:00 2001 From: Yeonwoo Sung Date: Sat, 2 Dec 2023 18:42:16 +0900 Subject: [PATCH] Create by Google Colab --- ...n_of_hallucination_with_SelfCheckGPT.ipynb | 7410 +++++++++++++++++ 1 file changed, 7410 insertions(+) create mode 100644 LLMs/src/Automatic_detection_of_hallucination_with_SelfCheckGPT.ipynb diff --git a/LLMs/src/Automatic_detection_of_hallucination_with_SelfCheckGPT.ipynb b/LLMs/src/Automatic_detection_of_hallucination_with_SelfCheckGPT.ipynb new file mode 100644 index 0000000..fa41ef1 --- /dev/null +++ b/LLMs/src/Automatic_detection_of_hallucination_with_SelfCheckGPT.ipynb @@ -0,0 +1,7410 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "gpuType": "T4", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + }, + "accelerator": "GPU", + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "d9bde1fc58e04ab7bfeb94f92a683335": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_ee9565244a0d42b8b62d318c960ca1b1", + "IPY_MODEL_94326129d3fa4a98b4c61b11cccd7e4b", + "IPY_MODEL_98653d678d924112a43afd91f1b371d3" + ], + "layout": "IPY_MODEL_a6369928f21449d6a905b8284f490372" + } + }, + "ee9565244a0d42b8b62d318c960ca1b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8181be7d095745809fd6804da72ac955", + "placeholder": "​", + "style": "IPY_MODEL_0896460c7d2e46628f45331cc3a18125", + "value": "Downloading readme: 100%" + } + }, + "94326129d3fa4a98b4c61b11cccd7e4b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c16d998a6a83462fab2481e4e99cea5f", + "max": 2450, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_48a038cb7f96429c811bf6cefa21afdd", + "value": 2450 + } + }, + "98653d678d924112a43afd91f1b371d3": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_b61da09ee33548ea8cde1e5664706201", + "placeholder": "​", + "style": "IPY_MODEL_59f79ea59f934188a39d1064ab26a77e", + "value": " 2.45k/2.45k [00:00<00:00, 141kB/s]" + } + }, + "a6369928f21449d6a905b8284f490372": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "8181be7d095745809fd6804da72ac955": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "0896460c7d2e46628f45331cc3a18125": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c16d998a6a83462fab2481e4e99cea5f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "48a038cb7f96429c811bf6cefa21afdd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "b61da09ee33548ea8cde1e5664706201": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "59f79ea59f934188a39d1064ab26a77e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "b0acae0b82ad4c23a5b947d046959ff6": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_da632866e97848f5be8f37b0def5e9ef", + "IPY_MODEL_d92d83c5a312450fa9099a18352286d8", + "IPY_MODEL_42c9fffa0ca941f69bee3dedbb45c1d0" + ], + "layout": "IPY_MODEL_b85ddf53d7454614bcf5d7e3f8833b99" + } + }, + "da632866e97848f5be8f37b0def5e9ef": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c40b1efe533e4ac692eb1340ee66038c", + "placeholder": "​", + "style": "IPY_MODEL_b75b9e1274ae423d957e3799ad6ba53f", + "value": "Downloading data files: 100%" + } + }, + "d92d83c5a312450fa9099a18352286d8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_ad84e62374f04b02bdb3a93cfa78aaee", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9ac30c1c6cfe46d085a7b108e349e489", + "value": 1 + } + }, + "42c9fffa0ca941f69bee3dedbb45c1d0": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f01b745be7124b7fb382727aaf99925b", + "placeholder": "​", + "style": "IPY_MODEL_bd76f84525c04bdd9604bd919a01fd2d", + "value": " 1/1 [00:00<00:00, 1.92it/s]" + } + }, + "b85ddf53d7454614bcf5d7e3f8833b99": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "c40b1efe533e4ac692eb1340ee66038c": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b75b9e1274ae423d957e3799ad6ba53f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ad84e62374f04b02bdb3a93cfa78aaee": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9ac30c1c6cfe46d085a7b108e349e489": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f01b745be7124b7fb382727aaf99925b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bd76f84525c04bdd9604bd919a01fd2d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "ab995cba21af49919efc0e248cc8b481": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_8425833a60ec43b5a694a796a0268774", + "IPY_MODEL_f0d0171ed71e4ac791a7639b53af4cd9", + "IPY_MODEL_e18ed091e6c4417d8a98aaa0b25720c9" + ], + "layout": "IPY_MODEL_1956f23b62f44397b8bd344063d04d7b" + } + }, + "8425833a60ec43b5a694a796a0268774": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a5f1bb6c09bc4e7b82682b39bb09ddcf", + "placeholder": "​", + "style": "IPY_MODEL_42923e07ee2e4a8ea3584a740b35f1c2", + "value": "Downloading data: 100%" + } + }, + "f0d0171ed71e4ac791a7639b53af4cd9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_9c4308112b5e46e18af2ad71235fc6e7", + "max": 2561507, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_cd0670827319470c83f164542c88b6b4", + "value": 2561507 + } + }, + "e18ed091e6c4417d8a98aaa0b25720c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d9a44782358746f3bc92c4c5e9b8e7ff", + "placeholder": "​", + "style": "IPY_MODEL_cc48a98421e0432492c5622e6284ce51", + "value": " 2.56M/2.56M [00:00<00:00, 5.15MB/s]" + } + }, + "1956f23b62f44397b8bd344063d04d7b": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a5f1bb6c09bc4e7b82682b39bb09ddcf": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "42923e07ee2e4a8ea3584a740b35f1c2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9c4308112b5e46e18af2ad71235fc6e7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cd0670827319470c83f164542c88b6b4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "d9a44782358746f3bc92c4c5e9b8e7ff": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cc48a98421e0432492c5622e6284ce51": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "5982f8275ac34c17a181b14e6345650c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_e950601a746f4cf89431ad7400cdc1ab", + "IPY_MODEL_ee3cf65a76004312823b36fac5ad7d25", + "IPY_MODEL_9a803cf5f6c14106b298a47e8abbac60" + ], + "layout": "IPY_MODEL_6066ddef956841409de53d8d724a27fc" + } + }, + "e950601a746f4cf89431ad7400cdc1ab": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a2e41b48f9cd4370a60286d659dff719", + "placeholder": "​", + "style": "IPY_MODEL_2afafb253c4e4d29a69781906c21feea", + "value": "Extracting data files: 100%" + } + }, + "ee3cf65a76004312823b36fac5ad7d25": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_0b78d6fb36f14f6c969b11ff22750320", + "max": 1, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_449c6ccb64ee413fb58213a4a205b850", + "value": 1 + } + }, + "9a803cf5f6c14106b298a47e8abbac60": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f9caef79002c45f796768ee94dc8adc3", + "placeholder": "​", + "style": "IPY_MODEL_dacbe3e3cf8e4278a26ab93fa92e9177", + "value": " 1/1 [00:00<00:00, 39.91it/s]" + } + }, + "6066ddef956841409de53d8d724a27fc": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a2e41b48f9cd4370a60286d659dff719": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2afafb253c4e4d29a69781906c21feea": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0b78d6fb36f14f6c969b11ff22750320": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "449c6ccb64ee413fb58213a4a205b850": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f9caef79002c45f796768ee94dc8adc3": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "dacbe3e3cf8e4278a26ab93fa92e9177": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c510a8c155ea4725ae83da4d4be55401": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_90fb7d7a6c77446b9a3666a439aa35b1", + "IPY_MODEL_fc82b37b5e2447eaa1ca2b1f741d1a6c", + "IPY_MODEL_6807b8a6e7da400f980e8c0599e752bd" + ], + "layout": "IPY_MODEL_2becd97b91dd4b489de2d586c3160f02" + } + }, + "90fb7d7a6c77446b9a3666a439aa35b1": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_11eafa8b329e4e4687a522ee57c8715d", + "placeholder": "​", + "style": "IPY_MODEL_bf578d430dff4f578ae5b5a43067ddcd", + "value": "Generating evaluation split: 100%" + } + }, + "fc82b37b5e2447eaa1ca2b1f741d1a6c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_41ccdd351ca04e2e8d2d86e8afb789f9", + "max": 238, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_6bb3c1577ea74a12b1eac78e06fd3e33", + "value": 238 + } + }, + "6807b8a6e7da400f980e8c0599e752bd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1cdac33b6a9642cb9051888d82b8ea01", + "placeholder": "​", + "style": "IPY_MODEL_a8b24a3070144a1d873f86d89b5aa64e", + "value": " 238/238 [00:00<00:00, 2249.88 examples/s]" + } + }, + "2becd97b91dd4b489de2d586c3160f02": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "11eafa8b329e4e4687a522ee57c8715d": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "bf578d430dff4f578ae5b5a43067ddcd": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "41ccdd351ca04e2e8d2d86e8afb789f9": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6bb3c1577ea74a12b1eac78e06fd3e33": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "1cdac33b6a9642cb9051888d82b8ea01": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a8b24a3070144a1d873f86d89b5aa64e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "a54c92d5587542e2968bf15c8f5bc366": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_708d4f18c65d4f70bddb6f76d96359c9", + "IPY_MODEL_65de6148380a42d584d446f3694cc66e", + "IPY_MODEL_87a3765acf7443ecb47f823cdef319c5" + ], + "layout": "IPY_MODEL_0d7704d9dabf474db287a10547717d9f" + } + }, + "708d4f18c65d4f70bddb6f76d96359c9": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d9c55a34c29d477a94d7cb9d8c954bda", + "placeholder": "​", + "style": "IPY_MODEL_f4537afacf844d158ad644dcd4166198", + "value": "tokenizer_config.json: 100%" + } + }, + "65de6148380a42d584d446f3694cc66e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_db4955a6aee24af6a0cf79ebd6bd69cf", + "max": 400, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_7dc0b81690dd43339691baf1d2538bbf", + "value": 400 + } + }, + "87a3765acf7443ecb47f823cdef319c5": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8136010cfba64dff87c09eb5c2f51910", + "placeholder": "​", + "style": "IPY_MODEL_ecd7fc85a08d403ab8c05d580f744e38", + "value": " 400/400 [00:00<00:00, 6.67kB/s]" + } + }, + "0d7704d9dabf474db287a10547717d9f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d9c55a34c29d477a94d7cb9d8c954bda": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "f4537afacf844d158ad644dcd4166198": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "db4955a6aee24af6a0cf79ebd6bd69cf": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "7dc0b81690dd43339691baf1d2538bbf": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "8136010cfba64dff87c09eb5c2f51910": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ecd7fc85a08d403ab8c05d580f744e38": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "4eed8bb3293c444f8b901c7c2cfa43a8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_184afe5ad421461497155f532b6289fe", + "IPY_MODEL_f5b7222d3cae4137b57c6c88c2424ed4", + "IPY_MODEL_db3bc9aaf24344bcae8034a129652f89" + ], + "layout": "IPY_MODEL_7e7d6c2cf6e14c04a36589129ee049a2" + } + }, + "184afe5ad421461497155f532b6289fe": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d1f0ed2e19c54effa7cc04ade6d610de", + "placeholder": "​", + "style": "IPY_MODEL_85148179679f4dbda22ce6b0d910bb04", + "value": "spm.model: 100%" + } + }, + "f5b7222d3cae4137b57c6c88c2424ed4": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_8e975437a7484193acac10f205bc3212", + "max": 2464616, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_9fc15125ab9e4e7fb2f5f1502ebecbd8", + "value": 2464616 + } + }, + "db3bc9aaf24344bcae8034a129652f89": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_df41b063bc85475d999a0b0c981672e1", + "placeholder": "​", + "style": "IPY_MODEL_d478bba6452b4399b538d9c2f9c6827b", + "value": " 2.46M/2.46M [00:00<00:00, 9.25MB/s]" + } + }, + "7e7d6c2cf6e14c04a36589129ee049a2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d1f0ed2e19c54effa7cc04ade6d610de": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "85148179679f4dbda22ce6b0d910bb04": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "8e975437a7484193acac10f205bc3212": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9fc15125ab9e4e7fb2f5f1502ebecbd8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "df41b063bc85475d999a0b0c981672e1": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "d478bba6452b4399b538d9c2f9c6827b": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "0eab6cfa210a49f0a725fafbe0acd125": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_aab69434fb9f4cee84533df70f1e06df", + "IPY_MODEL_c62d40c750ae45829cf0fe9e0e0cfb72", + "IPY_MODEL_cdcbefe5fc55421fbda161db3ae21441" + ], + "layout": "IPY_MODEL_5781c13d66b040f48c780b20f0e150d8" + } + }, + "aab69434fb9f4cee84533df70f1e06df": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_67ba0b82f66245e982a24d21dcc9d427", + "placeholder": "​", + "style": "IPY_MODEL_5965aa9cd4764be1a90cf8e70b1bc6c8", + "value": "added_tokens.json: 100%" + } + }, + "c62d40c750ae45829cf0fe9e0e0cfb72": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_1e177fb0417b4397b478915667edd123", + "max": 23, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_5751dcc2e2f04e968b6cea7739b908a8", + "value": 23 + } + }, + "cdcbefe5fc55421fbda161db3ae21441": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f04b4e6ab2e24bbd861646c0e42ba535", + "placeholder": "​", + "style": "IPY_MODEL_94c5382d4ffe4a71ab4d5bd9dd9f9625", + "value": " 23.0/23.0 [00:00<00:00, 435B/s]" + } + }, + "5781c13d66b040f48c780b20f0e150d8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "67ba0b82f66245e982a24d21dcc9d427": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5965aa9cd4764be1a90cf8e70b1bc6c8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "1e177fb0417b4397b478915667edd123": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "5751dcc2e2f04e968b6cea7739b908a8": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "f04b4e6ab2e24bbd861646c0e42ba535": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "94c5382d4ffe4a71ab4d5bd9dd9f9625": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "9e1998ff08ef4e3db92f0d143ba3312c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_41d6269a541e4d978cdfef5559c4b4c2", + "IPY_MODEL_7c30a786258b4583b52dadcd88b62b97", + "IPY_MODEL_afb65a84d45042ef9a2d3e6ab1d33e09" + ], + "layout": "IPY_MODEL_5ca612d0a4104cf18f190bbb2622d1c7" + } + }, + "41d6269a541e4d978cdfef5559c4b4c2": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_127b01c984854d0abe278cc49f025fb8", + "placeholder": "​", + "style": "IPY_MODEL_61b0ac1c9bf744bfa9be245627ceb95d", + "value": "special_tokens_map.json: 100%" + } + }, + "7c30a786258b4583b52dadcd88b62b97": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_d6893e19ff3f46a89dc3fd7753697782", + "max": 173, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_6c2d320a6fe14e9b91864864381980ee", + "value": 173 + } + }, + "afb65a84d45042ef9a2d3e6ab1d33e09": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7689b0e41f4c4e8782b777e54e54f23a", + "placeholder": "​", + "style": "IPY_MODEL_41ed51b66c69417aaa2e63db0125fc1e", + "value": " 173/173 [00:00<00:00, 3.94kB/s]" + } + }, + "5ca612d0a4104cf18f190bbb2622d1c7": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "127b01c984854d0abe278cc49f025fb8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "61b0ac1c9bf744bfa9be245627ceb95d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "d6893e19ff3f46a89dc3fd7753697782": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6c2d320a6fe14e9b91864864381980ee": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "7689b0e41f4c4e8782b777e54e54f23a": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "41ed51b66c69417aaa2e63db0125fc1e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "c7f9a7f9951c4ceca087314bb37daa48": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_fe3b43c492554320861bd94992f998e7", + "IPY_MODEL_4176f7cc43424514af21a17e0d5c651f", + "IPY_MODEL_e31dd903bdcd4d308485e53b29efd3fc" + ], + "layout": "IPY_MODEL_8690171f376b4b81a1b55235cc9b5b14" + } + }, + "fe3b43c492554320861bd94992f998e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_cba91e119daa416baf5cd000ec68a3c5", + "placeholder": "​", + "style": "IPY_MODEL_2081af44876a4da2bbfbed670e7ef83e", + "value": "config.json: 100%" + } + }, + "4176f7cc43424514af21a17e0d5c651f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_7f1a5012a8aa4dc59a99bc30193cd45f", + "max": 883, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_fedd63519da5400da5fad04da0c037e7", + "value": 883 + } + }, + "e31dd903bdcd4d308485e53b29efd3fc": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_c186a155c8ba451089a290ece12b68e6", + "placeholder": "​", + "style": "IPY_MODEL_6d820256f83d4c0eb0762f7a0373095e", + "value": " 883/883 [00:00<00:00, 19.8kB/s]" + } + }, + "8690171f376b4b81a1b55235cc9b5b14": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cba91e119daa416baf5cd000ec68a3c5": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "2081af44876a4da2bbfbed670e7ef83e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "7f1a5012a8aa4dc59a99bc30193cd45f": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "fedd63519da5400da5fad04da0c037e7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "c186a155c8ba451089a290ece12b68e6": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6d820256f83d4c0eb0762f7a0373095e": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "e90cf8bf022447908a38b214824b204f": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HBoxModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_c777482a53364af48a8d3ba52a5b703c", + "IPY_MODEL_677bc1a9cece43778370f69315c8515d", + "IPY_MODEL_b6c3f3d7c9a14322bbc5dd415e61732d" + ], + "layout": "IPY_MODEL_268f65028b794f4ea1ebb1c062b421b0" + } + }, + "c777482a53364af48a8d3ba52a5b703c": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_a1529d621ebc4943aa8579abb9e19cc2", + "placeholder": "​", + "style": "IPY_MODEL_cf4ec242aa4b4d75b559e19f0074fada", + "value": "pytorch_model.bin: 100%" + } + }, + "677bc1a9cece43778370f69315c8515d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "FloatProgressModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "FloatProgressModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "ProgressView", + "bar_style": "success", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_f1d689bdb5ff4d72acd373717677394e", + "max": 1740393387, + "min": 0, + "orientation": "horizontal", + "style": "IPY_MODEL_b3d9f823468d4fa8b108cecf42f301a7", + "value": 1740393387 + } + }, + "b6c3f3d7c9a14322bbc5dd415e61732d": { + "model_module": "@jupyter-widgets/controls", + "model_name": "HTMLModel", + "model_module_version": "1.5.0", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_da2f49210445411787efb2ed61df2eb8", + "placeholder": "​", + "style": "IPY_MODEL_ac257c28849e4544ab348d7a9b0541f7", + "value": " 1.74G/1.74G [00:14<00:00, 170MB/s]" + } + }, + "268f65028b794f4ea1ebb1c062b421b0": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "a1529d621ebc4943aa8579abb9e19cc2": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "cf4ec242aa4b4d75b559e19f0074fada": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "f1d689bdb5ff4d72acd373717677394e": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "b3d9f823468d4fa8b108cecf42f301a7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "ProgressStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "ProgressStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "bar_color": null, + "description_width": "" + } + }, + "da2f49210445411787efb2ed61df2eb8": { + "model_module": "@jupyter-widgets/base", + "model_name": "LayoutModel", + "model_module_version": "1.2.0", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "ac257c28849e4544ab348d7a9b0541f7": { + "model_module": "@jupyter-widgets/controls", + "model_name": "DescriptionStyleModel", + "model_module_version": "1.5.0", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + } + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Automatic detection of hallucination with SelfCheckGPT\n", + "\n", + "This notebook helps understand how hallucination metrics, such as SelfCheckGPT NLI score, can be used to automatically detect hallucinations.\n", + "\n", + "We will explore\n", + "- Heuristics on why LLMs hallucinate and how it could be automatically detected with metrics that measure sentences' inconsistency\n", + "- How to actually verify that hypothesis with the SelfCheckGPT NLI score on a real dataset derived from the WikiBio, to benchmark how accurate this metric is to detect hallucination automatically and reliably\n", + "\n", + "Our initial results show that this hallucination score has a rather calibrated recall, and high precision. This means that the higher the score, the more likely the model will be able to flag hallucinations (calibrated recall), and any flagged hallucination is almost certainly one (high precision, aka low false positive).\n", + "\n", + "As we work at [Mithril Security](https://www.mithrilsecurity.io/) on Confidential and Trustworthy Conversational AI, being able to know when an LLM is not to be trusted is paramount.\n", + "You can try BlindChat, our open-source and Confidential Conversational AI (aka any data sent to our AI remains private and not even our admins can see your prompts) at [chat.mithrilsecurity.io](https://chat.mithrilsecurity.io/).\n", + "\n", + "While the hallucination detection feature is not yet available in BlindChat, if you are interested in it, you can register [here](https://www.mithrilsecurity.io/registration-for-automated-hallucination-detection-in-blindchat) to show your interest in it so we know how to prioritize it and notify you when it is available." + ], + "metadata": { + "id": "rEa8AIYvuDRX" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Context" + ], + "metadata": { + "id": "Kp2xirrmpyXk" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Heuristic on hallucination origins\n", + "\n", + "LLMS have shown tremendous potential recently, but their tendency to hallucinate wrong facts when prompted on specific tasks has made them unreliable in many real world settings.\n", + "\n", + "For instance, if one were to deploy an LLM to help triage patients and answer simple medical questions, having an LLM hallucinate answers that are not medically grounded could have terrible consequences.\n", + "\n", + "Hallucinations often arise from the fact that LLMs are asked to answer prompts whose task / input / output was not present in the training set, and therefore will produce an answer not based on any ground truth.\n", + "\n", + "This makes sense when one knows that those models are taught to produce the most probable next token according to the statistics of their training set.\n", + "\n", + "Work from [McCoy, R. T., Yao, S., Friedman, D., Hardy, M., & Griffiths, T. L. (2023). Embers of Autoregression: Understanding Large Language Models Through the Problem They are Trained to Solve.](https://arxiv.org/abs/2309.13638)\n", + "shows that unseen tasks / outputs / inputs in the training set are the reason why LLMs hallucinate.\n", + "\n", + "![](https://github.com/dhuynh95/hallucination_article/blob/main/embers_graph.png?raw=true)\n", + "\n", + "For instance, they show that on the simple task of doing a Cesar Cipher of 13 (aka shifting every letter by 13 to hide information), GPT4 is rather accurate. However, when asked to do it with a shift of 2, its accuracy decreases from 0.5 to almost 0. This is most likely due to the fact that the Internet is full of examples of a shift of 13 (as doing it twice sends back to the original message), while examples of Cesar of 2 are much less common.\n", + "\n", + "We can see the same patterns when the prompt and answer are not seen in the training set.\n", + "\n", + "This means that unlikely outputs, aka ones where the next token has a low score, will most likely be unfactual and several samples from the same prompt will generate inconsistent results." + ], + "metadata": { + "id": "r_20uEgdp4W_" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Automatic hallucination detection\n", + "\n", + "This insight is leveraged by SelfCheckGPT ([Manakul, P., Liusie, A., & Gales, M. J. F. (2023). SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models.](https://arxiv.org/abs/2303.08896)), as several samples of the same prompt are drawn, and used to detect inconsistencies among them. The higher the inconsistencies, the more likely the LLM is hallucinating.\n", + "\n", + "The way SelfCheckGPT NLI provides a hallucination score for a given prompt to a given LLM (e.g. GPT4 or any open-source LLM):\n", + "- Greedily sample the answer $r$ to the prompt\n", + "- Sample $N$ more answers ${S^n}, n \\in [[1,N]]$ from the LLM\n", + "- For each sentence in $r_i$ of $r$, for each sampled answer $S_n$, compute the likelihood there is a contradiction between $r_i$ and $S^n$ using a model for Natural Language Inference (NLI) like [DeBERTa-v3-large](https://huggingface.co/microsoft/deberta-v3-large). The more likely there is contradiction, the more the score will be close to 1, and vice versa if there is entailment.\n", + "$$P(\\text{contradict} | r_i, S^n) = \\frac{\\exp(z_c)}{\\exp(z_e) + \\exp(z_c)}$$\n", + "- Compute the hallucination score of the sentence $r_i$ by averaging it over the $N$ samples:\n", + "$$S_{\\text{NLI}}(i) = \\frac{1}{N} \\sum_{n=1}^{N} P(\\text{contradict} | r_i, S^n)$$\n", + "\n", + "Note that the SelfCheckGPT NLI score has several advantages:\n", + "- It works in a blackbox setting, aka there is no need to have access to the weights or the log probabilities, which means it works with both closed-source models being APIs or fully transparent open-source models\n", + "- It works for free text generation, aka it covers almost any task, be it summarization, question answering in free form, or classification\n", + "\n", + "The reasoning why such an inconsistency score can be used to automatically detect hallucinations is the following:\n", + "- The less seen in the training set a specific task is, the more the LLM will be hallucinating (cf. the Embers of autoregression paper mentioned earlier)\n", + "- The less seen a specific task is seen in the training set, the less confident the LLM will be in the next token to choose (aka higher entropy and the most likely token will have a low score, let's say 0.3, versus a very certain output of 0.9)\n", + "- The higher the entropy, the more diverse and inconsistent different samples from the same prompt will be\n", + "- The more inconsistent the samples, the higher a metric which looks at inconsistency between sentences, like SelfCheckGPT NLI score, is" + ], + "metadata": { + "id": "wj3r53uEFh4Q" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Exploration of hallucination score on WikiBio\n", + "\n", + "Now that we have understood how an inconsistency score like SelfCheckGPT NLI can be used to detect hallucinations, let's see its performance in practice.\n", + "\n", + "To do so, we will use the Wiki Bio hallucination dataset curated by the authors of SelfCheckGPT. It can be found on Hugging Face [here](https://huggingface.co/datasets/potsawee/wiki_bio_gpt3_hallucination).\n", + "\n", + "To test whether or not a model is hallucinating, they constructed a dataset where they asked GPT-3 to generate description of topics with the prompt format **\"This is a Wikipedia passage about {concept}:\"**, recorded the output, and then manually labelled each sentence of the generated text by humans to have a gold standard about factuality. The labels were \"Accurate\" (0), \"Minor Inaccurate\" (0.5) and \"Major Inaccurate\" (1). \n", + "\n", + "Then they generated $N=20$ additional samples, that will be used to detect hallucination through inconsistency scoring." + ], + "metadata": { + "id": "_WB3IjhToaA4" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Setup\n", + "\n", + "First we install the needed libraries." + ], + "metadata": { + "id": "CkpuJZOYxQqL" + } + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "2QB02xTi6XLE", + "outputId": "c93690e4-76fb-4850-b3b6-0efcc7885319" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Requirement already satisfied: transformers in /usr/local/lib/python3.10/dist-packages (4.35.2)\n", + "Collecting datasets\n", + " Downloading datasets-2.15.0-py3-none-any.whl (521 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m521.2/521.2 kB\u001b[0m \u001b[31m3.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from transformers) (3.13.1)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.19.4)\n", + "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (1.23.5)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from transformers) (23.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (6.0.1)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers) (2023.6.3)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from transformers) (2.31.0)\n", + "Requirement already satisfied: tokenizers<0.19,>=0.14 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.15.0)\n", + "Requirement already satisfied: safetensors>=0.3.1 in /usr/local/lib/python3.10/dist-packages (from transformers) (0.4.1)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.10/dist-packages (from transformers) (4.66.1)\n", + "Requirement already satisfied: pyarrow>=8.0.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (9.0.0)\n", + "Collecting pyarrow-hotfix (from datasets)\n", + " Downloading pyarrow_hotfix-0.6-py3-none-any.whl (7.9 kB)\n", + "Collecting dill<0.3.8,>=0.3.0 (from datasets)\n", + " Downloading dill-0.3.7-py3-none-any.whl (115 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m115.3/115.3 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from datasets) (1.5.3)\n", + "Requirement already satisfied: xxhash in /usr/local/lib/python3.10/dist-packages (from datasets) (3.4.1)\n", + "Collecting multiprocess (from datasets)\n", + " Downloading multiprocess-0.70.15-py310-none-any.whl (134 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m134.8/134.8 kB\u001b[0m \u001b[31m21.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: fsspec[http]<=2023.10.0,>=2023.1.0 in /usr/local/lib/python3.10/dist-packages (from datasets) (2023.6.0)\n", + "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from datasets) (3.9.1)\n", + "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (23.1.0)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (6.0.4)\n", + "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.9.3)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.4.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (1.3.1)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->datasets) (4.0.3)\n", + "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.10/dist-packages (from huggingface-hub<1.0,>=0.16.4->transformers) (4.5.0)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->transformers) (2023.11.17)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->datasets) (2023.3.post1)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas->datasets) (1.16.0)\n", + "Installing collected packages: pyarrow-hotfix, dill, multiprocess, datasets\n", + "Successfully installed datasets-2.15.0 dill-0.3.7 multiprocess-0.70.15 pyarrow-hotfix-0.6\n", + "Collecting sentencepiece\n", + " Downloading sentencepiece-0.1.99-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m8.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: sentencepiece\n", + "Successfully installed sentencepiece-0.1.99\n", + "Collecting selfcheckgpt\n", + " Downloading selfcheckgpt-0.1.4.tar.gz (14 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: transformers>=4.11.3 in /usr/local/lib/python3.10/dist-packages (from selfcheckgpt) (4.35.2)\n", + "Requirement already satisfied: torch>=1.10 in /usr/local/lib/python3.10/dist-packages (from selfcheckgpt) (2.1.0+cu118)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from selfcheckgpt) (1.23.5)\n", + "Collecting bert_score (from selfcheckgpt)\n", + " Downloading bert_score-0.3.13-py3-none-any.whl (61 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m61.1/61.1 kB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: spacy in /usr/local/lib/python3.10/dist-packages (from selfcheckgpt) (3.6.1)\n", + "Requirement already satisfied: nltk in /usr/local/lib/python3.10/dist-packages (from selfcheckgpt) (3.8.1)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (3.13.1)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (4.5.0)\n", + "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (1.12)\n", + "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (3.2.1)\n", + "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (3.1.2)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (2023.6.0)\n", + "Requirement already satisfied: triton==2.1.0 in /usr/local/lib/python3.10/dist-packages (from torch>=1.10->selfcheckgpt) (2.1.0)\n", + "Requirement already satisfied: huggingface-hub<1.0,>=0.16.4 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (0.19.4)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (23.2)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (6.0.1)\n", + "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (2023.6.3)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (2.31.0)\n", + "Requirement already satisfied: tokenizers<0.19,>=0.14 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (0.15.0)\n", + "Requirement already satisfied: safetensors>=0.3.1 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (0.4.1)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.10/dist-packages (from transformers>=4.11.3->selfcheckgpt) (4.66.1)\n", + "Requirement already satisfied: pandas>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from bert_score->selfcheckgpt) (1.5.3)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from bert_score->selfcheckgpt) (3.7.1)\n", + "Requirement already satisfied: click in /usr/local/lib/python3.10/dist-packages (from nltk->selfcheckgpt) (8.1.7)\n", + "Requirement already satisfied: joblib in /usr/local/lib/python3.10/dist-packages (from nltk->selfcheckgpt) (1.3.2)\n", + "Requirement already satisfied: spacy-legacy<3.1.0,>=3.0.11 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (3.0.12)\n", + "Requirement already satisfied: spacy-loggers<2.0.0,>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (1.0.5)\n", + "Requirement already satisfied: murmurhash<1.1.0,>=0.28.0 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (1.0.10)\n", + "Requirement already satisfied: cymem<2.1.0,>=2.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (2.0.8)\n", + "Requirement already satisfied: preshed<3.1.0,>=3.0.2 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (3.0.9)\n", + "Requirement already satisfied: thinc<8.2.0,>=8.1.8 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (8.1.12)\n", + "Requirement already satisfied: wasabi<1.2.0,>=0.9.1 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (1.1.2)\n", + "Requirement already satisfied: srsly<3.0.0,>=2.4.3 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (2.4.8)\n", + "Requirement already satisfied: catalogue<2.1.0,>=2.0.6 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (2.0.10)\n", + "Requirement already satisfied: typer<0.10.0,>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (0.9.0)\n", + "Requirement already satisfied: pathy>=0.10.0 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (0.10.3)\n", + "Requirement already satisfied: smart-open<7.0.0,>=5.2.1 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (6.4.0)\n", + "Requirement already satisfied: pydantic!=1.8,!=1.8.1,<3.0.0,>=1.7.4 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (1.10.13)\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (67.7.2)\n", + "Requirement already satisfied: langcodes<4.0.0,>=3.2.0 in /usr/local/lib/python3.10/dist-packages (from spacy->selfcheckgpt) (3.3.0)\n", + "Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.0.1->bert_score->selfcheckgpt) (2.8.2)\n", + "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas>=1.0.1->bert_score->selfcheckgpt) (2023.3.post1)\n", + "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->transformers>=4.11.3->selfcheckgpt) (3.3.2)\n", + "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->transformers>=4.11.3->selfcheckgpt) (3.6)\n", + "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->transformers>=4.11.3->selfcheckgpt) (2.0.7)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->transformers>=4.11.3->selfcheckgpt) (2023.11.17)\n", + "Requirement already satisfied: blis<0.8.0,>=0.7.8 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy->selfcheckgpt) (0.7.11)\n", + "Requirement already satisfied: confection<1.0.0,>=0.0.1 in /usr/local/lib/python3.10/dist-packages (from thinc<8.2.0,>=8.1.8->spacy->selfcheckgpt) (0.1.4)\n", + "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from jinja2->torch>=1.10->selfcheckgpt) (2.1.3)\n", + "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (1.2.0)\n", + "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (0.12.1)\n", + "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (4.45.1)\n", + "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (1.4.5)\n", + "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (9.4.0)\n", + "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->bert_score->selfcheckgpt) (3.1.1)\n", + "Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->torch>=1.10->selfcheckgpt) (1.3.0)\n", + "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas>=1.0.1->bert_score->selfcheckgpt) (1.16.0)\n", + "Building wheels for collected packages: selfcheckgpt\n", + " Building wheel for selfcheckgpt (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for selfcheckgpt: filename=selfcheckgpt-0.1.4-py3-none-any.whl size=12240 sha256=b84177b1233dcd1d27681e31c4adedd25d5ec594ef3b08e0a47f73c8f4477c45\n", + " Stored in directory: /root/.cache/pip/wheels/dc/a6/76/107247d4924cb23f6e1b1987413b2a191979767e1e2c1d5751\n", + "Successfully built selfcheckgpt\n", + "Installing collected packages: bert_score, selfcheckgpt\n", + "Successfully installed bert_score-0.3.13 selfcheckgpt-0.1.4\n", + "Requirement already satisfied: scikit-learn in /usr/local/lib/python3.10/dist-packages (1.2.2)\n", + "Collecting scikit-learn\n", + " Downloading scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m51.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy<2.0,>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.23.5)\n", + "Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.11.4)\n", + "Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (1.3.2)\n", + "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn) (3.2.0)\n", + "Installing collected packages: scikit-learn\n", + " Attempting uninstall: scikit-learn\n", + " Found existing installation: scikit-learn 1.2.2\n", + " Uninstalling scikit-learn-1.2.2:\n", + " Successfully uninstalled scikit-learn-1.2.2\n", + "Successfully installed scikit-learn-1.3.2\n" + ] + } + ], + "source": [ + "!pip install transformers datasets\n", + "!pip install sentencepiece\n", + "!pip install selfcheckgpt\n", + "!pip install -U scikit-learn" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now we will download the Wiki bio dataset." + ], + "metadata": { + "id": "dLK_le9gQQgR" + } + }, + { + "cell_type": "code", + "source": [ + "from datasets import load_dataset\n", + "\n", + "dataset = load_dataset(\"potsawee/wiki_bio_gpt3_hallucination\")" + ], + "metadata": { + "id": "UM4mhgxdYeVJ", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 177, + "referenced_widgets": [ + "d9bde1fc58e04ab7bfeb94f92a683335", + "ee9565244a0d42b8b62d318c960ca1b1", + "94326129d3fa4a98b4c61b11cccd7e4b", + "98653d678d924112a43afd91f1b371d3", + "a6369928f21449d6a905b8284f490372", + "8181be7d095745809fd6804da72ac955", + "0896460c7d2e46628f45331cc3a18125", + "c16d998a6a83462fab2481e4e99cea5f", + "48a038cb7f96429c811bf6cefa21afdd", + "b61da09ee33548ea8cde1e5664706201", + "59f79ea59f934188a39d1064ab26a77e", + "b0acae0b82ad4c23a5b947d046959ff6", + "da632866e97848f5be8f37b0def5e9ef", + "d92d83c5a312450fa9099a18352286d8", + "42c9fffa0ca941f69bee3dedbb45c1d0", + "b85ddf53d7454614bcf5d7e3f8833b99", + "c40b1efe533e4ac692eb1340ee66038c", + "b75b9e1274ae423d957e3799ad6ba53f", + "ad84e62374f04b02bdb3a93cfa78aaee", + "9ac30c1c6cfe46d085a7b108e349e489", + "f01b745be7124b7fb382727aaf99925b", + "bd76f84525c04bdd9604bd919a01fd2d", + "ab995cba21af49919efc0e248cc8b481", + "8425833a60ec43b5a694a796a0268774", + "f0d0171ed71e4ac791a7639b53af4cd9", + "e18ed091e6c4417d8a98aaa0b25720c9", + "1956f23b62f44397b8bd344063d04d7b", + "a5f1bb6c09bc4e7b82682b39bb09ddcf", + "42923e07ee2e4a8ea3584a740b35f1c2", + "9c4308112b5e46e18af2ad71235fc6e7", + "cd0670827319470c83f164542c88b6b4", + "d9a44782358746f3bc92c4c5e9b8e7ff", + "cc48a98421e0432492c5622e6284ce51", + "5982f8275ac34c17a181b14e6345650c", + "e950601a746f4cf89431ad7400cdc1ab", + "ee3cf65a76004312823b36fac5ad7d25", + "9a803cf5f6c14106b298a47e8abbac60", + "6066ddef956841409de53d8d724a27fc", + "a2e41b48f9cd4370a60286d659dff719", + "2afafb253c4e4d29a69781906c21feea", + "0b78d6fb36f14f6c969b11ff22750320", + "449c6ccb64ee413fb58213a4a205b850", + "f9caef79002c45f796768ee94dc8adc3", + "dacbe3e3cf8e4278a26ab93fa92e9177", + "c510a8c155ea4725ae83da4d4be55401", + "90fb7d7a6c77446b9a3666a439aa35b1", + "fc82b37b5e2447eaa1ca2b1f741d1a6c", + "6807b8a6e7da400f980e8c0599e752bd", + "2becd97b91dd4b489de2d586c3160f02", + "11eafa8b329e4e4687a522ee57c8715d", + "bf578d430dff4f578ae5b5a43067ddcd", + "41ccdd351ca04e2e8d2d86e8afb789f9", + "6bb3c1577ea74a12b1eac78e06fd3e33", + "1cdac33b6a9642cb9051888d82b8ea01", + "a8b24a3070144a1d873f86d89b5aa64e" + ] + }, + "outputId": "5411f306-8f77-41a0-eef4-6261604e1daf" + }, + "execution_count": 2, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "Downloading readme: 0%| | 0.00/2.45k [00:00\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gpt3_textwiki_bio_textgpt3_sentencesannotationwiki_bio_test_idxgpt3_text_samplessent_scores_nli
0John Russell Reynolds (1820–1876) was an Engli...Sir John Russell Reynolds, 1st Baronet (22 May...[John Russell Reynolds (1820–1876) was an Engl...[major_inaccurate, major_inaccurate, major_ina...62464[John Russell Reynolds (1 November 1829 – 11 ...None
\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n" + ] + }, + "metadata": {}, + "execution_count": 4 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "- gpt3_text is the output of the prompt \"This is a Wikipedia passage about {concept}:\"\n", + "- wiki_bio_text is the ground truth\n", + "- gpt3_sentences is gpt3_text split into sentences\n", + "- annotation is the label\n", + "- gpt3_text_samples are the $N$ samples generated to detect inconsistency." + ], + "metadata": { + "id": "9CJjzOVVTQuI" + } + }, + { + "cell_type": "markdown", + "source": [ + "We can have a look here at samples:" + ], + "metadata": { + "id": "77LAY9ucQXDM" + } + }, + { + "cell_type": "code", + "source": [ + "example = dataset[\"evaluation\"][0]\n", + "\n", + "sentences = example[\"gpt3_sentences\"]\n", + "samples = example[\"gpt3_text_samples\"]\n", + "annotation = example[\"annotation\"]\n", + "\n", + "sentences, samples[0], annotation" + ], + "metadata": { + "id": "84XcvK6VlSHK", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "7268ac6c-7441-49e3-8d06-1f2b81855c51" + }, + "execution_count": 5, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(['John Russell Reynolds (1820–1876) was an English lawyer, judge, and author.',\n", + " 'He was born in London, the son of a barrister, and was educated at Eton College and Trinity College, Cambridge.',\n", + " \"He was called to the bar in 1845, and became a Queen's Counsel in 1859.\",\n", + " 'He was appointed a judge of the Court of Common Pleas in 1867, and was knighted in 1871.',\n", + " 'Reynolds was a prolific author, writing on a wide range of topics.',\n", + " 'He wrote several books on legal topics, including The Law of Libel and Slander (1863), The Law of Copyright (1865), and The Law of Patents for Inventions (1868).',\n", + " 'He also wrote on a variety of other topics, including history, biography, and literature.',\n", + " 'He was a frequent contributor to the Saturday Review, and wrote several books on Shakespeare, including The Mystery of William Shakespeare (1848) and The Authorship of Shakespeare (1875).',\n", + " 'He also wrote a biography of the poet John Keats (1848).'],\n", + " 'John Russell Reynolds (1 November 1829 – 11 March 1907) was an English lexicographer, editor and author. Born in London, he was the eldest son of the first Lord Ogmore, and was educated at Trinity College, Oxford, where he graduated B.A. in 1852 and became a Fellow in 1854. He was president of Magdalen Hall from 1864 to 1884, and from 1864 to 1883 was assistant-editor to the Oxford English Dictionary under James Murray. \\n\\nHe was a permanent contributor to The Saturday Review, and wrote several books about the House of Commons. He also compiled dictionaries of quotations and biographies and edited collections of newspaper articles. He had a particular interest in the works of Christian mystics, writing studies of the lives and works of Saints Augustine and Thomas à Kempis. For his edition of Thomas à Kempis\\' \"The Imitation of Christ\", first published in 1875, he wrote a biographical introduction.',\n", + " ['major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate',\n", + " 'major_inaccurate'])" + ] + }, + "metadata": {}, + "execution_count": 5 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Computing the NLI Scores" + ], + "metadata": { + "id": "jsJmitbtxZ-g" + } + }, + { + "cell_type": "markdown", + "source": [ + "Recalculate the NLI scores of the original wiki bio dataset." + ], + "metadata": { + "id": "YIhhXXcw5_cl" + } + }, + { + "cell_type": "code", + "source": [ + "from tqdm import tqdm\n", + "from selfcheckgpt.modeling_selfcheck import SelfCheckNLI\n", + "import torch\n", + "\n", + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "selfcheck_nli = SelfCheckNLI(device=device) # set device to 'cuda' if GPU is available\n", + "\n", + "for index, example in tqdm(df.iterrows()):\n", + " sentences = example[\"gpt3_sentences\"]\n", + " samples = example[\"gpt3_text_samples\"]\n", + " sent_scores_nli = selfcheck_nli.predict(\n", + " sentences = sentences, # list of sentences\n", + " sampled_passages = samples, # list of sampled passages\n", + " )\n", + " df.loc[index, \"sent_scores_nli\"] = str(list(sent_scores_nli)) # Store the scores in the sent_scores_nli column\n", + " df.to_csv(\"./wiki_bio_gpt3_hallucination.csv\", index=False)" + ], + "metadata": { + "id": "OZJAv27Lp6io", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 244, + "referenced_widgets": [ + "a54c92d5587542e2968bf15c8f5bc366", + "708d4f18c65d4f70bddb6f76d96359c9", + "65de6148380a42d584d446f3694cc66e", + "87a3765acf7443ecb47f823cdef319c5", + "0d7704d9dabf474db287a10547717d9f", + "d9c55a34c29d477a94d7cb9d8c954bda", + "f4537afacf844d158ad644dcd4166198", + "db4955a6aee24af6a0cf79ebd6bd69cf", + "7dc0b81690dd43339691baf1d2538bbf", + "8136010cfba64dff87c09eb5c2f51910", + "ecd7fc85a08d403ab8c05d580f744e38", + "4eed8bb3293c444f8b901c7c2cfa43a8", + "184afe5ad421461497155f532b6289fe", + "f5b7222d3cae4137b57c6c88c2424ed4", + "db3bc9aaf24344bcae8034a129652f89", + "7e7d6c2cf6e14c04a36589129ee049a2", + "d1f0ed2e19c54effa7cc04ade6d610de", + "85148179679f4dbda22ce6b0d910bb04", + "8e975437a7484193acac10f205bc3212", + "9fc15125ab9e4e7fb2f5f1502ebecbd8", + "df41b063bc85475d999a0b0c981672e1", + "d478bba6452b4399b538d9c2f9c6827b", + "0eab6cfa210a49f0a725fafbe0acd125", + "aab69434fb9f4cee84533df70f1e06df", + "c62d40c750ae45829cf0fe9e0e0cfb72", + "cdcbefe5fc55421fbda161db3ae21441", + "5781c13d66b040f48c780b20f0e150d8", + "67ba0b82f66245e982a24d21dcc9d427", + "5965aa9cd4764be1a90cf8e70b1bc6c8", + "1e177fb0417b4397b478915667edd123", + "5751dcc2e2f04e968b6cea7739b908a8", + "f04b4e6ab2e24bbd861646c0e42ba535", + "94c5382d4ffe4a71ab4d5bd9dd9f9625", + "9e1998ff08ef4e3db92f0d143ba3312c", + "41d6269a541e4d978cdfef5559c4b4c2", + "7c30a786258b4583b52dadcd88b62b97", + "afb65a84d45042ef9a2d3e6ab1d33e09", + "5ca612d0a4104cf18f190bbb2622d1c7", + "127b01c984854d0abe278cc49f025fb8", + "61b0ac1c9bf744bfa9be245627ceb95d", + "d6893e19ff3f46a89dc3fd7753697782", + "6c2d320a6fe14e9b91864864381980ee", + "7689b0e41f4c4e8782b777e54e54f23a", + "41ed51b66c69417aaa2e63db0125fc1e", + "c7f9a7f9951c4ceca087314bb37daa48", + "fe3b43c492554320861bd94992f998e7", + "4176f7cc43424514af21a17e0d5c651f", + "e31dd903bdcd4d308485e53b29efd3fc", + "8690171f376b4b81a1b55235cc9b5b14", + "cba91e119daa416baf5cd000ec68a3c5", + "2081af44876a4da2bbfbed670e7ef83e", + "7f1a5012a8aa4dc59a99bc30193cd45f", + "fedd63519da5400da5fad04da0c037e7", + "c186a155c8ba451089a290ece12b68e6", + "6d820256f83d4c0eb0762f7a0373095e", + "e90cf8bf022447908a38b214824b204f", + "c777482a53364af48a8d3ba52a5b703c", + "677bc1a9cece43778370f69315c8515d", + "b6c3f3d7c9a14322bbc5dd415e61732d", + "268f65028b794f4ea1ebb1c062b421b0", + "a1529d621ebc4943aa8579abb9e19cc2", + "cf4ec242aa4b4d75b559e19f0074fada", + "f1d689bdb5ff4d72acd373717677394e", + "b3d9f823468d4fa8b108cecf42f301a7", + "da2f49210445411787efb2ed61df2eb8", + "ac257c28849e4544ab348d7a9b0541f7" + ] + }, + "outputId": "ef8f0283-1694-4a02-c621-93bad9cc8bf1" + }, + "execution_count": 6, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "tokenizer_config.json: 0%| | 0.00/400 [00:00] 4.86M --.-KB/s in 0.05s \n", + "\n", + "2023-12-02 07:07:30 (93.9 MB/s) - ‘wiki_bio_gpt3_hallucination.csv’ saved [5100772/5100772]\n", + "\n", + "FINISHED --2023-12-02 07:07:30--\n", + "Total wall clock time: 2.2s\n", + "Downloaded: 1 files, 4.9M in 0.05s (93.9 MB/s)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv(\"./wiki_bio_gpt3_hallucination.csv\")\n", + "df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 597 + }, + "id": "QBJ_IaYJx_4s", + "outputId": "56911bf4-3cd2-4fe6-d2ba-853018cfe5e7" + }, + "execution_count": 8, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " gpt3_text \\\n", + "0 John Russell Reynolds (1820–1876) was an Engli... \n", + "1 Matthew Aylmer, 1st Baron Aylmer (1708–1794) w... \n", + "2 Rick Mahler (born Richard Alan Mahler on April... \n", + "3 James Blair (1732–1782) was an American lawyer... \n", + "4 Tim Finchem (born August 24, 1947) is an Ameri... \n", + ".. ... \n", + "233 Gündüz Kılıç (born 28 April 1988) is a Turkish... \n", + "234 Michael Replogle (born 1951) is an American en... \n", + "235 Billy Burke (born October 28, 1894 – died Apri... \n", + "236 Ted Childs (born October 15, 1956) is an Ameri... \n", + "237 Edward Synge (1714–1798) was an Irish Anglican... \n", + "\n", + " wiki_bio_text \\\n", + "0 Sir John Russell Reynolds, 1st Baronet (22 May... \n", + "1 Admiral of the Fleet Matthew Aylmer, 1st Baron... \n", + "2 Richard Keith Mahler (August 5, 1953 in Austin... \n", + "3 James Blair (September 26, 1786 - April 1, 183... \n", + "4 Timothy W. Finchem (born April 19, 1947) is th... \n", + ".. ... \n", + "233 Baba Gündüz Kılıç (1918-1980) was a Turkish fo... \n", + "234 Michael Replogle is an internationally recogni... \n", + "235 William John Burke (Polonized as Burkeauskas; ... \n", + "236 Ted Childs commenced training as a programme d... \n", + "237 Edward Synge (1659–1741) was an Anglican clerg... \n", + "\n", + " gpt3_sentences \\\n", + "0 ['John Russell Reynolds (1820–1876) was an Eng... \n", + "1 ['Matthew Aylmer, 1st Baron Aylmer (1708–1794)... \n", + "2 ['Rick Mahler (born Richard Alan Mahler on Apr... \n", + "3 ['James Blair (1732–1782) was an American lawy... \n", + "4 ['Tim Finchem (born August 24, 1947) is an Ame... \n", + ".. ... \n", + "233 ['Gündüz Kılıç (born 28 April 1988) is a Turki... \n", + "234 ['Michael Replogle (born 1951) is an American ... \n", + "235 ['Billy Burke (born October 28, 1894 – died Ap... \n", + "236 ['Ted Childs (born October 15, 1956) is an Ame... \n", + "237 ['Edward Synge (1714–1798) was an Irish Anglic... \n", + "\n", + " annotation wiki_bio_test_idx \\\n", + "0 ['major_inaccurate', 'major_inaccurate', 'majo... 62464 \n", + "1 ['minor_inaccurate', 'minor_inaccurate', 'mino... 49661 \n", + "2 ['minor_inaccurate', 'minor_inaccurate', 'accu... 20483 \n", + "3 ['minor_inaccurate', 'major_inaccurate', 'majo... 71174 \n", + "4 ['minor_inaccurate', 'accurate', 'major_inaccu... 39945 \n", + ".. ... ... \n", + "233 ['minor_inaccurate', 'major_inaccurate', 'majo... 25585 \n", + "234 ['accurate', 'accurate', 'accurate', 'accurate... 10740 \n", + "235 ['minor_inaccurate', 'major_inaccurate', 'majo... 41463 \n", + "236 ['major_inaccurate', 'major_inaccurate', 'majo... 57341 \n", + "237 ['minor_inaccurate', 'minor_inaccurate', 'accu... 66046 \n", + "\n", + " gpt3_text_samples \\\n", + "0 ['John Russell Reynolds (1 November 1829 – 11... \n", + "1 ['\"Matthew Aylmer, 1st Baron Aylmer (c. 1650–1... \n", + "2 ['Rick Mahler (January 8, 1956 – May 25, 2005)... \n", + "3 ['James Blair (April 2, 1755 – March 8, 1842) ... \n", + "4 ['\"Tim Finchem (born May 27, 1953) is an Ameri... \n", + ".. ... \n", + "233 [\"Gündüz Kılıç (1518 – 1567) was an Ottoman na... \n", + "234 [\"Michael Replogle (born 1946) is an American ... \n", + "235 ['Billy Burke (21 August 1882 – 22 December 19... \n", + "236 ['\"Ted Childs was an American actor and busine... \n", + "237 [\"Edward Synge (1562-1641) was an English-born... \n", + "\n", + " sent_scores_nli \n", + "0 [0.8696355807129293, 0.9287475407123565, 0.931... \n", + "1 [0.9112446781247854, 0.9620911836624145, 0.997... \n", + "2 [0.9891034990549088, 0.4388777802581899, 0.955... \n", + "3 [0.9353850647807121, 0.8861920005059801, 0.993... \n", + "4 [0.9961978942155838, 0.2596603611658793, 0.992... \n", + ".. ... \n", + "233 [0.9997160047292709, 0.998373419046402, 0.9956... \n", + "234 [0.35181010272353885, 0.37309717537864345, 0.0... \n", + "235 [0.9992900729179383, 0.9886163860559464, 0.996... \n", + "236 [0.9853663831949234, 0.7629887842107564, 0.920... \n", + "237 [0.9601712554693222, 0.9915205985307693, 0.923... \n", + "\n", + "[238 rows x 7 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gpt3_textwiki_bio_textgpt3_sentencesannotationwiki_bio_test_idxgpt3_text_samplessent_scores_nli
0John Russell Reynolds (1820–1876) was an Engli...Sir John Russell Reynolds, 1st Baronet (22 May...['John Russell Reynolds (1820–1876) was an Eng...['major_inaccurate', 'major_inaccurate', 'majo...62464['John Russell Reynolds (1 November 1829 – 11...[0.8696355807129293, 0.9287475407123565, 0.931...
1Matthew Aylmer, 1st Baron Aylmer (1708–1794) w...Admiral of the Fleet Matthew Aylmer, 1st Baron...['Matthew Aylmer, 1st Baron Aylmer (1708–1794)...['minor_inaccurate', 'minor_inaccurate', 'mino...49661['\"Matthew Aylmer, 1st Baron Aylmer (c. 1650–1...[0.9112446781247854, 0.9620911836624145, 0.997...
2Rick Mahler (born Richard Alan Mahler on April...Richard Keith Mahler (August 5, 1953 in Austin...['Rick Mahler (born Richard Alan Mahler on Apr...['minor_inaccurate', 'minor_inaccurate', 'accu...20483['Rick Mahler (January 8, 1956 – May 25, 2005)...[0.9891034990549088, 0.4388777802581899, 0.955...
3James Blair (1732–1782) was an American lawyer...James Blair (September 26, 1786 - April 1, 183...['James Blair (1732–1782) was an American lawy...['minor_inaccurate', 'major_inaccurate', 'majo...71174['James Blair (April 2, 1755 – March 8, 1842) ...[0.9353850647807121, 0.8861920005059801, 0.993...
4Tim Finchem (born August 24, 1947) is an Ameri...Timothy W. Finchem (born April 19, 1947) is th...['Tim Finchem (born August 24, 1947) is an Ame...['minor_inaccurate', 'accurate', 'major_inaccu...39945['\"Tim Finchem (born May 27, 1953) is an Ameri...[0.9961978942155838, 0.2596603611658793, 0.992...
........................
233Gündüz Kılıç (born 28 April 1988) is a Turkish...Baba Gündüz Kılıç (1918-1980) was a Turkish fo...['Gündüz Kılıç (born 28 April 1988) is a Turki...['minor_inaccurate', 'major_inaccurate', 'majo...25585[\"Gündüz Kılıç (1518 – 1567) was an Ottoman na...[0.9997160047292709, 0.998373419046402, 0.9956...
234Michael Replogle (born 1951) is an American en...Michael Replogle is an internationally recogni...['Michael Replogle (born 1951) is an American ...['accurate', 'accurate', 'accurate', 'accurate...10740[\"Michael Replogle (born 1946) is an American ...[0.35181010272353885, 0.37309717537864345, 0.0...
235Billy Burke (born October 28, 1894 – died Apri...William John Burke (Polonized as Burkeauskas; ...['Billy Burke (born October 28, 1894 – died Ap...['minor_inaccurate', 'major_inaccurate', 'majo...41463['Billy Burke (21 August 1882 – 22 December 19...[0.9992900729179383, 0.9886163860559464, 0.996...
236Ted Childs (born October 15, 1956) is an Ameri...Ted Childs commenced training as a programme d...['Ted Childs (born October 15, 1956) is an Ame...['major_inaccurate', 'major_inaccurate', 'majo...57341['\"Ted Childs was an American actor and busine...[0.9853663831949234, 0.7629887842107564, 0.920...
237Edward Synge (1714–1798) was an Irish Anglican...Edward Synge (1659–1741) was an Anglican clerg...['Edward Synge (1714–1798) was an Irish Anglic...['minor_inaccurate', 'minor_inaccurate', 'accu...66046[\"Edward Synge (1562-1641) was an English-born...[0.9601712554693222, 0.9915205985307693, 0.923...
\n", + "

238 rows × 7 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 8 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now that we have the hallucination score with NLI for each sentence, we will create a DataFrame to facilitate the computing of precision and recalls for hallucination." + ], + "metadata": { + "id": "GKIcqFS6Q7hI" + } + }, + { + "cell_type": "code", + "source": [ + "import ast\n", + "\n", + "output_df = []\n", + "\n", + "for _, row in df.iterrows():\n", + " scores = row[\"sent_scores_nli\"]\n", + " scores = ast.literal_eval(scores) # We recreate the list of scores per sentence\n", + " sentences = ast.literal_eval(row[\"gpt3_sentences\"])\n", + " annotations = ast.literal_eval(row[\"annotation\"])\n", + " for i, annotation in enumerate(annotations):\n", + " idx = len(output_df)\n", + "\n", + " output_df.append({\n", + " \"index\": idx,\n", + " \"sentence\": sentences[i],\n", + " \"wiki_bio_text\": row[\"wiki_bio_text\"],\n", + " \"annotation\": annotation,\n", + " \"probability\": scores[i]\n", + " })\n", + "\n", + "output_df = pd.DataFrame(output_df)" + ], + "metadata": { + "id": "9k3HSHKiBOAB" + }, + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "We will use the following convention:\n", + "- Label: 1 means a human annotated the sentence to be a hallucination and is the gold standard, 0 means truth.\n", + "- Probability: Probability of hallucination, which is just the previous NLI score.\n", + "- Prediction: Predicted label, 1 if the score is above 0.35, else 0." + ], + "metadata": { + "id": "8cIeJ26kRLOp" + } + }, + { + "cell_type": "code", + "source": [ + "output_df[\"label\"] = output_df.annotation.apply(lambda x: 0 if x == \"accurate\" else 1) # We add the ground truth label" + ], + "metadata": { + "id": "7Acb7LFRAt-u" + }, + "execution_count": 10, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "threshold = 0.35\n", + "output_df[\"prediction\"] = output_df[\"probability\"].apply(lambda x: 1 if x > threshold else 0) # We add the predicted label" + ], + "metadata": { + "id": "k6QBhIkgE3pa" + }, + "execution_count": 11, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "output_df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "pJcHiGtcFvHZ", + "outputId": "02e99db4-dc60-4550-d597-3ab0bd0ef8f6" + }, + "execution_count": 12, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " index sentence \\\n", + "0 0 John Russell Reynolds (1820–1876) was an Engli... \n", + "1 1 He was born in London, the son of a barrister,... \n", + "2 2 He was called to the bar in 1845, and became a... \n", + "3 3 He was appointed a judge of the Court of Commo... \n", + "4 4 Reynolds was a prolific author, writing on a w... \n", + "... ... ... \n", + "1903 1903 He was appointed Dean of Clonfert in 1760 and ... \n", + "1904 1904 In 1781 he was appointed Archbishop of Tuam, a... \n", + "1905 1905 Synge was a noted scholar and a friend of the ... \n", + "1906 1906 He was a strong supporter of the Church of Ire... \n", + "1907 1907 He was also a noted collector of books and man... \n", + "\n", + " wiki_bio_text annotation \\\n", + "0 Sir John Russell Reynolds, 1st Baronet (22 May... major_inaccurate \n", + "1 Sir John Russell Reynolds, 1st Baronet (22 May... major_inaccurate \n", + "2 Sir John Russell Reynolds, 1st Baronet (22 May... major_inaccurate \n", + "3 Sir John Russell Reynolds, 1st Baronet (22 May... major_inaccurate \n", + "4 Sir John Russell Reynolds, 1st Baronet (22 May... major_inaccurate \n", + "... ... ... \n", + "1903 Edward Synge (1659–1741) was an Anglican clerg... major_inaccurate \n", + "1904 Edward Synge (1659–1741) was an Anglican clerg... minor_inaccurate \n", + "1905 Edward Synge (1659–1741) was an Anglican clerg... minor_inaccurate \n", + "1906 Edward Synge (1659–1741) was an Anglican clerg... minor_inaccurate \n", + "1907 Edward Synge (1659–1741) was an Anglican clerg... minor_inaccurate \n", + "\n", + " probability label prediction \n", + "0 0.869636 1 1 \n", + "1 0.928748 1 1 \n", + "2 0.931370 1 1 \n", + "3 0.982257 1 1 \n", + "4 0.221962 1 0 \n", + "... ... ... ... \n", + "1903 0.999400 1 1 \n", + "1904 0.941169 1 1 \n", + "1905 0.755755 1 1 \n", + "1906 0.677196 1 1 \n", + "1907 0.702615 1 1 \n", + "\n", + "[1908 rows x 7 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexsentencewiki_bio_textannotationprobabilitylabelprediction
00John Russell Reynolds (1820–1876) was an Engli...Sir John Russell Reynolds, 1st Baronet (22 May...major_inaccurate0.86963611
11He was born in London, the son of a barrister,...Sir John Russell Reynolds, 1st Baronet (22 May...major_inaccurate0.92874811
22He was called to the bar in 1845, and became a...Sir John Russell Reynolds, 1st Baronet (22 May...major_inaccurate0.93137011
33He was appointed a judge of the Court of Commo...Sir John Russell Reynolds, 1st Baronet (22 May...major_inaccurate0.98225711
44Reynolds was a prolific author, writing on a w...Sir John Russell Reynolds, 1st Baronet (22 May...major_inaccurate0.22196210
........................
19031903He was appointed Dean of Clonfert in 1760 and ...Edward Synge (1659–1741) was an Anglican clerg...major_inaccurate0.99940011
19041904In 1781 he was appointed Archbishop of Tuam, a...Edward Synge (1659–1741) was an Anglican clerg...minor_inaccurate0.94116911
19051905Synge was a noted scholar and a friend of the ...Edward Synge (1659–1741) was an Anglican clerg...minor_inaccurate0.75575511
19061906He was a strong supporter of the Church of Ire...Edward Synge (1659–1741) was an Anglican clerg...minor_inaccurate0.67719611
19071907He was also a noted collector of books and man...Edward Synge (1659–1741) was an Anglican clerg...minor_inaccurate0.70261511
\n", + "

1908 rows × 7 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 12 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Let's have a look at the distribution of hallucination score:" + ], + "metadata": { + "id": "hZq2eUFxRlKw" + } + }, + { + "cell_type": "code", + "source": [ + "output_df.probability.hist()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 447 + }, + "id": "Rd629rPEhNxB", + "outputId": "5ddb4b39-ed8a-42a5-fa87-9cbe7df069e7" + }, + "execution_count": 13, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 13 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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BDvn+++/3yovL7f27dtnHT582HrggQesrl27Wv/4xz9s3nnkCXbWLY4dO2ZdddVV1i233GKNHj3ans1GsGDn7PV6rezsbGvkyJHWjh07rGPHjllbt2619u/fb/POI0uwc163bp3lcDisdevWWceOHbO2bNlipaenW9OmTbN555Fl8+bN1hNPPGG99tprliRr48aNX7v+6NGjVkJCglVcXGwdOnTIWrFihRUTE2NVVFS06z4vq0AZMmSIVVRU5L/d1NRkZWRkWKWlpRdcf++991qjRo0KOJaTk2M99NBD7brPSBfsnL+qsbHRSkxMtF588cX22mKH0ZZZNzY2WsOGDbN+85vfWIWFhQTKJQh2zitXrrSuueYaq6Ghwa4tdgjBzrmoqMi67bbbAo4VFxdbw4cPb9d9diSXEiiPPvqo1b9//4Bj9913n5Wfn9+OO7Osy+YjnoaGBtXW1io3N9d/LDo6Wrm5uaqpqbngY2pqagLWS1J+fv5F16Ntc/6q+vp6+Xw+JScnt9c2O4S2zrqkpEQpKSmaMGGCHduMeG2Z8xtvvCGXy6WioiKlpqZqwIABWrRokZqamuzadsRpy5yHDRum2tpa/8dAR48e1ebNmzVy5Ehb9ny5CNefhRHx24xD4bPPPlNTU1Or/1JtamqqPvjggws+xu12X3C92+1ut31GurbM+asee+wxZWRktPo/BAK1ZdY7duzQ888/r/3799uww46hLXM+evSo3nnnHRUUFGjz5s36+OOPNXnyZPl8Ps2dO9eObUectsz5/vvv12effaabb75ZlmWpsbFRP//5z/X444/bseXLxsX+LPR4PPrvf/+rzp07t8vzXjbvoCAyLF68WBs2bNDGjRsVHx8f7u10KGfPntX48eP13HPP6corrwz3djq05uZmpaSkaPXq1Ro8eLDuu+8+PfHEE1q1alW4t9ahbN26VYsWLdKzzz6r9957T6+99preeustzZ8/P9xbQwhcNu+gXHnllYqJiVFdXV3A8bq6OqWlpV3wMWlpaUGtR9vm3GLJkiVavHix3n77bV1//fXtuc0OIdhZ/+1vf9Pf//533XXXXf5jzc3NkqROnTrpyJEj6t27d/tuOgK15TWdnp6u2NhYxcTE+I/17dtXbrdbDQ0NiouLa9c9R6K2zHn27NkaP368fvazn0mSBg4cqHPnzmnSpEl64oknFB3Nv4OHwsX+LHQ6ne327ol0Gb2DEhcXp8GDB6u6utp/rLm5WdXV1XK5XBd8jMvlClgvSVVVVRddj7bNWZLKyso0f/58VVRUKDs7246tRrxgZ92nTx8dOHBA+/fv9//1ox/9SD/4wQ+0f/9+ZWZm2rn9iNGW1/Tw4cP18ccf+wNQkj788EOlp6cTJxfRljnX19e3ipCWKLT4NXMhE7Y/C9v1R3ANs2HDBsvhcFhr1661Dh06ZE2aNMlKSkqy3G63ZVmWNX78eGvGjBn+9e+++67VqVMna8mSJdbhw4etuXPn8jXjSxDsnBcvXmzFxcVZv//9761//etf/r/Onj0brkuIGMHO+qv4Fs+lCXbOx48ftxITE60pU6ZYR44csTZt2mSlpKRYCxYsCNclRIRg5zx37lwrMTHRevnll62jR49alZWVVu/eva177703XJcQEc6ePWvt27fP2rdvnyXJWrp0qbVv3z7rk08+sSzLsmbMmGGNHz/ev77la8bTp0+3Dh8+bJWXl/M14/awYsUKq0ePHlZcXJw1ZMgQa9euXf77br31VquwsDBg/SuvvGJdd911VlxcnNW/f3/rrbfesnnHkSmYOffs2dOS1OqvuXPn2r/xCBTsa/p/ESiXLtg579y508rJybEcDod1zTXXWAsXLrQaGxtt3nXkCWbOPp/PevLJJ63evXtb8fHxVmZmpjV58mTr888/t3/jEeTPf/7zBf+Z2zLbwsJC69Zbb231mEGDBllxcXHWNddcY61Zs6bd9xllWbwPBgAAzHLZ/AwKAACIHAQKAAAwDoECAACMQ6AAAADjECgAAMA4BAoAADAOgQIAAIxDoAAAAOMQKAAAwDgECgAAMA6BAgAAjEOgAAAA4/w/OippnTMCPvsAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Let's look at sentences which have a high hallucination score:" + ], + "metadata": { + "id": "-6DQwwxvRzJg" + } + }, + { + "cell_type": "code", + "source": [ + "sorted_df = output_df.sort_values(by='probability', ascending=False)\n", + "sorted_df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "DvT8j2IYcZHA", + "outputId": "2d7ba580-a402-493c-8417-938da2943a3c" + }, + "execution_count": 14, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " index sentence \\\n", + "1111 1111 Paul Taylor (born Paul Taylor Winger on April ... \n", + "1867 1867 Gündüz Kılıç (born 28 April 1988) is a Turkish... \n", + "1205 1205 Joe Walsh (born 28 April 1988) is an English p... \n", + "1435 1435 Stan Heal (born October 28, 1932) is an Americ... \n", + "1114 1114 Taylor was born in Cleveland, Ohio, and grew u... \n", + "... ... ... \n", + "1215 1215 He was a major benefactor of the city, donatin... \n", + "440 440 Tommy Nutter (1943–1992) was a British tailor ... \n", + "905 905 Lindsay Crouse (born May 12, 1948) is an Ameri... \n", + "1211 1211 Josiah Mason (1795–1881) was an English indust... \n", + "912 912 Crouse has appeared in numerous films and tele... \n", + "\n", + " wiki_bio_text annotation \\\n", + "1111 Paul Taylor (born June 4, 1960, San Francisco,... minor_inaccurate \n", + "1867 Baba Gündüz Kılıç (1918-1980) was a Turkish fo... minor_inaccurate \n", + "1205 For other persons named Joseph/Joe Walsh, see ... minor_inaccurate \n", + "1435 Stan \"Pops\" Heal (30 July 1920 - 15 December 2... major_inaccurate \n", + "1114 Paul Taylor (born June 4, 1960, San Francisco,... major_inaccurate \n", + "... ... ... \n", + "1215 Sir Josiah Mason (23 February 1795 - 16 June 1... accurate \n", + "440 Tommy Nutter (17 April 1943 – 17 August 1992) ... accurate \n", + "905 Lindsay Ann Crouse (born May 12, 1948) is an A... accurate \n", + "1211 Sir Josiah Mason (23 February 1795 - 16 June 1... accurate \n", + "912 Lindsay Ann Crouse (born May 12, 1948) is an A... accurate \n", + "\n", + " probability label prediction \n", + "1111 0.999736 1 1 \n", + "1867 0.999716 1 1 \n", + "1205 0.999713 1 1 \n", + "1435 0.999712 1 1 \n", + "1114 0.999675 1 1 \n", + "... ... ... ... \n", + "1215 0.008564 0 0 \n", + "440 0.004858 0 0 \n", + "905 0.003348 0 0 \n", + "1211 0.001838 0 0 \n", + "912 0.001714 0 0 \n", + "\n", + "[1908 rows x 7 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexsentencewiki_bio_textannotationprobabilitylabelprediction
11111111Paul Taylor (born Paul Taylor Winger on April ...Paul Taylor (born June 4, 1960, San Francisco,...minor_inaccurate0.99973611
18671867Gündüz Kılıç (born 28 April 1988) is a Turkish...Baba Gündüz Kılıç (1918-1980) was a Turkish fo...minor_inaccurate0.99971611
12051205Joe Walsh (born 28 April 1988) is an English p...For other persons named Joseph/Joe Walsh, see ...minor_inaccurate0.99971311
14351435Stan Heal (born October 28, 1932) is an Americ...Stan \"Pops\" Heal (30 July 1920 - 15 December 2...major_inaccurate0.99971211
11141114Taylor was born in Cleveland, Ohio, and grew u...Paul Taylor (born June 4, 1960, San Francisco,...major_inaccurate0.99967511
........................
12151215He was a major benefactor of the city, donatin...Sir Josiah Mason (23 February 1795 - 16 June 1...accurate0.00856400
440440Tommy Nutter (1943–1992) was a British tailor ...Tommy Nutter (17 April 1943 – 17 August 1992) ...accurate0.00485800
905905Lindsay Crouse (born May 12, 1948) is an Ameri...Lindsay Ann Crouse (born May 12, 1948) is an A...accurate0.00334800
12111211Josiah Mason (1795–1881) was an English indust...Sir Josiah Mason (23 February 1795 - 16 June 1...accurate0.00183800
912912Crouse has appeared in numerous films and tele...Lindsay Ann Crouse (born May 12, 1948) is an A...accurate0.00171400
\n", + "

1908 rows × 7 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can see below that a sentence with a very high hallucination score (0.99) is indeed looking like a hallucination, as the sentence misses two facts:\n", + "- Stan Heal is born on the 30th July 1920, which is quite far from the LLM generation of October 28th 1932!\n", + "- Stan was a football player and not a basketball player." + ], + "metadata": { + "id": "IaH8rwaoR4fU" + } + }, + { + "cell_type": "code", + "source": [ + "sorted_df" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "id": "BwmfDyaWDM7b", + "outputId": "34f2fa4a-c0b4-403c-d4a6-aa4123f53f26" + }, + "execution_count": 15, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + " index sentence \\\n", + "1111 1111 Paul Taylor (born Paul Taylor Winger on April ... \n", + "1867 1867 Gündüz Kılıç (born 28 April 1988) is a Turkish... \n", + "1205 1205 Joe Walsh (born 28 April 1988) is an English p... \n", + "1435 1435 Stan Heal (born October 28, 1932) is an Americ... \n", + "1114 1114 Taylor was born in Cleveland, Ohio, and grew u... \n", + "... ... ... \n", + "1215 1215 He was a major benefactor of the city, donatin... \n", + "440 440 Tommy Nutter (1943–1992) was a British tailor ... \n", + "905 905 Lindsay Crouse (born May 12, 1948) is an Ameri... \n", + "1211 1211 Josiah Mason (1795–1881) was an English indust... \n", + "912 912 Crouse has appeared in numerous films and tele... \n", + "\n", + " wiki_bio_text annotation \\\n", + "1111 Paul Taylor (born June 4, 1960, San Francisco,... minor_inaccurate \n", + "1867 Baba Gündüz Kılıç (1918-1980) was a Turkish fo... minor_inaccurate \n", + "1205 For other persons named Joseph/Joe Walsh, see ... minor_inaccurate \n", + "1435 Stan \"Pops\" Heal (30 July 1920 - 15 December 2... major_inaccurate \n", + "1114 Paul Taylor (born June 4, 1960, San Francisco,... major_inaccurate \n", + "... ... ... \n", + "1215 Sir Josiah Mason (23 February 1795 - 16 June 1... accurate \n", + "440 Tommy Nutter (17 April 1943 – 17 August 1992) ... accurate \n", + "905 Lindsay Ann Crouse (born May 12, 1948) is an A... accurate \n", + "1211 Sir Josiah Mason (23 February 1795 - 16 June 1... accurate \n", + "912 Lindsay Ann Crouse (born May 12, 1948) is an A... accurate \n", + "\n", + " probability label prediction \n", + "1111 0.999736 1 1 \n", + "1867 0.999716 1 1 \n", + "1205 0.999713 1 1 \n", + "1435 0.999712 1 1 \n", + "1114 0.999675 1 1 \n", + "... ... ... ... \n", + "1215 0.008564 0 0 \n", + "440 0.004858 0 0 \n", + "905 0.003348 0 0 \n", + "1211 0.001838 0 0 \n", + "912 0.001714 0 0 \n", + "\n", + "[1908 rows x 7 columns]" + ], + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexsentencewiki_bio_textannotationprobabilitylabelprediction
11111111Paul Taylor (born Paul Taylor Winger on April ...Paul Taylor (born June 4, 1960, San Francisco,...minor_inaccurate0.99973611
18671867Gündüz Kılıç (born 28 April 1988) is a Turkish...Baba Gündüz Kılıç (1918-1980) was a Turkish fo...minor_inaccurate0.99971611
12051205Joe Walsh (born 28 April 1988) is an English p...For other persons named Joseph/Joe Walsh, see ...minor_inaccurate0.99971311
14351435Stan Heal (born October 28, 1932) is an Americ...Stan \"Pops\" Heal (30 July 1920 - 15 December 2...major_inaccurate0.99971211
11141114Taylor was born in Cleveland, Ohio, and grew u...Paul Taylor (born June 4, 1960, San Francisco,...major_inaccurate0.99967511
........................
12151215He was a major benefactor of the city, donatin...Sir Josiah Mason (23 February 1795 - 16 June 1...accurate0.00856400
440440Tommy Nutter (1943–1992) was a British tailor ...Tommy Nutter (17 April 1943 – 17 August 1992) ...accurate0.00485800
905905Lindsay Crouse (born May 12, 1948) is an Ameri...Lindsay Ann Crouse (born May 12, 1948) is an A...accurate0.00334800
12111211Josiah Mason (1795–1881) was an English indust...Sir Josiah Mason (23 February 1795 - 16 June 1...accurate0.00183800
912912Crouse has appeared in numerous films and tele...Lindsay Ann Crouse (born May 12, 1948) is an A...accurate0.00171400
\n", + "

1908 rows × 7 columns

\n", + "
\n", + "
\n", + "\n", + "
\n", + " \n", + "\n", + " \n", + "\n", + " \n", + "
\n", + "\n", + "\n", + "
\n", + " \n", + "\n", + "\n", + "\n", + " \n", + "
\n", + "\n", + "
\n", + " \n", + " \n", + " \n", + "
\n", + "\n", + "
\n", + "
\n" + ] + }, + "metadata": {}, + "execution_count": 15 + } + ] + }, + { + "cell_type": "code", + "source": [ + "example = sorted_df.iloc[3]\n", + "example[\"sentence\"], example[\"wiki_bio_text\"], example[\"probability\"]" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Qy6HCDJ5cjJk", + "outputId": "80bcddde-f54a-418f-a83a-477c02ac996b" + }, + "execution_count": 16, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "('Stan Heal (born October 28, 1932) is an American former professional basketball player.',\n", + " 'Stan \"Pops\" Heal (30 July 1920 - 15 December 2010) was an Australian rules footballer who played for Melbourne in the Victorian Football League (VFL) as well as West Perth in the West Australian National Football League (WANFL) during the 1940s and early 1950s. Heal played his best football as a wingman but was also used on occasions as a rover. The Western Australian spent just one season at Melbourne, who had acquired his services while he was temporarily stationed in Victoria. Despite playing just eight games, he was a member of Melbourne\\'s 1941 premiership team. The following week, he played in another premiership, back home in Western Australia with West Perth. He was also a regular interstate representative for Western Australia, winning a Simpson Medal for his performance in a game against South Australia in 1949 and captaining his state at the 1950 Brisbane Carnival. As coach of West Perth from 1947 to 1952, he steered his club to two premierships, in 1949 and 1951. Heal was inducted into the Australian Football Hall of Fame in 2010. He died on 15 December 2010.',\n", + " 0.9997124433517456)" + ] + }, + "metadata": {}, + "execution_count": 16 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Interpretation of results" + ], + "metadata": { + "id": "LfYaaTI1rg7c" + } + }, + { + "cell_type": "markdown", + "source": [ + "Let's now have a look at the calibrated scores of recall and precision. Calibration is key in building trust in a model. Ideally, when a model provides a 0.8 probability score that a given sample is a hallucination, one would like it to be the case that this prediction would hold true 80% of the time.\n", + "\n", + "As hallucinations labelling could happen in imbalanced settings, for instance, if we ask the LLM to perform easy vs hard tasks, precision and recall are more relevant.\n", + "\n", + "That is why we will look at precision and recall for different probability scores.\n", + "\n", + "Hallucination recall conveys the number of hallucinations that are detected by our model for a given data set. If the recall is of 0.8, it means that we have properly flagged 80% of the hallucinations.\n", + "\n", + "Hallucination precision conveys how often predicted hallucinations actually are hallucinations, and not false positives. An accuracy of 0.8 would mean that 80% of the time when we say a sentence is a hallucination, it is indeed one." + ], + "metadata": { + "id": "lX3M6bldS0Yr" + } + }, + { + "cell_type": "markdown", + "source": [ + "So first let's plot the precision scores grouped per bins of similar hallucination score." + ], + "metadata": { + "id": "nwS-7md_ZJS-" + } + }, + { + "cell_type": "code", + "source": [ + "import numpy as np\n", + "from sklearn.metrics import precision_score, recall_score\n", + "import matplotlib.pyplot as plt\n", + "\n", + "x = []\n", + "precisions = []\n", + "\n", + "n_bins = 10\n", + "thresholds = np.linspace(0,1,n_bins)\n", + "for i in range(len(thresholds)-1):\n", + " min = thresholds[i]\n", + " max = thresholds[i+1]\n", + " bin = output_df.loc[(output_df.probability >= min) & (output_df.probability < max)]\n", + " tp = ((bin.prediction == 1) & (bin.label == 1)).sum()\n", + " fn = ((bin.prediction == 0) & (bin.label == 1)).sum()\n", + " precision = precision_score(bin.prediction.values, bin.label.values)\n", + " x.append(min)\n", + " precisions.append(precision)\n", + "\n", + "plt.bar(x, precisions, width=0.1, color='blue', edgecolor='black', capsize=5, align='center', label='Hallucination precision')\n", + "plt.plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "plt.xlim([0, 1])\n", + "plt.ylim([0, 1])\n", + "plt.xlabel('SelfCheckGPT - NLI')\n", + "plt.ylabel('Precision (Probability of detection actually hallucination)')\n", + "plt.title('Calibration curve of hallucination')\n", + "plt.legend(loc='lower right')\n", + "plt.grid(True)\n", + "\n", + "# Show the plot\n", + "plt.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "BGOJV3XqDilZ", + "outputId": "734a42b4-856c-4b06-908f-57d08ae2eaa9" + }, + "execution_count": 17, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACNZElEQVR4nOzdd1hTZxvA4V9ApgqoiKhFcO+96pbWvWpr3XXWvcVRN2jr3uvTukfd1lpXbRX3aN2jiloVxYUbUDbkfH9EU1NQczCYAM99XVyQN2c8bw4hD+ddGkVRFIQQQggh0iArcwcghBBCCGEukggJIYQQIs2SREgIIYQQaZYkQkIIIYRIsyQREkIIIUSaJYmQEEIIIdIsSYSEEEIIkWZJIiSEEEKINEsSISGEEEKkWZIICfFKzZo1qVmzpv7xrVu30Gg0rFixQl/WsWNHMmTI8PGD+w8/Pz80Go25w0hTXr58SZcuXXB3d0ej0TBgwIC3bqvRaOjTp4/Jzn3gwAE0Gg0HDhzQl3Xs2BEvLy+TneO/VqxYgUaj4datW8l2jndJ7voJ8ZokQiLFunHjBt27dydPnjzY29vj5ORElSpVmD17NpGRkeYO74NFRETg5+dn8OEnzGfChAmsWLGCnj17snr1atq1a2fukFK8+/fv4+fnx7lz58wdikjD0pk7ACGSYufOnTRv3hw7Ozvat29PsWLFiImJ4ciRIwwZMoRLly6xaNGiDzqHp6cnkZGR2NjYmChqdSIiIhg7diyAwZ0qgFGjRjFs2DAzRJV27du3j08//RRfX19zh/JRtGvXjlatWmFnZ5ds57h//z5jx47Fy8uLUqVKGTy3ePFitFptsp1biNckERIpTmBgIK1atcLT05N9+/aRPXt2/XO9e/fm+vXr7Ny584PPo9FosLe3/+DjvBYXF4dWq8XW1vaDj5UuXTrSpUudb9/w8HDSp09v7jASePToEUWKFDF3GB+NtbU11tbWZju/uf4BEWmPNI2JFGfKlCm8fPmSpUuXGiRBr+XLl4/+/fvrHy9fvpzPPvsMNzc37OzsKFKkCAsWLHjveRLrI/TazZs3qVu3LunTpydHjhyMGzcORVES7Dtt2jRmzZpF3rx5sbOz4/Lly8TExDBmzBjKli2Ls7Mz6dOnp1q1auzfv99g/6xZswIwduxYNBoNGo0GPz8/IPE+QnFxcXz//ff6c3l5eTFixAiio6MNtvPy8qJRo0YcOXKEChUqYG9vT548eVi1atV7XxMArVbL7NmzKV68OPb29mTNmpV69epx6tSp975ub9bhzXpcvnyZNm3akClTJqpWrcq0adPQaDTcvn07wTGGDx+Ora0tz58/15f99ddf1KtXD2dnZxwdHalRowZHjx41qj6PHj3i22+/JVu2bNjb21OyZElWrlypf/51/5zAwEB27typvxbG9J3ZunUrxYoVw87OjqJFi7J7926D52/fvk2vXr0oWLAgDg4OZMmShebNmyepX05i/Yjg7dfjypUrtGjRgqxZs+Lg4EDBggUZOXKk/vnE+ggZ+7vz7NkzBg8eTPHixcmQIQNOTk7Ur1+f8+fPG8Rbvnx5ADp16qR/XV/HmVgfofDwcAYNGoSHhwd2dnYULFiQadOmGbz34N8+Wu97/YUASYRECrR9+3by5MlD5cqVjdp+wYIFeHp6MmLECKZPn46Hhwe9evVi/vz5STp/fHw89erVI1u2bEyZMoWyZcvi6+ubaJPJ8uXLmTt3Lt26dWP69OlkzpyZsLAwlixZQs2aNZk8eTJ+fn48fvyYunXr6vtKZM2aVZ+sffnll6xevZrVq1fz1VdfvTWuLl26MGbMGMqUKcPMmTOpUaMGEydOpFWrVgm2vX79Ol9//TW1a9dm+vTpZMqUiY4dO3Lp0qX31v/bb79lwIABeHh4MHnyZIYNG4a9vT1//vmnka9gQs2bNyciIoIJEybQtWtXWrRogUajYePGjQm23bhxI3Xq1CFTpkyArsmqevXqhIWF4evry4QJEwgJCeGzzz7jxIkT7zxvZGQkNWvWZPXq1bRt25apU6fi7OxMx44dmT17NgCFCxdm9erVuLq6UqpUKf21eJ2ovs2RI0fo1asXrVq1YsqUKURFRdGsWTOePn2q3+bkyZMcO3aMVq1aMWfOHHr06IG/vz81a9YkIiJC7ctotAsXLlCxYkX27dtH165dmT17Nk2bNmX79u3v3deY352bN2+ydetWGjVqxIwZMxgyZAgXL16kRo0a3L9/H9C9ruPGjQOgW7du+te1evXqiZ5XURSaNGnCzJkzqVevHjNmzKBgwYIMGTIEHx+fBNsb8/oLAYAiRAoSGhqqAMoXX3xh9D4REREJyurWravkyZPHoKxGjRpKjRo19I8DAwMVQFm+fLm+rEOHDgqg9O3bV1+m1WqVhg0bKra2tsrjx48N9nVyclIePXpkcJ64uDglOjraoOz58+dKtmzZlM6dO+vLHj9+rACKr69vgvh9fX2VN9++586dUwClS5cuBtsNHjxYAZR9+/bpyzw9PRVAOXTokL7s0aNHip2dnTJo0KAE53rTvn37FEDp169fgue0Wq1B3d983V77b31e16N169YJtq1UqZJStmxZg7ITJ04ogLJq1Sr9OfPnz6/UrVtXf35F0V3z3LlzK7Vr135nfWbNmqUAyk8//aQvi4mJUSpVqqRkyJBBCQsL05d7enoqDRs2fOfx3qynra2tcv36dX3Z+fPnFUCZO3euQZz/dfz4cYM6Koqi7N+/XwGU/fv368s6dOigeHp6vnMbRUn8elSvXl3JmDGjcvv2bYNt33wNly9frgBKYGCgvszY352oqCglPj4+QRx2dnbKuHHj9GUnT5586+/Kf+u3detWBVB++OEHg+2+/vprRaPRGLzWxr7+QiiKosgdIZGihIWFAZAxY0aj93FwcND/HBoaypMnT6hRowY3b94kNDQ0SXG8OTT69W34mJgY9u7da7Bds2bNEtw5sLa21vcT0mq1PHv2jLi4OMqVK8eZM2eSFM+uXbsAEvxnPGjQIIAEfaaKFClCtWrV9I+zZs1KwYIFuXnz5jvP8/PPP6PRaBK9+/Uhw/l79OiRoKxly5acPn2aGzdu6Ms2bNiAnZ0dX3zxBQDnzp3jn3/+oU2bNjx9+pQnT57w5MkTwsPD+fzzzzl06NA7O9zu2rULd3d3WrdurS+zsbGhX79+vHz5koMHDya5TrVq1SJv3rz6xyVKlMDJycngNX7zdzM2NpanT5+SL18+XFxckvy78D6PHz/m0KFDdO7cmVy5chk8Z8w1NOZ3x87ODisr3cdLfHw8T58+JUOGDBQsWPCDfsetra3p16+fQfmgQYNQFIXffvvNoNyY118IkKYxkcI4OTkB8OLFC6P3OXr0KLVq1SJ9+vS4uLiQNWtWRowYAZCkRMjKyoo8efIYlBUoUAAgQd+O3LlzJ3qMlStXUqJECezt7cmSJQtZs2Zl586dSU7Mbt++jZWVFfny5TMod3d3x8XFJUFfm/9+AAJkypTJoN9NYm7cuEGOHDnInDlzkuJ8m8Rep+bNm2NlZcWGDRsAXdPIpk2bqF+/vv734J9//gGgQ4cOZM2a1eBryZIlREdHv/M1vX37Nvnz59d/aL9WuHBh/fNJZcxrHBkZyZgxY/R9XlxdXcmaNSshISFJ/l14n9eJQLFixZK0vzH10mq1zJw5k/z58xvU68KFCx/0O54jR44E/wS97Vol9XdcpD2pc9iJSLWcnJzIkSMHf//9t1Hb37hxg88//5xChQoxY8YMPDw8sLW1ZdeuXcycOTPZh+e++R//az/99BMdO3akadOmDBkyBDc3N6ytrZk4caLB3Y+kMPauzNtGAyn/6XRqyhji4+Pfuk9ir1OOHDmoVq0aGzduZMSIEfz5558EBQUxefJk/Tavr9/UqVMTDL9+zVwTYBrzGvft25fly5czYMAAKlWqhLOzMxqNhlatWqn+3UzK654UxtRrwoQJjB49ms6dO/P999+TOXNmrKysGDBgwEcbEp+cv+MidZFESKQ4jRo1YtGiRRw/fpxKlSq9c9vt27cTHR3Ntm3bDP5DfHOEllparZabN2/q7wIBXLt2DcComXA3b95Mnjx52LJli8GH13+bm9Q0NXl6eqLVavnnn3/0/yEDPHz4kJCQEDw9PY0+1rvkzZuX33//nWfPnr31rtDrTswhISEG5Um5u9KyZUt69erF1atX2bBhA46OjjRu3NggHtAlyLVq1VJ9fE9PTy5cuIBWqzW4K3TlyhX988lp8+bNdOjQgenTp+vLoqKiErx2xjD2dX99N9PYfyaSYvPmzXh7e7N06VKD8pCQEFxdXfWP1f6O7927lxcvXhjcFfpY10qkXtI0JlKcoUOHkj59erp06cLDhw8TPH/jxg39iJ/X/xW++V9gaGgoy5cv/6AY5s2bp/9ZURTmzZuHjY0Nn3/++Xv3TSymv/76i+PHjxts5+joCCT8YEtMgwYNAJg1a5ZB+YwZMwBo2LDhe49hjGbNmqEoin6ixze9ro+TkxOurq4cOnTI4Pn//e9/STqftbU169atY9OmTTRq1MhgjqGyZcuSN29epk2bxsuXLxPs//jx43cev0GDBgQHB+ub30A3DcHcuXPJkCEDNWrUUB2zGtbW1gnuUMydOzdJd3E8PT2xtrZ+7+ueNWtWqlevzrJlywgKCjJ4zlR3SxKr16ZNm7h3755B2etraezveHx8vMF7D2DmzJloNBrq16//YUGLNEvuCIkUJ2/evKxdu5aWLVtSuHBhg5mljx07xqZNm+jYsSMAderUwdbWlsaNG9O9e3devnzJ4sWLcXNz48GDB0k6v729Pbt376ZDhw5UrFiR3377jZ07dzJixIj3DqkG3R2tLVu28OWXX9KwYUMCAwNZuHAhRYoUMfgwd3BwoEiRImzYsIECBQqQOXNmihUrlmjfjpIlS9KhQwcWLVpESEgINWrU4MSJE6xcuZKmTZvi7e2dpLr+l7e3N+3atWPOnDn8888/1KtXD61Wy+HDh/H29tZ3Iu/SpQuTJk2iS5culCtXjkOHDunvmqnh5uaGt7c3M2bM4MWLF7Rs2dLgeSsrK5YsWUL9+vUpWrQonTp1ImfOnNy7d4/9+/fj5OT0ziHh3bp148cff6Rjx46cPn0aLy8vNm/ezNGjR5k1a5aqTvlJ0ahRI1avXo2zszNFihTh+PHj7N27lyxZsqg+lrOzM82bN2fu3LloNBry5s3Ljh07ePToUYJt58yZQ9WqVSlTpgzdunUjd+7c3Lp1i507d5pkuYtGjRoxbtw4OnXqROXKlbl48SJr1qxJ0Lcub968uLi4sHDhQjJmzEj69OmpWLFion3GGjdujLe3NyNHjuTWrVuULFmSP/74g19//ZUBAwYYdIwWQhU1Q8wuX76sjBkzRvH29lby5MmjuLu7K8WLF1fat2+vrFmzRomKijLdeDYh3uPatWtK165dFS8vL8XW1lbJmDGjUqVKFWXu3LkGv4vbtm1TSpQoodjb2yteXl7K5MmTlWXLliUYGmzs8Pn06dMrN27cUOrUqaM4Ojoq2bJlU3x9fQ2GC7/ed+rUqQni1mq1yoQJExRPT0/Fzs5OKV26tLJjx44Ew4UVRVGOHTumlC1bVrG1tTUYev7f4fOKoiixsbHK2LFjldy5cys2NjaKh4eHMnz48ATvy7cNA/9v/d8mLi5OmTp1qlKoUCHF1tZWyZo1q1K/fn3l9OnT+m0iIiKUb7/9VnF2dlYyZsyotGjRQnn06NFbh8+/nnYgMYsXL1YAJWPGjEpkZGSi25w9e1b56quvlCxZsih2dnaKp6en0qJFC8Xf3/+99Xn48KHSqVMnxdXVVbG1tVWKFy+e6HButcPne/funegxOnTooH/8/Plz/bkzZMig1K1bV7ly5UqC7YwZPq8ouikXmjVrpjg6OiqZMmVSunfvrvz999+JDlH/+++/lS+//FJxcXFR7O3tlYIFCyqjR4/WP/+24fPG/O5ERUUpgwYNUrJnz644ODgoVapUUY4fP57o79ivv/6qFClSREmXLp1BnInV78WLF8rAgQOVHDlyKDY2Nkr+/PmVqVOnGgz7VxTjX38hFEVRNIry/nuhZ86cYejQoRw5coQqVapQoUIFcuTIgYODA8+ePePvv//m8OHDhIWFMXToUAYMGJCs69MIIYQQQpiCUYlQ7ty5GTJkCG3atMHFxeWt2x0/fpzZs2dTokQJ/fBkIYQQQghLZVQiFBsbq2oBPLXbCyGEEEKYg1GJkBBCCCFEapSkUWP+/v74+/vz6NGjBJNjLVu2zOjjHDp0iKlTp3L69GkePHjAL7/8QtOmTd+5z4EDB/Dx8eHSpUt4eHgwatQo/QghIYQQQgg1VM8jNHbsWOrUqYO/vz9Pnjzh+fPnBl9qhIeHU7JkSaNXAQ8MDKRhw4Z4e3tz7tw5BgwYQJcuXfj999/VVkMIIYQQQn3TWPbs2ZkyZQrt2rUzbSAazXvvCH333Xfs3LnTYEbUVq1aERISwu7du00ajxBCCCFSP9VNYzExMVSuXDk5Ynmv48ePJ5hGv27dugwYMOCt+0RHRxMdHa1//Hq17yxZsnzQatlCCCGE+HgUReHFixfkyJEjwULJH0J1ItSlSxfWrl3L6NGjTRaEsYKDg8mWLZtBWbZs2QgLCyMyMjLRhRsnTpyY6HIAQgghhEh57ty5wyeffGKy46lOhKKioli0aBF79+6lRIkSCYbJv17byFIMHz4cHx8f/ePQ0FBy5crFtWvX3rpopPg4YmNj2b9/P97e3jLdgplcvHjx1RpNc3BwyMv8+Q/p3TsbkZEpbRnCf4B+/PbbbxQvXhwwrBvkN2dwqjk4aN+4FjdITXUzZPnXzfBaqHlfWH7dki5h3ZLLtm3bqFWrFo6Ojjx79owCBQqYfOkb1YnQhQsXKFWqFJBw9eLkbmpyd3dPsMjmw4cPcXJySvRuEICdnV2is1xnzpw5Sev5CNOJjY3F0dGRLFmySCJkJk5OTkRFRQFl0WiK4+i4i6ioakRFpbTr4QRE4eTkpH9fv1k3KGPO4FTTaGLfuBYupKa6GbL862Z4LdS8Lyy/bkmXsG6mFh4eTu/evVm5ciVdunRh8eLF+udMnWuoToT2799v0gDUqFSpErt27TIo27NnD5UqVTJTREIIIYQwpb///psWLVoQEBCAlZUVuXLlIjmnPPyg+993797l7t27Sd7/5cuXnDt3Tr/acWBgIOfOnSMoKAjQNWu1b99ev32PHj24efMmQ4cO5cqVK/zvf/9j48aNDBw48EOqIYQQQggzUxSFpUuXUqFCBQICAsiePTv+/v6MHj06WVucVCdCWq2WcePG4ezsjKenJ56enri4uPD9998nmFzxfU6dOkXp0qUpXbo0AD4+PpQuXZoxY8YA8ODBA31SBLo1z3bu3MmePXsoWbIk06dPZ8mSJdStW1dtNYQQQghhIV6+fEm7du3o0qULkZGR1KlTh3PnzlGzZs1kP7fqprGRI0eydOlSJk2aRJUqVQA4cuQIfn5+REVFMX78eKOPVbNmzXfe7lqxYkWi+5w9e1Zt2EIIIYSwUK/nA7S2tuaHH35g6NChJh0i/y6qE6GVK1eyZMkSmjRpoi8rUaIEOXPmpFevXqoSISGEEEKITz75hHXr1uHg4EDVqlU/6rlVp1vPnj2jUKFCCcoLFSrEs2fPTBKUEEIIIVKvsLAwWrVqxdatW/VltWvX/uhJECQhESpZsiTz5s1LUD5v3jxKlixpkqCEEEIIkTqdPn2aMmXKsGHDBrp3705ERIRZ41HdNDZlyhQaNmzI3r179cPWjx8/zp07dxIMbRdCCCGEAN2osHnz5jF48GBiYmLw9PRk/fr1ODo6mjUu1XeEatSowbVr1/jyyy8JCQkhJCSEr776iqtXr1KtWrXkiFEIIYQQKVhISAhff/01/fr1IyYmhqZNm3L27Fk+/fRTc4em/o4QQI4cOaRTtBBCCCHeKyQkhNKlS3Pr1i1sbGyYNm0affv2tZiFz41KhC5cuECxYsWwsrLiwoUL79y2RIkSJglMCCGEECmfi4sL9evX5/fff2fDhg2UK1fO3CEZMCoRKlWqFMHBwbi5uVGqVCk0Gk2i8/9oNBri4+NNHqQQQgghUo6nT58SFxdHtmzZAN2C7NHR0Tg7O5s5soSMSoQCAwPJmjWr/mchhBBCiMQcO3aMVq1akS9fPvbs2YO1tTX29vbY29ubO7REGZUIeXp66n++ffs2lStXJl06w13j4uI4duyYwbZCCCGESBu0Wi1Tp05l5MiRxMfHY2dnx4MHD/jkk0/MHdo7qR415u3tnejEiaGhoXh7e5skKCGEEEKkHI8fP6ZRo0YMGzaM+Ph4WrduzZkzZyw+CYIkjBpTFCXRnt5Pnz4lffr0JglKCCGEECnD4cOHadWqFffv38fe3p45c+bQpUsXixkV9j5GJ0JfffUVoOsQ3bFjR+zs7PTPxcfHc+HCBSpXrmz6CIUQQghhkeLj4+nVqxf379+nUKFCbNy4keLFi5s7LFWMToRe9/RWFIWMGTPi4OCgf87W1pZPP/2Url27mj5CIYQQQlgka2tr1q1bx+zZs5k5cyYZMmQwd0iqGZ0ILV++HAAvLy8GDx4szWBCCCFEmnTC4FGxYsVYvHixmWL5cKo7S/v6+koSJIQQQqQ58YAv0AuAy5cvmzUaU0nSEhubN29m48aNBAUFERMTY/DcmTNnTBKYEEIIISzFfaAtcEBfkjt3bnMFY1Kq7wjNmTOHTp06kS1bNs6ePUuFChXIkiULN2/epH79+skRoxBCCCHM5negFLokKAPwA4BBX+GUTHUi9L///Y9FixYxd+5cbG1tGTp0KHv27KFfv36EhoYmR4xCCCGEMAs/oB7wGCgJnAZS100P1YlQUFCQfpi8g4MDL168AKBdu3asW7fOtNEJIYQQwoxcXn3vAfwJFDBfKMlEdR8hd3d3nj17hqenJ7ly5eLPP/+kZMmSBAYGJroQqxCpQVBQEE+ePDF3GB/E1dWVXLlymTsMIYTFCwdeD4rqD5QGapgvnGSmOhH67LPP2LZtG6VLl6ZTp04MHDiQzZs3c+rUKf2ki0KkJkFBQRQsWJioqAhzh/JB7O0duXo1QJIhIcRbxAIjgG3AKSAjoCE1J0GQhERo0aJFaLVaAHr37k2WLFk4duwYTZo0oXv37iYPUAhze/Lkyask6CegsLnDSaIAoqK+4cmTJ5IICSEScRtoha75C2Ar0M5s0XxMqhMhKysrrKz+7VrUqlUrWrVqZdKghLBMhYEy5g5CCCFM7FegIxACOAPLgLTTwpOkeYRCQkI4ceIEjx490t8deq19+/YmCUwIIYQQySkGGArMfvW4ArAeSB3zAxlLdSK0fft22rZty8uXL3FycjJYXVaj0UgiJIQQQqQI3/FvEjQImADYmi8cM1E9fH7QoEF07tyZly9fEhISwvPnz/Vfz549S44YhRBCCGFyw4Ci6DpHTyMtJkGQhETo3r179OvXD0dHx+SIRwghhBDJIgp4c76/bMAFoLF5wrEQqhOhunXrcurUqeSIRQghhBDJ4h+gEtAGw2RIdRqQ6qjuI9SwYUOGDBnC5cuXKV68ODY2NgbPN2nSxGTBCSGEEOJDrQO6AS8BVyCzecOxMKoToa5duwIwbty4BM9pNBri4+M/PCohhBBCfKBIdDNDL371uDqwFshptogskepE6L/D5YUQQghhaa4ALYCL6GaHHgn4ksRZc1I1eUWEEEKIVOcGuiTIDVgD1DJvOBbMqERozpw5dOvWDXt7e+bMmfPObfv162eSwIQQQgiRVA3RNYk1BLKbORbLZlQiNHPmTNq2bYu9vT0zZ85863YajUYSISGEEOKjuwT0QLcmouersi7mCycFMSoRCgwMTPRnIYQQQpiTAiwH+qDrHD0A+MWcAaU40kdICCGESJFeorsLtObV4zrAj+YLJ4VSPZNSs2bNmDx5coLyKVOm0Lx5c5MEJYQQQoh3OQ+URZcEWaNbJ+w3dJ2jhRqqE6FDhw7RoEGDBOX169fn0KFDJglKCCGEEG9zGKgIXEM3J9ABYDgyS3TSqG4ae/nyJba2CRdms7GxISwszCRBCSGEEOJtygOF0CVBK9HNFi2SSnX6WLx4cTZs2JCgfP369RQpUsQkQQkhhBDiTQHA65Ub7IG9wHYkCfpwqu8IjR49mq+++oobN27w2WefAeDv78+6devYtGmTyQMUQggh0i4FmA8MQjc79JhX5ZIAmYrqRKhx48Zs3bqVCRMmsHnzZhwcHChRogR79+6lRo0ayRGjEEIIkQaFAN8CW149Pg9okb5AppWk4fMNGzakYcOGpo5FCCGEEACcAFoCtwAbYCrQD926YcKUJK0UQgghLIYCzASqokuCcgNH0a0iL0lQclB9R8jKygqN5u0XIz4+/q3PCSGEEOJdAoERQCzQDFgCuJgzoFRPdSL0yy+GU3fHxsZy9uxZVq5cydixY00WmBBCCJH25EHXOToS6IXcBUp+qhOhL774IkHZ119/TdGiRdmwYQPffvutSQITQgghUj8tMB2oBnz6qqyz+cJJg0zWR+jTTz/F39/fVIcTQgghUrnHQCNgKNAK3dph4mMzyaKrkZGRzJkzh5w5c5ricEIIIUQqdwhoDdxHN0HiSCC9WSNKq1QnQpkyZTLoLK0oCi9evMDR0ZGffvrJpMEJIYQQqc9SYCG6ZrGCwEaghFkjSstUJ0IzZ840SISsrKzImjUrFStWJFOmTCYNTgghhEgtIiIiXv30v1ff2736OYN5AhJAEhKhjh07JkMYQgghROrm4ODw6ic7dHeEOpovGKFnVCJ04cIFow9YooTc3hNCCCFAN7deZGQkDg4Ob7Sm/AR8bc6wxBuMSoRKlSqFRqNBUZR3bqfRaGRCRSGEEOKVnj17UqhQIVavXv1GaR6zxSMSMioRCgwMTO44hBBCiFTkOACnT5/mypUr3Lx508zxiLcxKhHy9PRM7jiEEEKIVCAO8AUmApA/f362bdtG3rx5OXPmjFkjE4kzKhHatm2b0Qds0qRJkoMRQgghUq67QBvgsL5kxYoVFCpUyGwRifczKhFq2rSpUQeTPkJCCCHSJi1QH/gbyIhu4dTh2NvbmzUq8X5GLbGh1WqN+pIkSAghRNpkBcwCygFngDpmjUYYz2RrjQkhhBBpSxDwxxuPPwf+AvKZJxyRJElaayw8PJyDBw8SFBRETEyMwXP9+vUzSWBCCCGE5dqGbkLEOHR3gF4nP3J/IaVRnQidPXuWBg0aEBERQXh4OJkzZ+bJkyc4Ojri5uYmiZAQQohULAb4Dl0zGEB5TLR+uTAT1anrwIEDady4Mc+fP8fBwYE///yT27dvU7ZsWaZNm6Y6gPnz5+Pl5YW9vT0VK1bkxIkT79x+1qxZFCxYEAcHBzw8PBg4cCBRUVGqzyuEEEKoEwhU5d8kaCBwBPAyUzzCFFQnQufOnWPQoEFYWVlhbW1NdHQ0Hh4eTJkyhREjRqg61oYNG/Dx8cHX15czZ85QsmRJ6taty6NHjxLdfu3atQwbNgxfX18CAgJYunQpGzZsUH1eIYQQQo34+C1AaeAkkAn4FZgB2JozLGECqhMhGxsbrKx0u7m5uREUFASAs7Mzd+7cUXWsGTNm0LVrVzp16kSRIkVYuHAhjo6OLFu2LNHtjx07RpUqVWjTpg1eXl7UqVOH1q1bv/cukhBCCPEhtNo/gVCgEnAOkDnzUgvVDZulS5fm5MmT5M+fnxo1ajBmzBiePHnC6tWrKVasmNHHiYmJ4fTp0wwfPlxfZmVlRa1atTh+/Hii+1SuXJmffvqJEydOUKFCBW7evMmuXbto167dW88THR1NdHS0/nFYWBgAsbGxxMbGGh2vML3Xr7+lXwetVvtq1WgtYNmxvp0WcECr1Rq83m/WzcFBV/76e8qSsH4p+boZXovUVTdDll03RVFwcIgDIGNGX16+zIW1dXc0GhsjYrPsun2YxP+eJLfkOpdGed9Kqv9x6tQpXrx4gbe3N48ePaJ9+/YcO3aM/Pnzs2zZMkqWLGnUce7fv0/OnDk5duwYlSpV0pcPHTqUgwcP8tdffyW635w5cxg8eDCKohAXF0ePHj1YsGDBW8/j5+fH2LFjE5SvXbsWR0dHo2IVQgiRthw+fJj9+/czYsQI0qWTztCWICIigjZt2hAaGoqTk5PJjqs6ETKVpCRCBw4coFWrVvzwww9UrFiR69ev079/f7p27cro0aMTPU9id4Q8PDx48OABWbJkMX3FhNFiY2PZs2cPtWvXxsbGxtzhvNX58+epXr06cAgwLtG3POeB6hw6dMjgn5U36+bgUIRly/bQuXNtIiMt93okLmH9UvJ1c3CIfeNaXCY11c2Q5V03RYkkNnYQ8fFLAHB0nMnatbmT8L6wvLqZTuJ/T5Lb06dPyZ49u8kTIbOlua6urlhbW/Pw4UOD8ocPH+Lu7p7oPqNHj6Zdu3Z06dIFgOLFixMeHk63bt0YOXKkvu/Sm+zs7LCzs0tQbmNjY9EfvmmJpV8LKysrIiMj0XWps9w4380KiMTKysrgtU6sbpGRNikwEUpYv9Rw3XTXInXWTcfS6nYVaAFcADTACLTa7sAfSXhfWFrdTCnxvyfJLbnOpbqz9MOHD2nXrh05cuQgXbp0WFtbG3wZy9bWlrJly+Lv768v02q1+Pv7G9whelNERESCZOf1Oc10Y0sIIUSq8BNQFl0S5Ab8DvyARiPNYqmd6ivcsWNHgoKCGD16NNmzZ0ej0ST55D4+PnTo0IFy5cpRoUIFZs2aRXh4OJ06dQKgffv25MyZk4kTJwLQuHFjZsyYQenSpfVNY6NHj6Zx48aqkjAhhBDiX+OBUa9+9gbWANnNF474qFQnQkeOHOHw4cOUKlXqg0/esmVLHj9+zJgxYwgODqZUqVLs3r2bbNmyARAUFGRwB2jUqFFoNBpGjRrFvXv3yJo1K40bN2b8+PEfHIsQQoi06mtgCuCDLiGSf6zTEtWJkIeHh0mbofr06UOfPn0Sfe7AgQMGj9OlS4evry++vr4mO78QQoi0RkHXBPa6o29B4CYgA2jSItV9hGbNmsWwYcO4detWMoQjhBBCJKeXQHugDHDwjXJJgtIqo+4IZcqUyaAvUHh4OHnz5sXR0TFBL+5nz56ZNkIhhBDCJC6gGxV2Fd19gL+BGmaNSJifUYnQrFmzkjkMIYQQIrkowGKgHxAN5ATWAdXMGZSwEEYlQh06dEjuOIQQQohkEAZ0B9a/elwfWAW4mi0iYVlU9xESQgghUo5f0SVB1uhGhu1AkiDxJpkpSgghRCr2DXAWaI5u5XghDMkdISGEEKlICNAHeP7qsQaYgSRB4m3kjpAQQohU4iTQEggEnvBvvyAh3k71HaHly5cTERGRHLEIIYQQSaAAs4Aq6JKg3MAgcwYkUhDVidCwYcNwd3fn22+/5dixY8kRkxBCCGGkZ0BTYCAQCzQDzgDlzRiTSElUJ0L37t1j5cqVPHnyhJo1a1KoUCEmT55McHBwcsQnhBBCvMVFoDSwDbAF5gGbABczxiRSGtWJULp06fjyyy/59ddfuXPnDl27dmXNmjXkypWLJk2a8Ouvv6LVapMjViGEEOINOdA1i+UFjgO90XWOFsJ4HzRqLFu2bFStWpVKlSphZWXFxYsX6dChA3nz5k2wYKoQQgjx4V6gS35Atz7Yb+iawsqYLSKRsiUpEXr48CHTpk2jaNGi1KxZk7CwMHbs2EFgYCD37t2jRYsWMhu1EEIIEzsMFAZWvFFWFHAySzQidVCdCDVu3BgPDw9WrFhB165duXfvHuvWraNWrVoApE+fnkGDBnHnzh2TByuEECIt0gITAG/gHjAXiDdrRCL1UD2PkJubGwcPHqRSpbdPTpU1a1YCAwM/KDAhhBACHqGbHXrPq8ffAAvQLZkhxIdTnQgtXbr0vdtoNBo8PT2TFJAQQgihsx9oAwQDDuhGhXVCOkQLUzIqEZozZ47RB+zXr1+SgxFCCCF0HqCbHygOKAJsRNcfSAjTMioRmjlzplEH02g0kggJIYQwgezAcOAuuj5B6c0bjki1jEqEpL+PEEKI5LZ3717Cw8PfKBmLNIOJ5CaLrgohhDCruLg4Ro0axYQJEyhYsOAbz0gSJJKfUYmQj4+P0QecMWNGkoMRQgiR9vTo0YOzZ88CULRoUa5cuWLmiERaYlQi9PoX9H00GsnehRBCGOsooPuMyZgxI4sWLaJAgQL8/PPPZo5LpCVGJUL79+9P7jiEEEKkGbHAKGAKAAULFmT79u3kz5+fM2fOmDUykfZ80FpjQgghhHoKujmCdJYvX07+/PnNF45I05LUWfrUqVNs3LiRoKAgYmJiDJ7bsmWLSQITQgiR2ijoOkDbAhuAzcBQ7OzszBqVSNtU3xFav349lStXJiAggF9++YXY2FguXbrEvn37cHZ2To4YhRBCpGgxgA8w8o2y3MDn5glHiDeoToQmTJjAzJkz2b59O7a2tsyePZsrV67QokULcuXKlRwxCiGESLECgWrATGASICPChGVRnQjduHGDhg0bAmBra0t4eDgajYaBAweyaNEikwcohBAipdoClAZOAC7AL0AhcwYkRAKqE6FMmTLx4sULAHLmzMnff/8NQEhICBEREaaNTgghRAoUDfQFmgGhwKfAOeALM8YkROJUd5auXr06e/bsoXjx4jRv3pz+/fuzb98+9uzZw+efS3uvEEKkbQpQBzj06vFQ4AfAxmwRCfEuqhOhefPmERUVBcDIkSOxsbHh2LFjNGvWjFGjRpk8QCGEECmJBugCXAJWAQ3MG44Q76E6EcqcObP+ZysrK4YNG2bSgIQQQqQ0kcAtoPCrx+2AhkDmt+0ghMVQnQgFBQW983kZOSaEEGnJVaAF8ARdP6Csr8olCRIpg+pEyMvL651risXHx39QQEIIIVKKn4AeQDi6BCiQfxMhIVIG1YnQfxdgjY2N5ezZs8yYMYPx48ebLDAhhBCWKgLdqLBlrx7XBNYAOcwVkBBJpjoRKlmyZIKycuXKkSNHDqZOncpXX31lksCEEEJYosvomsIuoesYPQYYDVibMyghkixJa40lpmDBgpw8edJUhxNCCGGRJqNLgtzR3QX6zLzhCPGBVCdCYWFhBo8VReHBgwf4+fnJ6sFCCJHqzUH30TEByGbmWIT4cKoTIRcXlwSdpRVFwcPDg/Xr15ssMCGEEJbgIrr5gKagawpzBpaaNSIhTEl1IrR//36Dx1ZWVmTNmpV8+fKRLp3JWtqEEEKYlQIsAfoBUUBBdBMlCpG6qM5cNBoNlStXTpD0xMXFcejQIapXr26y4IQQQphDGNAdeH2Xvz6yTphIrVQvuurt7c2zZ88SlIeGhuLt7W2SoIQQQpjLWaAsuiTIGl3n6B3I/EAitVJ9R0hRlEQnVHz69Cnp06c3SVBCCCHMYTW65q8YwANdMlTZrBEJkdyMToRezw+k0Wjo2LEjdnZ2+ufi4+O5cOEClSvLG0YIIVKu3EA80BhYgSyTIdICoxMhZ2dnQHdHKGPGjDg4OOifs7W15dNPP6Vr166mj1AIIUQyCkU3EgygKnAcKIduhJgQqZ/RidDy5csB3VpjQ4YMwdHRMdmCEkIIkdwUdHMC+QFHgSKvysubKyAhzEJ1Z+n27dtz7969BOX//PMPt27dMkVMQgghktUz4EtgABCCrhlMiLRJdSLUsWNHjh07lqD8r7/+omPHjqaISQghRLL5EygN/ArYAnPRjQwTIm1SnQidPXuWKlWqJCj/9NNPOXfunCliEkIIYXJaYBpQDQgC8gLHgD5IfyCRlqlOhDQaDS9evEhQHhoaSnx8vEmCEkIIYWo/AUOAOHSrx59GN1+QEGmb6kSoevXqTJw40SDpiY+PZ+LEiVStWtWkwQkhhDCVNkAdYAG6+YGc3725EGmE6gkVJ0+eTPXq1SlYsCDVqlUD4PDhw4SFhbFv3z6TByiEECIptMAyoB1gh+7P/W6kGUwIQ6rvCBUpUoQLFy7QokULHj16xIsXL2jfvj1XrlyhWLFiyRGjEEIIVR6hWx+sK/DdG+WSBAnxX0laLj5HjhxMmDDB1LEIIYT4YAfQNYM9AByAEmaNRghLl6RECCAiIoKgoCBiYmIMykuUkDedEEJ8fPHAeGAsumaxwsAmoKg5gxLC4qlOhB4/fkynTp347bffEn1eRo4JIcTHFgy0BV730+yEbn4gWQhbiPdR3UdowIABhISE8Ndff+Hg4MDu3btZuXIl+fPnZ9u2bckRoxBCiHeKAE4BjsAqdJ2kJQkSwhiq7wjt27ePX3/9lXLlymFlZYWnpye1a9fGycmJiRMn0rBhw+SIUwghxFvlATYCnkAhM8ciRMqi+o5QeHg4bm5uAGTKlInHjx8DULx4cc6cOWPa6IQQQiTw6NGjVz8df6O0LpIECaGe6kSoYMGCXL16FYCSJUvy448/cu/ePRYuXEj27NlNHqAQQoh/7d69m9atW796NAndTNFCiKRS3TTWv39/Hjx4AICvry/16tVjzZo12NrasmLFClPHJ4QQAoiNjWXYsGFMnvzmAqlz+IDBv0IIkvAO+uabb/Q/ly1bltu3b3PlyhVy5cqFq6urSYMTQgih0717d86fPw9A8+bN2bRpE7o+QUKID6G6aey/HB0dKVOmTJKToPnz5+Pl5YW9vT0VK1bkxIkT79w+JCSE3r17kz17duzs7ChQoAC7du1K0rmFEMLy6foDnT9/HicnJzZt2sSwYcPMHJMQqccHJ0IfYsOGDfj4+ODr68uZM2coWbIkdevWfaMjoKGYmBhq167NrVu32Lx5M1evXmXx4sXkzJnzI0cuhBAfi25wSpEiRTh79ixff/21meMRInUxa+PyjBkz6Nq1K506dQJg4cKF7Ny5k2XLliX6H8+yZct49uwZx44dw8bGBgAvL6+PGbIQQiQ7rfYWYWFhBmVLly4lT548ZopIiNTLbIlQTEwMp0+fZvjw4foyKysratWqxfHjxxPdZ9u2bVSqVInevXvz66+/kjVrVtq0acN3332HtbV1ovtER0cTHR2tf/z6j0tsbCyxsbEmrJFQ6/Xrb+nXQavV4uDggG7ZAsuO9e20gANardbg9X6zbg4OuvLX31OWhPVLqdctPn4rMTFdmT07H/b2X/K6bunSpUvxdUvI8q9b0t8Xll+3pEv870lyS65zaRRFUZLlyO9x//59cubMybFjx6hUqZK+fOjQoRw8eJC//vorwT6FChXi1q1btG3bll69enH9+nV69epFv3798PX1TfQ8fn5+jB07NkH52rVrcXR0NF2FhBDiA8TGxrJixQp27twJQIECBRgzZgwZMmQwc2RCWIaIiAjatGlDaGgoTk5OJjtuku4IhYSEcOLECR49eoRWqzV4rn379iYJLDFarRY3NzcWLVqEtbU1ZcuW5d69e0ydOvWtidDw4cPx8fHRPw4LC8PDwwNvb2+yZMmSbLGK94uNjWXPnj3Url1b39Rpic6fP0/16tWBQ0BJc4eTROeB6hw6dIiSJf+tw5t1c3AowrJle+jcuTaRkZZ7PRKXsH4p6bpptTeIiWmLougmpbW378+ECdXo1q0+kZGXScl1ezfLv24ODrFJfF9Yft2SLvG/J8nt6dOnyXJc1YnQ9u3badu2LS9fvsTJyQmNRqN/TqPRGJ0Iubq6Ym1tzcOHDw3KHz58iLu7e6L7ZM+eHRsbG4NmsMKFCxMcHExMTAy2trYJ9rGzs8POzi5BuY2NjUV/+KYlln4trKysiIyMRDe2wHLjfDcrIBIrKyuD1zqxukVG2qTARChh/VLOddsIdAFeAFmAlWg0dUiXbtera5GS6/Y+Kadu6t8XKadu6iX+9yS5Jde5VI8aGzRoEJ07d+bly5eEhITw/Plz/dezZ8+MPo6trS1ly5bF399fX6bVavH39zdoKntTlSpVuH79usFdqGvXrpE9e/ZEkyAhhLBsUcBwdElQFeAcIOs1CvExqU6E7t27R79+/UzSv8bHx4fFixezcuVKAgIC6NmzJ+Hh4fpRZO3btzfoTN2zZ0+ePXtG//79uXbtGjt37mTChAn07t37g2MRQoiPzx7YAIwADgCfmDUaIdIi1U1jdevW5dSpUyYZxtmyZUseP37MmDFjCA4OplSpUuzevZts2bIBEBQUhJXVv7mah4cHv//+OwMHDqREiRLkzJmT/v378913331wLEII8XGsBSLQNYcBlHv1JYQwB9WJUMOGDRkyZAiXL1+mePHiCdrsmjRpoup4ffr0oU+fPok+d+DAgQRllSpV4s8//1R1DiGEML8IoD+wBLBF1xRW2KwRCSGSkAh17doVgHHjxiV4TqPREB8f/+FRCSFEqhIAtAD+BjTo+gUVMGtEQggd1YnQf4fLCyGEeJeVQC90d4SyoWsa+8ysEQkh/mXWJTaEECL1UoCuwNJXj2sBP6FLhoQQliJJi64ePHiQxo0bky9fPvLly0eTJk04fPiwqWMTQogUTAPkQfdn9ntgN5IECWF5VCdCP/30E7Vq1cLR0ZF+/frRr18/HBwc+Pzzz1m7dm1yxCiEECmEAoS88XgYcBIYBSS+HqIQwrxUN42NHz+eKVOmMHDgQH1Zv379mDFjBt9//z1t2rQxaYBCCJEyvAC6AxeBvwBHdP9rljFnUEKI91B9R+jmzZs0btw4QXmTJk0IDAw0SVBCCJGynAPKAuvQjRA7ZNZohBDGU50IeXh4GCyL8drevXvx8PAwSVBCCJEyKMAC4FPgH8ADXRJUz5xBCSFUUN00NmjQIPr168e5c+eoXLkyAEePHmXFihXMnj3b5AEKIYRlCkU3KmzTq8eNgeXoFk4VQqQUqhOhnj174u7uzvTp09m4cSOgWwF+w4YNfPHFFyYPUAghLFMfdElQOmAyMBDdSDEhREqSpHmEvvzyS7788ktTxyKEECnIRHT9geYDFc0cixAiqZI0j5AQQqQ9z9HNEv3aJ+iGxksSJERKZtQdocyZM3Pt2jVcXV3JlCkTGs3bb/8+e/bMZMEJIYRl+AtoCdwGXIDX3QCkKUyIlM6oRGjmzJlkzJhR//O7EiEhhEg9FGAGuokR44C86O4ECSFSC6MSoQ4dOuh/7tixY3LFIoQQFuQp0BHY8epxC2Ax4GSugIQQyUB1HyFra2sePXqUoPzp06dYW8sU8kKI1OAoUApdEmSHbq6g9UgSJETqo3rUmKIoiZZHR0dja2v7wQEJIYT53QfuAvmBjeiSIiFEamR0IjRnzhwANBoNS5YsIUOGDPrn4uPjOXToEIUKFTJ9hEII8VEo/Nv5uTmwAvgKyGiugIQQH4HRidDMmTMB3R2hhQsXGjSD2dra4uXlxcKFC00foRBCJLuD6CZE3Alkf1XW4e2bCyFSDaMTodcLqnp7e7NlyxYyZcqUbEEJIcTHEQ9MAPwALTAGXYdoIURaobqP0P79+5MjDiGE+MiCgW+A14tIdwRmmSsYIYSZqB411qxZMyZPnpygfMqUKTRv3twkQQkhRPLyR9cB2h9wRDdj9HIgvRljEkKYg+pE6NChQzRo0CBBef369Tl06JBJghJCiOTzC1AbeAgUA04B7c0akRDCfFQ3jb18+TLRYfI2NjaEhYWZJCghhEg+tYGCQDVgNuBg3nCEEGal+o5Q8eLF2bBhQ4Ly9evXU6RIEZMEJYQQpnUSXWdogAzAn8AiJAkSQqi+IzR69Gi++uorbty4wWeffQaAv78/69atY9OmTSYPUAghPsxcdHMCTQUGvypzNls0QgjLojoRaty4MVu3bmXChAls3rwZBwcHSpQowd69e6lRo0ZyxCiEEKoFBwe/+mnFq+93zRSJEMKSqU6EABo2bEjDhg1NHYsQQpjEzp07adu27atH6dElQ1+bLyAhhMVS3UcIICQkhCVLljBixAiePXsGwJkzZ7h3755JgxNCCDViY2MZPHgwjRo1IjQ09FXpWiQJEkK8jepE6MKFCxQoUIDJkyczdepUQkJCANiyZQvDhw83dXxCCGG0wMBA/bqIrVu3flX6ifkCEkJYPNWJkI+PDx07duSff/7B3t5eX96gQQOZR0gIYVYFChRg3rx5/PLLLwwePPj9Owgh0jzVfYROnjzJjz/+mKA8Z86cb3ROFEKIjyEaGAGU05d069YN0DXXCyHE+6hOhOzs7BKdOPHatWtkzZrVJEEJIcT73QBaAqcBTzPHIoRIqVQ3jTVp0oRx48YRGxsLgEajISgoiO+++45mzZqZPEAhhEhoE1AGXRKUGRho3nCEECmW6kRo+vTpvHz5Ejc3NyIjI6lRowb58uUjY8aMjB8/PjliFEKIV6KAXkALIAyoApxDt1yGEEKop7ppzNnZmT179nD06FHOnz/Py5cvKVOmDLVq1UqO+IQQ4pXHQB10iQ/AcGAcuj9jj80UkxAipVOdCK1atYqWLVtSpUoVqlSpoi+PiYlh/fr1tG8vqzgLIZJDZsAVyAqsBuqaNxwhRKqgummsU6dOb0xU9q8XL17QqVMnkwQlhBA6EUDkq5+tgTXo7ghJEiSEMA3ViZCiKGg0mgTld+/exdlZFjIUQphKAFARGPBGmRuQwyzRCCFSJ6ObxkqXLo1Go0Gj0fD555+TLt2/u8bHxxMYGEi9evWSJUghRFqzEl2n6Ah0/X9+QNckJoQQpmV0ItS0aVMAzp07R926dcmQIYP+OVtbW7y8vGT4vBDiA4UDvdElQgCfAz8hSZAQIrkYnQj5+voC4OXlRcuWLQ2W1xBCiA/3N7ph8QHoWu3HohsZZm3OoIQQqZzqPkIdOnQgKiqKJUuWMHz4cFl9XghhAjFAfXRJUA5gHzAKSYKEEMlN9fD5CxcuUKtWLZydnbl16xZdu3Ylc+bMbNmyhaCgIFatWpUccQohUjVbYCEwH12zmDSFCSE+DtV3hAYOHCirzwshTOA8sOeNxw2BnUgSJIT4mFQnQqdOnaJ79+4JymX1eSGEcRR0d38qols0NeiN5xJOzSGEEMlJVp8XQnxEoUA3YOOrx7WB9OYLRwiR5snq80KIj+Q0uhXjN6L7H2w6sA3IYs6ghBBpnKw+L4T4COYClYGbgCdwBPBBmsKEEOaW5NXnjxw5woULF2T1eSGEES6hGyLfFFgGZDJrNEII8ZrqROi1qlWrUrVqVVPGIoRIVRT+veMzE90doXbIXSAhhCUxKhGaM2eO0Qfs169fkoMRQqQGCrrEZw+wA92kiA5Ae3MGJYQQiTIqEZo5c6bB48ePHxMREYGLiwsAISEhODo64ubmJomQEGnaU6AjugQIYAvQ3GzRCCHE+xjVWTowMFD/NX78eEqVKkVAQADPnj3j2bNnBAQEUKZMGb7//vvkjlcIYbGOAaXRJUF2wALga7NGJIQQ76N61Njo0aOZO3cuBQsW1JcVLFiQmTNnMmrUKJMGJ4RICbTAZKA6cAfID/wJ9ED6AwkhLJ3qROjBgwfExcUlKI+Pj+fhw4cmCUoIkZL0A4YB8UAbdPMFlTJnQEIIYTTVidDnn39O9+7dOXPmjL7s9OnT9OzZU4bQC5EmdQMyA0uAn4CM5g1HCCFUUJ0ILVu2DHd3d8qVK4ednR12dnZUqFCBbNmysWTJkuSIUQhhUeKBv954XAK4BXyLNIUJIVIa1fMIZc2alV27dvHPP/8QEBAAQKFChShQoIDJgxNCWJqHwDfAAXSzQ1d8VS53gYQQKVOSJ1TMnz8/+fPnN2UsQgiLtg9dH6CHgCNwl38TISGESJlUN40JIdKaeMAXqIUuCSoGnAJkkWUhRMqX5DtCQoi04D7QFl1TGEAXYDa6O0JCCJHySSIkhHiHLeiSoAzAj+iaxoQQIvUwqmnsq6++IiwsDIBVq1YRHR1t0iDmz5+Pl5cX9vb2VKxYkRMnThi13/r169FoNDRt2tSk8QghXusNDEY3N5AkQUKI1MeoRGjHjh2Eh4cD0KlTJ0JDQ00WwIYNG/Dx8cHX15czZ85QsmRJ6taty6NHj965361btxg8eDDVqlUzWSxCpHVPnjwhJuZb4MWrEg0wFZBRoUKI1MmoprFChQoxfPhwvL29URSFjRs34uTklOi27durW2F6xowZdO3alU6dOgGwcOFCdu7cybJlyxg2bFii+8THx9O2bVvGjh3L4cOHCQkJUXVOIURC8fG7GDhwIPHxLwB7YJG5QxJCiGRnVCK0cOFCfHx82LlzJxqNhlGjRqHRJJw4TaPRqEqEYmJiOH36NMOHD9eXWVlZUatWLY4fP/7W/caNG4ebmxvffvsthw8ffuc5oqOjDZryXjfxxcbGEhsba3SswvRev/6Wfh20Wi0ODg7o1tSy7FjfTgs4oNVqDV5vrVaLvb09cXEziYn5iZgYsLYuTbp0PlhZpaS6JqxfSr5uDg6xb3xPXXUzZPl1M7wWalh+3ZIu8b8nyS25zqVRFEVRs4OVlRXBwcG4ubl98Mnv379Pzpw5OXbsGJUqVdKXDx06lIMHD/LXX38l2OfIkSO0atWKc+fO4erqSseOHQkJCWHr1q2JnsPPz4+xY8cmKF+7di2OjjLyRaRtjx49Yvr06Vy9ehWARo0a0aFDB2xsbMwcmRBCGIqIiKBNmzaEhoa+tVUqKVSPGgsMDCRr1qwmC0CNFy9e0K5dOxYvXoyrq6tR+wwfPhwfHx/947CwMDw8PPD29iZLlizJFaowQmxsLHv27KF27doW/cF7/vx5qlevDhwCSpo7nCQ6D1Tn0KFDlCypq8ORI0do164dL168ADKSIcNiunSxp3Pn2kRGWu71SFzC+qXk6+bgEMuyZXteXYvLpKa6GbL862Z4LdS8Lyy/bkmXsG4fw9OnT5PluKoTIU9PT0JCQli6dKl+iY0iRYrw7bff4uzsrOpYrq6uWFtbJ1i1/uHDh7i7uyfY/saNG9y6dYvGjRvry7Rara4i6dJx9epV8ubNa7DP6/XQ/svGxsaiP3zTEku/FlZWVkRGRqIbW2C5cb6bFRCJlZWV/rUuXLgwtra2r55fS3x8XWAXkZE2KTARSli/1HDddNciddZNJ+XUTf37IuXUTb2EdfsYkutcqmeWPnXqFHnz5mXmzJk8e/aMZ8+eMXPmTPLmzWuwIr0xbG1tKVu2LP7+/voyrVaLv7+/QVPZa4UKFeLixYucO3dO/9WkSRO8vb05d+4cHh4eaqsjRJry5sACd3d3fvzxx1ePcpglHiGEMDfVd4QGDhxIkyZNWLx4MenS6XaPi4ujS5cuDBgwgEOHDqk6no+PDx06dKBcuXJUqFCBWbNmER4erh9F1r59e3LmzMnEiROxt7enWLFiBvu7uLgAJCgXQiTUpEkTli5dSsuWLQHInTu3mSMSQgjzUp0InTp1yiAJAl2z1NChQylXrpzqAFq2bMnjx48ZM2YMwcHBlCpVit27d5MtWzYAgoKCsLKSJdGESLooYBIA4eHhrFy5khYtWiQ68lMIIdIa1YmQk5MTQUFBFCpUyKD8zp07ZMyYMUlB9OnThz59+iT63IEDB96574oVK5J0TiHShn+AFsA5ADp27MiiRYskCRJCiFdU32pp2bIl3377LRs2bODOnTvcuXOH9evX06VLF1q3bp0cMQohkmQdUAZdEuQCQN++fS26Y7oQQnxsqu8ITZs2TT9xYlxcHKDryd2zZ08mTZpk8gCFEElxgX/XBqsODAfqmy8cIYSwUKoTIVtbW2bPns3EiRO5ceMGAHnz5pXJCYWwKCXQLZbqAIxBlxgJIYT4L9WJ0GuOjo4UL17clLEIIT7IGqAakOvV4ynoFk0VQgjxNjIcS4gULxzoDHwDtObfNYwkCRJCiPdJ8h0hIYQluIRuVNhldP/X1EX+vxFCCONJIiREiqQAy4E+QCSQHVgL1DRjTEIIkfKo/tcxPDw8OeIQQhgtHGgPfIsuCaqLboh8TfOFJIQQKZTqRChbtmx07tyZI0eOJEc8Qoj3skI3CswamAjsAtzMGpEQQqRUqhOhn376iWfPnvHZZ59RoEABJk2axP3795MjNiGEngJoX/3sAGwEDgDDkD5BQgiRdKr/gjZt2pStW7dy7949evTowdq1a/H09KRRo0Zs2bJFP8miEMJUQoFWwIQ3ygoCVc0TjhBCpCJJ/lcya9as+Pj4cOHCBWbMmMHevXv5+uuvyZEjB2PGjCEiIsKUcQqRRp0GyqK7AzQeeGDecIQQIpVJ8qixhw8fsnLlSlasWMHt27f5+uuv+fbbb7l79y6TJ0/mzz//5I8//jBlrEKkIQowD93s0DGAJ7Ae3egwIYQQpqI6EdqyZQvLly/n999/p0iRIvTq1YtvvvkGFxcX/TaVK1emcOHCpoxTiDQkBN2IsC2vHjcFlgGZzBSPEEKkXqoToU6dOtGqVSuOHj1K+fLlE90mR44cjBw58oODEyLtiQMqAwGADTAN6IvMEi2EEMlDdSL04MGD9y6w6uDggK+vb5KDEiLtSgf0R7dO2AagnHnDEUKIVE51Z+mMGTPy6NGjBOVPnz7F2traJEEJkbY8Q7dUxmvd0M0TJEmQEEIkN9WJkKIoiZZHR0dja2v7wQEJkbYcA0oBjdD1DQJdM1h6M8UjhBBpi9FNY3PmzAFAo9GwZMkSMmTIoH8uPj6eQ4cOUahQIdNHKESqpAWmAiOBeCA/8AhwMWNMQgiR9hidCM2cORPQ3RFauHChQTOYra0tXl5eLFy40PQRCpHqPAY6AL+9etwa+BHIaLaIhBAirTI6EQoMDATA29ubLVu2kCmTDOUVQr1D6BKf+4A9MBfdUHkZFSaEEOagetTY/v37kyMOIdKIGeiSoELoZosubt5whBAijTMqEfLx8eH7778nffr0+Pj4vHPbGTNmmCQwIVKnpUAeYByQ4T3bCiGESG5GJUJnz54lNjZW//PbaDRye18IQ/uAnegmRtQAWdDdFRJCCGEJjEqE3mwOk6YxIYwRj+6uz/fo1g2rCLQwa0RCCCESSvKiq0KIt7kPtAUOvHr8Lbp5goQQQlgaoxKhr776yugDbtmy5f0bCZFq/QF8g26IfHp0w+LbmjUiIYQQb2dUIuTs7JzccQiRCkwFvkPXFFYS3aiwAmaNSAghxLsZlQgtX748ueMQIhUo/ep7T3Qdou3NGIsQQghjSB8hIT7II8Dt1c+1gItAUfOFI4QQQhWjEqEyZcrg7+9PpkyZKF269DuHyZ85c8ZkwQlhuWKBEcBi4DSQ91W5JEFCCJGSGJUIffHFF9jZ2QHQtGnT5IxHiBTgNtAS+OvV4+3AALNFI4QQIumMSoR8fX0T/VmItGcr0AkIAZyBZYDxoyqFEEJYliT3ETp16hQBAQEAFClShLJly5osKCEs0zRg3aufKwDrgdzmC0cIIcQHU50I3b17l9atW3P06FFcXFwACAkJoXLlyqxfv55PPvnE1DEKYSFeJ0E+wETA1oyxCCGEMAUrtTt06dKF2NhYAgICePbsGc+ePSMgIACtVkuXLl2SI0YhLERlYBswHUmChBAidVCdCB08eJAFCxZQsGBBfVnBggWZO3cuhw4dMmlwQphLVFQUM2bM0C82rDMXaGyukIQQQiQD1U1jHh4e//lw0ImPjydHjhwmCUoIc/rnn39o2bIlZ8+e5fHjxzRv3tzcIQkhhEgmqu8ITZ06lb59+3Lq1Cl92alTp+jfvz/Tpk0zaXBCfGzr16+nTJkynD17FldXV6pXr27ukIQQQiQjo+4IZcqUyWASxfDwcCpWrEi6dLrd4+LiSJcuHZ07d5Z5hkSKFBkZyYABA1i0aBEA1apVY926deTMmVMmCRVCiFTMqERo1qxZyRyGEOZz7do1vv76ay5evIhGo2HkyJH4+vrqE30hhBCpl1F/6Tt06JDccQhhNlqtlps3b+Lm5saaNWuoVauWuUMSQgjxkXzQv7xRUVHExMQYlDk5OX1QQEJ8DFqtFisrXRe5QoUKsWXLFooXL0727NnNHJkQQoiPSXVn6fDwcPr06YObmxvp06cnU6ZMBl9CWLpLly5RqlQpg+ke6tSpI0mQEEKkQaoToaFDh7Jv3z4WLFiAnZ0dS5YsYezYseTIkYNVq1YlR4xCmISiKCxdupTy5ctz8eJFBg0ahKIo5g5LCCGEGaluGtu+fTurVq2iZs2adOrUiWrVqpEvXz48PT1Zs2YNbdu2TY44hfggL168oGfPnqxZswbQ3QFavXq1wWhIIYQQaY/qO0LPnj0jT548gK4/0LNnzwCoWrWqzCwtLNL58+cpV64ca9aswdramgkTJvDbb7/h5uZm7tCEEEKYmepEKE+ePAQGBgK6TqYbN24EdHeKXi/CKoSlCAgIoGLFily7do2cOXNy4MABhg8fru8oLYQQIm1T3TTWqVMnzp8/T40aNRg2bBiNGzdm3rx5xMbGMmPGjOSIUYgkK1SoEE2aNCE8PJyVK1fi6upq7pCEEEJYENWJ0MCBA/U/16pVi4CAAM6cOUO+fPkoUaKESYMTIinOnj1L7ty5cXFxQaPRsHLlSuzs7OQukBBCiAQ++JPBy8uLr776SpIgYXaKojBv3jw+/fRTunTpoh8R5uDgIEmQEEKIRCXp08Hf359GjRqRN29e8ubNS6NGjdi7d6+pYxPCaCEhIXz99df07duXmJgY4uLiiIqKMndYQgghLJzqROh///sf9erVI2PGjPTv35/+/fvj5OREgwYNmD9/fnLEKMQ7nThxgtKlS7NlyxZsbGyYNWsWv/zyCw4ODuYOTQghhIVT3UdowoQJzJw5kz59+ujL+vXrR5UqVZgwYQK9e/c2aYBCvI2iKMyaNYvvvvuO2NhYcufOzYYNGyhfvry5QxNCCJFCqL4jFBISQr169RKU16lTh9DQUJMEJYQxQkNDmTFjBrGxsTRr1owzZ85IEiSEEEIV1YlQkyZN+OWXXxKU//rrrzRq1MgkQQlhDBcXF9atW8e8efPYtGmTzGMlhBBCNaOaxubMmaP/uUiRIowfP54DBw5QqVIlAP7880+OHj3KoEGDkidKIdCtGD9t2jTc3d1p3749oJvRvGrVqmaOTAghREplVCI0c+ZMg8eZMmXi8uXLXL58WV/m4uLCsmXLGDVqlGkjFAJ4/PgxHTp04LfffsPR0RFvb288PDzMHZYQQogUzqhE6PWSGkKYw+HDh2nVqhX379/H3t6eWbNm8cknn5g7LCGEEKnAB80ypyiKftI6IUxNq9Uyfvx4atasyf379ylYsCB//fUXXbt2lVXjhRBCmESSEqFVq1ZRvHhxHBwccHBwoESJEqxevdrUsYk0LD4+ngYNGjBq1Ci0Wi3t2rXj1KlTMoO5EEIIk1KdCM2YMYOePXvSoEEDNm7cyMaNG6lXrx49evRI0JdIiKSytramXLlyODo6snz5clatWkWGDBnMHZYQQohURvWEinPnzmXBggX6UTugG1JftGhR/Pz8DBZlFUKN+Ph4nj17RtasWQHw8/OjQ4cO5M+f38yRCSGESK1U3xF68OABlStXTlBeuXJlHjx4kKQg5s+fj5eXF/b29lSsWJETJ068ddvFixdTrVo1MmXKRKZMmahVq9Y7txcpw4MHD6hduzb169cnOjoagHTp0kkSJIQQIlmpToTy5cvHxo0bE5Rv2LAhSR9aGzZswMfHB19fX86cOUPJkiWpW7cujx49SnT7AwcO0Lp1a/bv38/x48fx8PCgTp063Lt3T/W5hWXYs2cPJUuWZP/+/Vy5coXz58+bOyQhhBBphOqmsbFjx9KyZUsOHTpElSpVADh69Cj+/v6JJkjvM2PGDLp27UqnTp0AWLhwITt37mTZsmUMGzYswfZr1qwxeLxkyRJ+/vln/P39DZrrhOWLi4vjp59+4ueff0ZRFEqUKMHGjRspWLCguUMTQgiRRqhOhJo1a8aJEyeYMWMGW7duBaBw4cL6FcDViImJ4fTp0wwfPlxfZmVlRa1atTh+/LhRx4iIiCA2NpbMmTMn+nx0dLS+qQUgLCwMgNjYWGJjY1XFK0zn7t27tGvXjqNHjwLQtWtXpk2bhoODg8VdF61W+2oley1gWbEZTws4oNVqDV7fN+vm4KArf/09ZUlYv5R83QyvReqqmyHLr1vS3xeWX7ekS/zvSXJLrnNpFBUTAcXGxtK9e3dGjx5N7ty5P/jk9+/fJ2fOnBw7dky/XAfA0KFDOXjwIH/99dd7j9GrVy9+//13Ll26hL29fYLn/fz8GDt2bILytWvX4ujo+GEVEEk2btw4zpw5g4ODA71795ZlMoQQQrxTREQEbdq0ITQ0FCcnJ5MdV9UdIRsbG37++WdGjx5tsgA+xKRJk1i/fj0HDhxINAkCGD58OD4+PvrHYWFheHh44O3tTZYsWT5WqOI/ChUqRLdu3WjdujXt27fHxsbG3CG91fnz56levTpwCChp7nCS6DxQnUOHDlGy5L91eLNuDg5FWLZsD5071yYy0nKvR+IS1i8lXzcHh9g3rsVlUlPdDFn+dTO8FmreF5Zft6RL/O9Jcnv69GmyHFd101jTpk3ZunWrSYbJu7q6Ym1tzcOHDw3KHz58iLu7+zv3nTZtGpMmTWLv3r3vnGTPzs4OOzu7BOU2NjYW/eGb2gQFBfHHH3/QpUsXAAoWLMjevXvZtWuXxV8LKysrIiMj0Y0tsNw4380KiMTKysrgtU6sbpGRNikwEUpYv9Rw3XTXInXWTSfl1E39+yLl1E29xP+eJLfkOpfqRCh//vyMGzeOo0ePUrZsWdKnT2/wfL9+/Yw+lq2tLWXLlsXf35+mTZsCujZUf39/+vTp89b9pkyZwvjx4/n9998pV66c2iqIj2zbtm107NiRkJAQcuXKRZ06dcwdkhBCCAEkIRFaunQpLi4unD59mtOnTxs8p9FoVCVCAD4+PnTo0IFy5cpRoUIFZs2aRXh4uH4UWfv27cmZMycTJ04EYPLkyYwZM4a1a9fi5eVFcHAwABkyZJCZhy1MTEwM3333HbNmzQKgfPnyMi+QEEIIi6I6ETL1SvQtW7bk8ePHjBkzhuDgYEqVKsXu3bvJli0boGtSsbL6d7qjBQsWEBMTw9dff21wHF9fX/z8/Ewam0i6wMBAWrZsycmTJwEYOHAgkyZNwtbW1syRCSGEEP9SlQj9+eefbN++nZiYGD7//HPq1atnkiD69Onz1qawAwcOGDy+deuWSc4pks/WrVvp2LEjoaGhZMqUiRUrVtCkSRNzhyWEEEIkYHQitHnzZlq2bImDgwM2NjbMmDGDyZMnM3jw4OSMT6RAYWFhhIaGUqlSJdavX0+uXLnMHZIQQgiRKKOX2Jg4cSJdu3YlNDSU58+f88MPPzBhwoTkjE2kIPHx8fqf27dvz4YNGzh48KAkQUIIISya0YnQ1atXGTx4MNbW1gAMGjSIFy9evHVNMJF2rF+/nuLFi/PkyRN9WYsWLSx6SLwQQggBKhKhiIgIg5kcbW1tsbe35+XLl8kSmLB8kZGRdO/endatWxMQEMCMGTPMHZIQQgihiqrO0kuWLDEYoh4XF8eKFStwdXXVl6kdPi9SpitXrtCiRQsuXryIRqNhxIgRMmpPCCFEimN0IpQrVy4WL15sUObu7s7q1av1j5Myj5BIeVavXk3Pnj0JDw/Hzc2Nn376idq1a5s7LCGEEEI1oxMhGbYuAH788Ud69OgBgLe3N2vWrCF79uxmjkoIIYRIGqP7CAkB0KpVK/Lly4efnx979uyRJEgIIUSKZlQitH79eqMPeOfOHY4ePZrkgIRlURQFf39/FEUBwNnZmQsXLuDr66sfQSiEEEKkVEYlQgsWLKBw4cJMmTKFgICABM+Hhoaya9cu2rRpQ5kyZXj69KnJAxUf38uXL+nQoQO1atVi4cKF+nIHBwczRiWEEEKYjlF9hA4ePMi2bduYO3cuw4cPJ3369GTLlg17e3ueP39OcHAwrq6udOzYkb///lu/TphIuS5cuECLFi24evUqVlZWhIeHmzskIYQQwuSM7izdpEkTmjRpwpMnTzhy5Ai3b98mMjISV1dXSpcuTenSpQ0WRxUpk6IoLFq0iP79+xMdHU3OnDlZt24d1apVM3doQgghhMmpXn3e1dWVpk2bJkMowtzCwsLo1q0bGzZsAKB+/fqsWrXKYJ4oIYQQIjVRnQiJ1Ovvv/9m06ZNWFtbM3HiRAYNGiR3+YT4AI6O8bi6xqLRqNvP3j6WdOnSkStXFFFRCuCJoihERUUBuju3np6egAJEmTrsj8jy62Z4LeLfv4Oe5dct6RLWzVRsbW0/+ueOJEJCr3LlysybN49SpUpRqVIlc4cjRIql0Sh06hRMkyYh2NqiOhHSaBRcXd2ZPfsOipIOWEi6dOkIDAwEIF26dK8GMKQDAk0d/kdk+XUzvBZqLqTl1y3pEtbNVKysrMidOze2trYmPe67SCKUhoWEhNC3b19GjBhB4cKFAejZs6eZoxIi5evUKZjWrUNwcXEDHAF1mZBGo8XD4yWQAUWJAmLx8PDA0dER0K39GBsbC3i8On5KFYGl183wWqi5U2H5dUu6hHUzBa1Wy/3793nw4AG5cuVCo/Y/iCSSRCiNOnnyJC1btiQwMJDLly9z6tSpj/ZLJ0Rqlj59PE2avE6CsiTpGBqNFlvbGDQae/0cXnZ2dtjb2wMQH/+6icYOsP/woM1GVw9LrpvhtVCTCFl+3ZIuYd1MJWvWrNy/f5+4uDhsbGxMeuy3kQ4gaYyiKMyaNYsqVaoQGBiIl5cXCxculCRICBPJkiUW3V39lPwfvxDm8bpJ7N+kMfmpviMUHx/PihUr8Pf359GjR2i1WoPn9+3bZ7LghGk9e/aMTp06sW3bNgC++uorli5diouLi3kDEyIV0Whe9wmSfy6EUMsc/5SrviPUv39/+vfvT3x8PMWKFaNkyZIGX8IyBQYGUrp0abZt24atrS3z5s1j8+bNkgQJIT6KRYv8qFs3G+XLazhwYGuynSe5j/8+p08foHx5DS9ehADw008/GfydXbRoEW3aWP5glP/WIzVTfUdo/fr1bNy4kQYNGiRHPCKZeHh4kCtXLmxsbNi4cSNlypQxd0hCCAvj59eRnTtXApAunQ3u7rlo0KA9nTqNIF26pHcpDQwMYPHisUyd+gvFin2Kk1OmD4510SI/DhzYytq15z74WMmpWbNmfPnllx/lXKdPH6BHD2/27XtOxowuH+WcqYHq32xbW1vy5cuXHLEIE3v69CkZM2bE1taWdOnSsWnTJhwdHXFycjJ3aEIIC1WpUj3GjFlObGw0R4/uYsqU3qRLZ0OnTsNVHys+Ph6NRsPduzcAqFHjizTXH9HBwYH06dN/0DFiY2Owsfl4w8nTGtVNY4MGDWL27Nn6kQzCMh0+fJiSJUvy3Xff6cvc3d0lCRJCvJOtrR2uru5kz+7J11/3pEKFWhw+rOtXGBMTzaxZg2nQICfVqqWnY8eKnD59QL/v9u0r8PZ24eDBbbRoUYQqVewYN64zPj6NAahQwYry5f9NhLZuXUHz5s3JkiULhQoV4n//+59BLA8f3mXkyNZ8/nlmqlVLT/v25fj777/Yvn0FixeP5Z9/zlO+vIby5TVs374iQV169vyMKVP6GJQ9f/6YSpVsOXHC/62vwaFD22nfvjxVqtjz2WdufPPNN/rndu1aTfv25ahRIyN167ozalQbnj179NZj/bdp7LUtW36kYUMPqlZ1ZPjwFrx8Gap/zs+vI4MHN2XZsvHUr5+Dr78u+N5z379/ix49vAH47LNMlC+vwc+vI6Ablr58+US++CI3Vas60KZNSfz9NxvEc/ToLpo1K0DVqg706OHN/fu33lqn1Eb1HaEjR46wf/9+fvvtN4oWLZpgeNuWLVtMFpxQT6vVMmnSJMaMGUN8fDy7d+/mhx9++OD/SIQQHy4y8u2LF1tZWWNn9+9Q5PDwcCIjrdFqI4FIg4WPIyMjjTqug8OHv+/t7BwIDX0KwJQpfQgMvMz48evJmjUH+/f/Qr9+9Vi37iK5cuUHICoqglWrJjNy5BKcnbPg6pqdsmVrMm5cJ3777YH+uL/9toYff/yBIUMG0rBhQ65evUrXrl1Jly4dZcqUISLiJd2718DNLSfTp28jSxZ3rlw5g1arpXbtlty48TfHj+9m/vy9AGTI4Jwg9i++6MLUqX0YMGA6trZ2r877E25uOSlf/rNE63vkyE6GDv2STp1GMnbsKuLjo7h8+Rf983FxsXTv/j2engV5/vwRM2f6MHZsR2bP3mX0a3r37k327NnIjBnbCQ8P44cfvmXSpF788MMa/TYnT/qTPr0T8+btMerc2bJ5MHnyz3z3XTM2b75K+vRO2Ns7ALBixUR+++0nhg1biIdHfs6ePcSYMd/g4pKVsmVrEBx8h6FDv+Lrr3vz5ZfdCAg4xaxZg4yuT0qnOhFycXH5aO2dQp1Hjx7xzTffsGeP7o3zzTffsGDBAkmChLAQ1atneOtzVao0YNasnfrHBQoUICIiItFtq1atysyZM/WPmzTxIiTkSYLtTp5M+p17RVE4ccKfP//8nRYt+hIcHMSOHcvZvj2IrFlzANCu3WCOH9/N9u3L6d17AqD7sP7uu/9RoMC/g2de91dxdXXXly1a5MuAARP47LPieHl5UbRoUS5fvsyyZcsoU6YMu3dvJCTkMStXnsTZOTMAHh7/dstwdMyAtXU6g2P+l7f3V0yd2oeDB3+ldu0WAOzYsYJGjTq+tYlu2bLx1K7diu7dxwJgZaWlXr3c3Lype75Jk876bT/5JA+DB8+hQ4fyRES8xNHx7df3TTExUYwduwo3t5wADB48l4EDGzJgwHR9fezt0zNq1BKDJrH3nfv165Q5s5v+NY+JiWb58gnMn7+XEiUq6fc9f/4Iv/zyI2XL1uDnnxeQM2deBg6cDoCXV0GuX7/IqlWTjapPSqc6EVq+fHlyxCE+0P79+2nTpg3BwcE4ODgwf/58OnZ8+5tdCCESc+TIDqpXz0BcXCxarZZ69drQrZsfp08fID4+nmbNChhsHxMTjbPzvxNH2tjYkj9/iXeeIzIynLt3b/D9970ZPx792lJxcXH65vtr1y5QoEBp/Yd7UtjZ2VO/fju2bVtG7dotuHLlDDdu/M306dveus+1a+do2rTrW58PCDjNokV+/PPPeV68eK6fQiY4OIg8eYoYFVe2bB76JAigRIlKaLVabt++qk+E8uUrnqBfUFLOfefOdaKiIujTp7ZBeWxsDAULlgbg1q0AihWraPD866QpLUjyMIDHjx9z9epVAAoWLEjWrFlNFpRQJywsjGbNmvH8+XOKFCnCxo0bKVq0qLnDEkL8x6FDL9/6nJWVtcHja9euceuW06umsasULFhQf3c3MjKSW7du6bfdtu0WplK2rDfDhi3AxsYWV9cc+tFiEREvsba2ZtWq01hbG8bq4PDvnRA7O4f3/gMWEaF7HUaOnEexYpnImzevfqmG6OhoIiMjsbNzMEl9mjbtQtu2pXj48C7bty+nXLnPyJ7d863bv25OSkxkZDh9+9bl00/r8v33a8iUKSvBwUH07VuX2NgYk8T72n+bNZN67shI3Ws9c+ZOg+QLwMbGzqQxp1SqE6Hw8HD69u3LqlWr9NmotbU17du3Z+7cuSZdd0QYx8nJiR9//JHffvuNuXPnSlOYEBZKTZ+d9OnT4+CQHq3WCtCNPHrbe9sUfYHePNabTVCvFSxYmvj4eJ4/f0Tp0tU+6BxZsmQja9Yc3LsXSP36JcibN6++buHh4QQEBJA/fzF+/XUloaHPEr0rZGNji1b7/tmH8+UrTuHC5di6dTG//76WIUPmvWf7Epw86U+TJp0SPHfr1hVCQ5/Sp88k3N09ALh8+ZQxVTbw8OEdHj++r29ivHjxT6ysrPD0LPjWfYw5d7p0CWdlzp27CLa2djx8GETZsjUSPbaXV2EOHTK8S3bx4p+q65VSqR415uPjw8GDB9m+fTshISGEhITw66+/cvDgQQYNSjudq8xt7969BrN4N2/enGXLlkkSJIRIFp6eBahXry1+fu3Zt28L9+4FcunSCZYvn8iRIzvff4D/6NZtLCtWTGf9+vX8888/XLx4keXLlzN37lwA6tZtTpYs7gwZ0pTz549y9+5N9u37mQsXjgOQPbsX9+8HcvXqOUJCnhATE/3Wc33xRRdWrpyEoijUrPnuPq5du/ryxx/r+PFHXwIDA/jnn4vMmjULAHf3XNjY2LJx41zu3r3JwYPbWLr0e9V1t7W1x8+vA9eunefs2cNMm9aPWrVavLO/kzHnzp7dE41Gw5EjO3j+/DERES9Jnz4j33wzmBkzBrJjx0ru3r3BlStn2LBhLjt26OaMatasB3fu/MPs2UO4desqu3evZceOFarrlVKpToR+/vlnli5dSv369XFycsLJyYkGDRqwePFiNm/e/P4DiA8SFxfHqFGjqFOnDq1bt+bBgwfv30kIIUzA13c5DRq0Z/bsQXz9dUEGD27K5csncXfPpfpYTZt2YdSo+Wzfvp2KFStSo0YNVqxYgaenrtnKxsaWefP+IFMmN/r3b0Dr1sVZsWKSvlnus8+aUalSPXr29KZ27az8/vu6t56rbt3WWFuno06d1gYj8xJTtmxNJk7cxKFD22jbthQ9etTizJkzAGTKlBVf3xX4+2+iZcsirFw5if79p6mu+yef5MHb+ysGDGhA3751yJ+/BN9997937mPMud3cctKt21jmzRtG3brZ9FMH9OjxPd9+O5oVKybSvHlh+vWrx5EjO8mRIzegS7ImT/6Zgwe30rZtSbZsWUivXhNU1yul0igqJwRydHTk9OnTFC5c2KD80qVLVKhQwWCIpyUKCwvD2dmZJ0+ekCVL0laGNpd79+7RunVrDh8+DEC3bt2YNWsWDg6maUv/2GJjY9m1axcNGjT4aKsMJ8WZM2coW7YscBpIqTNynwHKcvr0aYNZxd+sm4NDcdat20Xr1g2IjLTc65G4hPUz13Xz9Ixi4cJAXF1zk9QVxq2stOTJE8bNm6/7CAVQuHDhBM1HUBhIyXeBw/kYdbt//xZffpmXlStPUqiQut8Fw2uh5t7Bx6mbeSSsm6lERUURGBhI7ty5E6xs//TpU1xdXQkNDTXpnHiq7whVqlQJX19foqKi9GWRkZGMHTuWSpXSTi/zj+23336jVKlSHD58mAwZMrBu3Tp+/PHHFJsECSFEcouLi+XJk2AWLBhFsWKfqk6CRNqgurP07NmzqVu3Lp988ol+kdXz589jb2/P77//bvIA0zqtVsvw4cOZMmUKAKVLl2bDhg3kz5/fzJEJIYRlO3/+KD16eJMrVwEmT5auGyJxqhOhYsWK8c8//7BmzRquXLkCQOvWrWnbtq3cnUgGVlZWBAcHA9C7d2+mTZuW4HahEEKIhMqWrflBk0qKtCFJ8wg5OjrStevbJ5wSHy4uLk4/f8f8+fNp3rw5jRo1MnNUQgghROpiVCK0bds26tevj42NDdu2vX1GToAmTZqYJLC0KiYmhmHDhnH9+nV+/fVXNBoNGTJkkCRICCGESAZGJUJNmzYlODgYNzc3mjZt+tbtNBqNwUROQp3AwEBatmzJyZMnAThw4ADe3t5mjkoIIYRIvYxKhF7PIP3fn4XpbNmyhc6dOxMaGoqLiwsrVqyQJEgIIYRIZqqHzycmJCTEFIdJk6Kjo+nbty/NmjUjNDSUTz/9lHPnzvHFF1+YOzQhhBAi1VOdCE2ePJkNGzboHzdv3pzMmTOTM2dOzp8/b9Lg0oK2bdsyb55u7ZshQ4Zw6NAh/cyqQgghhEheqhOhhQsX4uGhW/Btz5497N27l927d1O/fn2GDBli8gBTu++++47s2bOzY8cOpkyZYtEzLAshhLG6d6/J9OkD9I+bNPFi7dpZJju+n19HBg9uarLjvUuJEiVYu3b2RzmXOai5Nrpt5ydvQB+Z6uHzwcHB+kRox44dtGjRgjp16uDl5UXFihVNHmBqExkZyYkTJ6hRQ7cKcPny5bl586bMDSREGhAcHERIyJP3bqfRaHnxIpy7d9OjKNFAINHR0fq52iIjIwkMDASigbfP3+bi4qpqHTA/v468fBnCtGlbDcpPnz5Ajx7e7Nv3nIwZXYw+XnIaPHg2KleIeq/t21cwY8YA9u8PMSjft28fDx++fUHUlG7lypM4OBi3VIZuW4DbyRrTx6Q6EcqUKRN37tzBw8OD3bt388MPPwCgKIqMGHuPq1ev0qJFC65evcqff/5JqVKlACQJEiINCA4OolmzwsTERHy0c9raOvLzzwFJWhTV0mXI4PzRzuXq6kpYmCOWNlYoNjYGGxvbDz5OpkxZVW5r2WuKqqW6aeyrr76iTZs21K5dm6dPn1K/fn0Azp49S758+UweYGqxZs0aypYty4ULF3BycpIO5kKkMSEhT14lQT+hWwg2ub9+IiYmwqg7UOrr8pSRI1vToEFOqlZ1pFWr4u9c/f2/7t+/RfnyGq5evfDGMUPQaDQcOnRIX3bjxiUGDmxEzZpO1KiRka5dq3H37g0gYdNY9+41mTatH3PmDOXzzzNTt647ixb5GZx3zZoZtGpVnGrV0tOwoQeTJvUiIuIloLvrNW5cJ16+DKV8eQ3ly2v0+/+3aSw4OIhBg76gevUM1KzpxPDhLXj69KH++UWL/GjTphK7du2iSJEiODs706pVK168ePHW12T79hV4e7tw4MBWvvoqP1Wq2NO3b12Cg+/857il2Lp1CV98kZsqVXT/RL94EcIPP3Shdu2s1KzpRM+en3HtmmGf3UOHttO+fXmqVLGnVi1Xhgz5Uv/cm01jiqKwaJEfjRrlonJlO+rXz8G0af3+s+2/TWNBQUF88cUXZMiQAScnJ1q0aMHDh/++Fn5+fpQqVYrVq1fj5eVl1Gvxsam+IzRz5ky8vLy4c+cOU6ZMIUOGDAA8ePCAXr16mTzAlC4iIoJ+/fqxdOlSAGrWrMmaNWvIkSOHmSMTQphHYSBlL/4ZExNFoUJlad/+O9Knd+Lo0Z34+rbjk0/yUrRoBZOc49Gj+3TvXp0yZWryv//tI316J86fP0pcXNxb99mxYyVt2/qwfPlfXLx4nLFjO1KyZBUqVqwNgEZjxeDBc8iRIzf37t1k8uRezJkzlGHD/keJEpXx8ZnFjz+OYfPmqwA4OmZIcA6tVsugQV/g6JiBH388SHx8HFOm9GbEiJb8+OMB/Xb37gVy4MABNm3aRHR0NC1atGD69Om0bNnyrfFHRUWwbNl4/PxWYWNjy+TJvRg5shVLlx7Vb3P37nX27fuZKVO2YGVlDcCwYc2xs3Ng9uzfyJDBmS1bfqRXr8/5+edrODtn5siRnQwd+iWdOo1k7NhVxMbGcPTorkRj2LfvZ9auncn48evJm7coT58GJ0iq3nwtXidBBw8eJC4ujt69e9OyZUsOHPj3tbhx4wZbt25lx44dPH/+nBYtWjBp0iTGjx//1tfiY1KdCNnY2DB48OAE5QMHDjRJQKnJ5cuXadGiBZcuXUKj0TBmzBhGjx6NtbW1uUMTQohEHTmyg+rVDRMArdaw24ObW07atfv3c6Bly778+efv7Nmz0WSJ0KZNi0if3pkJE9aTLp1uEImnZ4F37pM/fwm6dvUFIFeu/GzcOI8TJ/z1iVCbNgP02+bI4UXPnj8wcWIPhg37HzY2tmTI4IxGo8HV9c3+QIbtYSdP+nPjxkW2bg3E3V3XX9bPbxUtWxbl0qWTFC1aXreXVouvry9FixYlffr0tGvXjgMHDrwzEYqLi2Xo0HkUK1bx1XFX0rx5YS5dOqF/XWNjYxg7dpW+OevcuSNcunSCP/54hK2tHQADBkzj4MGt+Ptv5quvurFs2Xhq125F9+5j9ecqUKBkojEEBweRJYs7FSvWIl06G9zdc731mh44cICLFy8SGBio7zu8atUqihYtysmTJylf/t/XYsWKFWTMmBGAdu3a4e/vn7ISIVliI2l+/fVXLl26hLu7O2vWrOGzzz4zd0hCCPFOZct6M2zYAoOyv//+izFjvtE/jo+PZ/nyCezdu5HHj+8RGxtDTEw09vaOJovj2rULlC5dTZ8EGSNfvhIGj11ds/P8+SP947/+2suKFRO5ffsK4eFhxMfHER0dRVRUhNGxBwYGkC2bhz4JAsiTpwgZM7pw61aAPhHKnj0X6dP/2wE5e/bsPH78+J3HtrZOR5Ei5fWPvbwKkTGjC4GBAfpkJHt2T4M+PdeunScy8iW1amUxOFZ0dCT37t14tc05mjY1bn3Qzz9vzrp1s/jiizxUqlSPKlUaUK1aY/3al2+6cuUKHh4e+iQIoEiRIri4uBAQEKBPhLy8vPRJ0OvX4tGjRwmOZy6yxEYyGjp0KOHh4fTt25ds2bKZOxwhhHgvB4f0eHgY9vd89OiuwePVq6eyfv1sfHxmkS9fcRwc0jNjxgBiY2OMOoeV1evuqf+O+oqNjTXYxs5O/SCS/yZNGo1GvxrC/fu38PFpRLNmPenVazxOTpk5f/4I33//LbGxMSZN4t4Xy4ewtzcc3RUZ+RJX1+wsXHggwbavR/jZ2799ZOF/ubt7sHnzVU6c2MuJE3uYPLkXq1dPZdGig6qS0jf9d1oYU70WpmJUZ2mtVoubm5v+57d9pfUk6OLFizRv3pzIyEgArK2t+eGHHyQJEkKkKufPH6VGjS9o0OAbChQoSc6ceQgKumb0/i4uujsaT54E68vOnTtnsE3+/MU4e/YwcXGGCVJSXblyGq1Wy4AB0yle/FM8PQvw+PF9g21sbGwTNAP+V+7chXn48I5BJ+abNy/z4kUIuXMX+aAY4+PjCAg4pX9869bVV8ct/NZ9ChUqw9OnwVhbp8PDI5/Bl4uLK6C7U3bypL/RcdjbO1C9emMGD57DwoUHuHjxONevX0zk3IW4c+cOd+78+1pcvnyZkJAQihT5sNfiYzLJEhtpnaIoLF68mAoVKrB582b8/PzMHZIQQiSbXLny89dfezh//hiBgQFMmNDdYNTU+9jbO1C8+KesXDmdwMBADh8+zKhRowy2ad68O+HhYYwY0YrLl08RFPQPu3at5tatq0mK+ZNP8hEXF8uGDXO5e/cmu3atZsuWhQbbZM/uRUTES06c8Cck5AlRUQmnOqhQoRZ58xZnzJi2XLlyhkuXTuDn154yZWpQpEi5JMX2Wrp0Nkyd2pe///6LgIDTjBvXkeLFP31nv6sKFWpRvHglBg9uyp9//sH9+7c4f/4Y//vfSC5f1iVVXbv68scf6/jxR18CAwO4fv0iK1dOTvR427ev4Ndfl3L9+t/cvXuT3377CTs7B9zdE6544O3tTfHixWnbti1nzpzhxIkTtG/fnho1alCu3Ie9Fh+T6s7S/fr1I1++fPTr18+gfN68eVy/fp1Zs2aZKrYUISwsjO7du7N+/XoA6tWrl2hnciGE0AlI8efp3HkU9+7dpF+/utjbO9K0aTdq1mzKy5ehRh9j9OhlfP99J9q1a0fBggWZNm0aderU0T/v4pKFBQv2MWfOELp3r4G1tTUFCpSiRIkqSYq5QIGSDBw4g1WrJjN//nBKl65O794T8fVtr9+mZMnKNGvWgxEjWhIa+pSuXX3p0WOMwXE0Gg3Tp//K1Kl96datOlZWVlSqVI/Bg+cmKa432ds70r79d4wa1YbHj+9RqlQ1Ro9e+s59NBoNs2btYsGCkYwb14nnzx+TJYs7pUtXJ3NmXWtE2bI1mThxE0uXfs/KlZNIn96J0qWrJ3q8jBldWLlyEjNn+qDVxpMvX3FmzNiOi0uWBNtqNBp+/fVX+vbtS/XquteiXr16zJ374a/Fx6RRVE7NmTNnTrZt20bZsmUNys+cOUOTJk24e/fuW/a0DGFhYTg7O/PkyROyZEl4YdU4e/YsLVq04Pr161hbWzNhwgQGDx78Rvu3eJfY2Fh27dpFgwYNLHppkTNnzrz6fT9Nyh32fAYoy+nTpylT5t86vFk3B4firFu3i9atGxAZabnXI3EJ62eu6+bpGcXChYG4uuYG/u3nIhMqJiYcCKBw4cL6jsXh4eEEBASgm2bAuNmOk5OVlZY8ecK4edMJrVbN33Z1dXvbrNaWKWHdTCUqKorAwEBy586dYLLhp0+f4urqSmhoKE5OTiY7p+o7Qk+fPsXZOeGMnk5OTjx5YvqJuyzVL7/8QqtWrYiJicHDw4P169dTuXJlc4clhLBQ7u65+PnnAKOX2PjkE8MlNnLnzp3IEhu5MeUSG0KkRaoToXz58rF792769OljUP7bb7+RJ08ekwVm6cqVK0eGDBmoUqUKy5cv/+C7S0KI1M/dPZdRicnruxAZMzqh1UYCdgnuLNjZ2WEpd02ESMlUJ0I+Pj706dOHx48f6+fF8ff3Z/r06am+f9C9e/fImTMnAB4eHpw4cYI8efKg0WjMHJkQQoiUrHHjjjRu3NHcYaRJqjuzdO7cmenTp7N06VK8vb3x9vbmp59+YsGCBXTtatyETSmNoijMnj2bPHnyGEwomTdvXkmChBBCiBQsSb16e/bsyd27d3n48CFhYWHcvHmT9u3bv3/HFOjZs2d8+eWXDBgwgJiYmPfOrC2EEEKIlCNJiVBcXBx79+5ly5YtvB50dv/+fV6+fGnS4Mztzz//pHTp0vz666/Y2toyd+5cFi9ebO6whBAWTFF0X2/OmiyEMI7KgewmobqP0O3bt6lXrx5BQUFER0dTu3ZtMmbMyOTJk4mOjmbhwoXvP4iF02q1zJgxg+HDhxMXF0fevHnZsGFDgikDhBDiv54+tSEmBiCCd43oEkIkFKN783zUxclVJ0L9+/enXLlynD9/3mCk1Jdffplq+ggdOnSIIUOGANCiRQsWL15s0jkLhBCpV3i4Ndu2udC69SNcXAAcAXV9CRVFS0xMDIoSBUQDEB0drf9wiI6OfrVlNPDxPjBMz/LrZngt1DSiWH7dki5h3UxBq9Xy+PFjHB0dE13kNbmoPtPhw4c5duwYtra2BuVeXl7cu3fPZIGZU82aNenfvz+FChWie/fu0iFaCKHK8uXuADRp8ghbW1D7J0SjUYBInjxxQFFigSfY2Njo/+7GxMS8mrfNBrB9x5EsXQyWXjfDa6HmQlp+3ZIuYd1MxcrKily5cn3Uz13VidDbFle9e/cuGTNmNElQH5tWq2X27Nm0bt0ad3fdH7DUPhWAECL5KIqGZcuys369G66usaoTIXv7WKZPP8SgQdWJiroG9ODnn3+mYMGCAFy6dIkePXoAPwMFTR3+R3QJS6+b4bVQM+O65dct6RLWzVRsbW0/+uoMqhOhOnXqMGvWLBYtWgTo1hp5+fIlvr6+NGjQIElBzJ8/n6lTpxIcHEzJkiWZO3cuFSq8fZG5TZs2MXr0aG7dukX+/PmZPHlyks/96NEj2rVrxx9//MGOHTvYs2ePLJEhhDCJiAhrgoLUNx04OFgTFxdHUJA9kZEa4DYajUa/5IBGo+H27dvomtzs33UoC2f5dTO8FmoSIcuvW9IlrFtKpvoTf9q0aRw9epQiRYoQFRVFmzZt9M1ikycnvprtu2zYsAEfHx98fX05c+YMJUuWpG7dujx69CjR7Y8dO0br1q359ttvOXv2LE2bNqVp06b8/fffqs994MABSpUqxR9//IGDgwNt27aVZjAhhBAiDVGdCHl4eHD+/HlGjhzJwIEDKV26NJMmTeLs2bO4ubmpDmDGjBl07dqVTp06UaRIERYuXIijoyPLli1LdPvZs2dTr149hgwZQuHChfn+++8pU6YM8+bNU3XeqVOn8vnnn/PgwQMKFy7MiRMn6Ny5syRCQgghRBqiqmksNjaWQoUKsWPHDtq2bUvbtm0/6OQxMTGcPn2a4cOH68usrKyoVasWx48fT3Sf48eP4+PjY1BWt25dtm7dqurcr+9ederUiblz55p8BV0hhBBCWD5ViZCNjQ1RUVEmO/mTJ0+Ij48nW7ZsBuXZsmXjypUrie4THByc6PbBwcGJbh8dHf3GkEUIDQ0FdB2yBg0aRJ06dTh58uSHVCNR2bJlS/QO2aNHj3j48KHJz/cxmapuWq2WiIgIDh8+bDH9shKrW1hY2Kt28NNAmFni+nD/APaEhYXx9OlTfembdbO3DyEiIgJ7+8MoimVcD+MlrF9Kvm729to3rsUNUlPdDFn+dTO8FmreF5Zft6RL/O9Jcnv27BmQDJMuKiqNHz9e6dChgxIbG6t21wTu3bunAMqxY8cMyocMGaJUqFAh0X1sbGyUtWvXGpTNnz9fcXNzS3R7X19fBd0Ur/IlX/IlX/IlX/KVwr9u3LjxwfnHm1SPGjt58iT+/v788ccfFC9ePEGT0pYtW4w+lqurK9bW1gnuIjx8+FA/jP2/3N3dVW0/fPhwg6a0kJAQPD09CQoKwtnZ2ehYhemFhYXh4eHBnTt3ZMJKCyDXw3LItbAcci0sR2hoKLly5SJz5swmPa7qRMjFxYVmzZqZ5OS2traULVsWf39/mjZtCuiaS/z9/enTp0+i+1SqVAl/f38GDBigL9uzZw+VKlVKdHs7Ozvs7OwSlDs7O8svtYVwcnKSa2FB5HpYDrkWlkOuheUwdVcK1YnQ8uXLTRqAj48PHTp0oFy5clSoUIFZs2YRHh5Op06dAGjfvj05c+Zk4sSJgG6Jjxo1ajB9+nQaNmzI+vXrOXXqlH5eIyGEEEIIYxmdCGm1WqZOncq2bduIiYnh888/x9fXFweHD1tUsGXLljx+/JgxY8YQHBxMqVKl2L17t75DdFBQkEH2V7lyZdauXcuoUaMYMWIE+fPnZ+vWrRQrVuyD4hBCCCFE2mN0IjR+/Hj8/PyoVasWDg4OzJ49m0ePHr11vh81+vTp89amsAMHDiQoa968Oc2bN0/Suezs7PD19U20uUx8XHItLItcD8sh18JyyLWwHMl1LTSKYtw4tPz58zN48GC6d+8OwN69e2nYsCGRkZEWM/RZCCGEEEINoxMhOzs7rl+/joeHh77M3t6e69ev88knnyRbgEIIIYQQycXoWzlxcXEJFlezsbEhNjbW5EEJIYQQQnwMRvcRUhSFjh07GrTNRUVF0aNHD4O5hNTMIySEEEIIYU5GJ0IdOnRIUPbNN9+YNBghhBBCiI/KpPNUW4h58+Ypnp6eip2dnVKhQgXlr7/+euf2GzduVAoWLKjY2dkpxYoVU3bu3PmRIk391FyLRYsWKVWrVlVcXFwUFxcX5fPPP3/vtRPqqH1vvLZu3ToFUL744ovkDTANUXstnj9/rvTq1Utxd3dXbG1tlfz588vfKhNRey1mzpypFChQQLG3t1c++eQTZcCAAUpkZORHijb1OnjwoNKoUSMle/bsCqD88ssv791n//79SunSpRVbW1slb968yvLly1WfN9UlQuvXr1dsbW2VZcuWKZcuXVK6du2quLi4KA8fPkx0+6NHjyrW1tbKlClTlMuXLyujRo1SbGxslIsXL37kyFMftdeiTZs2yvz585WzZ88qAQEBSseOHRVnZ2fl7t27Hzny1Ent9XgtMDBQyZkzp1KtWjVJhExE7bWIjo5WypUrpzRo0EA5cuSIEhgYqBw4cEA5d+7cR4489VF7LdasWaPY2dkpa9asUQIDA5Xff/9dyZ49uzJw4MCPHHnqs2vXLmXkyJHKli1bjEqEbt68qTg6Oio+Pj7K5cuXlblz5yrW1tbK7t27VZ031SVCFSpUUHr37q1/HB8fr+TIkUOZOHFiotu3aNFCadiwoUFZxYoVle7duydrnGmB2mvxX3FxcUrGjBmVlStXJleIaUpSrkdcXJxSuXJlZcmSJUqHDh0kETIRtddiwYIFSp48eZSYmJiPFWKaofZa9O7dW/nss88Mynx8fJQqVaoka5xpjTGJ0NChQ5WiRYsalLVs2VKpW7euqnOlqgmAYmJiOH36NLVq1dKXWVlZUatWLY4fP57oPsePHzfYHqBu3bpv3V4YJynX4r8iIiKIjY01+QJ7aVFSr8e4ceNwc3Pj22+//RhhpglJuRbbtm2jUqVK9O7dm2zZslGsWDEmTJhAfHz8xwo7VUrKtahcuTKnT5/mxIkTANy8eZNdu3bRoEGDjxKz+JepPr9VrzVmyZ48eUJ8fLx+eY7XsmXLxpUrVxLdJzg4ONHtg4ODky3OtCAp1+K/vvvuO3LkyJHgF12ol5TrceTIEZYuXcq5c+c+QoRpR1Kuxc2bN9m3bx9t27Zl165dXL9+nV69ehEbG4uvr+/HCDtVSsq1aNOmDU+ePKFq1aooikJcXBw9evRgxIgRHyNk8Ya3fX6HhYURGRlp9BJgqeqOkEg9Jk2axPr16/nll18SzF8lkt+LFy9o164dixcvxtXV1dzhpHlarRY3NzcWLVpE2bJladmyJSNHjmThwoXmDi3NOXDgABMmTOB///sfZ86cYcuWLezcuZPvv//e3KGJJEpVd4RcXV2xtrbm4cOHBuUPHz7E3d090X3c3d1VbS+Mk5Rr8dq0adOYNGkSe/fupUSJEskZZpqh9nrcuHGDW7du0bhxY32ZVqsFIF26dFy9epW8efMmb9CpVFLeG9mzZ8fGxgZra2t9WeHChQkODiYmJgZbW9tkjTm1Ssq1GD16NO3ataNLly4AFC9enPDwcLp168bIkSNlyamP6G2f305OTqoWhE9VV8zW1payZcvi7++vL9Nqtfj7+1OpUqVE96lUqZLB9gB79ux56/bCOEm5FgBTpkzh+++/Z/fu3ZQrV+5jhJomqL0ehQoV4uLFi5w7d07/1aRJE7y9vTl37pzBUjtCnaS8N6pUqcL169f1ySjAtWvXyJ49uyRBHyAp1yIiIiJBsvM6QVWMW7FKmIjJPr/V9eO2fOvXr1fs7OyUFStWKJcvX1a6deumuLi4KMHBwYqiKEq7du2UYcOG6bc/evSoki5dOmXatGlKQECA4uvrK8PnTUTttZg0aZJia2urbN68WXnw4IH+68WLF+aqQqqi9nr8l4waMx211yIoKEjJmDGj0qdPH+Xq1avKjh07FDc3N+WHH34wVxVSDbXXwtfXV8mYMaOybt065ebNm8off/yh5M2bV2nRooW5qpBqvHjxQjl79qxy9uxZBVBmzJihnD17Vrl9+7aiKIoybNgwpV27dvrtXw+fHzJkiBIQEKDMnz9fhs+/NnfuXCVXrlyKra2tUqFCBeXPP//UP1ejRg2lQ4cOBttv3LhRKVCggGJra6sULVpUJikzITXXwtPTUwESfPn6+n78wFMpte+NN0kiZFpqr8WxY8eUihUrKnZ2dkqePHmU8ePHK3FxcR856tRJzbWIjY1V/Pz8lLx58yr29vaKh4eH0qtXL+X58+cfP/BUZv/+/Yl+Brx+/Tt06KDUqFEjwT6lSpVSbG1tlTx58iRpQkWjV58XQgghhEhtUlUfISGEEEIINSQREkIIIUSaJYmQEEIIIdIsSYSEEEIIkWZJIiSEEEKINEsSISGEEEKkWZIICSGEECLNkkRICGHAz8+PUqVKJSjLli0bGo2GrVu3Gn0sLy8vZs2aZdL4/kttTEII8SZJhIRIRR4/fkzPnj3JlSsXdnZ2uLu7U7duXY4ePZrkYwYEBDB27Fh+/PFHHjx4QP369QEICwtj5MiRFCpUCHt7e9zd3alVqxZbtmyxuDWXrl+/TufOnfWvS86cOfn8889Zs2YNcXFx+u00Go3+y9nZmSpVqrBv374EzyX25efnl+T4/Pz80Gg09OjRw6D83LlzaDQabt26BcCtW7fQaDScO3cu0eOsWLECFxeXJMchRFqUqlafFyKta9asGTExMaxcuZI8efLw8OFD/P39efr0aZKPeePGDQD+3979hjTVvnEA/85ZWJ7lnDNXIQhmqaXiVCyMwj8jiSctU7EsyspIpb+ODC19M0VKGRimQWumRYpJ4YsiQVrOokRzWljLZGX5h2lZOMJa7TwvwvPLnE9az08e3PWBwc4517nu+5wX28V935wTGxsLHo8HAPjw4QPWrVuHjx8/QqFQICQkBPb29rh37x5OnDiBiIiI/8wfcktLC6KiorBq1SqUlpbC29sbANDa2orS0lKsXr0aAQEBXLxarUZ0dDSGh4eRk5ODv/76C0+fPsXAwAAXU1NTg9zcXOj1em4fwzB/1E8HBweoVCpkZmbCy8vrj3IRQmbgD18NQgj5jxgZGWEBsBqN5pdx+/btY8ViMSsQCNjw8HBWp9Nxx/Py8tiAgADuO3567w/LsmxaWhrr6OjI9vX1Tco/OjrKms1mlmW/vz8uPz+fTUlJYRmGYd3d3dkLFy5MiO/t7WUTEhJYJycn1tnZmY2JiWENBsOEGJVKxfr6+rLz589nJRIJm5GRwR0DwN64cYPbzs3NZSUSCdvR0cFaLBbWx8eHDQoKYr99+2b1flgslilz9fX1sQDY8vLyCeeo1WrWycnJar7fMX7PZTIZm5CQwO0ff/nk+P0wGAwsALa9vd1qnn+7X4TYApoaI2SOYBgGDMPg5s2b+Pz585RxCQkJMBqNuH37Ntra2iCVShEZGYn3799PipXL5VCr1QCAgYEBDAwMwGKxoLq6GsnJyVi6dKnVftjb/2+wubi4GMHBwWhvb0d6ejrS0tK4kRSz2YyNGzdCIBBAq9Xi/v37YBgG0dHR+PLlCwCgrKwMGRkZOHDgAJ48eYL6+nosX758Urssy+LQoUOorKyEVquFv78/dDodnj17BrlcDjs76z9346Nc1ixYsAAAuL78vxUWFqKurg6tra2z0h4hhNYIETJn2Nvbo6KiApcvX4ZQKERYWBiys7PR2dnJxTQ3N6OlpQW1tbUIDg6Gl5cXioqKIBQKcf369Uk5GYbhprgkEgkkEgmGh4cxMjLCTTH9yqZNm5Ceno7ly5cjKysLYrEYd+/eBfB9isliseDixYvw8/ODj48P1Go1ent7odFoAAAKhQKZmZk4cuQIVqxYgZCQEBw9enRCG1+/fsXOnTvR2NiI5uZmrlB68eIFAGDlypVcrNFo5IpGhmFw/vx5q/3+9OkTTp06BT6fjw0bNkzrWv+UVCpFYmIisrKyZqU9QggVQoTMKdu2bUN/fz/q6+sRHR0NjUYDqVSKiooKAEBHRwdMJhNcXFwmFAMGg4FbC/Qr7AwXQvv7+3PfeTweJBIJjEYj15+XL19CIBBwfRGJRBgbG0NPTw+MRiP6+/sRGRn5j20cO3YMjx49QlNTE5YtW/aPsS4uLtDpdNDpdBAKhZNGe7Zv3w6GYSAQCFBXVweVSjXhGmaioKBgwn3u7e395TkKhQJarRYNDQ2/1SYhZGZosTQhc4yDgwNkMhlkMhlOnz6N/fv3Iy8vD3v27IHJZMKSJUu40ZYfTXdxs6urK4RCIZ4/fz6t+Hnz5k3Y5vF4sFgsAACTyYSgoCBcvXrVajtTTWf9TCaT4dq1a7hz5w6Sk5O5/eOLjvV6PQIDAwEAfD6fGzH6cQpvnFKpRFRUFJycnODq6jqt9qdy8OBBJCYmctvWphJ/5unpidTUVJw8eRIqleqP2ieE/BoVQoTMcb6+vtxzdqRSKQYHB2Fvbw8PD4/fymdnZ4ekpCRUVVUhLy9v0p+7yWSCg4OD1SLjZ1KpFDU1NVi8eDEWLVpkNcbDwwONjY0IDw+fMk9MTAw2b96MHTt2gM/nIykpCQAQGBgIb29vFBUVITExcVqFlUQisboG6XeIRCKIRKIZn5ebmwtPT09UV1f/K/0ghEyNpsYImSPevXuHiIgIXLlyBZ2dnTAYDKitrcWZM2cQGxsLAIiKisLatWuxZcsWNDQ04NWrV3jw4AFycnJmtEA3Pz8f7u7uCA0NRWVlJbq6utDd3Y1Lly4hMDAQJpNpWnmSk5MhFosRGxsLrVYLg8EAjUaDw4cP4+3btwC+P2OnuLgYJSUl6O7uxuPHj3Hu3LlJubZu3YqqqiqkpKRw6514PB7UajX0ej3CwsJQX1+P7u5udHV1oby8HENDQ+Dz+dO+7tni5uaG48ePo6SkxOpxvV7PTe+Nf8xm8yz3kpC5gUaECJkjGIZBaGgolEolenp6YDab4e7ujtTUVGRnZwP4XhjcunULOTk5SElJwdDQECQSCdavXw83N7dptyUSifDw4UMUFhZCoVDg9evXcHZ2hp+fH86ePQsnJ6dp5Vm4cCGampqQlZWFuLg4jI6Ocg87HB8h2r17N8bGxqBUKiGXyyEWixEfH281X3x8PCwWC3bt2gU7OzvExcVhzZo1aGtrQ0FBATIyMjA4OAhHR0cEBARAqVRi7969077u2SSXy1FWVoaxsbFJx8ZHvH705s2b2egWIXMOj53pykdCCCGEkDmCpsYIIYQQYrOoECKEEEKIzaJCiBBCCCE2iwohQgghhNgsKoQIIYQQYrOoECKEEEKIzaJCiBBCCCE2iwohQgghhNgsKoQIIYQQYrOoECKEEEKIzaJCiBBCCCE2iwohQgghhNisvwFgCTH0nZZydwAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now let's do the same for recall:" + ], + "metadata": { + "id": "EToxJkJxZVUs" + } + }, + { + "cell_type": "code", + "source": [ + "x = []\n", + "recalls = []\n", + "\n", + "n_bins = 10\n", + "thresholds = np.linspace(0,1,n_bins)\n", + "for i in range(len(thresholds)-1):\n", + " min = thresholds[i]\n", + " max = thresholds[i+1]\n", + " bin = output_df.loc[(output_df.probability >= min) & (output_df.probability < max)]\n", + " tp = ((bin.prediction == 1) & (bin.label == 1)).sum()\n", + " fn = ((bin.prediction == 0) & (bin.label == 1)).sum()\n", + " # precision = tp / (tp + fn)\n", + " recall = recall_score(bin.prediction.values, bin.label.values)\n", + " # x.append(f\"\\[{min}-{max}\\]\")\n", + " x.append(min)\n", + " recalls.append(recall)\n", + "\n", + "plt.bar(x, recalls, width=0.1, color='green', edgecolor='black', capsize=5, align='center', label='Hallucination recall')\n", + "plt.plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "plt.xlim([0, 1])\n", + "plt.ylim([0, 1])\n", + "plt.xlabel('SelfCheckGPT - NLI')\n", + "plt.ylabel('Recall (Detection rate of hallucination)')\n", + "plt.title('Calibration curve of hallucination')\n", + "plt.legend(loc='lower right')\n", + "plt.grid(True)\n", + "\n", + "# Show the plot\n", + "plt.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 596 + }, + "id": "5FImO39OJMQr", + "outputId": "95a324dd-bceb-4c9f-b7c3-f79b3b256b3b" + }, + "execution_count": 18, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACFpklEQVR4nOzdd3iN5xvA8e/JTkQSJBHSCLH3LD97z6Jqj1q1N7FHBVXUCIpataq2qmqNUsQoShF7C7EiggzZyXl/f5zm1GkScuIkJ+P+XFcueZ/zjvs575Hced5nqBRFURBCCCGEyIZMjB2AEEIIIYSxSCIkhBBCiGxLEiEhhBBCZFuSCAkhhBAi25JESAghhBDZliRCQgghhMi2JBESQgghRLYliZAQQgghsi1JhIQQQgiRbUkiJMQ/6tWrR7169bTbDx48QKVSsX79em1Zr169sLW1Tf/g/mPatGmoVCpjh5GtvHnzhr59++Li4oJKpWLkyJHJ7qtSqRg6dKjBru3j44NKpcLHx0db1qtXLwoWLGiwa/zX+vXrUalUPHjwIM2u8S5pXT8hEkgiJDKte/fuMWDAADw8PLCyssLOzo6aNWuyePFiIiMjjR3eB4uIiGDatGk6v/yE8cyaNYv169czaNAgNm7cSPfu3Y0dUqb39OlTpk2bhq+vr7FDEdmYmbEDECI19u7dS4cOHbC0tKRHjx6UKVOGmJgYTp48ydixY7l27RqrVq36oGu4u7sTGRmJubm5gaLWT0REBNOnTwfQaakCmDJlChMmTDBCVNnXkSNH+N///oeXl5exQ0kX3bt3p3PnzlhaWqbZNZ4+fcr06dMpWLAgFSpU0Hlt9erVqNXqNLu2EAkkERKZjp+fH507d8bd3Z0jR46QL18+7WtDhgzh7t277N2794Ovo1KpsLKy+uDzJIiLi0OtVmNhYfHB5zIzM8PMLGv+9w0PDydHjhzGDiORwMBASpUqZeww0o2pqSmmpqZGu76x/gAR2Y88GhOZzty5c3nz5g1r1qzRSYISFClShBEjRmi3161bR4MGDXB2dsbS0pJSpUqxfPny914nqT5CCe7fv0/Tpk3JkSMH+fPnZ8aMGSiKkujY+fPns2jRIgoXLoylpSXXr18nJiaGqVOnUrlyZezt7cmRIwe1a9fm6NGjOsc7OTkBMH36dFQqFSqVimnTpgFJ9xGKi4vjq6++0l6rYMGCTJo0iejoaJ39ChYsSMuWLTl58iRVq1bFysoKDw8Pfvjhh/e+JwBqtZrFixdTtmxZrKyscHJyolmzZvz999/vfd/ersPb9bh+/Tpdu3YlV65c1KpVi/nz56NSqXj48GGic0ycOBELCwtev36tLfvrr79o1qwZ9vb22NjYULduXf78888U1ScwMJA+ffqQN29erKysKF++PBs2bNC+ntA/x8/Pj71792rvRUr6zuzevZsyZcpgaWlJ6dKlOXDggM7rDx8+ZPDgwRQvXhxra2vy5MlDhw4dUtUvJ6l+RJD8/bh58yYdO3bEyckJa2trihcvzuTJk7WvJ9VHKKWfnVevXjFmzBjKli2Lra0tdnZ2NG/enEuXLunE+/HHHwPQu3dv7fuaEGdSfYTCw8MZPXo0bm5uWFpaUrx4cebPn6/zfw/+7aP1vvdfCJBESGRCv/76Kx4eHtSoUSNF+y9fvhx3d3cmTZrEggULcHNzY/DgwSxbtixV14+Pj6dZs2bkzZuXuXPnUrlyZby8vJJ8ZLJu3TqWLFlC//79WbBgAblz5yY0NJTvv/+eevXq8c033zBt2jRevHhB06ZNtX0lnJyctMnaZ599xsaNG9m4cSNt27ZNNq6+ffsydepUKlWqxMKFC6lbty6zZ8+mc+fOifa9e/cu7du3p3HjxixYsIBcuXLRq1cvrl279t769+nTh5EjR+Lm5sY333zDhAkTsLKy4syZMyl8BxPr0KEDERERzJo1i379+tGxY0dUKhXbt29PtO/27dtp0qQJuXLlAjSPrOrUqUNoaCheXl7MmjWL4OBgGjRowNmzZ9953cjISOrVq8fGjRvp1q0b8+bNw97enl69erF48WIASpYsycaNG3F0dKRChQrae5GQqCbn5MmTDB48mM6dOzN37lyioqJo164dL1++1O5z7tw5Tp06RefOnfn2228ZOHAghw8fpl69ekREROj7NqbY5cuXqVatGkeOHKFfv34sXryYNm3a8Ouvv7732JR8du7fv8/u3btp2bIl3t7ejB07litXrlC3bl2ePn0KaN7XGTNmANC/f3/t+1qnTp0kr6soCq1bt2bhwoU0a9YMb29vihcvztixY/H09Ey0f0refyEAUITIREJCQhRA+fTTT1N8TERERKKypk2bKh4eHjpldevWVerWravd9vPzUwBl3bp12rKePXsqgDJs2DBtmVqtVj755BPFwsJCefHihc6xdnZ2SmBgoM514uLilOjoaJ2y169fK3nz5lW++OILbdmLFy8UQPHy8koUv5eXl/L2f19fX18FUPr27auz35gxYxRAOXLkiLbM3d1dAZTjx49rywIDAxVLS0tl9OjRia71tiNHjiiAMnz48ESvqdVqnbq//b4l+G99EurRpUuXRPtWr15dqVy5sk7Z2bNnFUD54YcftNcsWrSo0rRpU+31FUVzzwsVKqQ0btz4nfVZtGiRAig//vijtiwmJkapXr26Ymtrq4SGhmrL3d3dlU8++eSd53u7nhYWFsrdu3e1ZZcuXVIAZcmSJTpx/tfp06d16qgoinL06FEFUI4ePaot69mzp+Lu7v7OfRQl6ftRp04dJWfOnMrDhw919n37PVy3bp0CKH5+ftqylH52oqKilPj4+ERxWFpaKjNmzNCWnTt3LtnPyn/rt3v3bgVQZs6cqbNf+/btFZVKpfNep/T9F0JRFEVahESmEhoaCkDOnDlTfIy1tbX2+5CQEIKCgqhbty73798nJCQkVXG8PTQ6oRk+JiaGP/74Q2e/du3aJWo5MDU11fYTUqvVvHr1iri4OKpUqcKFCxdSFc++ffsAEv1lPHr0aIBEfaZKlSpF7dq1tdtOTk4UL16c+/fvv/M6P/30EyqVKsnWrw8Zzj9w4MBEZZ06deL8+fPcu3dPW7Zt2zYsLS359NNPAfD19eXOnTt07dqVly9fEhQURFBQEOHh4TRs2JDjx4+/s8Ptvn37cHFxoUuXLtoyc3Nzhg8fzps3bzh27Fiq69SoUSMKFy6s3S5Xrhx2dnY67/Hbn83Y2FhevnxJkSJFcHBwSPVn4X1evHjB8ePH+eKLLyhQoIDOaym5hyn57FhaWmJiovn1Eh8fz8uXL7G1taV48eIf9Bk3NTVl+PDhOuWjR49GURT279+vU56S918IkEdjIpOxs7MDICwsLMXH/PnnnzRq1IgcOXLg4OCAk5MTkyZNAkhVImRiYoKHh4dOWbFixQAS9e0oVKhQkufYsGED5cqVw8rKijx58uDk5MTevXtTnZg9fPgQExMTihQpolPu4uKCg4NDor42//0FCJArVy6dfjdJuXfvHvnz5yd37typijM5Sb1PHTp0wMTEhG3btgGaRyM7duygefPm2s/BnTt3AOjZsydOTk46X99//z3R0dHvfE8fPnxI0aJFtb+0E5QsWVL7emql5D2OjIxk6tSp2j4vjo6OODk5ERwcnOrPwvskJAJlypRJ1fEpqZdarWbhwoUULVpUp16XL1/+oM94/vz5E/0RlNy9Su1nXGQ/WXPYiciy7OzsyJ8/P1evXk3R/vfu3aNhw4aUKFECb29v3NzcsLCwYN++fSxcuDDNh+e+/Rd/gh9//JFevXrRpk0bxo4di7OzM6ampsyePVun9SM1Utoqk9xoIOU/nU4NGUN8fHyyxyT1PuXPn5/atWuzfft2Jk2axJkzZ/D39+ebb77R7pNw/+bNm5do+HUCY02AmZL3eNiwYaxbt46RI0dSvXp17O3tUalUdO7cWe/PZmre99RISb1mzZrFl19+yRdffMFXX31F7ty5MTExYeTIkek2JD4tP+Mia5FESGQ6LVu2ZNWqVZw+fZrq1au/c99ff/2V6Oho9uzZo/MX4tsjtPSlVqu5f/++thUI4Pbt2wApmgl3586deHh4sGvXLp1fXv993KTPoyZ3d3fUajV37tzR/oUM8Pz5c4KDg3F3d0/xud6lcOHC/P7777x69SrZVqGETszBwcE65alpXenUqRODBw/m1q1bbNu2DRsbG1q1aqUTD2gS5EaNGul9fnd3dy5fvoxardZpFbp586b29bS0c+dOevbsyYIFC7RlUVFRid67lEjp+57QmpnSPyZSY+fOndSvX581a9bolAcHB+Po6Kjd1vcz/scffxAWFqbTKpRe90pkXfJoTGQ648aNI0eOHPTt25fnz58nev3evXvaET8JfxW+/VdgSEgI69at+6AYli5dqv1eURSWLl2Kubk5DRs2fO+xScX0119/cfr0aZ39bGxsgMS/2JLSokULABYtWqRT7u3tDcAnn3zy3nOkRLt27VAURTvR49sS6mNnZ4ejoyPHjx/Xef27775L1fVMTU3ZsmULO3bsoGXLljpzDFWuXJnChQszf/583rx5k+j4Fy9evPP8LVq0ICAgQPv4DTTTECxZsgRbW1vq1q2rd8z6MDU1TdRCsWTJklS14ri7u2Nqavre993JyYk6deqwdu1a/P39dV4zVGtJUvXasWMHT5480SlLuJcp/YzHx8fr/N8DWLhwISqViubNm39Y0CLbkhYhkekULlyYzZs306lTJ0qWLKkzs/SpU6fYsWMHvXr1AqBJkyZYWFjQqlUrBgwYwJs3b1i9ejXOzs48e/YsVde3srLiwIED9OzZk2rVqrF//3727t3LpEmT3jukGjQtWrt27eKzzz7jk08+wc/PjxUrVlCqVCmdX+bW1taUKlWKbdu2UaxYMXLnzk2ZMmWS7NtRvnx5evbsyapVqwgODqZu3bqcPXuWDRs20KZNG+rXr5+quv5X/fr16d69O99++y137tyhWbNmqNVqTpw4Qf369bWdyPv27cucOXPo27cvVapU4fjx49pWM304OztTv359vL29CQsLo1OnTjqvm5iY8P3339O8eXNKly5N7969cXV15cmTJxw9ehQ7O7t3Dgnv378/K1eupFevXpw/f56CBQuyc+dO/vzzTxYtWqRXp/zUaNmyJRs3bsTe3p5SpUpx+vRp/vjjD/LkyaP3uezt7enQoQNLlixBpVJRuHBhfvvtNwIDAxPt++2331KrVi0qVapE//79KVSoEA8ePGDv3r0GWe6iZcuWzJgxg969e1OjRg2uXLnCpk2bEvWtK1y4MA4ODqxYsYKcOXOSI0cOqlWrlmSfsVatWlG/fn0mT57MgwcPKF++PAcPHuSXX35h5MiROh2jhdCLMYaqCWEIt2/fVvr166cULFhQsbCwUHLmzKnUrFlTWbJkiRIVFaXdb8+ePUq5cuUUKysrpWDBgso333yjrF27NtHQ4JQOn8+RI4dy7949pUmTJoqNjY2SN29excvLS2e4cMKx8+bNSxS3Wq1WZs2apbi7uyuWlpZKxYoVld9++y3RcGFFUZRTp04plStXViwsLHSGnv93+LyiKEpsbKwyffp0pVChQoq5ubni5uamTJw4Uee9UJTkh4H/t/7JiYuLU+bNm6eUKFFCsbCwUJycnJTmzZsr58+f1+4TERGh9OnTR7G3t1dy5sypdOzYUQkMDEx2+HzCtANJWb16tQIoOXPmVCIjI5Pc5+LFi0rbtm2VPHnyKJaWloq7u7vSsWNH5fDhw++tz/Pnz5XevXsrjo6OioWFhVK2bNkkh3PrO3x+yJAhSZ6jZ8+e2u3Xr19rr21ra6s0bdpUuXnzZqL9UjJ8XlE0Uy60a9dOsbGxUXLlyqUMGDBAuXr1apJD1K9evap89tlnioODg2JlZaUUL15c+fLLL7WvJzd8PiWfnaioKGX06NFKvnz5FGtra6VmzZrK6dOnk/yM/fLLL0qpUqUUMzMznTiTql9YWJgyatQoJX/+/Iq5ublStGhRZd68eTrD/hUl5e+/EIqiKCpFkZ5jQgghhMiepI+QEEIIIbItSYSEEEIIkW1JIiSEEEKIbMuoidDx48dp1aoV+fPnR6VSsXv37vce4+PjQ6VKlbC0tKRIkSJJrnAthBBCCJESRk2EwsPDKV++fIpXAffz8+OTTz6hfv36+Pr6MnLkSPr27cvvv/+expEKIYQQIivKMKPGVCoVP//8M23atEl2n/Hjx7N3716dGVE7d+5McHAwBw4cSIcohRBCCJGVZKoJFU+fPp1oGv2mTZsycuTIZI+Jjo4mOjpau52w2neePHk+aLVsIYQQQqQfRVEICwsjf/78iRZK/hCZKhEKCAggb968OmV58+YlNDSUyMjIJBdunD17dpLLAQghhBAi83n06BEfffSRwc6XqRKh1Jg4cSKenp7a7ZCQEAoUKMDt27eTXTRSpI/Y2FiOHj1K/fr1MTc3N3Y42Z7cj4xD7kXGIffCuPbs2UOjRo2wsbHh1atXFCtWzOBL32SqRMjFxSXRIpvPnz/Hzs4uydYgAEtLSywtLROV586dO1Xr+QjDiY2NxcbGhjx58sgPmAxA7kfGIfci45B7YRzh4eEMGTKEDRs20LdvX1avXq19zdDdWjJVIlS9enX27dunU3bo0CGqV69upIiEEEIIYUhXr16lY8eO3LhxAxMTEwoUKEBajusy6vD5N2/e4Ovrq13t2M/PD19fX/z9/QHNY60ePXpo9x84cCD3799n3Lhx3Lx5k++++47t27czatQoY4QvhBBCCANRFIU1a9ZQtWpVbty4Qb58+Th8+DBffvllmg5uMmoi9Pfff1OxYkUqVqwIgKenJxUrVmTq1KkAPHv2TJsUARQqVIi9e/dy6NAhypcvz4IFC/j+++9p2rSpUeIXQgghxId78+YN3bt3p2/fvkRGRtKkSRN8fX2pV69eml/bqI/G6tWr987mrqRmja5Xrx4XL15Mw6iEEEIIkZ4S5gM0NTVl5syZjBs3zqBD5N8lU/UREkIIIUTW89FHH7Flyxasra2pVatWul5bFl0VQgghRLoKDQ2lc+fOOmuMNm7cON2TIJBESAghhBDp6Pz581SqVIlt27YxYMAAIiIijBqPJEJCCCGESHOKorBkyRJq1KjBvXv3cHd355dffsHGxsaocUkfISGEEEKkqeDgYPr06cOuXbsAaNOmDWvXriVXrlxGjkwSISGEEEKkoeDgYCpWrMiDBw8wNzdn/vz5DBs2LMMsfC6PxoQQQgiRZhwcHGjevDkeHh6cOnWK4cOHZ5gkCKRFSAghhBAG9vLlS+Li4sibNy8A3t7eREdHY29vb+TIEpMWISGEEEIYzKlTp6hYsSJdunQhPj4eACsrqwyZBIEkQkIIIYQwALVazTfffEOdOnV49OgRjx494tmzZ8YO670kERJCCCHEB3nx4gUtW7ZkwoQJxMfH06VLFy5cuMBHH31k7NDeS/oICSGEECLVTpw4QefOnXn69ClWVlZ8++239O3bN0N1iH4XSYSEEEIIkSrx8fEMHjyYp0+fUqJECbZv307ZsmWNHZZe5NGYEEIIIVLF1NSULVu20LdvX86dO5fpkiCQREgIIYQQejhy5AgrV67UbpcpU4bVq1dja2trxKhSTxIhIYQQQrxXfHw8Xl5eNGrUiKFDh/L3338bOySDkD5CQgghhHinp0+f0q1bN3x8fADo1asXpUqVMm5QBiKJkBBCCCGS9fvvv9O9e3devHiBra0tK1eupGvXrsYOy2Dk0ZgQQgghkjRt2jSaNWvGixcvKF++POfPn89SSRBIIiSEEEKIZDg4OAAwcOBAzpw5Q7FixYwbUBqQR2NCCCFEOvH39ycoKMjYYbxTZGQk1tbWANSuXZtVq1ZRuXJlrl+/rt3H0dGRAgUKGCtEg5JESAghhEgH/v7+FC9RnKjIKGOH8sGsrK24dfNWlkiGJBESQggh0kFQUJAmCWoLOBo7mv8IAw4Dgf9s1wOSewoWBFG7oggKCpJESAghhBB6cgTyGzuIt9wEdgNRgCXwKZA1RsaniCRCQgghRHYUBxwC/vpn2xVoD+QyWkRGIYmQEEIIkR39wb9JUHWgIdkyK8iGVRZCCCEEtYB7QCOguJFjMSKZR0gIIYTIDmKBK29t2wKDyNZJEEiLkBBCCJH1vQR2AAH/bJf9519pDpFESAghhMjSrgC/AjGADWBt3HAyGkmEhBBCiKwoFtgPXPhn2x1oB9gZLaIMSRIhIYQQIqt5geZRWMIEiXWAuoCp0SLKsCQREkIIIbKa12iSoBxoZrIubNxwMjJJhIQQQoisphjQ6p9/cxo5lgxO+osLIYQQmV0gsBYIfqusMpIEpYAkQkIIIURmpaDpDL0K8AcOGDeczEgejQkhhBCZUTTwG/9OklgYaGm8cDIrSYSEEEKIzCYAzaiwl4AKaADURJ7zpIIkQkIIIURm8hD4AYhH0weoPZo5gkSqSCIkhBBCZCb5AUc0EyO2QTNEXqSaJEJCCCFERvcCyIPm0Zc50APNUhnyKOyDyVsohBBCZFQK8BewAjj+VnkO5De4gUiLkBBCCJERRQJ7gBv/bD8H1EgCZGCSCAkhhBAZzWNgJ5oJEk2AJkA1NCPEhEFJIiSEEEJkFApwBjiEpvXHAegAuBoxpixO70QoOjqav/76i4cPHxIREYGTkxMVK1akUKFCaRGfEEIIkX28Bg6jSYJKAq3RdIoWaSbFidCff/7J4sWL+fXXX4mNjcXe3h5ra2tevXpFdHQ0Hh4e9O/fn4EDB5IzpyxuIoQQQugtN9ACiAM+Rh6FpYMUdblq3bo1nTp1omDBghw8eJCwsDBevnzJ48ePiYiI4M6dO0yZMoXDhw9TrFgxDh06lNZxCyGEEJmfGvgTePRWWSWgKpIEpZMUtQh98skn/PTTT5ibmyf5uoeHBx4eHvTs2ZPr16/z7NkzgwYphBBCZDnhwM/AXcAeGAxYGjWibClFidCAAQNSfMJSpUpRqlSpVAckhBBCZHkPgJ+AMDS/iesAFsYMKPtK9aixmJgYAgMDUavVOuUFChT44KCEEEKILOsCcB7NCLE8aEaFuRg1omxN70Tozp07fPHFF5w6dUqnXFEUVCoV8fHxBgtOCCGEyCoiIiI03/z9T0E54BPkcZiR6Z0I9erVCzMzM3777Tfy5cuHSiW9uYQQQoj3sbb+Zxy8KdASqGjMaEQCvRMhX19fzp8/T4kSJdIiHiGEECLLiI+PJyYmBmtr638bDtoCpY0alniL3iuWlCpViqCgoLSIRQghhMgynj17RqNGjejXrx+Kovz7Qi7jxSQS07tF6JtvvmHcuHHMmjWLsmXLJhpSb2dnZ7DghBBCiMzo4MGDfP7557x48YIcOXJw//59Y4ckkqF3ItSoUSMAGjZsqFMunaWFEEJkd3FxcXh5eTF79mwURaFcuXJs27aNwoULc+HCBWOHJ5KgdyJ09OjRtIhDCCGEyNQeP35M165dOXHiBKCZg2/hwoX/dpIWGZLeiVDdunXTIg4hhBAi01Kr1TRv3pyrV6+SM2dOVq9eTadOnYwdlkiBVE2oGBwczJo1a7hx4wYApUuX5osvvsDe3t6gwQkhhBCZgYmJCYsWLWLChAls2bKFIkWKGDskkUJ6jxr7+++/KVy4MAsXLuTVq1e8evUKb29vef4phBAiW/H39+fgwYPa7YYNG/LXX39JEpTJ6N0iNGrUKFq3bs3q1asxM9McHhcXR9++fRk5ciTHjx83eJBCCCFERrJnzx569epFXFwcFy5c0CY/JiZ6ty8II0tVi9D48eO1SRCAmZkZ48aN4++//37HkUIIIUTmFhMTw6hRo/j00095/fo1JUqU0Pl9KDIfvRMhOzs7/P39E5U/evSInDlz6h3AsmXLKFiwIFZWVlSrVo2zZ8++c/9FixZRvHhxrK2tcXNzY9SoUURFRel9XSGEEEIffn5+1KpVi0WLFgGaJyQnT56kYMGCRo1LfBi9E6FOnTrRp08ftm3bxqNHj3j06BFbt26lb9++dOnSRa9zbdu2DU9PT7y8vLhw4QLly5enadOmBAYGJrn/5s2bmTBhAl5eXty4cYM1a9awbds2Jk2apG81hBBCiBTbtWsXFStW5Ny5c+TKlYtffvkFb29vLCwsjB2a+EB6t+fNnz8flUpFjx49iIuLA8Dc3JxBgwYxZ84cvc7l7e1Nv3796N27NwArVqxg7969rF27lgkTJiTa/9SpU9SsWZOuXbsCULBgQbp06cJff/2lbzWEEEKIFDtz5gwhISFUr16drVu3UqBAAWOHJAxE70TIwsKCxYsXM3v2bO7duwdA4cKFsbGx0es8MTExnD9/nokTJ2rLTExMaNSoEadPn07ymBo1avDjjz9y9uxZqlatyv3799m3bx/du3dP9jrR0dFER0drt0NDQwGIjY0lNjZWr5iFYSW8/3IfMga5HxlHdr8Xjx8/5uXLl8YOA0VRtGuEtW/fHlNTU9q3b09gYGCyTy7elidPHj766CPttlqt1kyuaEYqnsdkIGaAtaY+6fkZTatrqRSdleDSz9OnT3F1deXUqVNUr15dWz5u3DiOHTuWbCvPt99+y5gxY1AUhbi4OAYOHMjy5cuTvc60adOYPn16ovLNmzfrnbwJIYTIHk6cOMHRo0eZNGmSdIbOICIiIujatSshISEGXdc0RXe3bdu2rF+/Hjs7O9q2bfvOfXft2mWQwJLi4+PDrFmz+O6776hWrRp3795lxIgRfPXVV3z55ZdJHjNx4kQ8PT2126Ghobi5uVG/fn3y5MmTZrGK94uNjeXQoUM0btw40eK9Iv3J/cg4svO9uHTpEnXq1IHWgBF+RCtxCrEnY4m/rlk3s8eSHmwetZkvDn9BZHxkyk/0EtgDx48fp3z58sBbdesNuBg+9nQTAKzTrVt6SKtWwhQlQvb29qhUKkAzaizh+w/h6OiIqakpz58/1yl//vw5Li5Jf0K+/PJLunfvTt++fQEoW7Ys4eHh9O/fn8mTJyc5f4OlpSWWlpaJys3NzbPdD5iMSu5FxiL3I+PIjvfCxMSEyMhIsAec0/niQcAvQMKvpdqgrqcGINIpkki1HolQHBCpqU/CPdTWLQ5QGzDu9JZE3dJDWl0rRYnQunXrtN+vX7/eIBe2sLCgcuXKHD58mDZt2gCa542HDx9m6NChSR4TERGRKNkxNTUFwEhP+IQQQmQFl4DfgFggB9AWKAwqkw//w19kbHp312rQoAHBwcGJykNDQ2nQoIFe5/L09GT16tVs2LCBGzduMGjQIMLDw7WjyHr06KHTmbpVq1YsX76crVu34ufnx6FDh/jyyy9p1aqVNiESQggh9HIc+BlNElQQGAgUNmZAIj3p3QPMx8eHmJiYROVRUVGcOHFCr3N16tSJFy9eMHXqVAICAqhQoQIHDhwgb968gGYdl7dbgKZMmYJKpWLKlCk8efIEJycnWrVqxddff61vNYQQQgiNUsCfQHWgDpl7RJfQW4oTocuXL2u/v379OgEBAdrt+Ph4Dhw4gKurq94BDB06NNlHYT4+PjrbZmZmeHl54eXlpfd1hBBCCAAUNP2AErqjOgIjABlInC2lOBGqUKECKpUKlUqV5CMwa2trlixZYtDghBBCCIOKBvYCV4CeaB6FgSRB2ViKEyE/Pz8URcHDw4OzZ8/i5OSkfc3CwgJnZ2fppyOEECLjCgB2oBnargIC+TcREtlWihMhd3d3QDOySwghhMg0FOA8sB+IB3IC7QF3YwYlMopUT5d5/fp1/P39E3Wcbt269QcHJYQQQhhEFJph8Vf/2S4CfIZmiLwQpCIRun//Pp999hlXrlxBpVJp5+9JmGQxPj7esBEKIYQQqXULTRKkAhqhGRkmo8LEW/T+OIwYMYJChQoRGBiIjY0N165d4/jx41SpUiXRKC8hhBDCqMoB/wO+AGoiSZBIRO8WodOnT3PkyBEcHR0xMTHBxMSEWrVqMXv2bIYPH87FixfTIk4hhBDi/SKBI0ADwBpNS1Azo0YkMji9c+P4+Hhy5swJaNYLe/r0KaDpTH3r1i3DRieEEEKk1BNgJXAOTb8gIVJA7xahMmXKcOnSJQoVKkS1atWYO3cuFhYWrFq1Cg8Pj7SIUQghhEieApwBDqFZzNQBqGHMgERmonciNGXKFMLDwwGYMWMGLVu2pHbt2uTJk4dt27YZPEAhhBAiWRFoVoxPeCBREmiN5rGYECmgdyLUtGlT7fdFihTh5s2bvHr1ily5cmlHjgkhhBBp7jmwGQgBTIGmwMdo+gUJkUKpnkfobblz5zbEaYQQQoiUy4nmsVguoAOQ37jhiMxJ70QoPDycOXPmcPjwYQIDAxPNNH3//n2DBSeEEELoiAYs0LT62ACfA3aAlTGDEpmZ3olQ3759OXbsGN27dydfvnzyOEwIIUT6eAjsRDM0vuI/Zc7GC0dkDXonQvv372fv3r3UrFkzLeIRQgghdKmBk8BRNI/C/gLKI5MjCoPQOxHKlSuX9AkSQgiRPt4Au4CEXhflgE+QJEgYjN4fpa+++oqpU6cSERGRFvEIIYQQGn7ACjRJkBmaYfGfAZbGDEpkNXq3CC1YsIB79+6RN29eChYsiLm5uc7rFy5cMFhwQgghsqkwYBuax2JOaEaFSX8gkQb0ToTatGmTBmEIIYQQb8kJ1AJCgRZoRooJkQb0ToS8vLzSIg4hhBDZ3B9//KFduQCA+sjkiCLNGWRCRSGEECK14uLimDZtGrNmzaJ48eL/viBJkEgHKUqEcufOze3bt3F0dHzvUhqvXr0yWHBCCCGytidPntClSxdOnDgBQOnSpbl586aRoxLZSYoSoYULF5IzZ07t9zKJohBCiA+1f/9+evToQVBQEDlz5mTVqlUUK1aMn376ydihiWwkRYlQz549td/36tUrrWIRQgiRDcTGxjJlyhTmzp0LQMWKFdm2bRtFixaVkcci3ek9j9C+ffv4/fffE5UfPHiQ/fv3GyQoIYQQWZeiKBw9ehSAIUOGcOrUKYoWLWrkqER2pXciNGHCBOLj4xOVq9VqJkyYYJCghBBCZD2KogBgYWHBtm3b2LlzJ0uXLsXKSlZMFcaj96ixO3fuUKpUqUTlJUqU4O7duwYJSgghRNYRExPDhAkTsLKyYtasWQAUKlSIQoUKGTkyIVKRCNnb23P//n0KFiyoU3737l1y5MhhqLiEEEJkAX5+fnTu3JmzZ8+iUqno0aMHJUqUMHZYQmjp/Wjs008/ZeTIkdy7d09bdvfuXUaPHk3r1q0NGpwQQojMa9euXVSsWJGzZ8/i4ODAzz//LEmQyHD0ToTmzp1Ljhw5KFGihLZps2TJkuTJk4f58+enRYxCCCEykejoaIYNG0a7du0ICQnhf//7H76+vnz66afGDk2IRFL1aOzUqVMcOnSIS5cuYW1tTbly5ahTp05axCeEECITURSFJk2acPz4cQDGjRvHzJkzEy3QLURGkaolNlQqFU2aNKFJkyaGjkcIIUQmplKp6Nu3L9euXeOHH36gRYsWxg5JiHfSOxGaMWPGO1+fOnVqqoMRQgiR+URGRvLgwQNKliwJQPfu3fnkk0/InTu3kSMT4v30ToR+/vlnne3Y2Fj8/PwwMzOjcOHCkggJIUQ2cuvWLTp27EhQUBC+vr44OTkBSBIkMg29E6GLFy8mKgsNDaVXr1589tlnBglKCCHEu/n7+xMUFGTUGPbt28esWbOIjIwkV65c7N+/nzJlyuh1DkdHRwoUKJBGEQrxfqnqI/RfdnZ2TJ8+nVatWtG9e3dDnFIIIUQy/P39KV6iOFGRUcYORev169c661KmlJW1Fbdu3pJkSBiNQRIhgJCQEEJCQgx1OiGEEMkICgrSJEFtAcd0vvhr4I9//gWo9M+X3pOxAEEQtSuKoKAgSYSE0eidCH377bc624qi8OzZMzZu3Ejz5s0NFpgQQoj3cATyp/M1/0KTBNmiScQ80vn6QhiY3onQwoULdbZNTExwcnKiZ8+eTJw40WCBCSGEyICao2n9aYgmGRIik9M7EfLz80uLOIQQQmREz4FLQGNABVgBMkG0yEIM1kdICCFEFqIAF4D9QByQB6hs1IiESBMpSoTatm2b4hPu2rUr1cEIIYTIAKKA34Cr/2wXAWStVJFFpSgRsre3T+s4hBBCZATPgB3AKzSPwhoCNUjdqDAhMoEUJULr1q1L6ziEEEIY2yVgDxAP2AHtARnVLrI46SMkhBBCwwFQA8WANoCNMYMRIn2kKBGqWLEiKpUqRSe8cOHCBwUkhBAiHUWhGQkG4A70RTM3Ucp+5AuR6aUoEWrTpk0ahyGEECJdKWgmR/QBvgCc/yl3NVZAQhhHihIhLy+vtI5DCCFEeokAfgFu/bPtCzQxWjRCGJX0ERJCiOzkEbATCAFM0SRAVY0akRBGpXciFB8fz8KFC9m+fTv+/v7ExMTovP7q1SuDBSeEEMJA1MBp4PA/3+cCOpD+a5UJkcHoPTPE9OnT8fb2plOnToSEhODp6Unbtm0xMTFh2rRpaRCiEEKID3YZOIQmCSoNDECSICFIRSK0adMmVq9ezejRozEzM6NLly58//33TJ06lTNnzqRFjEIIIT5UWaAw8Ama+YGs3r27ENmF3olQQEAAZcuWBcDW1paQkBAAWrZsyd69ew0bnRBCiNRRA+fRrBMGmv5AnwMfI0PjhXiL3onQRx99xLNnzwAoXLgwBw8eBODcuXNYWloaNjohhBD6ewNsAn5F8zgsgSRAQiSidyL02WefcfjwYQCGDRvGl19+SdGiRenRowdffPGFwQMUQgihBz9gBXAPzXCYvMYNR4iMTu9RY3PmzNF+36lTJwoUKMDp06cpWrQorVq1MmhwQgghUkgNHAeOoZks0RHoyL8TJQohkvTB8whVr16d6tWrGyIWIYQQqREG7ELTGgRQAWgBWBgrICEyj1QlQnfu3OHo0aMEBgaiVqt1Xps6dapBAhNCCJFCscBTwBxoCZQ3bjhCZCZ6J0KrV69m0KBBODo64uLiorMYq0qlkkRICCHSW240kyPaA05GjkWITEbvRGjmzJl8/fXXjB8/Pi3iEUII8R6BgYGabx7z76SIRYwVjRCZm96jxl6/fk2HDh3SIhYhhBDvceDAAbp06aLZOAnEGzUcITI9vROhDh06aOcOEkIIkT5iY2OZMGECzZs3Jzg4WFPYDM1EiUKIVEvRo7Fvv/1W+32RIkX48ssvOXPmDGXLlsXc3Fxn3+HDhxs2QiGEyOYePXpE586dOXXqFKD5g3THjh3gYNy4hMgKUpQILVy4UGfb1taWY8eOcezYMZ1ylUqldyK0bNky5s2bR0BAAOXLl2fJkiVUrVo12f2Dg4OZPHkyu3bt4tWrV7i7u7No0SJatGih13WFECIzePLkCRUqVODVq1fY2dmxZs0aPDw8NImQEOKDpSgR8vPze/9OqbBt2zY8PT1ZsWIF1apVY9GiRTRt2pRbt27h7Jx4FrCYmBgaN26Ms7MzO3fuxNXVlYcPH+Lg4JAm8QkhhLG5urrSqlUrrl27xrZt2/Dw8ODChQvGDkuILOODJ1T8EN7e3vTr14/evXsDsGLFCvbu3cvatWuZMGFCov3Xrl3Lq1evOHXqlPaRXMGCBdMzZCGESHMPHjwgNDRUu/3dd99hamoq6zkKkQaMlgjFxMRw/vx5Jk6cqC0zMTGhUaNGnD59Oslj9uzZQ/Xq1RkyZAi//PILTk5OdO3alfHjx2NqmnSPwejoaKKjo7XbCT9cYmNjiY2NNWCNhL4S3n+5DxmD3I+MYffu3fTr148iRYrw2WefAWj/8Eu4N2q1Gmtra81PcL2HvGQgZoC1pj4ZtW7WJtY6/6ZYJqhbqiVRt/SQVtdSKYqipMmZ3+Pp06e4urpy6tQpnSU6xo0bx7Fjx/jrr78SHVOiRAkePHhAt27dGDx4MHfv3mXw4MEMHz4cLy+vJK8zbdo0pk+fnqh88+bN2NjYGK5CQgjxAWJjY1m/fj179+4FoFixYkydOhVbW1sjRyZExhAREUHXrl0JCQnBzs7OYOc16qMxfanVapydnVm1ahWmpqZUrlyZJ0+eMG/evGQToYkTJ+Lp6andDg0Nxc3Njfr165MnT570Cl0kITY2lkOHDtG4ceNEow9F+pP7YTz37t2jW7du2r4/I0aMoHbt2jRv3jzJe3Hp0iXq1KkDvQGXdA7WkAKAdXD8+HHKl9esC5LR6mZtYs3aMmv54uoXRKojU35gJqhbqiVRt/Tw8uXLNDlvihKhtm3bsn79euzs7Pjhhx/o1KnTBz+rdnR0xNTUlOfPn+uUP3/+HBeXpD8h+fLlw9zcXOcxWMmSJQkICCAmJgYLi8QrDFpaWiYZq7m5ufywzyDkXmQscj/S1/bt2+nbty9hYWHkyZOHDRs20KRJE/bt25fsvTAxMSEyMhLi0Kw6n1nFAZGa+iTUM6PWLVIdqV8ilInqprck6pYe0upaKXpK+dtvvxEeHg5A7969CQkJ+eALW1hYULlyZQ4fPqwtU6vVHD58ONnV7GvWrMndu3d1Fnq9ffs2+fLlSzIJEkKIjCwqKoqJEycSFhZGzZo18fX15ZNPPjF2WEJkKylqESpRogQTJ06kfv36KIrC9u3bk30+16NHjxRf3NPTk549e1KlShWqVq3KokWLCA8P144i69GjB66ursyePRuAQYMGsXTpUkaMGMGwYcO4c+cOs2bNkkkchRCZkpWVFdu2bePnn39m+vTpmJllqt4KQmQJKfpft2LFCjw9Pdm7dy8qlYopU6borDqfQKVS6ZUIderUiRcvXjB16lQCAgKoUKECBw4cIG/evAD4+/tjYvJvo5Wbmxu///47o0aNoly5cri6ujJixAhZAFYIkWls3ryZiIgI+vbtC0CVKlWoUqWKkaMSIvtKUSJUo0YNzpw5A2ieCd6+fTvJCQ9TY+jQoQwdOjTJ13x8fBKVVa9eXRuLEEJkFhEREYwYMYLvv/8eCwsLatasScmSJY0dlhDZnt7tsH5+fjg5OaVFLEIIkSXduHGDjh07cvXqVVQqFRMnTqRYsWLGDksIQSoSIXd3d4KDg1mzZg03btwAoFSpUvTp0wd7e3uDByiEEJnZhg0bGDx4MBEREeTNm5fNmzfToEEDY4clhPiH3nNb/v333xQuXJiFCxfy6tUrXr16xcKFCylcuLCsfyOEEP9QFIW+ffvSq1cvIiIiaNSoEZcuXZIkSIgMRu8WoVGjRtG6dWtWr16tHeEQFxdH3759GTlyJMePHzd4kEIIkdmoVCo8PDwwMTFh+vTpTJw4MdmlgIQQxqN3IvT333/rJEEAZmZmjBs3TkY+CCGyNUVRCAkJwcHBAYAJEybQrFkzKlWqZNzAhBDJ0vvRmJ2dHf7+/onKHz16RM6cOQ0SlBBCZDZhYWF069aN2rVrExERAWhG2UoSJETGpnci1KlTJ/r06cO2bdt49OgRjx49YuvWrfTt25cuXbqkRYxCCJGh+fr6UrlyZbZs2cKNGzeki4AQmYjej8bmz5+vnTgxLi4O0Kz/MWjQIObMmWPwAIUQIqNSFIUVK1YwatQooqOjcXNzY+vWrdSoUcPYoQkhUkjvRMjCwoLFixcze/Zs7t27B0DhwoWxsbExeHBCCJFRhYSE0K9fP3bs2AFAq1atWLduHXny5DFyZEIIfaR6YRsbGxvKli1ryFiEEMKg/P39CQoKSpNzf/nll+zbtw9TU1OGDx9Ot27dePjwIQ8fPvzgcycsLH3p0iVMTExwdHSkQIECH3xeIURissKfECJL8vf3p3iJ4kRFRqXpdeLj41m4cCELFy402Dmtra3ZsmULderUITIyEitrK27dvCXJkBBpQBIhIUSWFBQUpEmC2gKOBjhhNPAQeHtlDAVIvP70h0v4ydwbCICoXVEEBQVJIiREGpBESAiRtTkC+T/wHI+B3UAI4AKU+MDzvU/CeF4XIC6NryVENieJkBBCJEcBTgN/AGogF2Bn1IiEEAam9zxCABs3bqRmzZrkz59f2zFw0aJF/PLLLwYNTgghjCYC2AIcRJMElQYG8OGtS0KIDEXvRGj58uV4enrSokULgoODiY+PB8DBwYFFixYZOj4hhEh//sAK4DZgCnwCtAesjBmUECIt6J0ILVmyhNWrVzN58mSdBQSrVKnClStXDBqcEEIYRRgQCuQG+gIfkzadooUQRqd3HyE/Pz8qVqyYqNzS0pLw8HCDBCWEEOnu7RFgpYFYoCRgabSIhBDpQO8WoUKFCuHr65uo/MCBA5QsWdIQMQkhRPp6AKxE0xKUoAKSBAmRDejdIuTp6cmQIUOIiopCURTOnj3Lli1bmD17Nt9//31axCiEEGlDDZwAfNC0CB0FWhszICFEetM7Eerbty/W1tZMmTKFiIgIunbtSv78+Vm8eDGdO3dOixiFEMLwwoBdgN8/2xWAZkaLRghhJKmaR6hbt25069aNiIgI3rx5g7Ozs6HjEkKItHMf+AkIB8zRjAqrYMyAhBDGoncfoQYNGhAcHAxoFl5NSIJCQ0Np0KCBQYMTQgiDuwH8gCYJcgb6I0mQENmY3i1CPj4+xMTEJCqPiorixIkTBglKCCHSjAeaZTcKAM3RtAgJIbKtFCdCly9f1n5//fp1AgICtNvx8fEcOHAAV1dXw0YnhBCG8ATIh6YN3BLN3EAyOaIQAj0SoQoVKqBSqVCpVEk+ArO2tmbJkiUGDU4IIT7YWcAXaAzU/KdMkiAhxD9SnAj5+fmhKAoeHh6cPXsWJycn7WsWFhY4OzvrzDQthBDGpG219v2nINRYkQghMrIUJ0Lu7u4AqNXqNAtGCCEMYe/evXTr1k2zYQ60QTNbtBBC/Eeqhs+Dpp+Qv79/oo7TrVvLbGRCCOOIiYlh0qRJLFiw4N/CdkAJo4UkhMjg9E6E7t+/z2effcaVK1dQqVQoigKASqVZpCdhNXohhEhvN27c4NtvvwWgS5cubNmyBeyMHJQQIkPTex6hESNGUKhQIQIDA7GxseHatWscP36cKlWq4OPjkwYhCiFEypQvX56lS5fy888/M2bMGGOHI4TIBPROhE6fPs2MGTNwdHTExMQEExMTatWqxezZsxk+fHhaxCiEEEmKjo5m9OjROgtB9+/fnzZt2hgtJiFE5qJ3IhQfH0/OnDkBcHR05OnTp4CmM/WtW7cMG50QQiTj3r171KxZE29vbzp16kRsbKyxQxJCZEJ69xEqU6YMly5dolChQlSrVo25c+diYWHBqlWr8PDwSIsYhRBCx44dO+jbty+hoaHkzp0bb29vzM1limghhP70ToSmTJlCeHg4ADNmzKBly5bUrl2bPHnysG3bNoMHKIQQCaKiovD09GT58uUA1KxZky1btuDm5mbkyIQQmZXeiVDTpk213xcpUoSbN2/y6tUrcuXKpR05JoQQhvbixQuaNGmi7Q80ceJEZsyYgZlZqmcBEUII/foIxcbGYmZmxtWrV3XKc+fOLUmQECJN5c6dG0dHR5ycnDhw4ACzZs2SJEgI8cH0+ilibm5OgQIFZK4gIUS6iIiIQKVSYW1tjampKZs2bSIuLo78+fMbOzQhRBah96ixyZMnM2nSJF69epUW8QghBKCZHLFatWqMHDlSW+bs7CxJkBDCoPRuV166dCl3794lf/78uLu7kyNHDp3XL1y4YLDghBDZ04YNGxg8eDARERG8ePGCmTNn6iz0LIQQhqJ3IiQTlQkh0kp4eDhDhgxhw4YNADRs2JAff/xRkiAhRJrROxHy8vJKiziEENnc1atX6dixIzdu3MDExITp06czceJETE1NjR2aECILkyEXQgiji4mJoXnz5jx+/Jj8+fOzefNm6tata+ywhBDZgN6dpYUQwtAsLCxYsWIFzZs3x9fXV5IgIUS6kURICGEUly5d4tChQ9rtTz75hL1790p/ICFEupJESAiRrhRFYcWKFVSrVo1OnTrh7++vfU0mZhVCpDfpIySESDchISH079+f7du3A9C4ceNEU3AIIUR60jsRio+PZ/369Rw+fJjAwEDUarXO60eOHDFYcEKIrOP8+fN07NiR+/fvY2ZmxjfffMOoUaOkFUgIYVR6J0IjRoxg/fr1fPLJJ5QpU0Z+iAkh3mvJkiWMGTOGmJgY3N3d2bZtG9WqVTN2WEIIoX8itHXrVrZv306LFi3SIh4hRBZ07do1YmJiaNOmDWvXriVXrlzGDkkIIYBUJEIWFhYUKVIkLWIRQmQhiqJoW4wXLlxIjRo16N69u7QiCyEyFL1HjY0ePZrFixejKEpaxCOEyOQURcHb25sWLVoQHx8PgLW1NT169JAkSAiR4ejdInTy5EmOHj3K/v37KV26NObm5jqv79q1y2DBCSEyl5cvX9KrVy9+++03QPPzoEOHDkaOSgghkqd3IuTg4MBnn32WFrEIITKxU6dO0blzZx49eoSlpSWLFi2iffv2xg5LCCHeSe9EaN26dWkRhxAik1Kr1cybN4/JkycTHx9P0aJF2b59OxUqVDB2aEII8V6pnlDxxYsX3Lp1C4DixYvLtPhCZFPDhw9n2bJlAHTt2pUVK1aQM2dOI0clhBApo3dn6fDwcL744gvy5ctHnTp1qFOnDvnz56dPnz5ERESkRYxCiAysf//+5M6dm++//54ff/xRkiAhRKaid4uQp6cnx44d49dff6VmzZqApgP18OHDGT16NMuXLzd4kEKItOPv709QUJB2lvhLly5hYpL830jx8fFcv36dsmXLast2795Njhw5uHjxYprHmxxHR0cKFChgtOsLITInvROhn376iZ07d1KvXj1tWYsWLbC2tqZjx46SCAmRifj7+1O8RHGiIqOwtrZmy5Yt1KlTh8jISGOHpjcraytu3bwlyZAQQi96J0IRERHkzZs3Ubmzs7M8GhMikwkKCiIqMgraAi7/FPYG4pLY+QlwBIhE85OjHuCRHlGmQBBE7YoiKChIEiEhhF70ToSqV6+Ol5cXP/zwA1ZWVgBERkYyffp0qlevbvAAhRDpwJF/EyEX4O21lNXAsX++AJyBDoCMjxBCZAF6J0KLFy+madOmfPTRR5QvXx7Q9CmwsrLi999/N3iAQggjCgV2AQ/+2a4ENAMsjBWQEEIYlt6JUJkyZbhz5w6bNm3i5s2bAHTp0oVu3bphbW1t8ACFEEZ0A00SZAG0BMoZNRohhDC4VM0jZGNjQ79+/QwWxLJly5g3bx4BAQGUL1+eJUuWULVq1fcet3XrVrp06cKnn37K7t27DRaPEOIfVYEQNC1BjkaORQgh0kCKEqE9e/bQvHlzzM3N2bNnzzv3bd26tV4BbNu2DU9PT1asWEG1atVYtGgRTZs25datWzg7Oyd73IMHDxgzZgy1a9fW63pCiOQFBQURsysGmgOWgApoYuSghBAiDaUoEWrTpg0BAQE4OzvTpk2bZPdTqVTa1aZTytvbm379+tG7d28AVqxYwd69e1m7di0TJkxI8pj4+Hi6devG9OnTOXHiBMHBwXpdUwiRWPyteEbNG0V8WLxmqlX9/qYRQohMKUWJUMJEa//9/kPFxMRw/vx5Jk6cqC0zMTGhUaNGnD59OtnjZsyYgbOzM3369OHEiRPvvEZ0dDTR0dHa7dDQUABiY2OJjY39wBqID5Hw/st9MB61Wo2VlRVxZ+OI8Y0hhhhM85tiVsfsnZMqZjhmgLWmPgmfJ7Varem3aEYq5tA3LmsT63//zWJ105EJ6qZzL/SRCeqWaknULT2k1bVUiqIo+hzwww8/0KlTJywtLXXKY2Ji2Lp1Kz169EjxuZ4+fYqrqyunTp3SGXo/btw4jh07xl9//ZXomJMnT9K5c2d8fX1xdHSkV69eBAcHJ9tHaNq0aUyfPj1R+ebNm7GxsUlxrEJkRYGBgSxYsEC7bmDLli3p2bMn5ubmRo5MCCF0RURE0LVrV0JCQrCzszPYefXuLN27d2+aNWuWqP9OWFgYvXv31isR0ldYWBjdu3dn9erVODqmrOfmxIkT8fT01G6Hhobi5uZG/fr1yZMnT1qFKlIgNjaWQ4cO0bhxY/nFawQnT56ke/fuhIWFgSXYtrOlb8e+fHH1CyLVmWxm6QBgHRw/flxnWo86depoJoh0eefRGY61iTVry6zV3IunkVmqbjoywX3TuRf6/L/IBHVLtSTqlh5evnyZJufVOxFSFAWVSpWo/PHjx9jb2+t1LkdHR0xNTXn+/LlO+fPnz3FxSfwpuXfvHg8ePKBVq1basoRHdWZmZty6dYvChQvrHGNpaZmo9QrA3NxcfvlmEHIvjKNkyZJYWPwzIVBbiC+h6d8XqY7MfIlQHBCpebSe8FkyMTHRLBUSh+4EkZlIpDqSyLjILFk3IFPdN73/X2Siuuktibqlh7S6VooToYoVK6JSqVCpVDRs2BAzs38PjY+Px8/Pj2bNmul1cQsLCypXrszhw4e1nbDVajWHDx9m6NChifYvUaIEV65c0SmbMmUKYWFhLF68GDc3N72uL0R28/LlS21LqIuLCytXrqR9+/YgC8YLIbKpFCdCCYmKr68vTZs2xdbWVvuahYUFBQsWpF27dnoH4OnpSc+ePalSpQpVq1Zl0aJFhIeHa0eR9ejRA1dXV2bPno2VlRVlypTROd7BwQEgUbkQQtfOnTvp06cPq1atolOnTgAUKlTIyFEJIYRxpTgR8vLyAqBgwYJ07tw5ycdNqdGpUydevHjB1KlTCQgIoEKFChw4cEC7sKu/v3/mGr0iRAYTFRXF6NGj+e677wDYsGEDHTt2TPIRtxBCZDd69xEqVaoUvr6+VKtWTaf8r7/+wtTUlCpVqugdxNChQ5N8FAbg4+PzzmPXr1+v9/WEyC7u3LlDx44d8fX1BWDChAnMmDFDkiAhhPiH3k0tQ4YM4dGjR4nKnzx5wpAhQwwSlBDiw23ZsoVKlSppp5rYv38/s2fPlo7pQgjxFr1bhK5fv06lSpUSlVesWJHr168bJCghxIe5fPkyXbt2BaBOnTps3rwZV1dXI0clhBAZj96JkKWlJc+fP8fDw0On/NmzZzojyYQQxlOuXDnGjBmDtbU1U6dOlf+bQgiRDL0fjTVp0oSJEycSEhKiLQsODmbSpEk0btzYoMEJIVJu06ZN+Pv7a7fnzp3LjBkzJAkSQoh30Psn5Pz586lTpw7u7u5UrFgR0Aypz5s3Lxs3bjR4gEKIdwsPD2fYsGGsW7eOGjVq4OPjg7m5uXSIFkKIFNA7EXJ1deXy5cts2rSJS5cuYW1tTe/evenSpYt0whQinV27do2OHTty/fp1TExMaNq0qUw3IYQQekhVm3mOHDno37+/oWMRQqSQoiisW7eOoUOHEhkZSb58+di8eTP16tUzdmhCCJGppOpPx40bN1KrVi3y58/Pw4cPAVi4cCG//PKLQYMTQiQWHh5Ojx496NOnD5GRkTRt2hRfX19JgoQQIhX0ToSWL1+Op6cnzZs35/Xr18THaxZqzJUrF4sWLTJ0fEKI/zAxMeHy5cuYmpoye/Zs9u3bh7Ozs7HDEkKITEnvRGjJkiWsXr2ayZMn64xGqVKlSqIFUYUQhqEoCmq1Zrlqa2trtm/fjo+PDxMmTJA+QUII8QH0/gnq5+enHS32NktLS8LDww0SlBDiXyEhIXTu3JlZs2Zpy4oXL06tWrWMGJUQQmQNeidChQoV0q5b9LYDBw5QsmRJQ8QkhPjH+fPnqVy5Mtu3b+frr7/m2bNnxg5JCCGyFL1HjXl6ejJkyBCioqJQFIWzZ8+yZcsWZs+ezffff58WMQqR7SiKwtKlSxkzZgwxMTG4u7uzdetW8uXLZ+zQhBAiS9E7Eerbty/W1tZMmTKFiIgIunbtSv78+Vm8eDGdO3dOixiFyFaCg4Pp06cPu3btAqBNmzasXbuWXLlyGTkyIYTIelI1j1C3bt3o1q0bERERvHnzRkasCGEgcXFx1KhRgxs3bmBubs78+fMZNmyYzBIthBBpRO8+Qg0aNCA4OBgAGxsbbRIUGhpKgwYNDBqcENmNmZkZI0aMwMPDg1OnTjF8+HBJgoQQIg3pnQj5+PgQExOTqDwqKooTJ04YJCghspNXr15x7do17Xb//v25fPkyVapUMWJUQgiRPaT40djly5e131+/fp2AgADtdnx8PAcOHMDV1dWw0QmRxZ06dYrOnTtjamrKxYsXcXBwQKVSkSNHDmOHJoQQ2UKKE6EKFSqgUqlQqVRJPgKztrZmyZIlBg1OiKxKrVYzb948Jk+eTHx8PEWLFiUwMBAHBwdjhyaEENlKihMhPz8/FEXBw8ODs2fP4uTkpH3NwsICZ2dnTE1N0yRIIbKSFy9e0LNnT/bv3w9Aly5dWLlyJTlz5jRyZEIIkf2kOBFyd3cH0E7zL4TQ3/Hjx+nSpQtPnz7FysqKJUuW0KdPH+kQLYQQRpLq1edr1qwpq88LoSdvb2+ePn1KiRIlOHv2LH379pUkSAghjCjVq8+3aNGC4OBgWX1eCD2sWbOGUaNGce7cOcqWLWvscIQQItv7oNXn3+4TJKvPC5HYkSNHGD16NIqiAJAnTx68vb2xtbU1cmRCCCEgFTNLy+rzQrxffHw8M2bM4KuvvkJRFKpVq0bHjh2NHZYQQoj/0DsRSlh9PqHzdAJZfV4IjadPn9KtWzd8fHwA6NOnDy1btjRuUEIIIZIkq88LYUAHDx7k888/58WLF+TIkYOVK1fSrVs3Y4clhBAiGbL6vBAGMm/ePMaPH4+iKJQvX57t27dTrFgxY4clhBDiHWT1eSEMJKHv3KBBg/D29sbKysrIEQkhhHifVCVCQUFBPHjwAJVKRcGCBQ0ckhCZR2BgoPYPgUaNGnHlyhVKly5t5KiEEEKklF7D569du0adOnXImzcv1apVo2rVqjg7O9OgQQNu3bqVVjEKkeHExsYyduxYihUrxr1797TlkgQJIUTmkuIWoYCAAOrWrYuTkxPe3t6UKFECRVG4fv06q1evpnbt2ly9elUek4ks7+HDh3Tq1Im//voLgF9//ZWRI0caNyghhBCpkuJEaOHChbi7u/Pnn3/q9H1o1qwZgwYNolatWixcuJDZs2enSaBCGJO/vz9BQUEcPXqU6dOnExYWhq2tLV5eXtSpU4cLFy4YO8T3cnR0pECBAsYOQwghMpQUJ0KHDh1iwoQJSXYAtba2ZuzYscydO1cSIZHl+Pv7U6x4MaKjonXK37x5w9ixY40Ulf6srK24dfOWJENCCPGWFCdC9+/fp1KlSsm+XqVKFe7fv2+QoITISIKCgnSToLJAVcA0uSMyoCCI2hVFUFCQJEJCCPGWFCdCYWFh2NnZJft6zpw5efPmjUGCEiJDcgNqAcWNHYgQQghD0WvUWFhYGKGhocl+JSwsKURmFxUVhbe3N7Gxsf8WNkeSICGEyGJS3CKkKMo7Z8lVFAWVSmWQoIQwpjt37tCpUycuXrzIixcv6NChg7FDEkIIkUZSnAgdPXo0LeMQIkPYunUr/fr1482bNzg6OlKnTh1jhySEECINpTgRqlu3blrGIYRRRUZGMnLkSFatWgVA7dq12bJlC66urpliaLwQQojUSVEfofDwcL1Oqu/+QhjT7du3qVatGqtWrUKlUjFlyhSOHDmCq6ursUMTQgiRxlKUCBUpUoQ5c+bw7NmzZPdRFIVDhw7RvHlzvv32W4MFKERaU6vV3L9/H2dnZw4ePMhXX32FmVmqluETQgiRyaTop72Pjw+TJk1i2rRplC9fnipVqpA/f36srKx4/fo1169f5/Tp05iZmTFx4kQGDBiQ1nEL8UHUajUmJpq/A0qUKMGuXbsoW7Ys+fLlM3JkQggh0lOKEqHixYvz008/4e/vz44dOzhx4gSnTp0iMjISR0dHKlasyOrVq2nevDmmpplpljmRHV27do0uXbqwdOlSbWfoJk2aGDkqIYQQxqBX+3+BAgUYPXo0o0ePTqt4hEgziqKwdu1ahg0bRmRkJKNHj+bs2bMy7YMQQmRjek2oKERmFRYWRvfu3enbty+RkZE0adKEvXv3ShIkhBDZnCRCIsu7dOkSVapUYdOmTZiamjJr1iz279+Ps7OzsUMTQghhZDI0RmRpN27coFq1akRHR+Pq6srWrVupVauWscMSQgiRQUgiJLK0EiVK0Lp1a8LDw9mwYQOOjo7GDkkIIUQGIomQyHIuXrxIoUKFcHBwQKVSsWHDBiwtLbXD5YUQQogEKUqELl++nOITlitXLtXBCPEhFEVh2bJljB49mlatWrFjxw5UKhXW1tbGDk0IIUQGlaJEqEKFCqhUKhRFSfL1hNdUKhXx8fEGDVCIlAgODqZPnz7s2rULgLi4OKKioiQJEkII8U4pSoT8/PzSOg4hUu3s2bN06tSJBw8eYG5uzrx58xg+fLgMjRdCCPFeKUqE3N3d0zoOIfSmKAqLFi1i/PjxxMbGUqhQIbZt28bHH39s7NCEEEJkEilKhPbs2ZPiE7Zu3TrVwQihj5CQELy9vYmNjaVdu3Z8//33ODg4GDssIYQQmUiKEqE2bdqk6GTSR0ikJwcHB7Zs2cKlS5cYPHiwPAoTQgihtxQlQmq1Oq3jEOK91Go18+fPx8XFhR49egBQq1YtmSBRCCFEqsk8QiJTePHiBT179mT//v3Y2NhQv3593NzcjB2WEEKITC5ViVB4eDjHjh3D39+fmJgYndeGDx9ukMCESHDixAk6d+7M06dPsbKyYtGiRXz00UfGDksIIUQWoHcidPHiRVq0aEFERATh4eHkzp2boKAgbGxscHZ2lkRIGIxarWb27NlMnToVtVpN8eLF2b59u0zaKYQQwmD0XnNg1KhRtGrVitevX2Ntbc2ZM2d4+PAhlStXZv78+WkRo8iG4uPjadGiBVOmTEGtVtO9e3f+/vtvSYKEEEIYlN6JkK+vL6NHj8bExARTU1Oio6Nxc3Nj7ty5TJo0KS1iFNmQqakpVapUwcbGhnXr1vHDDz9ga2tr7LCEEEJkMXonQubm5trFK52dnfH39wfA3t6eR48eGTY6ka3Ex8fz4sUL7fa0adPw9fWlV69exgtKCCFElqZ3IlSxYkXOnTsHQN26dZk6dSqbNm1i5MiRlClTJlVBLFu2jIIFC2JlZUW1atU4e/ZssvuuXr2a2rVrkytXLnLlykWjRo3eub/IHJ49e0bjxo1p3rw50dHRAJiZmVG0aFEjRyaEECIr0zsRmjVrFvny5QPg66+/JleuXAwaNIgXL16wcuVKvQPYtm0bnp6eeHl5ceHCBcqXL0/Tpk0JDAxMcn8fHx+6dOnC0aNHOX36NG5ubjRp0oQnT57ofW2RMRw6dIjy5ctz9OhRbt68yaVLl4wdkhBCiGxC71FjVapU0X7v7OzMgQMHPigAb29v+vXrR+/evQFYsWIFe/fuZe3atUyYMCHR/ps2bdLZ/v777/npp584fPiwdpI9kTnExcXx448/8tNPP6EoCuXKlWP79u0UL17c2KEJIYTIJvROhPz8/IiLi0v0yOLOnTuYm5tTsGDBFJ8rJiaG8+fPM3HiRG2ZiYkJjRo14vTp0yk6R0REBLGxseTOnTvJ16Ojo7WPWgBCQ0MBiI2NJTY2NsWxCsN6/Pgx3bt3588//wSgX79+zJ8/H2tr6wx3X9RqNdbW1pr/LXq3oWYQZoC1pi5vv79v183axBr4999MJYn6Zeb7pnMvsljddGSCuqX6/0UmqFuqJfPzJK2l1bVUiqIo+hxQt25dvvjiC3r27KlT/uOPP/L999/j4+OT4nM9ffoUV1dXTp06RfXq1bXl48aN49ixY/z111/vPcfgwYP5/fffuXbtGlZWVolenzZtGtOnT09UvnnzZmxsbFIcqzCsGTNmcOHCBaytrRkyZIgskyGEEOKdIiIi6Nq1KyEhIdjZ2RnsvKmaULFmzZqJyv/3v/8xdOhQgwSVUnPmzGHr1q34+PgkmQQBTJw4EU9PT+12aGgobm5u1K9fnzx58qRXqOI/SpQoQf/+/enSpQs9evTA3Nzc2CEl69KlS9SpUwd6Ay7GjiaVAoB1cPz4ccqXL68tfrtu1vmtWVtmLV9c/YJIdaTxYk2NJOqXme+btclb9+JpZJaqm45McN907oU+/y8yQd1SLZmfJ2nt5cuXaXJevRMhlUpFWFhYovKQkBC9V553dHTE1NSU58+f65Q/f/4cF5d3f0rmz5/PnDlz+OOPP945yZ6lpSWWlpaJys3NzTP0L9+sxt/fn4MHD9K3b18Aihcvzh9//MG+ffsy/L0wMTEhMjIS4oDMuv5wHBCpqcvb73VSdYtUR2a+RCiJ+mWF+xapjiQyLjJL1g3IVPdN7/8Xmahuekvm50laS6tr6f2Usk6dOsyePVsn6YmPj2f27Nl6P96wsLCgcuXKHD58WFumVqs5fPiwzqOy/5o7dy5fffUVBw4c0Om8LTKmPXv2UKFCBfr378/BgweNHY4QQgihpXeL0DfffEOdOnUoXrw4tWvXBjSLYoaGhnLkyBG9A/D09KRnz55UqVKFqlWrsmjRIsLDw7WjyHr06IGrqyuzZ8/WXn/q1Kls3ryZggULEhAQAICtra3MPJzBxMTEMH78eBYtWgTAxx9/LPMCCSGEyFD0bhEqVaoUly9fpmPHjgQGBhIWFkaPHj24efNmqiZU7NSpE/Pnz2fq1KlUqFABX19fDhw4QN68eQHNI5Vnz55p91++fDkxMTG0b9+efPnyab9knbOMxc/Pj1q1ammToFGjRnHy5EkKFSpk3MCEEEKIt+jdIgSQP39+Zs2aZbAghg4dmmxH6/+OQnvw4IHBrivSxu7du+nVqxchISHkypWL9evX07p1a2OHJYQQQiSSqpkMTpw4weeff06NGjW0Mzpv3LiRkydPGjQ4kTmFhoYSEhJC9erV8fX1lSRICCFEhqV3IvTTTz/RtGlTrK2tuXDhgnaywpCQEIO2EonM5e3O8z169GDbtm0cO3aMAgUKGDEqIYQQ4t30ToRmzpzJihUrWL16tc5Qtpo1a3LhwgWDBicyh61bt1K2bFmCgoK0ZR07dszQQ+KFEEIISEUidOvWLc2EUP9hb29PcHCwIWISmURkZCQDBgygS5cu3LhxA29vb2OHJIQQQuhF70TIxcWFu3fvJio/efIkHh4eBglKZHw3b96kWrVqrFq1CpVKxeTJk5kxY4axwxJCCCH0onci1K9fP0aMGMFff/2FSqXi6dOnbNq0iTFjxjBo0KC0iFFkMBs3bqRKlSpcuXIFZ2dnfv/9d2bOnImZWaoGIQohhBBGo/dvrgkTJqBWq2nYsCERERHUqVMHS0tLxowZw7Bhw9IiRpGBrFy5koEDBwJQv359Nm3aRL58+YwclRBCCJE6ercIJTwGefXqFVevXuXMmTO8ePGCr776SrOGisjSOnfuTJEiRZg2bRqHDh2SJEgIIUSmlqp5hECzTlipUqWoWrUq5ubmeHt7y6zBWZCiKBw+fBhFUQBNp/jLly/j5eWFqampkaMTQgghPkyKE6Ho6GgmTpxIlSpVqFGjBrt37wZg3bp1FCpUiIULFzJq1Ki0ilMYwZs3b+jZsyeNGjVixYoV2nJra2sjRiWEEEIYTor7CE2dOpWVK1fSqFEjTp06RYcOHejduzdnzpzB29ubDh06SAtBFpKwntytW7cwMTEhPDzc2CEJIYQQBpfiRGjHjh388MMPtG7dmqtXr1KuXDni4uK4dOkSKpUqLWMU6UhRFFatWsWIESOIjo7G1dWVLVu2ULt2bWOHJoQQQhhcihOhx48fU7lyZQDKlCmDpaUlo0aNkiQoCwkNDaV///5s27YNgObNm/PDDz/g6Oho5MiEEEKItJHiRCg+Ph4LC4t/DzQzw9bWNk2CEsZx9epVduzYgampKbNnz2b06NGYmKS6P70QIg3Z2NjgaO+IKkcm/mPUHnDXtERHRUUBmu/d3d01r+UwanQAWJlYYWZmRoEcBYhSR6X8wExQt1RLom6GYmFhke6/d1KcCCmKQq9evbC0tAQgKiqKgQMHkiOH7t3ctWuXYSMU6aZGjRosXbqUChUqUL16dWOHI4RIgqIoKIrC5s2bschjgco0EydC8UADzR/Wfn5+gOb7FStWgC2QAbqdqlDhaOHI4tyLUVBSfmAmqFuqJVE3QzExMaFQoUI6DS9pLcWJUM+ePXW2P//8c4MHI9JXcHAww4YNY9KkSZQsWRJAZgcXIoMLCAjA3NwcV1dXyAVk5rWNY4HX4Obmho2NDQARERHExsZmmLqpUOFm5QZR6JcIZYK6pVoSdTMEtVrN06dPefbsGQUKFEi3rjcpToTWrVuXlnGIdHbu3Dk6deqEn58f169f5++//5b+XkJkcPHx8QQHB+Po6MjTp081P8Ez88o2/+QVlpaWWFlZAZo6AhmmbipUWFhYoIpT6ZcIZYK6pVoSdTMUJycnnj59SlxcHObm6ZMtSgeQbEZRFBYtWkTNmjXx8/OjYMGCrFixQpIgITKB2NhYAG0XBSGymoRHYtqkMR1k5pxU6OnVq1f07t2bPXv2ANC2bVvWrFmDg4ODcQMTQuhF/nARWZUxPtvSIpRN+Pn5UbFiRfbs2YOFhQVLly5l586dkgQJITK1VQtW0bR8Uz52/RifAz5pdp3KrpXT9Pzvc/7UeT52/ZiwkDAAft32K/VL1te+vmrBKro27mqs8FLMx8cHlUpFcHCwsUPRkhahbMLNzY0CBQpgbm7O9u3bqVSpkrFDEkJkE9NGTmPvjr0AmJmb4eLqQov2Leg9sDdmH/BryO+OH6u9VzNvzTzKVCqDnb3dB8e6asEqfA74sPnQ5g8+V1pq3LoxNRvWTJdrnT91noEdBnLk+hFy2udMl2umJ0mEsrCXL1+SM2dOLCwsMDMzY8eOHdjY2GBn9+E/LIQQQh/V61dnqvdUYmNi+fPwn8ydPBczlRm9O/bW+1zx8fGoVCoeP3gMQN2mdbPd40IrayusrD+so3JsTCzmFpl5+JphyKOxLOrEiROUL1+e8ePHa8tcXFwkCRJCGIWFhQWOzo7k+ygf7Xu2p2rtqpz44wSgWdR7zJgxuLq64uzsTK9evTh/+rz22ITHQMcOHqNjvY7ULFSTGZ4z8OzlCUDVj6rysevH2v13b95Nh7odqOlRk/Z12rNj/Q6dWJ4/fc7kwZNpWLohtYvUpkfzHly9cJVft/3Kau/V3Ll+h49dP+Zj14/Zs21PoroM6jCIuZPn6pS9fvma6gWrc/bE2WTfg3379tGjRw9qFqtJozKNGNtn7L+v7dxHj+Y9qFusLk0rNGXKkCm8CnqV7Ln++2gswa6Nu/ikyifUKlyLiQMm8ib0jfa1aSOnMeaLMaxdvJbmlZrTvk7791776aOnDOwwEIAGpRrwsevHTBs9DdAMd589ezaFChXC2tqa8uXLs3PnzkR1LlasGNbW1tSvX58HDx4kWydjkRahLEatVjNnzhymTp1KfHw8Bw4cYObMmYkmvhRCZC2REZHJvmZiYoKllWWK9lWpVDotDUnta21jncoo/2VpZUnIqxAARo8eze3bt9m6dSsODg58//33DO85nC2Ht1DAowAAUZFR/LDsBybPm4x9Lnsc8zpSuXplZnjOYP/F/drz7t+1n5XzVzJ25liKlynOrau3mDV2FtY21rTs2JKI8AgGtB+As4szC9YtII9THm5euYlaraZx68bcu3WP0z6nWbZ1GQB2ORP/8fhp10+ZN2UeI6eOxMJSM8pp/0/7cXZx5uNaHyfaH2Dv3r106dKF3r17M33JdGLVsfx55E/t63FxcQwYOwD3wu68DnrNwukLmT5qOos3Lk7xe/r4wWMO/XoI7/XehL8JZ+bomcyZNIeZS2dq9zl38hw5bHOwdMvSFF07b/68fLP6G8b3G8/O4zvJkTMHVqZWEA3z589n+/btrFixgqJFi3L8+HE+//xznJycqFu3Lo8ePaJt27YMGTKE/v378/fffzN69OgU1ye9SCKUhQQGBvL5559z6NAhQDPp5fLlyyUJEiIbqFO0TrKv1WxQk0UbF2m3m5RrQlRk0ksjVKpeiZU7V2q3W1drTfCrYJ19zj05l+o4FUXh7ImznDl2ho49OxIQEMDGjRvx9/cnf/78hIeH0717d06fP82v235lyMQhAMTFxjF+1niKlS6mPVdCfxVH53/XQ1y1YBUjp46kQYsGALgWcMXvth+7ftxFy44tOfDzAYJfBrNh7wbsc9kD4FbITXu8TQ4bTE1Ntec0SeLBSf3m9Zk3ZR7Hfj9G49aNAfht+2+07Ngy2Ud0X3/9Ne3bt2fAgAHgBJijU5fWnVtrv//I/SPGfDWGni16EhEegU2OlE1aGBMdw/TF03HO5wzAmJljGNVjFCOnjtTWx8rGiinzp+g8Envfte0dNO9Tbsfcmvc8FmKexDB//nz++OMP7UoEHh4enDx5kpUrV1K3bl2WL19O4cKFWbBgAQDFixfnypUrfPPNNymqT3qRRCiLOHr0KF27diUgIABra2uWLVtGr169st1zcyFExnTyj5PUKVqHuLg41Go1zdo0o//I/pz//Tzx8fEUK/ZvUqBWq4mJjcE+t722zNzCnKKlir7zGpERkTx+8JivRn/F12O/1pbHx8djm1OzNubta7cpVqaYNglKDUsrS5q3a86ebXto3LoxN6/c5N6teyxYvyDZY3x9fenRo0eyr9+4fINVC1Zx5/odwkLCUKvVAAQ8CcCjmEeK4srrmlebBAGUq1wOtVrNw3sPtYlQkRJFEvULSs21Hz16REREBI0bN9Ypj4mJoWLFiprz3rhBtWrVdF7PiMs3SSKUBYSGhtKuXTtev35NqVKl2L59O6VLlzZ2WEKIdHT8zvFkX/vvIpYHLx9Mdt///vG056/EfWRSo3KNykyYPQFzC3Mc8zpiZmYGsZplJ0xNTTl//jympqZERERw7949yA3W9v8+grO0snzvH3YR4REATJ43mTIVy+i8ZmJqoj2PIbTp0oZuTbrx/Olzft32K1VqViHfR/mS3d/aOvnHiZERkQzrOoz/1fsfXy39ilx5chHwJIBhXYcRGxNrkHi1cfznsWZqrx0ZqXlkunfvXs1yL2/JbBN+SiKUBdjZ2bFy5Ur279/PkiVL5FGYENmQPv120mrf953n7UdQCYoXL058fDyBgYHUrl2b8PBwYmJitI+P9JHHKQ9OLk48efiE5m2bJ7lP0ZJF+WXLL4S8DkmyVcjc3FzbIvIuRUoWoWT5kuzevJvff/6dsV+Pfef+5cqVw8fHhypVqiR67cHdB4S8DmHoxKG4uLoAcP3S9ffG8F/PnzznRcALnFycALhy4QomJia4F3ZP9piUXNvMXJMqvD3bc6FChbC0tMTf35+6desmee6SJUtqJ/BNcObMGb3rldZk1Fgm9ccff3DkyBHtdocOHVi7dq0kQUKITMXd3Z1OnTrRo0cPdu3axYMHD7h27Rrrlq3j5B8n9T5f/9H9Wb90PVvXbOXhvYfcvXGXPdv2sGnlJgCatmlKHqc8jO0zlkvnLvH44WOO7D3C5b8vA5DPLR9P/Z9y6+otgl8FExMdk+y1Pu3yKRuWbUBBoV6zeu+My8vLix07drBy5Ur87vpx98ZdNizbAICLqwvmFuZsX7edxw8fc+zgMdYsWqN33S0sLZg2chq3r93m4l8Xmf/lfBq1aqTTh+q/UnLtfB/lQ6VScfKPk7x++ZqI8Ahy5MjB8OHDGTVqFBs2bODevXtcuHCBJUuWsGGDpl4DBw7kzp07jB07llu3brF582bWr1+vd73SmiRCmUxcXBxTpkyhSZMmdOnShWfPnhk7JCGE+CArVqygR48ejB49mooVKzJmzBiuX76ubaHQR5uubZgyfwq/bvuVLo26MKD9AH7b/hv5C+QHNH2Nlm5ZSq48uRjRfQRdGnZh/bL1mJqaAtCgRQOq16vOoI6DaFy2MQd2H0j2Wk3bNMXU1JQmnzZ57yO3evXqsXHjRo4fP063Ft0Y1HEQ13yvAZArTy68Fnpx+LfDdKrfiQ1LNzDiyxF61/2jgh9Rv3l9RvYYybCuwyhasijjZ41/5zEpubZzPmf6j+7P0tlLaVq+KXOnaqYOmDp1Kl9++SWzZ8+mZMmSNGvWjL1791KoUCEAChQowE8//cTu3bspX748K1asYNasWXrXK62pFEXRYzndzC80NBR7e3uCgoLIkyePscPRy5MnT+jSpQsnTmjm3ujfvz+LFi1657PnjCw2NpZ9+/bRokWLdFtlODUuXLhA5cqVoT+Q39jRpNJTYBWcP39eZ1bxt+tm/ZE1W8ptocvlLkSqkx9enSElUb/MfN+sTd66F48jtXUrVaoUfn5+5M2bl/v376fq8VGGEgu80DxCSWjNDg8P58aNGxmmbiaY4GHjwf2I+6jRfWT29NFTPqvxGRv2baBE2RK6B2aCuqVaEnUzlKioKPz8/ChUqFCile1fvnyJo6MjISEhBp0TT/oIZRL79++nR48eBAUFYWtry+rVq+ncubOxwxJCiGwnLjaO4NfBLJ+7nDKVyiROgkSmIo/GMji1Ws348eNp0aIFQUFBVKxYkQsXLkgSJIQQRnLp3CWaV2zOdd/rTJwz0djhiA8kLUIZnImJCQEBAQAMGTKE+fPnJ2ouFEIIkX4q16j8QZNKioxFEqEMKi4uTjPPBrBs2TI6dOhAy5YtjRyVEEIIkbXIo7EMJiYmBk9PT9q2bUtCP3ZbW1tJgoQQQog0IC1CGYifnx+dOnXi3DlNk6uPjw/16ydeXVgIIYQQhiEtQhnErl27qFixIufOncPBwYHdu3dLEiSEEEKkMUmEjCw6Opphw4bRrl07QkJC+N///oevry+ffvqpsUMTQgghsjxJhIysW7duLF26FICxY8dy/Phx3N2TXxdGCCGEEIYjiZCRjR8/nnz58vHbb78xd+7cDD3DshBCGNuA9gNYMHWBdrt1tdZsXr3ZYOefNnIaY74YY7DzvYuhY89IHjx4gEqlwtfXF9D0eVWpVAQHBxs1rqRIZ+l0FhkZydmzZ7Wr9X788cfcv39f5gYSQnyQgCcBBL8KTpdrOeR20GsdsGkjp/Em9A3z187XKT9/+jwDuwzk8ePHGWbB6DEzxmDolafWr1/PyJEjefLkiU75hn0bsLbJnEskZSWSCKWjW7du0bFjR27dusWZM2eoUKECgCRBQogPEvAkgHZ12hETlfxK6YZkYWXBT8d/StWiqBmdrZ1tul0rV55c6XatBPHx8ahUKkxM5IFQAkmE0smmTZsYMGAA4eHhODk5ZcjmQSFE5hT8KliTBLUFHNP4YkEQsyuG4FfBBk+EXr58ycCBAzl27BihYaF8VPAjeg/rTdM2TVN0/NNHT/n0f5/y4+8/UrxMcQDCQsJoUKoBK3asoHKNygDcu3WPpV8v5eJfF1EUhWKli+G10IuPCn6UqPWqf/v+VC5bmSjTKHZv2Y2ZuRnturej/+j+2utuWrmJX7f/ypOHT7BzsKN249oMHz8cG2w4fvw4vXv3BjRzwgH0G9GP/uP607paazr37UzXfl0BTUI7b8o8zp08h4mJCdXrVWfMzDHkcdIsEL5qwSp8Dvjw+YDPWTFvBaEhodSoX4PJ8yaTwzbpFrVft/2K9zRvpi2exrJZy/C/78+uP3fh6OzId998x8FfDhIWEkbhEoUZNmmY9j0CzVIi333zHdcuXsPC0oLSFUrz9XdfY5fDjlOnTjF8+HCuX7+Oqakp1atXZ/HixRQuXDjF9zujkEQojUVERDB8+HDWrFkDQL169di0aRP582ey5bCFEBmfI5CJf7RERUVRsWJF2rRpQ44COfjz2J94DffiI/ePKF2xtEGuEfgskAFtB1CpRiW+2/4dOWxzcOnvS8TFxSV7zJYtW+javyvrfl3HlfNXmD5qOuU/Lk+1OtUAUJmoGDNjDPkL5OfJwyd8M+kbvp39LRNGTOB///sfixYtYurUqVy8eJHbt29jU8Am0TXUajWje4/GJocNK39aSXxcPHMnz2XSoEms3LlSu9+Th0/w+d0H7w3ehIWEMXHgRDYs3cDgCYOTjT8qMooflv3A5HmTsc9lT27H3MydMhe/2358/d3XOOV14uiBowz/fDhb/thCAY8C3Lp6i8GdBtOqUytGTx+NqZkp50+dR61Wa84ZFcXQoUOpWrUqb968YerUqXz22Wf4+vpmutYmSYTS0PXr1+nYsSPXrl1DpVIxdepUvvzyS0xNTY0dmhBCpKuTf5ykTtE6OmXqeLXOtqurKyNGjODGjRvgBJ2+6MQZnzMc+vWQwRKhHet3kMMuB7O+m4WZueZXoHvhd4/ULV26NP09+6NGTQGPAmxfv52zJ89qE6GEFh2A/G75GTRuELMnzGbCiAlYWFhgb2+PSqUib968vHr1CpJovDl38hz3bt5j9+nd2pa2aYun0al+J675XqN0BU391Wo1Xgu9tC1ALdq14NzJd697Fhcbx/hZ4ylWuhigaXn6bdtv/Hr2V5xcnADoPrA7p4+e5tdtvzJk4hA2Lt9IyXIlmTB7gvY8hYv/09oTCw0aNKBkyZLavl1r167FycmJ69evU6ZMmXfGk9FIIpSGfvnlF65du4aLiwubNm2iQYMGxg5JCCGMonKNyjq/VAGu/n2VqSOnarfj4+OZM2cOW7Zs4UXQC2JjY4mJicHK2nD9KG9fv03FqhW1SVBKlC6tm4Q5OjvyOui1dvuv43+xful6Ht57SHhYOPHx8URHRRMVFZXia/jd8SNv/rw6jxs9inmQ0z4nD+480CZC+dzy6TwGc3R25NXLV+88t7mFOUVLFdVu371xl/j4eNrVbqezX0xMDPa57AG4fe02DVs2TPac/v7+fPPNN5w/f56goCBtS5G/v78kQuJf48aNIzw8nGHDhpE3b15jhyOEEEZjbWONWyE3nbLAR4E62/PmzeO7775jxIgRFPm4CNZ21nh7eRMbG5uiayT1SOa/j7wsrSz1jJxE05qoVCrtL/6nj57i2cuTdt3bMXj8YOwc7Lh07hJfjf4qxXHrI2Ex7n+DAUX97lFullaWqFQq7XZEeASmpqb8sP+HRE8orHNYa495F09PT4oUKcLq1avJnz8/arWaMmXKEBOTPh32DSlzPcjL4K5cuUKHDh2IjIwEwNTUlJkzZ0oSJIQQKfDnn3/SsmVLWrRoQbFSxXB1d8X/vn+Kj3fI7QBA0PMgbdnta7d19ilasigXz14kLjb5PkH6uHn5Jmq1mpFeIylbuSzuhd15EfBCZx8LCwvi4+PfeZ5CRQvx/OlzAp4EaMvu375PWEgYhYoVMkisCYqXKU58fDyvX77GrZCbzpejs6a3fZGSRZJ95Bb8OpiHDx8ybtw4GjZsSMmSJXn9+nWS+2YGkggZgKIorF69mqpVq7Jz506mTZtm7JCEECLTKVq0KEeOHOHSpUv43fVj1vhZvAx6meLjraytKFupLBuWbcDvjh/nT59n+dzlOvt06NWB8LBwJg2exPVL1/G/78++nft4cPdBqmL+qOBHxMXGsW3tNh4/fMy+nfvYtXGXzj4FCxbkzZs3HD16lODgYKIiEz8yq1q7KoVLFGbqsKncvHKTaxevMW3ENCpVr0Sp8qVSFVty3Au706xtM6aNmMaRfUd44v+EaxevsW7JOk7+cRKAXkN7cf3SdeZMnMOd63d4cPcBOzfsJPhVMHb2dtjb27Nu3Tru3r3LkSNH8PT0NGiM6UkSoQ8UGhpK165d6d+/P1FRUTRr1owxY9JnVlIhhNARBDxN469/G1sMbsqUKVSoUIHhw4czsPNA8jjloV7Tenqd40vvL4mLi6N7s+54e3kzaNwgndcdcjuwfPtyIsMjGdBuAD2a92D35t169Rl6W7HSxRjlNYofvvuBzg06s//n/QyZOERnnxo1ajBw4EB69uxJ48aN+WHFD4nOo1KpWLBuATntc9K/bX+GdB6CawFXZi2flaq43sfL24sW7VuweMZi2tdpz5g+Y7h+6bq2j5J7YXeWbF7Cnet36NWyF1+0/oJjB49hamqKiYkJX3/9NRcvXqRMmTKMGjWKefPmpUmc6UGlGHoKzQwuNDQUe3t7goKCyJMnzwed6+LFi3Ts2JG7d+9iamrKrFmzGDNmTKYbOmgssbGx7Nu3jxYtWmTopUUuXLhA5cqVoT+Zd2jyU2AVnD9/nkqVKmmL366b9UfWbCm3hS6XuxCpjjRerKmRRP0y832zNnnrXjyO1NatVKlS+Pn5kTdvXu7fvw9OgHkmnlAxFniBzuij8PBw7agxMsCPBRNM8LDx4H7EfdSo339AgkxQt1RLom6GEhUVhZ+fH4UKFUo02fDLly9xdHQkJCQEOzs7g11TOkun0s8//0znzp2JiYnBzc2NrVu3UqNGDWOHJYTIhlxcXfjp+E8ZdokNITIySYRSqUqVKtja2lKzZk3WrVv3wa1LQgjxIVxcXSQ5ESIVJBHSw5MnT3B1dQXAzc2Ns2fP4uHhoTMsUQghhBCZh3RmSQFFUVi8eDEeHh7s2bNHW164cGFJgoQQQohMTBKh93j16hWfffYZI0eOJCYmRicREkIIIUTmJonQO5w5c4aKFSvyyy+/YGFhwZIlS1i9erWxwxJCZHPZbLCvyEaM8dmWRCgJarWa+fPnU7t2bfz9/SlcuDCnTp1i6NCh8ihMCGE0CdNMREdHGzkSIdJGwhId6bk4uXSWTsLx48cZO3YsAB07dmT16tUGnbNACCFSw9TUFAcHB168+GcJhzggM/9t9s8qF9HR0dpffNokL4PUTUEhJiYGJU7PlopMULdUS6JuhqBWq3nx4gU2NjaJ11RLQ5IIJaFevXqMGDGCEiVKMGDAAGkFEkJkGC4uLjx9+pQnT55gEWWByjQT/3yKB95oWrosLCwATYtAUFAQRAHp1yiQLBUqsICgmCAU9EiGMkHdUi2JuhmKiYkJBQoUSNffu5IIoclCFy9eTJcuXXBx0czDsWjRIuMGJYQQSVCpVKhUKrp27YrjEEdUzpk4EQoEtsNPP/1E8eLFAbh27RoDBw6EjoCzUaMDwMrEigXFFzD61mii1InXCEtWJqhbqiVRN0OxsLBI99UZMkQitGzZMubNm0dAQADly5dnyZIlVK1aNdn9d+zYwZdffsmDBw8oWrQo33zzDS1atEjVtQMDA+nevTsHDx7kt99+49ChQ7JEhhAiw4uIiMA/xB8Mu8JB+goBHmqSu4TlFFQqFQ8fPtS8lgHqZm1iTVxcHP7h/votPZMJ6pZqSdQtMzP6b/xt27bh6emJl5cXFy5coHz58jRt2pTAwMAk9z916hRdunShT58+XLx4kTZt2tCmTRuuXr2q97V9fHyoUKECBw8exNramm7dusljMCGEECIbMXoi5O3tTb9+/ejduzelSpVixYoV2NjYsHbt2iT3X7x4Mc2aNWPs2LGULFmSr776ikqVKrF06VK9rjtv3jwaNmzIs2fPKFmyJGfPnuWLL76QREgIIYTIRoyaCMXExHD+/HkaNWqkLTMxMaFRo0acPn06yWNOnz6tsz9A06ZNk90/Od988w1qtZrevXtz7tw5ypQpo38FhBBCCJGpGbWPUFBQEPHx8eTNm1enPG/evNy8eTPJYwICApLcPyAgIMn9o6OjdebcCAkJATQdskaPHk2TJk04d+7ch1QjSXnz5sXZOXFvuMDAQJ4/f27w66UnQ9VNrVYTERHBiRMnMky/rKTqFhoaqnkOHgSojRPXB3sFWGnq8vLlS23x23WzUlkRUSQCqydWKPGZbMK+JOqXme+blelb9yJIyVJ105EJ7pvOvdDn/0UmqFuqJfPzJM0v++oVkAaTLipG9OTJEwVQTp06pVM+duxYpWrVqkkeY25urmzevFmnbNmyZYqzs3OS+3t5eSmAfMmXfMmXfMmXfGWBr3v37hkmCfmHUVuEHB0dMTU1TdSK8Pz5c+0w9v9ycXHRa/+JEyfi6emp3Q4ODsbd3R1/f3/s7e0/sAbiQ4SGhuLm5sajR49kwsoMQO5HxiH3IuOQe5FxhISEUKBAAXLnzm3Q8xo1EbKwsKBy5cocPnyYNm3aAJrHJYcPH2bo0KFJHlO9enUOHz7MyJEjtWWHDh2ievXqSe5vaWmJpaVlonJ7e3v5UGcQdnZ2ci8yELkfGYfci4xD7kXGYeiuFEafR8jT05OePXtSpUoVqlatyqJFiwgPD6d3794A9OjRA1dXV2bPng3AiBEjqFu3LgsWLOCTTz5h69at/P3336xatcqY1RBCCCFEJmT0RKhTp068ePGCqVOnEhAQQIUKFThw4IC2Q7S/v79O9lejRg02b97MlClTmDRpEkWLFmX37t0y6ksIIYQQejN6IgQwdOjQZB+F+fj4JCrr0KEDHTp0SNW1LC0t8fLySvJxmUhfci8yFrkfGYfci4xD7kXGkVb3QqUohh6HJoQQQgiROWSMyVuEEEIIIYxAEiEhhBBCZFuSCAkhhBAi25JESAghhBDZVpZMhJYtW0bBggWxsrKiWrVqnD179p3779ixgxIlSmBlZUXZsmXZt29fOkWa9elzL1avXk3t2rXJlSsXuXLlolGjRu+9d0I/+v7fSLB161ZUKpV24lPx4fS9F8HBwQwZMoR8+fJhaWlJsWLF5GeVgeh7LxYtWkTx4sWxtrbGzc2NUaNGERUVlU7RZl3Hjx+nVatW5M+fH5VKxe7du997jI+PD5UqVcLS0pIiRYqwfv16/S9s0AU7MoCtW7cqFhYWytq1a5Vr164p/fr1UxwcHJTnz58nuf+ff/6pmJqaKnPnzlWuX7+uTJkyRTE3N1euXLmSzpFnPfrei65duyrLli1TLl68qNy4cUPp1auXYm9vrzx+/DidI8+a9L0fCfz8/BRXV1eldu3ayqeffpo+wWZx+t6L6OhopUqVKkqLFi2UkydPKn5+foqPj4/i6+ubzpFnPfrei02bNimWlpbKpk2bFD8/P+X3339X8uXLp4waNSqdI8969u3bp0yePFnZtWuXAig///zzO/e/f/++YmNjo3h6eirXr19XlixZopiamioHDhzQ67pZLhGqWrWqMmTIEO12fHy8kj9/fmX27NlJ7t+xY0flk08+0SmrVq2aMmDAgDSNMzvQ9178V1xcnJIzZ05lw4YNaRVitpKa+xEXF6fUqFFD+f7775WePXtKImQg+t6L5cuXKx4eHkpMTEx6hZht6HsvhgwZojRo0ECnzNPTU6lZs2aaxpndpCQRGjdunFK6dGmdsk6dOilNmzbV61pZ6tFYTEwM58+fp1GjRtoyExMTGjVqxOnTp5M85vTp0zr7AzRt2jTZ/UXKpOZe/FdERASxsbEGX2AvO0rt/ZgxYwbOzs706dMnPcLMFlJzL/bs2UP16tUZMmQIefPmpUyZMsyaNYv4+Pj0CjtLSs29qFGjBufPn9c+Prt//z779u2jRYsW6RKz+Jehfn9niJmlDSUoKIj4+Hjt8hwJ8ubNy82bN5M8JiAgIMn9AwIC0izO7CA19+K/xo8fT/78+RN90IX+UnM/Tp48yZo1a/D19U2HCLOP1NyL+/fvc+TIEbp168a+ffu4e/cugwcPJjY2Fi8vr/QIO0tKzb3o2rUrQUFB1KpVC0VRiIuLY+DAgUyaNCk9QhZvSe73d2hoKJGRkVhbW6foPFmqRUhkHXPmzGHr1q38/PPPWFlZGTucbCcsLIzu3buzevVqHB0djR1OtqdWq3F2dmbVqlVUrlyZTp06MXnyZFasWGHs0LIdHx8fZs2axXfffceFCxfYtWsXe/fu5auvvjJ2aCKVslSLkKOjI6ampjx//lyn/Pnz57i4uCR5jIuLi177i5RJzb1IMH/+fObMmcMff/xBuXLl0jLMbEPf+3Hv3j0ePHhAq1attGVqtRoAMzMzbt26ReHChdM26CwqNf838uXLh7m5OaamptqykiVLEhAQQExMDBYWFmkac1aVmnvx5Zdf0r17d/r27QtA2bJlCQ8Pp3///kyePFlnkXCRtpL7/W1nZ5fi1iDIYi1CFhYWVK5cmcOHD2vL1Go1hw8fpnr16kkeU716dZ39AQ4dOpTs/iJlUnMvAObOnctXX33FgQMHqFKlSnqEmi3oez9KlCjBlStX8PX11X61bt2a+vXr4+vri5ubW3qGn6Wk5v9GzZo1uXv3rjYZBbh9+zb58uWTJOgDpOZeREREJEp2EhJURZbuTFcG+/2tXz/ujG/r1q2KpaWlsn79euX69etK//79FQcHByUgIEBRFEXp3r27MmHCBO3+f/75p2JmZqbMnz9fuXHjhuLl5SXD5w1E33sxZ84cxcLCQtm5c6fy7Nkz7VdYWJixqpCl6Hs//ktGjRmOvvfC399fyZkzpzJ06FDl1q1bym+//aY4OzsrM2fONFYVsgx974WXl5eSM2dOZcuWLcr9+/eVgwcPKoULF1Y6duxorCpkGWFhYcrFixeVixcvKoDi7e2tXLx4UXn48KGiKIoyYcIEpXv37tr9E4bPjx07Vrlx44aybNkyGT6fYMmSJUqBAgUUCwsLpWrVqsqZM2e0r9WtW1fp2bOnzv7bt29XihUrplhYWCilS5dW9u7dm84RZ1363At3d3cFSPTl5eWV/oFnUfr+33ibJEKGpe+9OHXqlFKtWjXF0tJS8fDwUL7++mslLi4unaPOmvS5F7Gxscq0adOUwoULK1ZWVoqbm5syePBg5fXr1+kfeBZz9OjRJH8HJLz/PXv2VOrWrZvomAoVKigWFhaKh4eHsm7dOr2vq1IUacsTQgghRPaUpfoICSGEEELoQxIhIYQQQmRbkggJIYQQItuSREgIIYQQ2ZYkQkIIIYTItiQREkIIIUS2JYmQEEIIIbItSYSEEDqmTZtGhQoVEpXlzZsXlUrF7t27U3yuggULsmjRIoPG91/6xiSEEG+TREiILOTFixcMGjSIAgUKYGlpiYuLC02bNuXPP/9M9Tlv3LjB9OnTWblyJc+ePaN58+YAhIaGMnnyZEqUKIGVlRUuLi40atSIXbt2Zbg1l+7evcsXX3yhfV9cXV1p2LAhmzZtIi4uTrufSqXSftnb21OzZk2OHDmS6LWkvqZNm5bq+KZNm4ZKpWLgwIE65b6+vqhUKh48eADAgwcPUKlU+Pr6Jnme9evX4+DgkOo4hMiOstTq80Jkd+3atSMmJoYNGzbg4eHB8+fPOXz4MC9fvkz1Oe/duwfAp59+ikqlAiA4OJhatWoREhLCzJkz+fjjjzEzM+PYsWOMGzeOBg0aZJhfyGfPnqVRo0aULl2aZcuWUaJECQD+/vtvli1bRpkyZShfvrx2/3Xr1tGsWTOCgoKYPHkyLVu25OrVqzx79ky7z7Zt25g6dSq3bt3Sltna2n5QnFZWVqxZs4bRo0dTtGjRDzqXEEIPH7g0iBAig3j9+rUCKD4+Pu/dr0+fPoqjo6OSM2dOpX79+oqvr6/2dS8vL6V8+fLa7/nPuj+KoiiDBg1ScuTIoTx58iTR+cPCwpTY2FhFUTTrx3399ddK7969FVtbW8XNzU1ZuXKlzv7+/v5Khw4dFHt7eyVXrlxK69atFT8/P5191qxZo5QqVUqxsLBQXFxclCFDhmhfA5Sff/5Zuz116lTFxcVFuXTpkqJWq5WSJUsqlStXVuLj45N8P9RqdbLnevLkiQIoK1as0Dlm3bp1ir29fZLnS42E97xx48ZKhw4dtOUJi08mvB9+fn4KoFy8eDHJ8xg6LiGyA3k0JkQWYWtri62tLbt37yY6OjrZ/Tp06EBgYCD79+/n/PnzVKpUiYYNG/Lq1atE+44ZM4Z169YB8OzZM549e4ZarWbr1q1069aN/PnzJxmHmdm/jc0LFiygSpUqXLx4kcGDBzNo0CBtS0psbCxNmzYlZ86cnDhxgj///BNbW1uaNWtGTEwMAMuXL2fIkCH079+fK1eusGfPHooUKZLouoqiMGzYMH744QdOnDhBuXLl8PX15caNG4wZMwYTk6R/3CW0ciXF2toaQBtLWpszZw4//fQTf//9d7pcTwghfYSEyDLMzMxYv349GzZswMHBgZo1azJp0iQuX76s3efkyZOcPXuWHTt2UKVKFYoWLcr8+fNxcHBg586dic5pa2urfcTl4uKCi4sLQUFBvH79WvuI6X1atGjB4MGDKVKkCOPHj8fR0ZGjR48CmkdMarWa77//nrJly1KyZEnWrVuHv78/Pj4+AMycOZPRo0czYsQIihUrxscff8zIkSN1rhEXF8fnn3/O4cOHOXnypDZRun37NgDFixfX7hsYGKhNGm1tbfnuu++SjDsiIoIpU6ZgampK3bp1U1TXD1WpUiU6duzI+PHj0+V6QghJhITIUtq1a8fTp0/Zs2cPzZo1w8fHh0qVKrF+/XoALl26xJs3b8iTJ49OMuDn56ftC/Q+ip4docuVK6f9XqVS4eLiQmBgoDaeu3fvkjNnTm0suXPnJioqinv37hEYGMjTp09p2LDhO68xatQo/vrrL44fP46rq+s7982TJw++vr74+vri4OCQqLWnS5cu2NrakjNnTn766SfWrFmjUwd9zJo1S+d99vf3f+8xM2fO5MSJExw8eDBV1xRC6Ec6SwuRxVhZWdG4cWMaN27Ml19+Sd++ffHy8qJXr168efOGfPnyaVtb3pbSzs1OTk44ODhw8+bNFO1vbm6us61SqVCr1QC8efOGypUrs2nTpiSvk9zjrP9q3LgxW7Zs4ffff6dbt27a8oROx7du3aJixYoAmJqaaluM3n6El2DhwoU0atQIe3t7nJycUnT95AwcOJCOHTtqt5N6lPhfhQsXpl+/fkyYMIE1a9Z80PWFEO8niZAQWVypUqW08+xUqlSJgIAAzMzMKFiwYKrOZ2JiQufOndm4cSNeXl6Jfrm/efMGKyurJJOM/6pUqRLbtm3D2dkZOzu7JPcpWLAghw8fpn79+smep3Xr1rRq1YquXbtiampK586dAahYsSIlSpRg/vz5dOzYMUWJlYuLS5J9kFIjd+7c5M6dW+/jpk6dSuHChdm6datB4hBCJE8ejQmRRbx8+ZIGDRrw448/cvnyZfz8/NixYwdz587l008/BaBRo0ZUr16dNm3acPDgQR48eMCpU6eYPHmyXh10v/76a9zc3KhWrRo//PAD169f586dO6xdu5aKFSvy5s2bFJ2nW7duODo68umnn3LixAn8/Pzw8fFh+PDhPH78GNDMsbNgwQK+/fZb7ty5w4ULF1iyZEmic3322Wds3LiR3r17a/s7qVQq1q1bx61bt6hZsyZ79uzhzp07XL9+nRUrVvDixQtMTU1TXO/0kjdvXjw9Pfn222+TfP3WrVvax3sJX7GxsekcpRBZg7QICZFF2NraUq1aNRYuXMi9e/eIjY3Fzc2Nfv36MWnSJECTGOzbt4/JkyfTu3dvXrx4gYuLC3Xq1CFv3rwpvlbu3Lk5c+YMc+bMYebMmTx8+JBcuXJRtmxZ5s2bh729fYrOY2Njw/Hjxxk/fjxt27YlLCxMO9lhQgtRz549iYqKYuHChYwZMwZHR0fat2+f5Pnat2+PWq2me/fumJiY0LZtW/73v/9x/vx5/t+uHSIxDAIBFN1qDpM7YWM5AzaSA8ZwBFyrOtOZmtZEZN+zGHB/dum9x77vMeeMUkps2xbHcUSt9ed3X6m1FmOMWGt9nb0nXp/O87ziWnA7j+e/Px8BAG7CagwASEsIAQBpCSEAIC0hBACkJYQAgLSEEACQlhACANISQgBAWkIIAEhLCAEAaQkhACAtIQQApPUC5hYC7f0ow90AAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "We can plot the two side by side:" + ], + "metadata": { + "id": "omUxoyLiZX_c" + } + }, + { + "cell_type": "code", + "source": [ + "fig, axs = plt.subplots(1, 2, figsize=(12, 5), sharey=True)\n", + "\n", + "# Plot the first histogram\n", + "axs[0].bar(x, precisions, width=0.1, color='blue', edgecolor='black', capsize=5, align='center', label='Hallucination precision')\n", + "axs[0].plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "axs[0].set_xlim([0, 1])\n", + "axs[0].set_ylim([0, 1])\n", + "axs[0].set_xlabel('SelfCheckGPT - NLI')\n", + "axs[0].set_title('Hallucination precision calibration curve')\n", + "axs[0].legend(loc='lower right')\n", + "axs[0].grid(True)\n", + "\n", + "# Plot the second histogram\n", + "axs[1].bar(x, recalls, width=0.1, color='green', edgecolor='black', capsize=5, align='center', label='Hallucination recall')\n", + "axs[1].plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "axs[1].set_xlim([0, 1])\n", + "axs[1].set_ylim([0, 1])\n", + "axs[1].set_xlabel('SelfCheckGPT - NLI')\n", + "axs[1].set_title('Hallucination recall calibration curve')\n", + "axs[1].legend(loc='lower right')\n", + "axs[1].grid(True)\n", + "\n", + "# Display the plots\n", + "plt.tight_layout()\n", + "plt.show()" + ], + "metadata": { + "id": "vvJ3KubtTGxz", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 507 + }, + "outputId": "4c674c43-78c0-4341-900e-a20de7ed2510" + }, + "execution_count": 19, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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OXPOPqdOwn1OT7169WL+/PkAdO7cmXfffZdSpUqZepqcxkXOT+Mi56Nj5nx0zJyPjlnGN2rUKN555x0AmjRpwkcffcTDDz+cpuOidJ8OUbduXbZs2RKnbdOmTdStWze9dy0iIiKSLJ07d8bX15eZM2eybNkysmfPbnYkEREREVO0a9cOX19f3n77bTZu3Bhvaaa0kOyZUrdu3eL48eP27VOnTrF//35y585NsWLFGDlyJGfPnmXBggUADBw4kOnTpzNixAh69+7NDz/8wIoVK/j222/TrhciIiIiKRATE8PRo0epWLEiAE899RSnTp1Kl0GXiIiISEZmGAZ///03Dz/8MAA1a9ZM93FRsmdK/f7771SvXp3q1asDMGzYMKpXr86YMWMAOH/+PGfOnLHfvmTJknz77bds2rSJqlWr8sEHH/D555/TokWLNOqCiIiISPJduHCBFi1aUK9ePf755x97uwpSIiIi4mqCg4Px9/fn0UcfZd++ffb29B4XJXumVOPGjTEMI9Hvz5s3L8H73N0pERERETNt2rSJ5557jkuXLuHn58fBgwcpXry42bFEREREHO63336jS5cunDx5Eg8PD/bv32+fiJTenP0SWyIiIiJJFh0dzahRo2jRogWXLl2iSpUq/P7777Ru3drsaCIiIiIOZRgG06ZNo379+pw8eZLixYvz008/ERgY6LAM6X71PREREZGM4N9//yUgIICffvoJgAEDBjB16tRErwYsIiIiklldvXqVwMBA1q1bB0D79u35/PPPyZUrl0NzqCglIiIiLuHjjz/mp59+Ilu2bMyePRt/f3+zI4mIiIiYYtGiRaxbtw4vLy+mTp3K888/j8VicXgOFaVERETEJUyYMIHLly8zevRoSpcubXYcEREREdMMHjyYQ4cO0b9/f4etH5UQrSklIiIimdLJkyd56aWXiImJAcDHx4e5c+eqICUiIiIu59KlS7zwwguEhoYC4ObmxowZM0wtSIFmSomIiEgmtGrVKvr06cONGzcoUKAAb7zxhtmRREREREzxww8/0K1bNy5cuIBhGHz66admR7LTTCkRERHJNMLDwxk0aBCdOnXixo0b1K1bl27dupkdS0RERMThYmJiGDt2LE2bNuXChQtUqlSJF154wexYcWimlIiIiGQKR44cwd/fnwMHDgDw+uuvM2HCBDw9PU1OJiIi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KB673RdoARQzLZGIiIiIKQzgOpArdrscMATIaVKeTEwzpURERFzeOaApttU6r8W2WVBBSkRERFxOGLAC28oF1+9qz2lGmMxPRSkRERGXthGoBmwDgoD9JmYRERERMdF/2IpRh4DI2G1JVzp9T0RExCVFAWOAd2O3q2K7ul550xKJiIiImMIK/Axsjv06J7ZrvhQxMZOLUFFKRETE5ZwBugK7YrcHAR9gW9hcRERExIWEAGuAY7HblYC2aFjkICpKiYiIuJw3sRWksgNfAB3NjSMiIiJilt3YClLuQCugBralNcUhVJQSERFxOVOBW8BkoJTJWURERERMdPs6Lw2AgiZncUFa6FxERCTTOwFMwHZ9Y4DcwJeoICUiIiIu5yZ31o4C8MS2fpQKUqbQTCkREZFMbQXQF9sIrBjQy9Q0IiIiIqY5AazGto6UJ7ZZUmIqFaVEREQypTDgZWzXNQaoDzQxL46IiIiIWWKAH4Htsdv5sS1oLqZTUUpERCTTOQx0Bv7EtlLnG8A49LYvIiIiLicY26oFZ2K3awAtsc2UEtNpdCoiIpKprAACgVBsHwMuApqZmkhERETEFCeBldgmkHsBbYAqpiaSe6goJSIikqnkxTbyaoKtIKVVO0VERMRFZQGigEJARyCPuXEkPhWlREREMpUnga3A44C7yVlERERETFQA6AEURtWPDMrN7AAiIiKSMoZh8OWXX8ZunbnrO41QQUpERERczebNm21fXLyrsRgqSGVgKkqJiIg4oeDgYLp06cI777wT27LK1DwiIiIiZgkPD+eFF17gtddeszX8aW4eSTrVC0VERJzM77//jr+/PydPnsTd3Z2YmBhgqNmxRERERBzu6NGj+Pv7s3///juNT5oWR5JJM6VEREScyJIlS6hXrx4nT56kePHifPHFF7Hf0Vu6iIiIuJYlS5ZQo0YN9u/fT758+fj4449t39CwyGnoUImIiDiRDz74gKioKNq3b8++ffuoUkXXNRYRERHXs2nTJrp168atW7do3Lgx+/fvp169embHkmRSUUpERMSJPProo0yfPp1Vq1aRK1cus+OIiIiImKJp06a0a9eOcePGsXnzZgoXLmx2JEkBrSklIiKSYVmBBUA3e8usWbOoWbOmaYlEREREzGAYBkuXLqVNmzZky5YNi8XCqlWrcHPTXBtnpqMnIiKSIV0CngIC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tixdutTsSCIiIiKmMAyDxYsXc/PmTR5//HGNi0RExCFUlBKX5enpybJly/joo49Ys2bNnU8ERURERFyMxWJh3rx5vPPOO2zduvWuGeQiIiLpR0UpcRlWq5X333+fsWPH2ttKlSrFiy++iMViMTGZiIiIiOPNnz+fgQMH2q9AnCdPHkaOHImHh87XExERx9A7jriEoKAgevbsyfr16wF49tlnqV69usmpRERERBzv1q1bDBo0iIULFwLQpk0bWrdubXIqERFxRSpKSaa3fft2unbtyrlz5/Dx8eHDDz+kWrVqZscSERERcbgDBw7g7+/PkSNHcHNzY8KECbRs2dLsWCIi4qJUlJJMKyYmhokTJzJ27FisVisVKlRg+fLlPPLII2ZHExEREXEowzCYNWsWQ4cOJSIigiJFirB06VIaNGhgdjQREXFhKkpJpmQYBh06dGDt2rUA9OzZk+nTp5M1a1aTk4mIiIg43osvvsgnn3wCQOvWrZk3bx558+Y1OZWIiLg6LXQumZLFYqF9+/b4+fkxb9485s2bp4KUiIiIuKxnn30WLy8v3n//fdatW6eClIiIZAiaKSWZRnR0NP/88w+lS5cGoEePHjRt2pTChQubnExERETEsQzD4NixY5QrVw6Apk2bcurUKY2LREQkQ9FMKckU/v33X5544gkaNmzI5cuX7e0aeImIiIiruXr1Ks8++yy1atXixIkT9naNi0REJKNRUUqc3jfffEO1atX46aefuHnzJn/99ZfZkURERERMsXPnTqpVq8a6desIDw9n3759ZkcSERFJlIpS4rQiIyN55ZVXaNOmDVevXqVGjRrs27ePxo0bmx1NRERExKGsVivvvvsujRo14t9//6Vs2bL88ssvdOzY0exoIiIiidKaUuKUTp06hb+/P7/99hsAQ4cO5d1338Xb29vkZCIiIiKOdenSJbp37873338PQLdu3ZgxYwbZsmUzOZmIiMj9qSglTumtt97it99+I1euXMybN4+2bduaHUlERETEFNOnT+f777/H19eXTz75hF69emGxWMyOJSIi8kAqSolTmjp1KuHh4bz77rsUK1bM7DgiIiIiphk9ejSnT5/m9ddfp1KlSmbHERERSTKtKSVO4ejRo7zxxhsYhgFAjhw5WLJkiQpSIiIi4nLOnj3LsGHDiI6OBsDLy4sFCxaoICUiIk5HM6Ukw1u0aBEDBw4kJCSEEiVK0L9/f7MjiYiIiJhi/fr19OzZk6CgILJly8b48ePNjiQiIpJimiklGVZISAi9e/eme/fuhISE8MQTT/D000+bHUtERETE4aKiohgxYgStW7cmKCiI6tWr89xzz5kdS0REJFVUlJIM6eDBg9SqVYu5c+fi5ubG+PHj2bRpE4ULFzY7moiIiIhDnT59moYNGzJ58mQAXnzxRXbv3k3ZsmVNTiYiIpI6On1PMpxly5YRGBhIeHg4hQoVYsmSJTRu3NjsWCIiIiIOt2nTJjp37sz169fJmTMnX3zxBe3btzc7loiISJpQUUoynIceeoioqChatmzJ/PnzyZ8/v9mRREREREzx0EMPERkZSZ06dVi2bBklSpQwO5KIiEiaUVFKMoQbN26QPXt2AB5//HF27NhBnTp1cHPTGaYiIiLiWu4eF1WsWJFt27ZRrVo1PD09TU4mIiKStvQXv5jKMAw+/vhjSpQowaFDh+ztdevWVUFKREREXM6yZcsoXrw4O3bssLfVqlVLBSkREcmU9Fe/mObatWu0b9+eIUOGcO3aNebMmWN2JBERERFThIaG0r9/f7p27cr169f59NNPzY4kIiKS7nT6npji559/pkuXLvzzzz94eXnx/vvvM3jwYLNjiYiIiDjc33//jb+/PwcPHsRisfDmm2/y5ptvmh1LREQk3akoJQ5ltVr54IMPeOONN4iOjqZ06dIsX76cGjVqmB1NRERExKEMw2D+/Pm88MILhIaGUrBgQRYtWkSTJk3MjiYiIuIQOn1PHGrBggWMGDGC6OhounTpwt69e1WQEhEREZe0ZcsWAgMDCQ0NpVmzZuzfv18FKRERcSkpKkp98sknlChRAh8fH+rUqcOvv/6a6G1nz55NgwYNyJUrF7ly5aJp06b3vb1kbs899xzNmjVj9uzZLFmyxH5lGRERERFX06RJE7p06cI777zDhg0bKFCggNmRREREHCrZRanly5czbNgwxo4dy969e6latSotWrTg0qVLCd5+27ZtdO3ala1bt7J7926KFi1K8+bNOXv2bKrDS8YXExPDrFmziIiIAMDDw4ONGzfSt29fLBaLyelEREREHMcwDObNm8f169cBsFgsLFmyhJEjR+qqwyIi4pKS/e43ZcoU+vXrR2BgIJUqVWLmzJn4+fkleuW0xYsXM2jQ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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "So what can be an interpretation of these plots?\n", + "\n", + "We see that our model is extremely precise in detecting hallucinations once the score is above 0.5. It reaches perfect precision, which means that whenever it makes the prediction that a sentence is a hallucination, it is almost certain it is actually the case!\n", + "\n", + "But being precise is not enough, if a model is conservative and only flags a few sentences as hallucinations, then this model would not be very useful.\n", + "\n", + "That is why we need to have a look at recall too.\n", + "\n", + "Interestingly, the recall score seems to be calibrated with the probability of hallucination: the higher the probability the higher the recall!\n", + "\n", + "This means that for instance, for an NLI score of 0.8, this model will flag 80% of the hallucinations as the recall is close to 80%, and all examples flagged are actually hallucinations as the precision is 1.0.\n", + "\n", + "This is great! It means that we can have a trustworthy metric for hallucination, as it is able to both:\n", + "- Provide a calibrated ability to flag hallucinations, aka the higher the hallucination score, the higher the likelihood to find hallucinations (calibrated recall)\n", + "- Be extremely precise in its prediction, aka not falsely labelling truthful sentences as hallucinations (perfect precision)\n", + "\n", + "**Both of those properties mean that we can now reliably and automatically detect hallucinations. This means we could either verify the trustworthiness of an answer in a chat, and when a hallucination is detected, notify the user that extra checks must be performed.**" + ], + "metadata": { + "id": "BGcRaya-WXWH" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Varying the number of samples required" + ], + "metadata": { + "id": "nRHL-y6hrmOn" + } + }, + { + "cell_type": "markdown", + "source": [ + "Before concluding, one might think that this is great but how about the cost of such metric?\n", + "\n", + "In the initial SelfCheckGPT paper, they sampled $N=20$ more answers, on top of the original prediction, to predict the hallucination score.\n", + "\n", + "This is therefore quite expensive and impractical as it would drastically increase cost and time.\n", + "\n", + "Therefore, one could think, are that many samples needed?\n", + "\n", + "To study that, we varied the number of samples used to compute the NLI score, and plotted the same graphs with $N=3,10,20$." + ], + "metadata": { + "id": "jzqDYTz2t3RO" + } + }, + { + "cell_type": "code", + "source": [ + "!wget wget --no-check-certificate 'https://docs.google.com/uc?export=download&id=1FFCXP4zBoyr6FwYn_Ken8Ak-6IHwgENv' -O wiki_bio_gpt3_hallucination_all_samples.csv" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "yy9GSyHrcjOR", + "outputId": "f3b01851-45fb-497b-eaaf-bbc82f339d81" + }, + "execution_count": 20, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "--2023-12-02 07:07:31-- http://wget/\n", + "Resolving wget (wget)... failed: Name or service not known.\n", + "wget: unable to resolve host address ‘wget’\n", + "--2023-12-02 07:07:31-- https://docs.google.com/uc?export=download&id=1FFCXP4zBoyr6FwYn_Ken8Ak-6IHwgENv\n", + "Resolving docs.google.com (docs.google.com)... 142.250.103.139, 142.250.103.138, 142.250.103.102, ...\n", + "Connecting to docs.google.com (docs.google.com)|142.250.103.139|:443... connected.\n", + "HTTP request sent, awaiting response... 303 See Other\n", + "Location: https://doc-14-8c-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/cjpue7bj3vuo4flmihsiem0ku1lqtfd1/1701500850000/08030308599197976876/*/1FFCXP4zBoyr6FwYn_Ken8Ak-6IHwgENv?e=download&uuid=92fa8f40-2c49-44a5-9ac3-821a30f3475c [following]\n", + "Warning: wildcards not supported in HTTP.\n", + "--2023-12-02 07:07:33-- https://doc-14-8c-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/cjpue7bj3vuo4flmihsiem0ku1lqtfd1/1701500850000/08030308599197976876/*/1FFCXP4zBoyr6FwYn_Ken8Ak-6IHwgENv?e=download&uuid=92fa8f40-2c49-44a5-9ac3-821a30f3475c\n", + "Resolving doc-14-8c-docs.googleusercontent.com (doc-14-8c-docs.googleusercontent.com)... 173.194.196.132, 2607:f8b0:4001:c1a::84\n", + "Connecting to doc-14-8c-docs.googleusercontent.com (doc-14-8c-docs.googleusercontent.com)|173.194.196.132|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 6048623 (5.8M) [text/csv]\n", + "Saving to: ‘wiki_bio_gpt3_hallucination_all_samples.csv’\n", + "\n", + "wiki_bio_gpt3_hallu 100%[===================>] 5.77M --.-KB/s in 0.03s \n", + "\n", + "2023-12-02 07:07:33 (206 MB/s) - ‘wiki_bio_gpt3_hallucination_all_samples.csv’ saved [6048623/6048623]\n", + "\n", + "FINISHED --2023-12-02 07:07:33--\n", + "Total wall clock time: 2.1s\n", + "Downloaded: 1 files, 5.8M in 0.03s (206 MB/s)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import pandas as pd\n", + "\n", + "df = pd.read_csv(\"./wiki_bio_gpt3_hallucination_all_samples.csv\")" + ], + "metadata": { + "id": "6qlZDYBxc9zB" + }, + "execution_count": 21, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import ast\n", + "import numpy as np\n", + "\n", + "total_samples = 20\n", + "n_sample = 3\n", + "\n", + "def get_scores_from_df(df, n_sample=20, total_samples=20, threshold=0.35):\n", + "\n", + " output_df = []\n", + "\n", + " for _, example in df.iterrows():\n", + " scores = np.frombuffer(ast.literal_eval(example[\"sent_scores_nli\"]))\n", + " sentences = ast.literal_eval(example[\"gpt3_sentences\"])\n", + " n_sentences = len(sentences)\n", + " scores = scores.reshape(n_sentences, total_samples)\n", + " scores = scores[:,:n_sample]\n", + " scores = scores.mean(axis=-1)\n", + "\n", + " annotations = ast.literal_eval(example[\"annotation\"])\n", + " for i, annotation in enumerate(annotations):\n", + " idx = len(output_df)\n", + "\n", + " output_df.append({\n", + " \"index\": idx,\n", + " \"annotation\": annotation,\n", + " \"probability\": scores[i]\n", + " })\n", + "\n", + " output_df = pd.DataFrame(output_df)\n", + " output_df[\"label\"] = output_df.annotation.apply(lambda x: 0 if x == \"accurate\" else 1) # We add the ground truth label\n", + " output_df[\"prediction\"] = output_df[\"probability\"].apply(lambda x: 1 if x > threshold else 0) # We add the predicted label\n", + " return output_df" + ], + "metadata": { + "id": "YQxguleMcibD" + }, + "execution_count": 22, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "from sklearn.metrics import precision_score, recall_score\n", + "\n", + "n_samples = [3, 10, 20]\n", + "total_samples = 20\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) # Single row, two columns\n", + "\n", + "n_bins = 10\n", + "thresholds = np.linspace(0, 1, n_bins)\n", + "\n", + "colors = ['blue', 'green', 'purple', 'orange'] # Different color for each n_sample\n", + "\n", + "for j, n_sample in enumerate(n_samples):\n", + " output_df = get_scores_from_df(df, n_sample=n_sample, total_samples=total_samples)\n", + " precisions = []\n", + " recalls = []\n", + " x = []\n", + "\n", + " for i in range(len(thresholds) - 1):\n", + " min_threshold = thresholds[i]\n", + " max_threshold = thresholds[i + 1]\n", + " bin_df = output_df.loc[(output_df.probability >= min_threshold) & (output_df.probability < max_threshold)]\n", + " precision = precision_score(bin_df.prediction.values, bin_df.label.values)\n", + " recall = recall_score(bin_df.prediction.values, bin_df.label.values)\n", + " x.append(min_threshold)\n", + " precisions.append(precision)\n", + " recalls.append(recall)\n", + "\n", + " # Plot precision and recall for this n_sample\n", + " ax1.bar(x, precisions, width=0.1, color=colors[j], edgecolor='black', label=f'n_sample={n_sample}')\n", + " ax2.bar(x, recalls, width=0.1, color=colors[j], edgecolor='black', label=f'n_sample={n_sample}')\n", + "\n", + "# Set properties for precision plot\n", + "ax1.plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "ax1.set_xlim([0, 1])\n", + "ax1.set_ylim([0, 1])\n", + "ax1.set_xlabel('Probability Threshold')\n", + "ax1.set_title('Precision Calibration Curve')\n", + "ax1.legend(loc='lower right')\n", + "ax1.grid(True)\n", + "\n", + "# Set properties for recall plot\n", + "ax2.plot([0, 1], [0, 1], \"k--\", label=\"Perfectly calibrated\")\n", + "ax2.set_xlim([0, 1])\n", + "ax2.set_ylim([0, 1])\n", + "ax2.set_xlabel('Probability Threshold')\n", + "ax2.set_title('Recall Calibration Curve')\n", + "ax2.legend(loc='lower right')\n", + "ax2.grid(True)\n", + "\n", + "# Display the plots\n", + "plt.tight_layout()\n", + "plt.show()\n" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 839 + }, + "id": "_TV85iXYc5Dr", + "outputId": "380a8ee9-9713-463e-ada3-848c72f3dd7e" + }, + "execution_count": 23, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n", + "/usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py:1471: UndefinedMetricWarning: Recall is ill-defined and being set to 0.0 due to no true samples. Use `zero_division` parameter to control this behavior.\n", + " _warn_prf(average, modifier, msg_start, len(result))\n" + ] + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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iYmqh0T+odP3RHJA//79SUxM5L333kt1X0JCgv1N78EHH8TX15eJEycSExOTYr07fQJ07dq1FLetVqv9U5XY2Ng0H9OkSRP8/f2ZPn16inV++eUXjh49mqWruqTF29ubV199laNHj/Lqq6+mOY65c+eye/duIKnwvH2doKAg+7wQWbFjx44U5+OfO3eOn376iQcffPCuTbLk+2/PNGXKlFTrJhd5aRUxt+vWrRu7d+9mx44d9mWRkZHMmDGDChUqUKtWrbs+R0a88sorFChQgCeffJLLly+nuv+vv/5i6tSpQFKDyM/Pjy1btqRY54svvsj0dvv27YuLiwvz588nKCiI7t27pyiCGzduTOXKlfn000+5efNmqsffflqliIjkb23btuX+++9nypQpxMTE4O/vT9u2bfnqq6+4ePFiqvVvfR/p27cvBw8eZOnSpanWS35/T+v9fteuXSnep+/V22+/jWEYDB48OM33vr1799qPcHdxccFisaQ4WvnMmTMsW7Ysy9tPSEjgq6++st+Oi4vjq6++onjx4inm3kxPRmu0zNZDiYmJfP755ymW/+c//8FisdC1a9e7PkdG9OvXj7p16/LBBx+kuU8jIiJ444037LcrV67Mzp07iYuLsy9buXIl586dy9R2a9asSd26dVmwYAELFiygVKlStG7d2n6/i4sLffv2ZfHixWk2TlUPSX6kI6VEckCbNm0YMWIEEydO5MCBAzz44IO4ublx4sQJgoKCmDp1Kv369aNgwYL85z//4cknn+S+++5j0KBBFClShIMHDxIVFZXuqXhPPvkk169fp3379pQpU4azZ8/yf//3fzRo0MB+Tv7t3Nzc+Oijjxg+fDht2rRh4MCBXL58malTp1KhQgVefPHFbBv/yy+/zJEjR5g0aRIbN26kX79+lCxZkkuXLrFs2TJ2797N9u3bgaQje959912GDx9OixYtOHToEPPmzcvUp1K3q1OnDp07d+b555/Hw8PD3mSZMGHCXR9bsGBBWrduzccff0x8fDwBAQH8+uuvnD59OtW6yQXdG2+8wSOPPIKbmxs9evRINX8DwGuvvcb8+fPp2rUrzz//PEWLFmXOnDmcPn2axYsXpzoFNKsqV67MDz/8wIABA6hZsyZDhgyhTp06xMXFsX37doKCghg2bJh9/SeffJJ///vfPPnkkzRp0oQtW7bYP0XNDH9/f9q1a8fkyZOJiIiwT+iZzGq18s0339C1a1dq167N8OHDCQgI4Pz582zcuJGCBQuyYsWKex2+iIjkIS+//DKBgYHMnj2bZ555hmnTpvHAAw9Qt25dnnrqKSpVqsTly5fZsWMHf//9NwcPHrQ/btGiRQQGBvL444/TuHFjrl+/zvLly5k+fTr169ene/fuLFmyhN69e/PQQw9x+vRppk+fTq1atdJsIGVFixYtmDZtGqNGjaJGjRoMHjyYqlWrEhERwaZNm1i+fDnvv/8+kHThmcmTJ9OlSxcGDRrElStXmDZtGlWqVOH333/P0vZLly7NRx99xJkzZ6hWrRoLFizgwIEDzJgxAzc3t7s+PqM1WuXKlSlcuDDTp0/H19eXAgUK0LRp0zTnXerRowft2rXjjTfe4MyZM9SvX59ff/2Vn376iTFjxqSY1PxeuLm5sWTJEjp27Ejr1q3p378/LVu2xM3NjSNHjvDDDz9QpEgRPvjgAyCpHlq0aBFdunShf//+/PXXX8ydOzdLeQYMGMD48ePx9PTkiSeeSFXj/fvf/2bjxo00bdqUp556ilq1anH9+nX27dvHunXruH79era8BiJOw4Qr/ok4vORL/f73v/+943pDhw41ChQokO79M2bMMBo3bmx4eXkZvr6+Rt26dY1XXnnFuHDhQor1li9fbrRo0cLw8vIyChYsaNx///3G/PnzU2zn1svpLlq0yHjwwQcNf39/w93d3ShXrpwxYsQI4+LFi/Z10ro8sGEYxoIFC4yGDRsaHh4eRtGiRY1HH33U+PvvvzM0rrffftvIzK+N5JxFixY1XF1djVKlShkDBgwwNm3aZF8nJibGeOmll4xSpUoZXl5eRsuWLY0dO3akugTv6dOnU11uOK08gDF69Ghj7ty5RtWqVQ0PDw+jYcOGqV6H5MdevXo1Ve6///7b6N27t1G4cGGjUKFCRmBgoHHhwoVUl4Q2DMN47733jICAAMNqtaa4PHRalxb+66+/jH79+hmFCxc2PD09jfvvv99YuXJlinWS91tQUFCK5WmN/06OHz9uPPXUU0aFChUMd3d3w9fX12jZsqXxf//3fykupR0VFWU88cQTRqFChQxfX1+jf//+xpUrV1KN9U6vV7Kvv/7aAAxfX18jOjo6zXX2799v9OnTxyhWrJjh4eFhlC9f3ujfv7+xfv36DI1LRETyljvVXImJiUblypWNypUrGwkJCYZhJL2XDhkyxChZsqTh5uZmBAQEGN27dzcWLVqU4rHXrl0znn32WSMgIMBwd3c3ypQpYwwdOtQICQkxDMMwbDab8eGHHxrly5e31worV65MVXMZhpHqPTE5c/J7/t3s3bvXGDRokFG6dGnDzc3NKFKkiNGhQwdjzpw5RmJion29b7/91l671KhRw5g1a1aatc7tNUZaNV+bNm2M2rVrG3v27DGaN29ueHp6GuXLlzc+//zzFM+VXt1hGBmv0QzDMH766SejVq1ahqura4p6Ja3XMyIiwnjxxRftr0fVqlWNTz75xLDZbCnWS67pbpdWjZWeGzduGOPHjzfq1q1reHt7G56enkadOnWM119/PUXdbBiGMWnSJCMgIMDw8PAwWrZsaezZsyfVWO/0eiU7ceKEARiAsXXr1jTXuXz5sjF69GijbNmyhpubm1GyZEmjQ4cOxowZMzI0LpG8xGIYd5klTkREREREREREJJtpTikREREREREREcl1akqJiIiIiIiIiEiuU1NKRERERERERERyXaabUlu2bKFHjx6ULl0ai8WSocuUbtq0iUaNGuHh4UGVKlWYPXt2FqKKiIiIOCfVTyIiIiKpZbopFRkZSf369Zk2bVqG1j99+jQPPfQQ7dq148CBA4wZM4Ynn3ySNWvWZDqsiIiIiDNS/SQiIiKS2j1dfc9isbB06VJ69eqV7jqvvvoqq1at4vDhw/ZljzzyCKGhoaxevTqrmxYRERFxSqqfRERERJK45vQGduzYQceOHVMs69y5M2PGjEn3MbGxscTGxtpv22w2rl+/TrFixbBYLDkVVURERPIJwzCIiIigdOnSWK2ON8Wm6icRERFxNDlRP+V4U+rSpUuUKFEixbISJUoQHh5OdHQ0Xl5eqR4zceJEJkyYkNPRREREJJ87d+4cZcqUMTtGKqqfRERExFFlZ/2U402prHj99dcZO3as/XZYWBjlypXj+PHjFC1a1MRkcjfx8fFs3LiRdu3a4ebmZnYcuc3UqVP55JNP6EY3insVp820NmwevZnE6ESzo2XZda7zMz/z8ssv88ILL9iX3zrWojj37w0XLxf7vroafTXPjzeZM+7bW/dVZn6unHGs9yK98eboNq9fZ/To0axduxaARx99lHnz5uHr65sr288Nqp+cl+on56F95Ty0r5yH9pVjW7ZsGWPGjOHmzZsUKVKEGzduZGv9lONNqZIlS3L58uUUyy5fvkzBggXT/JQPwMPDAw8Pj1TLixYtSrFixXIkp2SP+Ph4vL29KVasmH6hOCB3d3diYmLww48ASwDe3t4ExARgi7GZHS3LrFiJIQZ3d/cUvx9uHWtpSpuY8N5ZLVb7vjJijDw/3mTOuG9v3VeZ+blyxrHei/TGm1N27tzJgAEDCA4OxsPDg88//5xevXoxb948hz2tTfVT/qL6yXloXzkP7SvnoX3lmGJjYxk3bhyff/45AK1atWLatGnUq1cvW+unHJ9EoXnz5qxfvz7FsrVr19K8efOc3rSIiIjkY4ZhMGXKFFq1akVwcDBVq1Zl165dPPnkkw7bjEqm+klERETMcvr0aR544AF7Q+q1115jw4YNlC6d/R+SZropdfPmTQ4cOMCBAweApLAHDhwgODgYSDp0fMiQIfb1n3nmGU6dOsUrr7zCn3/+yRdffMHChQt58cUXs2cEIiIiImnYunUrL774IgkJCfTv3589e/ZQv359U7KofhIRERFn8dRTT7Fnzx6KFi3KqlWrmDhxIq6uOXOiXaafdc+ePbRr185+O3nugqFDhzJ79mwuXrxoL7AAKlasyKpVq3jxxReZOnUqZcqU4ZtvvqFz587ZEF9EREQkba1atWLs2LFUrlyZkSNHmnp0lOonERERcRZfffUVo0ePZsaMGZQrVy5Ht5XpplTbtm0xDCPd+2fPnp3mY/bv35/ZTYmIiIhkmGEYfPPNN3Tv3p1SpUoBMGnSJJNTJVH9JCIiIo7q3LlzrF+/nmHDhgFQuXJlVq9enSvbzvE5pURERERyWnh4OAMHDuTpp59m4MCBJCQkmB1JRERExOH98ssvNGzYkMcff9x+leLcpKaUiIiIOLWDBw/SpEkTFixYgKurKz179sTFxcXsWCIiIiIOKyEhgX/9619069aNa9eu0ahRIypXrpzrOXJmpioRERGRHGYYBt9++y3PPfccMTExlC1blgULFugKdSIiIiJ3cOHCBQYOHMiWLVsAGD16NJMmTcLDwyPXs6gpJSIiIk4nMjKSkSNH8v333wPQrVs3vvvuO4oVK2ZyMhERERHHtW7dOgYNGsTVq1fx9fXlm2++oX///qbl0el7IiIi4nQMw+C///0vLi4uTJw4kRUrVqghJSIiInIXwcHBXL16lXr16rFnzx5TG1KgI6VERETEiRiGgcViwcfHh0WLFnHt2jVat25tdiwRERERh5VcPwEMHz4cq9XKgAED8PLyMjmZjpQSERERJxAVFcUTTzzBpEmT7Mtq166thpSIiIjIHWzatInmzZtz7do1ACwWC8OGDXOIhhSoKSUiIiIO7tixYzRr1oyZM2fyxhtvcOHCBbMjiYiIiDg0m83Ghx9+SIcOHdi1axcTJkwwO1KadPqeiIiIOKwff/yRp556ips3b+Lv788PP/xA6dKlzY4lIiIi4rBCQkIYPHgwq1evBmDIkCFMnDjR5FRp05FSIiIi4nBiYmIYNWoUAwcO5ObNm7Rp04YDBw7QoUMHs6OJiIiIOKzt27fTsGFDVq9ejaenJ99++y2zZ8+mQIECZkdLk46UEhEREYeSmJhIu3bt2LlzJwBvvPEG77zzDq6uKltERERE0rN8+XL69u1LQkIC1apVIygoiHr16pkd645U3YmIiIhDcXFx4ZFHHuHEiRPMnTuXLl26mB1JRERExOG1atWKMmXK0KxZM2bMmIGvr6/Zke5KTSkRERExXVxcHBcvXqR8+fIAPP/88wwcOBB/f3+Tk4mIiIg4rpMnT1K5cmUsFgtFihRh165dFC9eHIvFYna0DNGcUiIiImKqs2fP0qpVKzp16kR4eDiQdLliNaRERERE0mYYBv/3f/9HrVq1mDFjhn25v7+/0zSkQE0pERERMdHKlStp2LAhu3fv5urVqxw9etTsSCIiIiIOLSwsjP79+/P8888THx/Pli1bMAzD7FhZoqaUiIiImGLNmjX06NGDGzducN9997F//36aNm1qdiwRERERh3XgwAGaNGnCokWLcHNzY+rUqcydO9epjo66lZpSIiIikqsiiQRg69atQNL8UVu3bqVChQomphIRERFxXIZhMGPGDJo1a8bJkycpX748W7du5fnnn3fahhRoonMRERHJZTvZCYCHhwfz5s2jb9++JicSERERcWx//PEHI0eOxGaz0b17d+bMmUPRokXNjnXP1JQSERGRXNWCFvzFX4wcOVINKREREZEMqF27Nh988AEuLi689NJLWK1548Q3NaVEREQkR0UQwRGO0IxmAHjhBUCxYsXMjCUiIiLi0ObMmUOzZs2oXr06AK+99prJibKfmlIiIiKSY05xisUsJpJI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4/89nrMfnuXXGb9m6rmucY3lLL/j3z15pYbKq/VTpppSfn5+uLi4cPny5RTLL1++TMmSae/ot956i8GDB/Pkk08CULduXSIjI3n66ad54403sFpTH0rn4eGBh4dHquVubm76heIknGlfRUdHk0ACNpy3MXO7BBKIJhogxX6w2WypxmuLtjl1Uyp5rDab7a5jdXa2aBsJ0flnvI6+b49znKUsJZpoPPCgF72obamNq6trpn+uHH2s2S298eam3Nyu6ifJKO0r56F95Ty0r/4nOjqaQhTC38RL2cUQwwpWcIQjANSgBr3de1OlShWioqMy/XdJZv7ucXZ5tX7K1MmV7u7uNG7cmPXr19uX2Ww21q9fn+Jw9FtFRUWlKpxcXFyApA6piIiIs4knnlWsIppoSlOaZ3iGmtQ0O5Y4KNVPIiIiSQ5xiCMcwYqVznRmAAPwsniZHUtMlOnT98aOHcvQoUNp0qQJ999/P1OmTCEyMpLhw4cDMGTIEAICApg4cSIAPXr0YPLkyTRs2NB++Plbb71Fjx497MWViIiIM3HDjX704zCH6UQnXB1pxlBxSKqfREREoDGNucxl6lOfspQ1O444gExX0QMGDODq1auMHz+eS5cu0aBBA1avXk2JEiUACA4OTvHJ3ptvvonFYuHNN9/k/PnzFC9enB49evDBBx9k3yhERERy2ElOEk00dakLQNl//olkhOonERHJj2KJZQtbaE1rPPDAipXudDc7ljiQLH20++yzz/Lss8+med+mTZtSbsDVlbfffpu33347K5sSERExlQ0bm//554orJShh6lwM4rxUP4mISH5yhSssZCEhhHCTm/Smt9mRxAHpfAMREZF03OQmi1nMaU4DUJ/6FKGIyalEREREHNsBDrCSlSSQgC++NKKR2ZHEQakpJSIikobTnGYxi7nJTdxwowc9qEc9s2OJiIiIZFpISEiubCeOOH7hF/azH4BKVKIPffDBJ0e3m1vjk+ynppSIiMhtfuM3NrABA4PiFKc//SlOcbNjiYiIiGRJREREjm/jOtf5kR+5whUA2tGOVrTCivUuj7x3uTE+yRlqSomIiNwmnngMDBrQgG50wx13syOJiIiIODRXXIkkkgIUoC99qUQlsyOJE1BTSkREBEgkERdcAGhLWwIIoDrVTU4lIiIi4rhurZ8KUpCBDKQQhfDF1+Rk4ixy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smXLhndx71TbVypeicDAQAZPGsy7775L5cqViYiI4Pvvv6dChQq0bNkS93zu4ARexS3fT9xPp3yidP/yMe+MYfTo0eQpmodmzZoRFxfH0aNHiYqKYuDAgXR7oxsLViyg39h+jB8/Hj8/P45/dRw/Pz9q165NiSol+H3575yPPk/BggXJnj27+ZMrdz93i7b69evHyJEj8fLyolmzZty6dQtPT0+KFy+e6jzfnvg2L774IiUrleSll14iMTGRXbt2MXjwYErmLImbmxtf7PyCV155hVOnTjHvs3kAeD7jiVdxLzxCU96DvYp64eXtleo1cfVxxcPDg2HThzFp0iRu377NhLkTCAgIoGjtogC45HDBOdnZ4hwepe1SHqUwmUycPXuWwoULExoaSvbs2Rk0aBBDhw4lJiaGunXrcuvWLX766Sdy5MhB165d6datGx988AFvvfUWvXr14ujRoyxfvhyA27dvpzl4Fx8fz927d/nhhx9ITEy0WBcT82QuEmstj5KhlJ8c04EDB/jjjz8oUKAAI0aMwM/Pjx07dti6rH+UGd9ns1J+gqyToZ5kfgLHyFBZKT/16dcnVX4C0sxQyk/2mZ/SNSiVJ08enJ2duXr1qsXyq1ev4ufn99B933//faZPn853331H5cqVH7rtmDFjGDp0qPn5rVu3KFSoEM899xy5c+dOT8nylN0bqQWoVKkS//nPf3B2dub555/H1dX1H/a2vffee493332XPvTBj4f/DjuSMMJYxjLeeecdRoz467vc959vQc+CVFxakZOvnCT5buoRckfxKOfq6H3r5Olk7qvQu6FP5HyzFc6G71xfYokl0ZT4j9vbQgIJXOc6BQoUsJhdkpSURHR0NDcv3Ez1SR/Ae8PeY+6ncxk7eixh18LwzeVL9UrVaVyhMTEXYoi7FgfJpFxM8z5xYSkzTO5f3unZTjiPdWbhsoWMHzceL08vypYsS9+ufc3brZyzkuDZwXTu1JnEpETKlivLu0PfJeZCDM0rNadx3ca0a9uOm7dv8sGEDwhqH2Ru794xEkigRo0aODs707VrV/NFr69evcqff/5JbnJbnGv1gtX5eMbHzFkyhzmz55A9W3bqVq9LTPsYvPBi9oTZTF8wnU8+/oSKZSsyduBY+gzpw90/7hKTLYbY0JS7AMVcisE1h2uq1yThRgJF/IvQom4LOnfsTNStKJo924zJb042b5N4O5Gk6CSL1+tR2s5FLoa8PoRx48YxcOBAevbsybJly5gxYwbPPPMMc+fO5a233iJXrlxUq1aNMWPGkDNnTipUqMD69esZNmwYixcvpnbt2kyZMoW+ffuSI0cOcubMmep3ITY2Fk9PTxo1apRqIOf69esP/uV7CqyRoZSfHMf9+alNmzaULFmS7Nmz8+KLLzpEfoLM9T57T1bKT5D5M9TTyE9g/xkqK+UngOdrPI+TkxMvvviixU1D0spQyk/2mZ/SNSjl5uZGjRo12L17NwEBAUDK1K7du3czaNCgB+43c+ZMpkyZwjfffEPNmjX/sR13d/c0vwPp6urqMG/UmV1CQgKjR48mW7ZsTJo0CUi5kn/x4sXZvn27w/RVcnIyd+/eJZFEknHsYHG/RBK5y12Sk5Mt+iGt802+m+zQoSo95+roku8mk3j3yZxvcmwyGPz1sFPJpEwfvv9TnNmzZ6dca+kBp+nq7Mrw14Yz/LXhqVcmQ9ALQQS9EJRq/1aNW6XcyeZvyzu07ECHlh3SPBbAM/mfYfH0/926/X+flt27e4y7i/tf6+7bz3zHnPvaioyMJC4ujr59+5rP1zCMNKdVA7Rp0oY2TdqkWVNAiwACWgRYrLq/zfrV61s8//trMqzfMIb1GwZA746902xjzoQ5qc7hUdoG+L9X/4+ur3alYMGCFCxY0Lzd4MGDGTx4cJrnC9C+fXvat7e8LfSrr776wO2dnFK+vpDWe5K136OskaGUnxzD4cOHGTRoEBs3bjT//r/88ssOlZ8gc77PZqX8BFknQz3J/ASOkaGyWn6Kj4+na9euFuf7oAyl/JTCnvJTur++N3ToUHr37k3NmjWpXbs2c+bMITo62nwnmV69euHv78+0adMAmDFjBuPHj2fVqlUULVqUsLAwALJnz66LNzqo33//naCgIA4ePIjJZKJHjx66O4yISAYlJCZwLeoaCxcupHr16lSvXt3WJclTogyVtRmGwUcffcTQoUOJj49n1KhRfPHFF/+8o4iIpJKQmMCNqBvMWjiLihUrUqlSJVuXJBmU7kGpoKAgwsPDGT9+PGFhYVStWpWdO3eapwZeuXLFYoRy4cKFxMfH06lTJ4vjTJgwgYkTJz5e9WJ127dvp2fPnkRGRuLt7c3y5cs1ICUi8hh+PvYzgf0DKVy4MEuXLrV1OfIUKUNlXbdu3aJfv36sW7cOgICAAD788EMbVyUi4rju5afihYszZcYUW5cjjyFDFzofNGjQA6ea79271+L5pUuXMtKE2JnExETGjRvH9OnTgZTbia5bty7NC/CKiMijq1+jPpd+vkQ44RZTsSVzUobKeo4dO0ZgYCC//fYbLi4uzJw5k8GDB//jbdVFROTB6tdI+SpdAgmEE27rcuQxWPXue+KYDMOgXbt27Ny5E4CBAwcya9asNK9bISIiIiIp9u7dS+vWrYmNjaVQoUKsXbuWevXq2bosERERu6FBKflHJpOJoKAg9u/fz5IlS+jcubOtSxIRERGxe7Vq1aJ48eIULVqUzz//XHdBFBER+RsNSkmakpKS+P333ylatCiQcleYVq1a/eNtq0VERESysosXL1KkSBGcnJzIli0be/bsIU+ePBbXCxMREZEUeneUVK5evUrLli1p2LAhERER5uUakBIRERF5sM8//5yKFSsya9Ys87J8+fJpQEpEROQB9A4pFr7//nuqVq3K7t27iYyM5NixY7YuSURERMSu3b17l759+9K7d29iYmLYs2cPycnJti5LRETE7mlQSgBITk5m6tSpNG3alLCwMCpUqMAvv/xCs2bNbF2aiIiIiN06e/YsderU4dNPP8VkMjFp0iS+/vprzY4SERF5BLqmlBAREUHPnj3Nd9fr1asXH330EdmyZbNxZSJiCyFhIURGRVqtPd9cvvj7+VutPXvUoH0DOnfpzPDhw21dioikw5o1a+jXrx937twhX758rFq1Sh/oiWRRyk/WV6d9Hfp06UP7bu1tXYo8Bg1KCe+88w47d+7Ew8ODBQsW0KdPH0wmk63LEhEbCAkLoWHHJsTFx1itTXc3L37cuDfLB6unadYns9jy7RZCr4bi5upGpbKVGDVgFNUrVrd1aSIO6/Lly/Tq1YuEhAQaN27M6tWrKVCggK3LEhEbUH7KnJSfrEODUsL06dO5fPkyM2bMoHLlyrYuR0RsKDIq8n+BagVQzgotniYuvgeRUZEKVU9R8cLFeXfEuxTxL0JsXCyLVy+m26Bu7N+8n9w+ukW9SEYUKVKEDz74gLCwMCZOnIiLi2K1SFal/JQ5KT9Zh949s6AbN26wfPlyBg8ejMlkIleuXOzYscPWZYmIXSkH2OenQJ06daJw4cLkcsvF2i1rcXVxpWfHngx7bdhD9zMMgw8Wf8Car9YQERmBj7cPbZu1ZfLwyQBs2L6BT9d8yvnL5/Hy8KJBrQYEDw0mj28eAA4cPkBg/0BWzlvJ1PlTOX/5PNUrVWfhlIUcP32c4DnBhIWH0bJVS2YMmYGnu2dKva93okyJMgBs3L4RFxcXenXsxYj+Ix44KzUqKorhw4ezefNm4uLiqFyuMsFDgqlQukKGXrMOrTpYPJ8weAKrt6zm1G+naFi7YYaOKZIVbd68mWLFilG1alUABg0aZNuCRMTOKD/ZQ37asmULsbGxlC1blklDJlGldJUMvWbKT9ahQaks5ueff6Zz585cunQJDw8P3njjDVuXJCKSblu3bqVf9358vexrDp84zJDgIdSqUotGdRo9cJ9t/9rG4lWL+WjKR5QpUYZr169x6r+nzOsTExMZ8foIShQpQcSNCIJnBzMkeAhfzP3C4jizFs9iysgpeHp48vqY1+k/pj9ubm4seHcB0bHR9B3Zl6UFlzKw10DzPuu3radL+y5sXb6V46ePM3LqSPz9/OneoXuatQYGBuLp6cmKFSu4e/cuOzftJGhAED9u/BEfbx9+OvITPd7q8dDXaMaYGbzU+qVUy+MT4lm5eSU5s+fM8CCXSFYTHx/PyJEjmTt3LiVLluTw4cPkzJnT1mWJiKRLVslPO3bsIDY2lkWLFtF9QHflJzunQakswjAM5s+fz7Bhw0hISKB48eLUqVPH1mWJiGRIqVKlGNxvMK64UrxwcZavW86+Q/seGqpCwkLImzsvDes0xNXFFX8/f6pVqGZe36V9F/PPRZ4pwuThk2nTuw3RMdFk8/rrxg8j+4+kVpVaAHRt35VpC6ZxYPMBijxTBJygffv2HPjlgEWoKpi/IMFDgzGZTJQsWpIz586wePXiNEPVvn37OHToENeuXeP69euEhoYydvBYdn2/i227t9HjpR5ULleZb1d++9DXKK9vXovnu37cxYCxA7gbe5f8efKzev5qfHP5PvQYIpJy7ajOnTtz6NAhADp06ICnp6eNqxIRSb/MnJ8OHTpkzk/u7u6EhoYyePBg9n2/T/nJzmlQKgu4efMmffv2ZcOGDQB07NiRTz/9FG9vbxtXJiKSMSVLlrR4ni9PPiJuRDx0nxeavcCS1Uuo92I9nqv3HE0bNOX5hs+brwNz/PRxZn0yi1O/neLm7ZskJycDKWGsdPHS5uOUL1Xe/HNe37x4enimBKp7teTLxy8Hf7Fou3rF6hZTzWtUrsHHKz8mKSkJZ2dni22PHTvGnTt3yJ07N4ZhYBgGJkzExsVyOeQyAJ4enhQrVOwfX6f7NajZgG9XfktkVCSrvlxF/7f7s3XZVvP0ehFJbevWrfTq1YsbN27g4+PDZ599Rrt27WxdlohIhmTm/HTq1ClzfgLMGSouLk75yc5pUCqTO3r0KJ06deL8+fO4uroya9YsBg0apLvriYhD+/sFhU0mkzkEPYi/nz8/bPiBHw/9yI+HfuTtGW+z8IuFbPxkIwkJCXR7sxtN6jZh/uT55PbJTUhYCN3e7EZ8QvyD2zaBq4tr6lqMh9fyMHfu3KFAgQLs3buXq1evcu3aNXzxxQUXvHOkfJiQkennXp5eFCtUjGKFilGjUg0avNSA1VtW82afNzNcq0hmlZiYyNixY5k5cyYAtWvXZt26dRQpUuQf9hQRsV+ZOT9FR0eb8xNgkaFy50gZqFJ+sk8alMrkbt68ycWLFylSpAjr1q2jdu3ati5JRMRmPD08adGoBS0ataB3p940DmzMmXNnMAyDGzdvMGbQGPNdbI6dOvbE2j1y8ojF819P/EqxwsVSfcoHUL16dcLCwnBxcaFYsWK4u7uTl7y48ld4y8j0878zko1UgVFEUjg5OXH06FEA3nrrLWbOnImbm5ttixIRsRFHyE+VKlUy56eiRYvi5eWVKkMpP9knDUplQoZhmGdCNW7cmHXr1vHcc8/h66vvvopI1rX267UkJydTrUI1PD082bRjEx7uHvj7+WMYBm6ubixbt4yeL/Xk7PmzzPl0zhNrO+RqCBNnT6RHhx6cPHuSpeuWMn7w+DS3bd68OfXq1SMgIIBRo0aRLVs2roRfYe/+vbRu0poq5auka/p5zN0Y5i6dS4tGLcifJz+RUZEsX7+csPAwXmj2whM7R5HM4F6GcnJyYsWKFezfv5+AgABblyUiYjOOkp8aNmxozk8zZ87E29ubkydPcmT/Edo2aav8ZMc0KJXJnDx5kj59+vDFF19QtmxZIOUaUiIi6XM6k7UD3jm8mf/ZfIJnB5OUnETZkmVZ/sFy88UqZ0+YzfSPprN07VIqlqnIuLfG0WdYnyfSdqc2nYiNi+WFl1/A2dmZV7u8So8OaU8fN5lMbN++nbFjxzJ06FAiIiLIlzsfdavVzdD1C5ycnDh/6TyvbXuNyKhIfLx9qFK+Cps+2WS+1bJIVpeUlMTEiRMJDw9n0aJFAOTNm1cDUiKSTspP9pCf+vTpQ3h4OL6+vtSrVk/5yc5pUCoTWbZsGQMHDuTu3bsMHjyYnTt32rokEXEwvrl8cXfzIi7+4d+3f5Lc3bzSdReTDRs2EBoaarFs6ftL/3G/Vk1a0apJqweuD2gZQEDLAItlIT+HmH+uX6O+xXOAoHZBBLULslg2evRo/q/z/8F9l0VwcXFh0rBJTB89Pc2293+1n3DCzc9z5MjBvHnzGD16NKGhoam+vpceHu4eLHlvSYb2FckKwsLC6NatG3v27AHg5Zdfpm7dujauSkQcifJTgMUya+Wnn776iQQSzBnqXn6aN28eoaGhj5WhlJ+sR4NSmUBMTAwDBw5k+fLlALRs2ZIvvvjCtkWJiEPy9/Pnx417iYyKtFqbvrl8zdchEBGxpj179tC1a1euXr1KtmzZWLx4sQakRCTdlJ9EMk6DUg7uzJkzBAYGcvLkSZycnJg0aRJjxozBycnJ1qWJiIPy9/N3yJCzaccmRk0blea6Z/yeYc+6PVauSETsVXJyMlOmTGHixIkkJydTsWJF1q9fb770gYhIeik/iWSMBqUc2K+//kqjRo2Ijo7Gz8+P1atX06RJE1uXJSJiEy0ataBaxWpprvv7bYetacPHG2zWtoikrUePHqxevRqAV155hQ8//BAvLy8bVyUiYn3KT2JrGpRyYJUqVaJq1aq4ubmxatUq/Pz8bF2SiIjNZM+WnezZstu6DBFxAD179uSrr75iwYIF9O7d29bliIjYjPKT2JoGpRzMxYsX8ff3x83NDVdXV7766iu8vb1xdna2dWkiIiIidik5OZnz589TqlQpAFq3bs2lS5fIkyf9d2QSERGRJ0cXHnIgGzZsoEqVKowZM8a8zNfXVwNSIiIiIg9w/fp12rdvT506dbh06ZJ5uQakREREbE+DUg4gLi6ON998k8DAQG7fvs3PP/9MfHy8rcsSERERsWv//ve/qV69Otu2bSMmJoajR4/auiQRERG5jwal7NzFixd59tlnmT9/PgCjR4/mX//6F25ubjauTERERMQ+GYbBnDlzaNiwIVeuXKFkyZL8+9//JiAgwNaliYiIyH10TSk7tmXLFl5++WWioqLw9fXl888/p23btrYuS0RERMRuRUVF8corr7B582YAAgMDWbJkCTlz5rRxZSIiIvJ3GpSyU5GRkfTq1Ytbt25Rt25d1q5dS+HChW1dlohkASFhIURGRVqtPd9cvvj7+VutPXvUoH0DOnfpzPDhw21diojDmzVrFps3b8bV1ZXZs2czYMAATCaTrcsSkUxO+cn66rSvQ58ufWjfrb2tS5HHoEEpO+Xr68uSJUs4ePAg06dP19f1RMQqQsJCaNipIXFxcVZr093dnR83/Jjlg9XTtP1f2/li0xccP3OcqJtRfLPiGyqWqWixTWxcLJPmTGLLri3Ex8fTpG4Tpo6aSt7ceW1UtUjGjB07llOnTjF69Ghq1apl63JEJAtQfsqclJ+sQ4NSdmTHjh14eHjw3HPPASnTzQMDA21clYhkJZFRkSmB6iXAGjemioC4TXFERkUqVD1FMbEx1K5Sm3bN2zFiyog0t5k4eyK79+3m42kfkzN7Tsa+N5a+I/uy5dMtVq5WJH1u377Nhx9+yKhRo3B2dsbDw4ONGzfauiwRyUKUnzIn5Sfr0KCUHUhMTGTChAlMnTqVfPnycezYMfz8/GxdlohkZXmAgrYuIm2dOnWicOHC5HLLxdota3F1caVnx54Me23YQ/czDIMPFn/Amq/WEBEZgY+3D22btWXy8MkAbNi+gU/XfMr5y+fx8vCiQa0GBA8NJo9vSro8cPgAgf0DWTlvJVPnT+X85fNUr1SdhVMWcvz0cYLnBBMWHkbLVi2ZMWQGnu6eKfW+3okyJcoAsHH7RlxcXOjVsRcj+o944FeKoqKiGD58OJs3byYuLo7K5SoTPCSYCqUrZOw1a9MJgN9Df09z/a07t1izZQ3z353Ps7WeBWD2+Nk0DmzM4ROHqVGpRobaFXnajh8/TmBgIP/973+Jj49n4sSJti5JRLIy5Se7yE9btmwhNjaWsmXLMmnIJKqUrpKx10z5ySo0KGVjoaGhdOvWje+//x5ImR3l4+Nj46pEROzb1q1b6de9H18v+5rDJw4zJHgItarUolGdRg/cZ9u/trF41WI+mvIRZUqU4dr1a5z67ynz+sTEREa8PoISRUoQcSOC4NnBDAkewhdzv7A4zqzFs5gycgqeHp68PuZ1+o/pj5ubGwveXUB0bDR9R/ZlacGlDOw10LzP+m3r6dK+C1uXb+X46eOMnDoSfz9/unfonmatgYGBeHp6smLFCu7evcvOTTsJGhDEjxt/xMfbh5+O/ESPt3o89DWaMWYGL7V+6VFeTo6fPk5CYgINazc0LytZtCT+fv4KVWKXDMNg6dKlDBo0iNjYWAoVKkTLli1tXZaIiF3LKvlpx44dxMbGsmjRIroP6K78ZOc0KGVDu3fvplu3bly7do0cOXKwZMkSOnfubOuyRETsXqlSpRjcbzCuuFK8cHGWr1vOvkP7HhqqQsJCyJs7Lw3rNMTVxRV/P3+qVahmXt+lfRfzz0WeKcLk4ZNp07sN0THRZPPKZl43sv9IalVJuU5N1/ZdmbZgGgc2H6DIM0XACdq3b8+BXw5YhKqC+QsSPDQYk8lEyaIlOXPuDItXL04zVO3bt49Dhw5x7do1rl+/TmhoKGMHj2XX97vYtnsbPV7qQeVylfl25bcPfY3y+j76tQzCr4fj5uqGdw7vVMcIvx7+yMcRsYbo6GgGDBjA559/DkCbNm34/PPPyZ07t40rExGxb5k5Px06dMicn9zd3QkNDWXw4MHs+36f8pOd06CUDSQnJzN58mSCg4MxDIPKlSuzfv16SpcubevSREQcQsmSJS2e58uTj4gbEQ/d54VmL7Bk9RLqvViP5+o9R9MGTXm+4fO4uKS8FR4/fZxZn8zi1G+nuHn7JsnJyUBKGCtd/K9/n8uXKm/+Oa9vXjw9PFMC1b1a8uXjl4O/WLRdvWJ1i6nmNSrX4OOVH5OUlISzs7PFtseOHePOnTvkzp0bwzAwDAMTJmLjYrkcchkATw9PihUq9o+vk0hmc+bMGTp27MipU6dwdnbm3XffZeTIkTg5Odm6NBERu5eZ89OpU6fM+QkwZ6i4uDjlJzunQSkbMJlMnDt3DsMw6NevH3PnzsXT09PWZYmIOIx7Qegek8lkDkEP4u/nzw8bfuDHQz/y46EfeXvG2yz8YiEbP9lIQkIC3d7sRpO6TZg/eT65fXITEhZCtze7EZ8Q/+C2TeDq4pq6FuPhtTzMnTt3KFCgAHv37uXq1atcu3YNX3xxwcX8SdyTnn6eN3de4hPiuXn7psWnfeGR4bp7jNiVhIQELly4QIECBVizZg2NGj34030REbGUmfNTdHS0OT8BFhkqd46UgSrlJ/ukQSkrMgwDk8mEyWRi4cKFBAQE0LFjR1uXJSKSZXh6eNKiUQtaNGpB7069aRzYmDPnzmAYBjdu3mDMoDHmu9gcO3XsibV75OQRi+e/nviVYoWLpfqUD6B69eqEhYXh4uJCsWLFcHd3Jy95ceWv8Pakp59XLlcZVxdX9v28j7ZN2wJw7tI5QsJCdD0Esbl7+QmgUqVKbN68merVq5MvXz4bVyYikjU4Qn6qVKmSOT8VLVoULy+vVBlK+ck+aVDKCpKTk5k+fTo///wzmzZtwmQykT17dg1IiYhY0dqv15KcnEy1CtXw9PBk045NeLh74O/nj2EYuLm6sWzdMnq+1JOz588y59M5T6ztkKshTJw9kR4denDy7EmWrlvK+MHj09y2efPm1KtXj4CAAEaNGkW2bNm4En6Fvfv30rpJa6qUr5Lu6ec3bt4gJCyEqxFXATh/+TwA+XLnI1+efOTMnpMuL3YheHYwuXLmIke2HLzz3jvUqFRDoUps6r///S/dunVj/vz51K1bF4BWrVrZuCoRkazDUfJTw4YNzflp5syZeHt7c/LkSY7sP0LbJm2Vn+yYBqWesoiICHr27MnOnTsB2L59O23btrVxVSIi/+DhlxdwvHYA7xzezP9sPsGzg0lKTqJsybIs/2A5vrl8AZg9YTbTP5rO0rVLqVimIuPeGkefYX2eSNud2nQiNi6WF15+AWdnZ17t8io9OqQ9fdxkMrF9+3bGjh3L0KFDiYiIIF/ufNStVtd8e+X0+vaHbxk6aaj5+YCxAwAY2m+o+VbQE4dMxMnkxGujXiMuPo4mdZswddTUDLUn8iSsXbuWvn37cufOHd58800OHTr0wNuAi4jYBeUnu8hPffr0ITw8HF9fX+pVq6f8ZOc0KPUUHThwgKCgIP744w88PDyYP38+bdq0sXVZIiIP5JvLF3d3d+I2xVmtTXd3d3OweRQbNmwgNDTUYtnS95f+436tmrSiVZMHz7AIaBlAQMsAi2UhP4eYf65fo77Fc4CgdkEEtQuyWDZ69Gj+r/P/wX2XRXBxcWHSsElMHz09zbb3f7WfcP66S0uOHDmYN28eo0ePJjQ0NNXX99IrrTr/zsPdg6mjpipIic3FxcUxdOhQPvroIwAaN27MqlWrNCAlInZL+SnAYpm18tNPX/1EAgnmDHUvP82bN4/Q0NDHzlDKT9ahQamnwDAMPvjgA0aPHk1iYiKlSpViw4YNVK5c2daliYg8lL+fPz9u+JHIqEirtemby9d8HQIRydouXLhAYGAgv/76KwBvv/02wcHBqS7OKyJiT5SfRDJO7/BPwZtvvsmCBQsA6NKlC5988gk5cuSwcVUiIo/G38/fIUPOph2bGDVtVJrrnvF7hj3r9li5IhFJj99++41atWpx8+ZNcufOzRdffEHr1q1tXZaIyCNRfhLJGA1KPQU9e/bks88+Y+bMmfTv31/TzUVErKBFoxZUq1gtzXV/v+2wNW34eIPN2hZxJCVLlqRJkyaEh4ezZs0aChUqZOuSREQyPeUnsTUNSj0BhmFw+vRpypcvD0CdOnW4fPkyvr6P/h1fERF5PNmzZSd7tuy2LkNE0uHKlSv4+PiQI0cOTCYTX3zxBR4eHri62u5/hEREshLlJ7E1J1sX4Ohu3rxJUFAQ1atX59ixY+blGpASERERebBt27ZRrVo1Xn/9dQzDAFIuUqsBKRERkaxDg1KP4ejRo9SsWZP169eTlJRkMSglIiIiIqklJiYyevRoXnjhBSIjIzl37hy3b9+2dVkiIiJiAxqUygDDMFi8eDF169bl3LlzFC5cmH379tGrVy9blyYiIiJit0JCQmjatCkzZswAUm4O8+OPP5IzZ04bVyYiIiK2oGtKpdOdO3fo378/K1euBOCFF17gs88+09f1RERERB7i22+/pUePHoSHh5MjRw6WLl1Kp06dbF2WiIiI2JBmSqXTsmXLWLlyJc7OzsyYMYMtW7ZoQEpERETkIe7evUufPn0IDw+natWq/PrrrxqQEhEREc2USq8BAwbwyy+/0K9fP5599llblyMi8sSFhIUQGRVptfZ8c/ni7+dvtfbsUYP2DejcpTPDhw+3dSkiT4WnpycrV65k7dq1zJ49Gw8PD1uXJCLyRCk/WV+d9nXo06UP7bu1t3Up8hg0KPUPYmJimDlzJqNGjcLT0xNnZ2c+++wzW5clIvJUhISF0KhjI2LjY63WpoebBz9s/CHLB6unJSExgZkLZ/Kv/f/icshlcmbPybO1n+XtQW/jl9fPvN2NmzcY9944du3bhZPJiTZN2zBp2CSyeWWzYfXiyPbs2UNUVBQdOnQAoEmTJjRp0sS2RYmIPAXKT5mP8pP1aFDqIc6cOUNgYCAnT54kLCyMRYsW2bokEZGnKjIqktj4WF7iJfKQ56m3F0EEm+I3ERkVqVD1lNyNvcuJMyd469W3KF+qPDdv32TCrAn0GdaHHZ/vMG/35rg3uRpxldXzV5OYmMiQSUMYOXUkC95dYMPqxRElJyczdepUJkyYgJeXF4cPH6Z06dK2LktE5KlRfsp8lJ+sR4NSD7Bq1Spee+01oqOjyZ8/P507d7Z1SSIiVpOHPBSkoK3LSFOnTp0oXLgwudxysXbLWlxdXOnZsSfDXhv20P0Mw+CDxR+w5qs1RERG4OPtQ9tmbZk8fDIAG7Zv4NM1n3L+8nm8PLxoUKsBwUODyeObEi4PHD5AYP9AVs5bydT5Uzl/+TzVK1Vn4ZSFHD99nOA5wYSFh9GyVUtmDJmBp7tnSr2vd6JMiTIAbNy+ERcXF3p17MWI/iMwmUxp1hoVFcXw4cPZvHkzcXFxVC5XmeAhwVQoXSHdr1fO7DlZs2CNxbJ3R7xL25fbEhIWgr+fP79d/I09B/ew/bPtVClfJWWb4e/Sc3BPxr01zuITQZGHCQ8Pp0ePHnz77bdAyt/rM888Y+OqRESsQ/nJPvLTli1biI2NpWzZskwaMokqpauk+/VSfrIeDUr9TWxsLIMHD+bjjz8GUqaar169Gj8//UKJiNiLrVu30q97P75e9jWHTxxmSPAQalWpRaM6jR64z7Z/bWPxqsV8NOUjypQow7Xr1zj131Pm9YmJiYx4fQQlipQg4kYEwbODGRI8hC/mfmFxnFmLZzFl5BQ8PTx5fczr9B/THzc3Nxa8u4Do2Gj6juzL0oJLGdhroHmf9dvW06V9F7Yu38rx08cZOXUk/n7+dO/QPc1aAwMD8fT0ZMWKFdy9e5edm3YSNCCIHzf+iI+3Dz8d+Ykeb/V46Gs0Y8wMXmr9Uprrbt25hclkImf2nAAcPnEY7xze5kAF0LB2Q5ycnDhy8gitn2v90LZEAPbt20eXLl0ICQnB09OTBQsW0KdPH1uXJSIi/5NV8tOOHTuIjY1l0aJFdB/QXfnJzmlQ6j4XLlygY8eOHD16FJPJxNixY5k4cSLOzs62Lk1ERO5TqlQpBvcbjCuuFC9cnOXrlrPv0L6HhqqQsBDy5s5LwzoNcXVxxd/Pn2oVqpnXd2nfxfxzkWeKMHn4ZNr0bkN0TLTFdQFG9h9JrSq1AOjavivTFkzjwOYDFHmmCDhB+/btOfDLAYtQVTB/QYKHBmMymShZtCRnzp1h8erFaYaqffv2cejQIa5du8b169cJDQ1l7OCx7Pp+F9t2b6PHSz2oXK4y36789qGvUV7fvGkuj42LZer8qQS0CCBH9hwAXLt+jdw+uS22c3FxIVfOXFy7fu2h7YgAvP/++4wePZqkpCTKlCnD+vXrqVSpkq3LEhGR+2Tm/HTo0CFzfnJ3dyc0NJTBgwez7/t9yk92ToNS93FxceHKlSvkyZOHFStW0LJlS1uXJCIiaShZsqTF83x58hFxI+Kh+7zQ7AWWrF5CvRfr8Vy952jaoCnPN3weF5eUt8Ljp48z65NZnPrtFDdv3yQ5ORlICWOli/91PZzypcqbf87rmxdPD8+UQHWvlnz5+OXgLxZtV69Y3WKqeY3KNfh45cckJSWl+uDj2LFj3Llzh9y5c2MYBoZhYMJEbFwsl0MuA+Dp4UmxQsX+8XX6u4TEBPqP6Y9hGEwbPS3d+4s8yNWrV0lKSqJbt24sWrSIHDly2LokERH5m8ycn06dOmXOT4A5Q8XFxSk/2bksPyiVnJyMk5MTAIULF+bLL7+kWLFiuv6BiIgduxeE7jGZTOYQ9CD+fv78sOEHfjz0Iz8e+pG3Z7zNwi8WsvGTjSQkJNDtzW40qduE+ZPnk9snNyFhIXR7sxvxCfEPbtsEri6uqWsxHl7Lw9y5c4cCBQqwd+9erl69yrVr1/DFFxdc8M7hDZCh6ef3AtUfYX+w7qN15k/5APLlzsf1G9ct9k9MTCTqVhT5cufL8LlI5nZ/hpo6dSp16tShY8eOD7zWh4iI2FZmzk/R0dHm/ARYZKjcOVIGqpSf7FOWHpS6ePEiXbp0Ydy4cbzwwgsANGzY0MZViYjI0+Lp4UmLRi1o0agFvTv1pnFgY86cO4NhGNy4eYMxg8aY72Jz7NSxJ9bukZNHLJ7/euJXihUulubXw6tXr05YWBguLi4UK1YMd3d38pIXV/4Kb+mdfn4vUF28cpH1i9bjm8vXYtsalWpw8/ZNjp8+TuVylQHY/8t+kpOTqVaxGiL3MwyDuXPn8uWXX7Jr1y5cXV1xdXWlU6dOti5NRESeAkfIT5UqVTLnp6JFi+Ll5ZUqQyk/2acsOyj11Vdf0bt3b6KiohgyZAitWrVKNXIsIiKZx9qv16aEhArV8PTwZNOOTXi4e+Dv549hGLi5urFs3TJ6vtSTs+fPMufTOU+s7ZCrIUycPZEeHXpw8uxJlq5byvjB49Pctnnz5tSrV4+AgABGjRpFtmzZuBJ+hb3799K6SWuqlK+SrunnCYkJvDbqNU6cOcFnsz8jKSmJaxEp1znI5Z0LN1c3ShUrxXP1nmPElBFMHzOdxMRExr43lhdbvKg7x4iFqKgoXnnlFTZv3gyk3K24d+/eNq5KRESeFkfJTw0bNjTnp5kzZ+Lt7c3Jkyc5sv8IbZu0VX6yY1luFCYhIYExY8Ywa9YsAGrXrs26des0ICUicp8IHn59AUdrB8A7hzfzP5tP8OxgkpKTKFuyLMs/WG7+1Gv2hNlM/2g6S9cupWKZiox7axx9hj2ZO4d1atOJ2LhYXnj5BZydnXm1y6v06JD29HGTycT27dsZO3YsQ4cOJSIigny581G3Wl3z7ZXTI+xaGN/+kPKpYIvuLSzWrV+0nvo16gPw4eQPeee9dwgaEISTyYk2TduYb/csAvDrr78SGBjIhQsXcHV1ZdasWfTq1cvWZYmI2A3lJ/vIT3369CE8PBxfX1/qVaun/GTnstRIzO+//05QUBAHDx4EYPDgwcyYMQM3NzcbVyYiYh98c/ni4ebBpvhNVmvTw80j1XToh9mwYQOhoaEWy5a+v/Qf92vVpBWtmrR64PqAlgEEtAywWBbyc4j55/o16ls8BwhqF0RQuyCLZaNHj+b/Ov8f3HdZBBcXFyYNm8T00dPTbHv/V/sJJ9z8PEeOHMybN4/Ro0cTGhqa6ut76VGoYKFUdafFx9uHBe8uyFAbkrkZhsGiRYsYPHgw8fHxFClShHXr1lG7dm1blyYiYheUnwIsllkrP/301U8kkGDOUPfy07x58wgNDX2sDKX8ZD1ZZlDq6tWrVKtWjevXr+Pt7c3SpUt56aWX/nlHEZEsxN/Pnx82/kBkVKTV2vTN5Wu+DoGI2J/x48fz7rvvAim37F6+fDk+Pj42rkpExH4oP4lkXJYZlMqfPz+dOnXi559/Zt26dZQoUcLWJYmI2CV/P3+HDDmbdmxi1LRRaa57xu8Z9qzbY+WKRDKHnj17smDBAvNXSnV3PRGR1JSfRDImUw9K/fnnnzg7O5MvX8rtGOfMmQOAh4eHDasSEZGnoUWjFg+808nfbztsTRs+3mCztkUywjAMjh8/TpUqVQAoXbo0Fy9exNvb28aViYjIk6b8JLaWaQeldu/eTbdu3ahUqRLffPMNzs7OGowSEcnEsmfLTvZs2W1dhohDi46OZsCAAaxYsYJdu3bRtGlTAA1IiYhkUspPYmtOti7gSUtKSmLSpEk8//zzXLt2jfDwcCIirHd3AhERERFHdPr0aWrXrs3nn39ufi4iIiLyNGWqmVLXrl2je/fufPfddwD07duXefPm4enpaePKRETsjJHyMDBsXYnIU2MY+v1+VCtWrOD1118nJiaGAgUKsHr1aho3bmzrskRE7I8ylGRy1s5PmWam1A8//EDVqlX57rvv8PLy4vPPP2fx4sUakBIRSUPc9TiS4pNIIMHWpYg8NTExMQC4utrumhj27u7du7z22mv07NmTmJgYmjdvzpEjRzQgJSLyAAm3E0hOTCaZZFuXIvJUWDs/ZYqZUklJSbzxxhv8+eeflCtXjg0bNlC+fHlblyUiYrcSoxO5/NVl3Lq6QS5wxRUT9nVHrUQSU/6bmEhsbOxfyxMTzevtrWYMiI+PJ9FITNduDnmuj+FB5/ukGIZBTEwM165dI1euXDg7Oz/xNjKLLVu2sHjxYkwmExMmTOCdd97R6yUi8hDxUfGE/xJOtuez4ePhY3fvzw6ZKTKYn8BBzzeDMmt+yhSDUs7OzqxevZp58+Yxd+5csmXLZuuSRETs3rll5wAo0r4Izm7O2Nv7dRJJ3OEOiYmJREdHm5ffvHmTqKgoYonFGTv7n2cTuOFGfEQ86ZnV75Dn+hgedL5PWq5cufDz83tqx88MgoKCOHjwIO3ataN58+a2LkdExP4ZcHbhWXKWzMndPHeVn56EDOYncNDzzaDMmp8cdlDq4MGDnDlzhj59+gBQuXJllixZYuOqREQciAHnlp7j4pqLeOTxsLtQdY1rrGMdb731Fm+88YZ5+cKFC5k7dy6d6Uw+8tmwwtScPJwoM6sMZ4edJTn20af1O+K5Po4Hne+T5Orqqhk/aYiLi2PKlCkMGTIEHx8fTCYTc+fOtXVZIiIOJTY8ln2v7MPTzxOTs30FKEfMFBnNT+CY55tRmTU/ZWhQasGCBbz33nuEhYVRpUoVPvzwQ2rXrv3A7devX8+4ceO4dOkSpUqVYsaMGbRp0yZDBRuGwZw5cxg5ciQAFStWpFatWhk6loiIQFJMEtFXnt6nLRl1k5tc5jLR0dF4eHiYl0dHR3P58mVucpNs2NfMWCdPp5RPr65Ek3z30UOVI57r43jQ+WYFtsxQFy9eJDAwkMOHD3PixAk2b96c0dMQEcnyjESDmD9ibF1GKo6YKTKan8AxzzejMmt+SveFzteuXcvQoUOZMGECv/76K1WqVKFly5Zcu3Ytze0PHDhA165defXVVzly5AgBAQEEBARw8uTJdBcbFRXFSy+9xNChQ0lMTKRjx46UKVMm3ccRERERsTZbZqgvv/ySatWqcfjwYXx9fXnttdce93REREREHlu6B6U++OAD+vXrR58+fShfvjyLFi3Cy8uLpUuXprn93LlzadWqFSNGjKBcuXJMnjyZ6tWrM3/+/HQX26xZM7788kvc3NxYsGABq1evJmfOnOk+joiIiIi12SpDjRs3jg4dOnDz5k3q1avH0aNHad269ZM4JREREZHHkq5Bqfj4eA4fPmxxIUwnJyeaN2/OwYMH09zn4MGDqS6c2bJlywdu/zCXL1+mWLFiHDhwgAEDBmAy2df3d0VERETSYssMtXDhQgCGDRvG999/T6FChdJZvYiIiMjTka5rSkVERJCUlET+/PktlufPn58zZ86kuU9YWFia24eFhT2wnbi4OOLi4szPb968CUDJkiXp0KEDW7ZsYcuWLekp/ZFVq1aNRo0apVr+ww8/cOTIkafSpi096fN1cnKiTJkyTJkyheTk9H0f+GlL61zj4+Px8PAgggiSsa96H0ckkXjgQXx8PNevXzcvv/98TR4mSsaUJMQjhCQjyYbVPp5HOVdH71tnD2dzX0UYEZn+fO9xxL69v6/S83fliOf6OB50vlatITISSLlWpTVYI0M9KD+5ubkREBCAl5cXkydPfpzTeKislKGyUn6CrJOhslJ+gsz/3qP85DjnmtH8BI55vhmVafOTkQ4hISEGYBw4cMBi+YgRI4zatWunuY+rq6uxatUqi2ULFiww8uXL98B2JkyYYJByM0g99NBDDz300EOPp/Y4f/58eqJQhlkjQyk/6aGHHnrooYce1ng8yfyUrplSefLkwdnZmatXr1osv3r1Kn5+fmnu4+fnl67tAcaMGcPQoUPNz6OioihSpAhXrlzB29s7PSWLld26dYtChQrx+++/63pfdk595TjUV45DfeU4bt68SeHChfH19bVKe9bIUMpPjkv/djgO9ZXjUF85DvWV43ga+Sldg1Jubm7UqFGD3bt3ExAQAEBycjK7d+9m0KBBae5Tr149du/ezeDBg83Ldu3aRb169R7Yjru7O+7u7qmWe3t765fUQeTMmVN95SDUV45DfeU41FeOw8kp3fd8yRBrZCjlJ8enfzsch/rKcaivHIf6ynE8yfyUrkEpgKFDh9K7d29q1qxJ7dq1mTNnDtHR0fTp0weAXr164e/vz7Rp0wB46623aNy4MbNmzaJt27asWbOGX375hU8++eSJnYSIiIiIvVOGEhEREbGU7kGpoKAgwsPDGT9+PGFhYVStWpWdO3eaL8R55coVi1Gz+vXrs2rVKt555x3efvttSpUqxZdffknFihWf3FmIiIiI2DllKBERERFL6R6UAhg0aNADp5rv3bs31bLAwEACAwMz0hSQMh19woQJaU5JF/uivnIc6ivHob5yHOorx2GrvrJmhtLvo+NQXzkO9ZXjUF85DvWV43gafWUyDCvdC1lEREREREREROR/rHN1TxERERERERERkftoUEpERERERERERKxOg1IiIiIiIiIiImJ1djMotWDBAooWLYqHhwd16tTh0KFDD91+/fr1lC1bFg8PDypVqsT27dutVKmkp68WL15Mw4YN8fHxwcfHh+bNm/9j38qTk96/q3vWrFmDyWQiICDg6RYoQPr7KSoqioEDB1KgQAHc3d0pXbq0/g20kvT21Zw5cyhTpgyenp4UKlSIIUOGEBsba6Vqs64ffviBdu3aUbBgQUwmE19++eU/7rN3716qV6+Ou7s7JUuWZPny5U+9zidB+clxKD85DuUnx6EM5TiUoRyDTTKUYQfWrFljuLm5GUuXLjX+85//GP369TNy5cplXL16Nc3t9+/fbzg7OxszZ840Tp06ZbzzzjuGq6urceLECStXnvWkt6+6detmLFiwwDhy5Ihx+vRp4+WXXza8vb2NP/74w8qVZz3p7at7Ll68aPj7+xsNGzY0XnzxResUm4Wlt5/i4uKMmjVrGm3atDH27dtnXLx40di7d69x9OhRK1ee9aS3r1auXGm4u7sbK1euNC5evGh88803RoECBYwhQ4ZYufKsZ/v27cbYsWONTZs2GYCxefPmh25/4cIFw8vLyxg6dKhx6tQp48MPPzScnZ2NnTt3WqfgDFJ+chzKT45D+clxKEM5DmUox2GLDGUXg1K1a9c2Bg4caH6elJRkFCxY0Jg2bVqa23fu3Nlo27atxbI6deoYr7/++lOtU9LfV3+XmJho5MiRw/jss8+eVonyPxnpq8TERKN+/frGkiVLjN69eytUWUF6+2nhwoVG8eLFjfj4eGuVKP+T3r4aOHCg0bRpU4tlQ4cONRo0aPBU6xRLjxKoRo4caVSoUMFiWVBQkNGyZcunWNnjU35yHMpPjkP5yXEoQzkOZSjHZK0MZfOv78XHx3P48GGaN29uXubk5ETz5s05ePBgmvscPHjQYnuAli1bPnB7eTIy0ld/FxMTQ0JCAr6+vk+rTCHjfTVp0iTy5cvHq6++ao0ys7yM9NNXX31FvXr1GDhwIPnz56dixYpMnTqVpKQka5WdJWWkr+rXr8/hw4fN09MvXLjA9u3badOmjVVqlkfniLlC+clxKD85DuUnx6EM5TiUoTK3J5EtXJ50UekVERFBUlIS+fPnt1ieP39+zpw5k+Y+YWFhaW4fFhb21OqUjPXV340aNYqCBQum+sWVJysjfbVv3z4+/fRTjh49aoUKBTLWTxcuXOBf//oX3bt3Z/v27Zw7d44BAwaQkJDAhAkTrFF2lpSRvurWrRsRERE8++yzGIZBYmIi/fv35+2337ZGyZIOD8oVt27d4u7du3h6etqosgdTfnIcyk+OQ/nJcShDOQ5lqMztSWQom8+Ukqxj+vTprFmzhs2bN+Ph4WHrcuQ+t2/fpmfPnixevJg8efLYuhx5iOTkZPLly8cnn3xCjRo1CAoKYuzYsSxatMjWpcnf7N27l6lTp/LRRx/x66+/smnTJrZt28bkyZNtXZqIOBDlJ/ul/ORYlKEchzJU1mLzmVJ58uTB2dmZq1evWiy/evUqfn5+ae7j5+eXru3lychIX93z/vvvM336dL777jsqV678NMsU0t9X58+f59KlS7Rr1868LDk5GQAXFxfOnj1LiRIlnm7RWVBG/qYKFCiAq6srzs7O5mXlypUjLCyM+Ph43NzcnmrNWVVG+mrcuHH07NmTvn37AlCpUiWio6N57bXXGDt2LE5O+lzIXjwoV+TMmdMuZ0mB8pMjUX5yHMpPjkMZynEoQ2VuTyJD2bw33dzcqFGjBrt37zYvS05OZvfu3dSrVy/NferVq2exPcCuXbseuL08GRnpK4CZM2cyefJkdu7cSc2aNa1RapaX3r4qW7YsJ06c4OjRo+ZH+/btee655zh69CiFChWyZvlZRkb+pho0aMC5c+fMoRfgv//9LwUKFFCYeooy0lcxMTGpQtO9IJxy7UixF46YK5SfHIfyk+NQfnIcylCOQxkqc3si2SK9V2B/GtasWWO4u7sby5cvN06dOmW89tprRq5cuYywsDDDMAyjZ8+exujRo83b79+/33BxcTHef/994/Tp08aECRN0S2MrSW9fTZ8+3XBzczM2bNhg/Pnnn+bH7du3bXUKWUZ6++rvdPcY60hvP125csXIkSOHMWjQIOPs2bPG1q1bjXz58hnvvvuurU4hy0hvX02YMMHIkSOHsXr1auPChQvGt99+a5QoUcLo3LmzrU4hy7h9+7Zx5MgR48iRIwZgfPDBB8aRI0eMy5cvG4ZhGKNHjzZ69uxp3v7e7YxHjBhhnD592liwYEG6b2dsC8pPjkP5yXEoPzkOZSjHoQzlOGyRoexiUMowDOPDDz80ChcubLi5uRm1a9c2/v3vf5vXNW7c2Ojdu7fF9uvWrTNKly5tuLm5GRUqVDC2bdtm5YqzrvT0VZEiRQwg1WPChAnWLzwLSu/f1f0Uqqwnvf104MABo06dOoa7u7tRvHhxY8qUKUZiYqKVq86a0tNXCQkJxsSJE40SJUoYHh4eRqFChYwBAwYYN27csH7hWcyePXvSfO+51z+9e/c2GjdunGqfqlWrGm5ubkbx4sWNZcuWWb3ujFB+chzKT45D+clxKEM5DmUox2CLDGUyDM1/ExERERERERER67L5NaVERERERERERCTr0aCUiIiIiIiIiIhYnQalRERERERERETE6jQoJSIiIiIiIiIiVqdBKRERERERERERsToNSomIiIiIiIiIiNVpUEpERERERERERKxOg1IiIiIiIiIiImJ1GpQSEQBefvllAgICHusYly5dwmQycfTo0Qdus3fvXkwmE1FRUQAsX76cXLlymddPnDiRqlWrPlYdGWUymfjyyy+t2uajvGaPomjRosyZM+eh29ji/ERERDIz5SflJxF5PBqUEnEwL7/8MiaTCZPJhJubGyVLlmTSpEkkJibaurRHUr9+ff7880+8vb3TXD98+HB2795tfv4kwl6TJk3Mr1lajyZNmjzW8UVERMS+KT+ln/KTiFiDi60LEJH0a9WqFcuWLSMuLo7t27czcOBAXF1dGTNmTKpt4+PjcXNzs0GVaXNzc8PPz++B67Nnz0727NmfaJubNm0iPj4egN9//53atWvz3XffUaFCBXNNGWEYBklJSbi46J9SERERe6f8lD7KTyJiDZopJeKA3N3d8fPzo0iR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8s0333D27Fly586Nt7e3+VOxvn37MmjQILJly0aHDh0ydPzHlSNHDoYPH86QIUNITk7m2Wef5ebNm+zfv5+cOXPSu3dvxo8fT40aNahQoQJxcXFs3bo1XSFz2LBh1KpVi8mTJxMUFMTBgweZP38+H330UZrbN2/enNKlS9O7d2/ee+89bt26xdixY5/UKYuIiGQJyk9Pj/KTiNyjmVIiWYCXlxfffPMNkZGR1KpVi06dOtGsWTPmz59vsV2zZs0oVaoUjRo1IigoiPbt25uvteDk5MSaNWs4fPgwFStWZMiQIbz33ntptjd9+nSmT59OlSpV2LdvH1999VWqu6U8qn79+lGmTBlq1qxJ3rx5LT7x6tq1Ky4uLnTt2hUPD48MHf9JmDx5MuPGjWPatGmUK1eOVq1asW3bNooVKwakfFo5ZswYKleuTKNGjXB2dmbNmjWPfPzq1auzbt061qxZQ8WKFRk/fjyTJk164DUgnJyc2Lx5M3fv3qV27dr07duXKVOmPIlTFRERyTKUn54u5ScRATAZhmHYuggRkYy4dOkSJUqU4Oeff6Z69eq2LkdERETE7ik/iYg90aCUiDichIQErl+/zvDhw7l48WKq6wWIiIiIiCXlJxGxR/r6nog4nP3791OgQAF+/vlnFi1aZOtyREREROye8pOI2CPNlBIREREREREREavTTCkREREREREREbE6DUqJiIiIiIiIiIjVaVBKRERERERERESsToNSIiIiIiIiIiJidRqUEhERERERERERq9OglIiIiIiIiIiIWJ0GpURERERERERExOo0KCUiIiIiIiIiIlanQSkREREREREREbG6/wc3AC4SH7NEYAAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "While we can observe slight differences, the overall behavior is the same, even for $N=3$.\n", + "\n", + "While still being a high number and multiplying the cost by 4, this initial work provides a first lead towards a practical, generic, and automatic way to detect hallucinations to build Trustworthy AI systems." + ], + "metadata": { + "id": "Hmix48dNulZY" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Conclusion" + ], + "metadata": { + "id": "x57c91JDrw6h" + } + }, + { + "cell_type": "markdown", + "source": [ + "We have seen through that notebook that hallucinations can be detected automatically and reliably with a metric that works for any text generation task.\n", + "\n", + "This is a potential great step towards developping Trustworthy AI, which will be necessary but not necessarily sufficient, in order to build AI systems that we can rely on.\n", + "\n", + "We hope we have provided you with useful insights, whether you are a researcher or practitioner, or anything in between.\n", + "\n", + "If you are interested in Confidential and Trustworthy AI, do not hesitate to have a look at [BlindChat](https://chat.mithrilsecurity.io/), our privacy-by-design Conversational AI, or [contact us](https://www.mithrilsecurity.io/contact) directly." + ], + "metadata": { + "id": "0VUj2IFYryin" + } + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "XHMrO1mVLF39" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file