diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6a5e1f60..b59c7de4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,6 +30,14 @@ jobs: ports: - 9200:9200 steps: + - name: Remove irrelevant software # to free up required disk space + run: | + df -h + sudo rm -rf /opt/ghc + sudo rm -rf /opt/hostedtoolcache/CodeQL + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet + df -h - name: Checkout uses: actions/checkout@v4 - name: Setup python @@ -37,7 +45,7 @@ jobs: with: python-version: '3.10' - name: Setup nbtest - run: make nbtest + run: make install-nbtest - name: Warm up continue-on-error: true run: sleep 30 && PATCH_ES=1 ELASTIC_CLOUD_ID=foo ELASTIC_API_KEY=bar bin/nbtest notebooks/search/00-quick-start.ipynb diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 97e0e1b3..2856f309 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,3 +13,7 @@ repos: # generic [...]_PASSWORD=[...] pattern - --additional-pattern - '_PASSWORD=[0-9a-zA-Z_-]{10}' +- repo: https://github.com/ambv/black + rev: 24.1.1 # Use latest tag on GitHub + hooks: + - id: black-jupyter diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 45fbda35..2f0a10fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,24 +5,34 @@ If you would like to contribute new example apps to the `elasticsearch-labs` rep ## Before you start Prior to opening a pull request, please: -- Create an issue to [discuss the scope of your proposal](https://github.com/elastic/elasticsearch-labs/issues). We are happy to provide guidance to make for a pleasant contribution experience. -- Sign the [Contributor License Agreement](https://www.elastic.co/contributor-agreement/). We are not asking you to assign copyright to us, but to give us the right to distribute your code without restriction. We ask this of all contributors in order to assure our users of the origin and continuing existence of the code. You only need to sign the CLA once. +1. Create an issue to [discuss the scope of your proposal](https://github.com/elastic/elasticsearch-labs/issues). We are happy to provide guidance to make for a pleasant contribution experience. +2. Sign the [Contributor License Agreement](https://www.elastic.co/contributor-agreement/). We are not asking you to assign copyright to us, but to give us the right to distribute your code without restriction. We ask this of all contributors in order to assure our users of the origin and continuing existence of the code. You only need to sign the CLA once. +3. Install pre-commit... ### Pre-commit hook This repository has a pre-commit hook that ensures that your contributed code follows our guidelines. It is strongly recommended that you install the pre-commit hook on your locally cloned repository, as that will allow you to check the correctness of your submission without having to wait for our continuous integration build. To install the pre-commit hook, clone this repository and then run the following command from its top-level directory: ```bash -make pre-commit +make install ``` If you do not have access to the `make` utility, you can also install the pre-commit hook with Python: ```bash python -m venv .venv +.venv/bin/pip install -qqq -r requirements-dev.txt .venv/bin/pre-commit install ``` +Now it can happen that you get an error when you try to commit, for example if your code or your notebook was not formatted with the [black formatter](https://github.com/psf/black). In this case, please run this command from the repo root: + +```bash +make pre-commit +``` + +If you now include the changed files in your commit, it should succeed. + ## General instruction - If the notebook or code sample requires signing up a Elastic cloud instance, make sure to add appropriate `utm_source` and `utm_content` in the cloud registration url. For example, the Elastic cloud sign up url for the Python notebooks should have `utm_source=github&utm_content=elasticsearch-labs-notebook` and code examples should have `utm_source=github&utm_content=elasticsearch-labs-samples`. diff --git a/Makefile b/Makefile index 55ffe7c2..cfcba5f6 100644 --- a/Makefile +++ b/Makefile @@ -1,20 +1,24 @@ # this is the list of notebooks that are integrated with the testing framework NOTEBOOKS = $(shell bin/find-notebooks-to-test.sh) +VENV = .venv -.PHONY: install pre-commit nbtest test notebooks +.PHONY: install install-pre-commit install-nbtest test notebooks -test: nbtest notebooks +test: install-nbtest notebooks notebooks: bin/nbtest $(NOTEBOOKS) -install: pre-commit nbtest +pre-commit: install-pre-commit + $(VENV)/bin/pre-commit run --all-files -pre-commit: - python -m venv .venv - .venv/bin/pip install -qqq -r requirements-dev.txt - .venv/bin/pre-commit install +install: install-pre-commit install-nbtest -nbtest: - python3 -m venv .venv - .venv/bin/pip install -qqq elastic-nbtest +install-pre-commit: + python -m venv $(VENV) + $(VENV)/bin/pip install -qqq -r requirements-dev.txt + $(VENV)/bin/pre-commit install + +install-nbtest: + python3 -m venv $(VENV) + $(VENV)/bin/pip install -qqq elastic-nbtest diff --git a/bin/mocks/elasticsearch.py b/bin/mocks/elasticsearch.py index 684996d0..3a2a9fd7 100644 --- a/bin/mocks/elasticsearch.py +++ b/bin/mocks/elasticsearch.py @@ -8,30 +8,30 @@ def patch_elasticsearch(): # remove the path entry that refers to this directory for path in sys.path: - if not path.startswith('/'): + if not path.startswith("/"): path = os.path.join(os.getcwd(), path) - if __file__ == os.path.join(path, 'elasticsearch.py'): + if __file__ == os.path.join(path, "elasticsearch.py"): sys.path.remove(path) break # remove this module, and import the real one instead - del sys.modules['elasticsearch'] + del sys.modules["elasticsearch"] import elasticsearch # restore the import path sys.path = saved_path - # preserve the original Elasticsearch.__init__ method + # preserve the original Elasticsearch.__init__ method orig_es_init = elasticsearch.Elasticsearch.__init__ # patched version of Elasticsearch.__init__ that connects to self-hosted # regardless of connection arguments given def patched_es_init(self, *args, **kwargs): - if 'cloud_id' in kwargs: - assert kwargs['cloud_id'] == 'foo' - if 'api_key' in kwargs: - assert kwargs['api_key'] == 'bar' - return orig_es_init(self, 'http://localhost:9200') + if "cloud_id" in kwargs: + assert kwargs["cloud_id"] == "foo" + if "api_key" in kwargs: + assert kwargs["api_key"] == "bar" + return orig_es_init(self, "http://localhost:9200", timeout=60) # patch Elasticsearch.__init__ elasticsearch.Elasticsearch.__init__ = patched_es_init diff --git a/bin/nbtest b/bin/nbtest index 21a622ad..39683994 100755 --- a/bin/nbtest +++ b/bin/nbtest @@ -2,7 +2,7 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) if [[ ! -f $SCRIPT_DIR/../.venv/bin/nbtest ]]; then - make nbtest + make install-nbtest fi if [[ "$PATCH_ES" != "" ]]; then diff --git a/example-apps/chatbot-rag-app/api/chat.py b/example-apps/chatbot-rag-app/api/chat.py index 87db3c32..8509b4bd 100644 --- a/example-apps/chatbot-rag-app/api/chat.py +++ b/example-apps/chatbot-rag-app/api/chat.py @@ -36,31 +36,39 @@ def ask_question(question, session_id): if len(chat_history.messages) > 0: # create a condensed question condense_question_prompt = render_template( - 'condense_question_prompt.txt', question=question, - chat_history=chat_history.messages) + "condense_question_prompt.txt", + question=question, + chat_history=chat_history.messages, + ) condensed_question = get_llm().invoke(condense_question_prompt).content else: condensed_question = question - current_app.logger.debug('Condensed question: %s', condensed_question) - current_app.logger.debug('Question: %s', question) + current_app.logger.debug("Condensed question: %s", condensed_question) + current_app.logger.debug("Question: %s", question) docs = store.as_retriever().invoke(condensed_question) for doc in docs: - doc_source = {**doc.metadata, 'page_content': doc.page_content} - current_app.logger.debug('Retrieved document passage from: %s', doc.metadata['name']) - yield f'data: {SOURCE_TAG} {json.dumps(doc_source)}\n\n' + doc_source = {**doc.metadata, "page_content": doc.page_content} + current_app.logger.debug( + "Retrieved document passage from: %s", doc.metadata["name"] + ) + yield f"data: {SOURCE_TAG} {json.dumps(doc_source)}\n\n" - qa_prompt = render_template('rag_prompt.txt', question=question, docs=docs, - chat_history=chat_history.messages) + qa_prompt = render_template( + "rag_prompt.txt", + question=question, + docs=docs, + chat_history=chat_history.messages, + ) - answer = '' + answer = "" for chunk in get_llm().stream(qa_prompt): - yield f'data: {chunk.content}\n\n' + yield f"data: {chunk.content}\n\n" answer += chunk.content yield f"data: {DONE_TAG}\n\n" - current_app.logger.debug('Answer: %s', answer) + current_app.logger.debug("Answer: %s", answer) chat_history.add_user_message(question) chat_history.add_ai_message(answer) diff --git a/example-apps/chatbot-rag-app/api/llm_integrations.py b/example-apps/chatbot-rag-app/api/llm_integrations.py index 8fe9d2ac..8c20fe27 100644 --- a/example-apps/chatbot-rag-app/api/llm_integrations.py +++ b/example-apps/chatbot-rag-app/api/llm_integrations.py @@ -5,37 +5,54 @@ LLM_TYPE = os.getenv("LLM_TYPE", "openai") + def init_openai_chat(temperature): OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") - return ChatOpenAI(openai_api_key=OPENAI_API_KEY, streaming=True, temperature=temperature) + return ChatOpenAI( + openai_api_key=OPENAI_API_KEY, streaming=True, temperature=temperature + ) + + def init_vertex_chat(temperature): VERTEX_PROJECT_ID = os.getenv("VERTEX_PROJECT_ID") VERTEX_REGION = os.getenv("VERTEX_REGION", "us-central1") vertexai.init(project=VERTEX_PROJECT_ID, location=VERTEX_REGION) return ChatVertexAI(streaming=True, temperature=temperature) + + def init_azure_chat(temperature): - OPENAI_VERSION=os.getenv("OPENAI_VERSION", "2023-05-15") - BASE_URL=os.getenv("OPENAI_BASE_URL") - OPENAI_API_KEY=os.getenv("OPENAI_API_KEY") - OPENAI_ENGINE=os.getenv("OPENAI_ENGINE") + OPENAI_VERSION = os.getenv("OPENAI_VERSION", "2023-05-15") + BASE_URL = os.getenv("OPENAI_BASE_URL") + OPENAI_API_KEY = os.getenv("OPENAI_API_KEY") + OPENAI_ENGINE = os.getenv("OPENAI_ENGINE") return AzureChatOpenAI( deployment_name=OPENAI_ENGINE, openai_api_base=BASE_URL, openai_api_version=OPENAI_VERSION, openai_api_key=OPENAI_API_KEY, streaming=True, - temperature=temperature) + temperature=temperature, + ) + + def init_bedrock(temperature): - AWS_ACCESS_KEY=os.getenv("AWS_ACCESS_KEY") - AWS_SECRET_KEY=os.getenv("AWS_SECRET_KEY") - AWS_REGION=os.getenv("AWS_REGION") - AWS_MODEL_ID=os.getenv("AWS_MODEL_ID", "anthropic.claude-v2") - BEDROCK_CLIENT=boto3.client(service_name="bedrock-runtime", region_name=AWS_REGION, aws_access_key_id=AWS_ACCESS_KEY, aws_secret_access_key=AWS_SECRET_KEY) + AWS_ACCESS_KEY = os.getenv("AWS_ACCESS_KEY") + AWS_SECRET_KEY = os.getenv("AWS_SECRET_KEY") + AWS_REGION = os.getenv("AWS_REGION") + AWS_MODEL_ID = os.getenv("AWS_MODEL_ID", "anthropic.claude-v2") + BEDROCK_CLIENT = boto3.client( + service_name="bedrock-runtime", + region_name=AWS_REGION, + aws_access_key_id=AWS_ACCESS_KEY, + aws_secret_access_key=AWS_SECRET_KEY, + ) return BedrockChat( client=BEDROCK_CLIENT, model_id=AWS_MODEL_ID, streaming=True, - model_kwargs={"temperature":temperature}) + model_kwargs={"temperature": temperature}, + ) + MAP_LLM_TYPE_TO_CHAT_MODEL = { "azure": init_azure_chat, @@ -44,8 +61,13 @@ def init_bedrock(temperature): "vertex": init_vertex_chat, } + def get_llm(temperature=0): if not LLM_TYPE in MAP_LLM_TYPE_TO_CHAT_MODEL: - raise Exception("LLM type not found. Please set LLM_TYPE to one of: " + ", ".join(MAP_LLM_TYPE_TO_CHAT_MODEL.keys()) + ".") + raise Exception( + "LLM type not found. Please set LLM_TYPE to one of: " + + ", ".join(MAP_LLM_TYPE_TO_CHAT_MODEL.keys()) + + "." + ) return MAP_LLM_TYPE_TO_CHAT_MODEL[LLM_TYPE](temperature=temperature) diff --git a/example-apps/chatbot-rag-app/data/index_data.py b/example-apps/chatbot-rag-app/data/index_data.py index f0407b16..eeef7405 100644 --- a/example-apps/chatbot-rag-app/data/index_data.py +++ b/example-apps/chatbot-rag-app/data/index_data.py @@ -61,14 +61,16 @@ def main(): print(f"Loading data from ${FILE}") - metadata_keys = ['name', 'summary', 'url', 'category', 'updated_at'] + metadata_keys = ["name", "summary", "url", "category", "updated_at"] workplace_docs = [] - with open(FILE, 'rt') as f: + with open(FILE, "rt") as f: for doc in json.loads(f.read()): - workplace_docs.append(Document( - page_content=doc['content'], - metadata={k: doc.get(k) for k in metadata_keys} - )) + workplace_docs.append( + Document( + page_content=doc["content"], + metadata={k: doc.get(k) for k in metadata_keys}, + ) + ) print(f"Loaded {len(workplace_docs)} documents") @@ -92,7 +94,7 @@ def main(): index_name=INDEX, strategy=ElasticsearchStore.SparseVectorRetrievalStrategy(model_id=ELSER_MODEL), bulk_kwargs={ - 'request_timeout': 60, + "request_timeout": 60, }, ) diff --git a/example-apps/internal-knowledge-search/api/app.py b/example-apps/internal-knowledge-search/api/app.py index ade85497..bddcec02 100644 --- a/example-apps/internal-knowledge-search/api/app.py +++ b/example-apps/internal-knowledge-search/api/app.py @@ -10,10 +10,8 @@ def get_identities_index(search_app_name): - search_app = elasticsearch_client.search_application.get( - name=search_app_name) - identities_indices = elasticsearch_client.indices.get( - index=".search-acl-filter*") + search_app = elasticsearch_client.search_application.get(name=search_app_name) + identities_indices = elasticsearch_client.indices.get(index=".search-acl-filter*") secured_index = [ app_index for app_index in search_app["indices"] @@ -36,7 +34,8 @@ def api_index(): @app.route("/api/default_settings", methods=["GET"]) def default_settings(): return { - "elasticsearch_endpoint": os.getenv("ELASTICSEARCH_URL") or "http://localhost:9200" + "elasticsearch_endpoint": os.getenv("ELASTICSEARCH_URL") + or "http://localhost:9200" } @@ -44,11 +43,13 @@ def default_settings(): def search(text): response = requests.request( method="POST", - url=os.getenv("ELASTICSEARCH_URL") + '/' + text, + url=os.getenv("ELASTICSEARCH_URL") + "/" + text, data=request.get_data(), allow_redirects=False, - headers={"Authorization": request.headers.get( - "Authorization"), "Content-Type": "application/json"} + headers={ + "Authorization": request.headers.get("Authorization"), + "Content-Type": "application/json", + }, ) return response.content @@ -59,8 +60,7 @@ def personas(): try: search_app_name = request.args.get("app_name") identities_index = get_identities_index(search_app_name) - response = elasticsearch_client.search( - index=identities_index, size=1000) + response = elasticsearch_client.search(index=identities_index, size=1000) hits = response["hits"]["hits"] personas = [x["_id"] for x in hits] personas.append("admin") @@ -77,9 +77,8 @@ def personas(): def indices(): try: search_app_name = request.args.get("app_name") - search_app = elasticsearch_client.search_application.get( - name=search_app_name) - return search_app['indices'] + search_app = elasticsearch_client.search_application.get(name=search_app_name) + return search_app["indices"] except Exception as e: current_app.logger.warn( @@ -118,8 +117,7 @@ def api_key(): if persona == "admin": role_descriptor = default_role_descriptor else: - identity = elasticsearch_client.get( - index=identities_index, id=persona) + identity = elasticsearch_client.get(index=identities_index, id=persona) permissions = identity["_source"]["query"]["template"]["params"][ "access_control" ] @@ -161,12 +159,14 @@ def api_key(): } } api_key = elasticsearch_client.security.create_api_key( - name=search_app_name+"-internal-knowledge-search-example-"+persona, expiration="1h", role_descriptors=role_descriptor) - return {"api_key": api_key['encoded']} + name=search_app_name + "-internal-knowledge-search-example-" + persona, + expiration="1h", + role_descriptors=role_descriptor, + ) + return {"api_key": api_key["encoded"]} except Exception as e: - current_app.logger.warn( - "Encountered error %s while fetching api key", e) + current_app.logger.warn("Encountered error %s while fetching api key", e) raise e diff --git a/example-apps/internal-knowledge-search/api/elasticsearch_client.py b/example-apps/internal-knowledge-search/api/elasticsearch_client.py index 8a985b20..80d73d71 100644 --- a/example-apps/internal-knowledge-search/api/elasticsearch_client.py +++ b/example-apps/internal-knowledge-search/api/elasticsearch_client.py @@ -31,8 +31,7 @@ ) elif ELASTIC_USERNAME and ELASTIC_PASSWORD: elasticsearch_client = Elasticsearch( - basic_auth=(ELASTIC_USERNAME, ELASTIC_PASSWORD), - cloud_id=ELASTIC_CLOUD_ID + basic_auth=(ELASTIC_USERNAME, ELASTIC_PASSWORD), cloud_id=ELASTIC_CLOUD_ID ) else: raise ValueError( diff --git a/example-apps/relevance-workbench/app-api/app.py b/example-apps/relevance-workbench/app-api/app.py index 7d598439..0ba4044c 100644 --- a/example-apps/relevance-workbench/app-api/app.py +++ b/example-apps/relevance-workbench/app-api/app.py @@ -1,47 +1,54 @@ from flask import Flask, request, jsonify import os -from elasticsearch import Elasticsearch +from elasticsearch import Elasticsearch CLOUD_ID = os.environ["CLOUD_ID"] -ES_USER = os.environ['ELASTICSEARCH_USERNAME'] -ES_PASSWORD = os.environ['ELASTICSEARCH_PASSWORD'] +ES_USER = os.environ["ELASTICSEARCH_USERNAME"] +ES_PASSWORD = os.environ["ELASTICSEARCH_PASSWORD"] datasets = { "movies": { "id": "movies", "label": "Movies", "index": "search-movies", - "search_fields": ["title", "overview", "keywords"], - "elser_search_fields": ["ml.inference.overview_expanded.predicted_value", "ml.inference.title_expanded.predicted_value^0.5"], + "search_fields": ["title", "overview", "keywords"], + "elser_search_fields": [ + "ml.inference.overview_expanded.predicted_value", + "ml.inference.title_expanded.predicted_value^0.5", + ], "result_fields": ["title", "overview"], - "mapping_fields": {"text": "overview", "title": "title"} + "mapping_fields": {"text": "overview", "title": "title"}, } } app = Flask(__name__) + @app.route("/api/search/") def route_api_search(index): """ Execute the search """ [query, rrf, type, k, datasetId] = [ - request.args.get('q'), - request.args.get('rrf', default=False, type=lambda v: v.lower() == 'true'), - request.args.get('type', default='bm25'), - request.args.get('k', default=0), - request.args.get('dataset', default='movies') + request.args.get("q"), + request.args.get("rrf", default=False, type=lambda v: v.lower() == "true"), + request.args.get("type", default="bm25"), + request.args.get("k", default=0), + request.args.get("dataset", default="movies"), ] - if type=='elser': - search_result = run_semantic_search(query, index, **{ 'rrf': rrf, 'k': k, 'dataset': datasetId }) - elif type=='bm25': - search_result = run_full_text_search(query, index, **{ 'dataset': datasetId }) - transformed_search_result = transform_search_response(search_result, datasets[datasetId]['mapping_fields']) - return jsonify(response=transformed_search_result) - + if type == "elser": + search_result = run_semantic_search( + query, index, **{"rrf": rrf, "k": k, "dataset": datasetId} + ) + elif type == "bm25": + search_result = run_full_text_search(query, index, **{"dataset": datasetId}) + transformed_search_result = transform_search_response( + search_result, datasets[datasetId]["mapping_fields"] + ) + return jsonify(response=transformed_search_result) -@app.route("/api/datasets", methods=['GET']) +@app.route("/api/datasets", methods=["GET"]) def route_api_datasets(): """ Return the available datasets @@ -56,193 +63,174 @@ def resource_not_found(e): """ return jsonify(error=str(e)), 404 -def get_text_expansion_request_body(query, size = 10, **options): + +def get_text_expansion_request_body(query, size=10, **options): """ Generates an ES text expansion search request. """ - fields = datasets[options['dataset']]['elser_search_fields'] - result_fields = datasets[options['dataset']]['result_fields'] + fields = datasets[options["dataset"]]["elser_search_fields"] + result_fields = datasets[options["dataset"]]["result_fields"] text_expansions = [] boost = 1 - + for field in fields: split_field_descriptor = field.split("^") - if len(split_field_descriptor) == 2: + if len(split_field_descriptor) == 2: boost = split_field_descriptor[1] field = split_field_descriptor[0] te = {"text_expansion": {}} - te['text_expansion'][field] = { + te["text_expansion"][field] = { "model_text": query, "model_id": ".elser_model_1", - "boost": boost - } + "boost": boost, + } text_expansions.append(te) return { - '_source': False, - 'fields': result_fields, - 'size': size, - 'query': { - "bool": { - "should": text_expansions - } - } + "_source": False, + "fields": result_fields, + "size": size, + "query": {"bool": {"should": text_expansions}}, } -def get_text_expansion_request_body(query, size = 10, **options): + +def get_text_expansion_request_body(query, size=10, **options): """ Generates an ES text expansion search request. """ - fields = datasets[options['dataset']]['elser_search_fields'] - result_fields = datasets[options['dataset']]['result_fields'] + fields = datasets[options["dataset"]]["elser_search_fields"] + result_fields = datasets[options["dataset"]]["result_fields"] text_expansions = [] boost = 1 - + for field in fields: split_field_descriptor = field.split("^") - if len(split_field_descriptor) == 2: + if len(split_field_descriptor) == 2: boost = split_field_descriptor[1] field = split_field_descriptor[0] te = {"text_expansion": {}} - te['text_expansion'][field] = { + te["text_expansion"][field] = { "model_text": query, "model_id": ".elser_model_1", - "boost": boost - } + "boost": boost, + } text_expansions.append(te) return { - '_source': False, - 'fields': result_fields, - 'size': size, - 'query': { - "bool": { - "should": text_expansions - } - } + "_source": False, + "fields": result_fields, + "size": size, + "query": {"bool": {"should": text_expansions}}, } -def get_text_search_request_body(query, size = 10, **options): + +def get_text_search_request_body(query, size=10, **options): """ Generates an ES full text search request. """ - fields = datasets[options['dataset']]['result_fields'] - search_fields = datasets[options['dataset']]['search_fields'] + fields = datasets[options["dataset"]]["result_fields"] + search_fields = datasets[options["dataset"]]["search_fields"] return { - '_source': False, - 'fields': fields, - 'size': size, - 'query': { - "multi_match" : { - "query": query, - "fields": search_fields - } - } - } + "_source": False, + "fields": fields, + "size": size, + "query": {"multi_match": {"query": query, "fields": search_fields}}, + } + -def get_hybrid_search_rrf_request_body(query, size = 10, **options): +def get_hybrid_search_rrf_request_body(query, size=10, **options): """ Generates an ES hybrid search with RRF """ - fields = datasets[options['dataset']]['elser_search_fields'] - result_fields = datasets[options['dataset']]['result_fields'] - search_fields = datasets[options['dataset']]['search_fields'] + fields = datasets[options["dataset"]]["elser_search_fields"] + result_fields = datasets[options["dataset"]]["result_fields"] + search_fields = datasets[options["dataset"]]["search_fields"] text_expansions = [] boost = 1 - + for field in fields: split_field_descriptor = field.split("^") - if len(split_field_descriptor) == 2: + if len(split_field_descriptor) == 2: boost = split_field_descriptor[1] field = split_field_descriptor[0] te = {"text_expansion": {}} - te['text_expansion'][field] = { + te["text_expansion"][field] = { "model_text": query, "model_id": ".elser_model_1", - "boost": boost - } + "boost": boost, + } text_expansions.append(te) return { - '_source': False, - 'fields': result_fields, - 'size': size, - "rank": { - "rrf": { - "window_size": 10, - "rank_constant": 2 - } - }, - 'sub_searches': [ - { - 'query': { - "bool": { - "should": text_expansions - } - } - }, - { - 'query': { - "multi_match" : { - "query": query, - "fields": search_fields - } - } - }] - } - - + "_source": False, + "fields": result_fields, + "size": size, + "rank": {"rrf": {"window_size": 10, "rank_constant": 2}}, + "sub_searches": [ + {"query": {"bool": {"should": text_expansions}}}, + {"query": {"multi_match": {"query": query, "fields": search_fields}}}, + ], + } + + def execute_search_request(index, body): """ Executes an ES search request and returns the JSON response. """ - es = Elasticsearch( - cloud_id=CLOUD_ID, - basic_auth=(ES_USER,ES_PASSWORD) + es = Elasticsearch(cloud_id=CLOUD_ID, basic_auth=(ES_USER, ES_PASSWORD)) + response = es.search( + index=index, + query=body["query"], + fields=body["fields"], + size=body["size"], + source=body["_source"], ) - response = es.search(index=index,query=body["query"], fields=body["fields"], size=body["size"], source=body["_source"]) return response + def execute_search_request_using_raw_dsl(index, body): """ Executes an ES search request using the request library and returns the JSON response. """ - es = Elasticsearch( - cloud_id=CLOUD_ID, - basic_auth=(ES_USER,ES_PASSWORD) + es = Elasticsearch(cloud_id=CLOUD_ID, basic_auth=(ES_USER, ES_PASSWORD)) + response = es.perform_request( + "POST", + f"/{index}/_search", + headers={"content-type": "application/json", "accept": "application/json"}, + body=body, ) - response = es.perform_request("POST", f"/{index}/_search", headers={"content-type": "application/json", "accept": "application/json"}, body=body) return response + def run_full_text_search(query, index, **options): """ Runs a full text search on the given index using the passed query. """ - if query is None or query.strip() == '': - raise Exception('Query cannot be empty') + if query is None or query.strip() == "": + raise Exception("Query cannot be empty") body = get_text_search_request_body(query, **options) response = execute_search_request(index, body) - return response['hits']['hits'] + return response["hits"]["hits"] def run_semantic_search(query, index, **options): """ Runs a semantic search of the provided query on the target index, and reranks the KNN and BM25 results. """ - if options.get('rrf') == True: + if options.get("rrf") == True: body = get_hybrid_search_rrf_request_body(query, **options) # Execute the request using the raw DSL to avoid the ES Python client since sub_searches query are not supported yet response_json = execute_search_request_using_raw_dsl(index, body) - else: + else: body = get_text_expansion_request_body(query, **options) print(body) response_json = execute_search_request(index, body) - return response_json['hits']['hits'] + return response_json["hits"]["hits"] def find_id_index(id: int, hits: list): @@ -251,16 +239,16 @@ def find_id_index(id: int, hits: list): """ for i, v in enumerate(hits): - if v['_id'] == id: + if v["_id"] == id: return i + 1 return 0 + def transform_search_response(searchResults, mappingFields): for hit in searchResults: - fields = hit['fields'] - hit['fields'] = { - 'text': fields[mappingFields['text']], - 'title': fields[mappingFields['title']] + fields = hit["fields"] + hit["fields"] = { + "text": fields[mappingFields["text"]], + "title": fields[mappingFields["title"]], } return searchResults - diff --git a/example-apps/relevance-workbench/data/index-data.py b/example-apps/relevance-workbench/data/index-data.py index dd26cf24..892e5467 100644 --- a/example-apps/relevance-workbench/data/index-data.py +++ b/example-apps/relevance-workbench/data/index-data.py @@ -1,4 +1,3 @@ - from elasticsearch import Elasticsearch, helpers import argparse, os, json import gzip @@ -6,35 +5,41 @@ parser = argparse.ArgumentParser() # required args -parser.add_argument('--data_folder', dest='data_folder', - required=False, default='./data') -parser.add_argument('--es_user', dest='es_user', - required=False, default='elastic') -parser.add_argument('--es_password', dest='es_password', required=True) -parser.add_argument('--cloud_id', dest='cloud_id', required=True) -parser.add_argument('--index_name', dest='index_name', required=False, default='search-movies') -parser.add_argument('--gzip_file', dest='gzip_file', required=False, default='movies-sample.json.gz') +parser.add_argument( + "--data_folder", dest="data_folder", required=False, default="./data" +) +parser.add_argument("--es_user", dest="es_user", required=False, default="elastic") +parser.add_argument("--es_password", dest="es_password", required=True) +parser.add_argument("--cloud_id", dest="cloud_id", required=True) +parser.add_argument( + "--index_name", dest="index_name", required=False, default="search-movies" +) +parser.add_argument( + "--gzip_file", dest="gzip_file", required=False, default="movies-sample.json.gz" +) args = parser.parse_args() + def data_generator(file_json, index, pipeline): for doc in file_json: - doc['_run_ml_inference'] = True + doc["_run_ml_inference"] = True yield { "_index": index, - 'pipeline': pipeline, + "pipeline": pipeline, "_source": doc, } + print("Init Elasticsearch client") es = Elasticsearch( cloud_id=args.cloud_id, basic_auth=(args.es_user, args.es_password), - request_timeout=600 + request_timeout=600, ) print("Indexing movies data, this might take a while...") -file = gzip.open(args.gzip_file, 'r') +file = gzip.open(args.gzip_file, "r") json_bytes = file.read() json_str = json_bytes.decode("utf-8") file_json = json.loads(json_str) @@ -43,21 +48,22 @@ def data_generator(file_json, index, pipeline): success_count = 0 -for ok, info in helpers.streaming_bulk(client=es, actions=data_generator(file_json, args.index_name, args.index_name), raise_on_error=False,): +for ok, info in helpers.streaming_bulk( + client=es, + actions=data_generator(file_json, args.index_name, args.index_name), + raise_on_error=False, +): if ok: success_count += 1 - else: - print(f"Unable to index {info['index']['_id']}: {info['index']['error']}") + else: + print(f"Unable to index {info['index']['_id']}: {info['index']['error']}") progress_bar.update(1) progress_bar.set_postfix(success=success_count) - progress_bar.close() # Calculate the success percentage success_percentage = (success_count / total_documents) * 100 print(f"Indexing completed! Success percentage: {success_percentage}%") print("Done indexing movies data") - - diff --git a/example-apps/search-tutorial/start/search-tutorial/app.py b/example-apps/search-tutorial/start/search-tutorial/app.py index 3269ab47..5c8745ce 100644 --- a/example-apps/search-tutorial/start/search-tutorial/app.py +++ b/example-apps/search-tutorial/start/search-tutorial/app.py @@ -4,18 +4,17 @@ app = Flask(__name__) -@app.get('/') +@app.get("/") def index(): - return render_template('index.html') + return render_template("index.html") -@app.post('/') +@app.post("/") def handle_search(): - query = request.form.get('query', '') - return render_template( - 'index.html', query=query, results=[], from_=0, total=0) + query = request.form.get("query", "") + return render_template("index.html", query=query, results=[], from_=0, total=0) -@app.get('/document/') +@app.get("/document/") def get_document(id): - return 'Document not found' + return "Document not found" diff --git a/example-apps/search-tutorial/v1/search-tutorial/app.py b/example-apps/search-tutorial/v1/search-tutorial/app.py index 3a439783..efd50a56 100644 --- a/example-apps/search-tutorial/v1/search-tutorial/app.py +++ b/example-apps/search-tutorial/v1/search-tutorial/app.py @@ -6,115 +6,113 @@ es = Search() -@app.get('/') +@app.get("/") def index(): - return render_template('index.html') + return render_template("index.html") -@app.post('/') +@app.post("/") def handle_search(): - query = request.form.get('query', '') + query = request.form.get("query", "") filters, parsed_query = extract_filters(query) - from_ = request.form.get('from_', type=int, default=0) + from_ = request.form.get("from_", type=int, default=0) if parsed_query: search_query = { - 'must': { - 'multi_match': { - 'query': parsed_query, - 'fields': ['name', 'summary', 'content'], + "must": { + "multi_match": { + "query": parsed_query, + "fields": ["name", "summary", "content"], } } } else: - search_query = { - 'must': { - 'match_all': {} - } - } + search_query = {"must": {"match_all": {}}} results = es.search( - query={ - 'bool': { - **search_query, - **filters - } - }, + query={"bool": {**search_query, **filters}}, aggs={ - 'category-agg': { - 'terms': { - 'field': 'category.keyword', + "category-agg": { + "terms": { + "field": "category.keyword", } }, - 'year-agg': { - 'date_histogram': { - 'field': 'updated_at', - 'calendar_interval': 'year', - 'format': 'yyyy', + "year-agg": { + "date_histogram": { + "field": "updated_at", + "calendar_interval": "year", + "format": "yyyy", }, }, }, size=5, - from_=from_ + from_=from_, ) aggs = { - 'Category': { - bucket['key']: bucket['doc_count'] - for bucket in results['aggregations']['category-agg']['buckets'] + "Category": { + bucket["key"]: bucket["doc_count"] + for bucket in results["aggregations"]["category-agg"]["buckets"] }, - 'Year': { - bucket['key_as_string']: bucket['doc_count'] - for bucket in results['aggregations']['year-agg']['buckets'] - if bucket['doc_count'] > 0 + "Year": { + bucket["key_as_string"]: bucket["doc_count"] + for bucket in results["aggregations"]["year-agg"]["buckets"] + if bucket["doc_count"] > 0 }, } - return render_template('index.html', results=results['hits']['hits'], - query=query, from_=from_, - total=results['hits']['total']['value'], aggs=aggs) + return render_template( + "index.html", + results=results["hits"]["hits"], + query=query, + from_=from_, + total=results["hits"]["total"]["value"], + aggs=aggs, + ) -@app.get('/document/') +@app.get("/document/") def get_document(id): document = es.retrieve_document(id) - title = document['_source']['name'] - paragraphs = document['_source']['content'].split('\n') - return render_template('document.html', title=title, paragraphs=paragraphs) + title = document["_source"]["name"] + paragraphs = document["_source"]["content"].split("\n") + return render_template("document.html", title=title, paragraphs=paragraphs) @app.cli.command() def reindex(): """Regenerate the Elasticsearch index.""" response = es.reindex() - print(f'Index with {len(response["items"])} documents created ' - f'in {response["took"]} milliseconds.') + print( + f'Index with {len(response["items"])} documents created ' + f'in {response["took"]} milliseconds.' + ) def extract_filters(query): filters = [] - filter_regex = r'category:([^\s]+)\s*' + filter_regex = r"category:([^\s]+)\s*" m = re.search(filter_regex, query) if m: - filters.append({ - 'term': { - 'category.keyword': { - 'value': m.group(1) - } - }, - }) - query = re.sub(filter_regex, '', query).strip() + filters.append( + { + "term": {"category.keyword": {"value": m.group(1)}}, + } + ) + query = re.sub(filter_regex, "", query).strip() - filter_regex = r'year:([^\s]+)\s*' + filter_regex = r"year:([^\s]+)\s*" m = re.search(filter_regex, query) if m: - filters.append({ - 'range': { - 'updated_at': { - 'gte': f'{m.group(1)}||/y', - 'lte': f'{m.group(1)}||/y', - } - }, - }) - query = re.sub(filter_regex, '', query).strip() + filters.append( + { + "range": { + "updated_at": { + "gte": f"{m.group(1)}||/y", + "lte": f"{m.group(1)}||/y", + } + }, + } + ) + query = re.sub(filter_regex, "", query).strip() - return {'filter': filters}, query + return {"filter": filters}, query diff --git a/example-apps/search-tutorial/v1/search-tutorial/search.py b/example-apps/search-tutorial/v1/search-tutorial/search.py index 9c97b11e..f251918a 100644 --- a/example-apps/search-tutorial/v1/search-tutorial/search.py +++ b/example-apps/search-tutorial/v1/search-tutorial/search.py @@ -10,35 +10,36 @@ class Search: def __init__(self): - self.es = Elasticsearch(cloud_id=os.environ['ELASTIC_CLOUD_ID'], - api_key=os.environ['ELASTIC_API_KEY']) + self.es = Elasticsearch( + cloud_id=os.environ["ELASTIC_CLOUD_ID"], + api_key=os.environ["ELASTIC_API_KEY"], + ) client_info = self.es.info() - print('Connected to Elasticsearch!') + print("Connected to Elasticsearch!") pprint(client_info.body) def create_index(self): - self.es.indices.delete(index='my_documents', ignore_unavailable=True) - self.es.indices.create(index='my_documents') + self.es.indices.delete(index="my_documents", ignore_unavailable=True) + self.es.indices.create(index="my_documents") def insert_document(self, document): - return self.es.index(index='my_documents', document=document) + return self.es.index(index="my_documents", document=document) def insert_documents(self, documents): operations = [] for document in documents: - operations.append({'index': {'_index': 'my_documents'}}) + operations.append({"index": {"_index": "my_documents"}}) operations.append(document) return self.es.bulk(operations=operations) def reindex(self): self.create_index() - with open('data.json', 'rt') as f: + with open("data.json", "rt") as f: documents = json.loads(f.read()) return self.insert_documents(documents) def search(self, **query_args): - return self.es.search(index='my_documents', **query_args) + return self.es.search(index="my_documents", **query_args) def retrieve_document(self, id): - return self.es.get(index='my_documents', id=id) - + return self.es.get(index="my_documents", id=id) diff --git a/example-apps/search-tutorial/v2/search-tutorial/app.py b/example-apps/search-tutorial/v2/search-tutorial/app.py index 9b3e994b..b3c5ac1f 100644 --- a/example-apps/search-tutorial/v2/search-tutorial/app.py +++ b/example-apps/search-tutorial/v2/search-tutorial/app.py @@ -6,61 +6,50 @@ es = Search() -@app.get('/') +@app.get("/") def index(): - return render_template('index.html') + return render_template("index.html") -@app.post('/') +@app.post("/") def handle_search(): - query = request.form.get('query', '') + query = request.form.get("query", "") filters, parsed_query = extract_filters(query) - from_ = request.form.get('from_', type=int, default=0) + from_ = request.form.get("from_", type=int, default=0) if parsed_query: search_query = { - 'must': { - 'multi_match': { - 'query': parsed_query, - 'fields': ['name', 'summary', 'content'], + "must": { + "multi_match": { + "query": parsed_query, + "fields": ["name", "summary", "content"], } } } else: - search_query = { - 'must': { - 'match_all': {} - } - } + search_query = {"must": {"match_all": {}}} results = es.search( - query={ - 'bool': { - **search_query, - **filters - } - }, + query={"bool": {**search_query, **filters}}, knn={ - 'field': 'embedding', - 'query_vector': es.get_embedding(parsed_query), - 'k': 10, - 'num_candidates': 50, + "field": "embedding", + "query_vector": es.get_embedding(parsed_query), + "k": 10, + "num_candidates": 50, **filters, }, - rank={ - 'rrf': {} - }, + rank={"rrf": {}}, aggs={ - 'category-agg': { - 'terms': { - 'field': 'category.keyword', + "category-agg": { + "terms": { + "field": "category.keyword", } }, - 'year-agg': { - 'date_histogram': { - 'field': 'updated_at', - 'calendar_interval': 'year', - 'format': 'yyyy', + "year-agg": { + "date_histogram": { + "field": "updated_at", + "calendar_interval": "year", + "format": "yyyy", }, }, }, @@ -68,50 +57,49 @@ def handle_search(): from_=from_, ) aggs = { - 'Category': { - bucket['key']: bucket['doc_count'] - for bucket in results['aggregations']['category-agg']['buckets'] + "Category": { + bucket["key"]: bucket["doc_count"] + for bucket in results["aggregations"]["category-agg"]["buckets"] }, - 'Year': { - bucket['key_as_string']: bucket['doc_count'] - for bucket in results['aggregations']['year-agg']['buckets'] - if bucket['doc_count'] > 0 + "Year": { + bucket["key_as_string"]: bucket["doc_count"] + for bucket in results["aggregations"]["year-agg"]["buckets"] + if bucket["doc_count"] > 0 }, } - return render_template('index.html', results=results['hits']['hits'], - query=query, from_=from_, - total=results['hits']['total']['value'], aggs=aggs) + return render_template( + "index.html", + results=results["hits"]["hits"], + query=query, + from_=from_, + total=results["hits"]["total"]["value"], + aggs=aggs, + ) -@app.get('/document/') +@app.get("/document/") def get_document(id): document = es.retrieve_document(id) - title = document['_source']['name'] - paragraphs = document['_source']['content'].split('\n') - return render_template('document.html', title=title, paragraphs=paragraphs) + title = document["_source"]["name"] + paragraphs = document["_source"]["content"].split("\n") + return render_template("document.html", title=title, paragraphs=paragraphs) @app.cli.command() def reindex(): """Regenerate the Elasticsearch index.""" response = es.reindex() - print(f'Index with {len(response["items"])} documents created ' - f'in {response["took"]} milliseconds.') + print( + f'Index with {len(response["items"])} documents created ' + f'in {response["took"]} milliseconds.' + ) def extract_filters(query): - filter_regex = r'category:([^\s]+)\s*' + filter_regex = r"category:([^\s]+)\s*" m = re.search(filter_regex, query) if m is None: return {}, query # no filters - filters = { - 'filter': [{ - 'term': { - 'category.keyword': { - 'value': m.group(1) - } - } - }] - } - query = re.sub(filter_regex, '', query).strip() + filters = {"filter": [{"term": {"category.keyword": {"value": m.group(1)}}}]} + query = re.sub(filter_regex, "", query).strip() return filters, query diff --git a/example-apps/search-tutorial/v2/search-tutorial/search.py b/example-apps/search-tutorial/v2/search-tutorial/search.py index b61004ad..e7bac0eb 100644 --- a/example-apps/search-tutorial/v2/search-tutorial/search.py +++ b/example-apps/search-tutorial/v2/search-tutorial/search.py @@ -11,50 +11,60 @@ class Search: def __init__(self): - self.model = SentenceTransformer('all-MiniLM-L6-v2') - self.es = Elasticsearch(cloud_id=os.environ['ELASTIC_CLOUD_ID'], - api_key=os.environ['ELASTIC_API_KEY']) + self.model = SentenceTransformer("all-MiniLM-L6-v2") + self.es = Elasticsearch( + cloud_id=os.environ["ELASTIC_CLOUD_ID"], + api_key=os.environ["ELASTIC_API_KEY"], + ) client_info = self.es.info() - print('Connected to Elasticsearch!') + print("Connected to Elasticsearch!") pprint(client_info.body) def create_index(self): - self.es.indices.delete(index='my_documents', ignore_unavailable=True) - self.es.indices.create(index='my_documents', mappings={ - 'properties': { - 'embedding': { - 'type': 'dense_vector', + self.es.indices.delete(index="my_documents", ignore_unavailable=True) + self.es.indices.create( + index="my_documents", + mappings={ + "properties": { + "embedding": { + "type": "dense_vector", + } } - } - }) + }, + ) def get_embedding(self, text): return self.model.encode(text) def insert_document(self, document): - return self.es.index(index='my_documents', document={ - **document, - 'embedding': self.get_embedding(document['summary']), - }) + return self.es.index( + index="my_documents", + document={ + **document, + "embedding": self.get_embedding(document["summary"]), + }, + ) def insert_documents(self, documents): operations = [] for document in documents: - operations.append({'index': {'_index': 'my_documents'}}) - operations.append({ - **document, - 'embedding': self.get_embedding(document['summary']), - }) + operations.append({"index": {"_index": "my_documents"}}) + operations.append( + { + **document, + "embedding": self.get_embedding(document["summary"]), + } + ) return self.es.bulk(operations=operations) def reindex(self): self.create_index() - with open('data.json', 'rt') as f: + with open("data.json", "rt") as f: documents = json.loads(f.read()) return self.insert_documents(documents) def search(self, **query_args): - return self.es.search(index='my_documents', **query_args) + return self.es.search(index="my_documents", **query_args) def retrieve_document(self, id): - return self.es.get(index='my_documents', id=id) + return self.es.get(index="my_documents", id=id) diff --git a/example-apps/search-tutorial/v3/search-tutorial/app.py b/example-apps/search-tutorial/v3/search-tutorial/app.py index e5949da5..b560adfe 100644 --- a/example-apps/search-tutorial/v3/search-tutorial/app.py +++ b/example-apps/search-tutorial/v3/search-tutorial/app.py @@ -6,42 +6,42 @@ es = Search() -@app.get('/') +@app.get("/") def index(): - return render_template('index.html') + return render_template("index.html") -@app.post('/') +@app.post("/") def handle_search(): - query = request.form.get('query', '') + query = request.form.get("query", "") filters, parsed_query = extract_filters(query) - from_ = request.form.get('from_', type=int, default=0) + from_ = request.form.get("from_", type=int, default=0) if parsed_query: search_query = { - 'sub_searches': [ + "sub_searches": [ { - 'query': { - 'bool': { - 'must': { - 'multi_match': { - 'query': parsed_query, - 'fields': ['name', 'summary', 'content'], + "query": { + "bool": { + "must": { + "multi_match": { + "query": parsed_query, + "fields": ["name", "summary", "content"], } }, - **filters + **filters, } } }, { - 'query': { - 'bool': { - 'must': [ + "query": { + "bool": { + "must": [ { - 'text_expansion': { - 'elser_embedding': { - 'model_id': '.elser_model_2', - 'model_text': parsed_query, + "text_expansion": { + "elser_embedding": { + "model_id": ".elser_model_2", + "model_text": parsed_query, } }, } @@ -51,35 +51,24 @@ def handle_search(): }, }, ], - 'rank': { - 'rrf': {} - }, + "rank": {"rrf": {}}, } else: - search_query = { - 'query': { - 'bool': { - 'must': { - 'match_all': {} - }, - **filters - } - } - } + search_query = {"query": {"bool": {"must": {"match_all": {}}, **filters}}} results = es.search( **search_query, aggs={ - 'category-agg': { - 'terms': { - 'field': 'category.keyword', + "category-agg": { + "terms": { + "field": "category.keyword", } }, - 'year-agg': { - 'date_histogram': { - 'field': 'updated_at', - 'calendar_interval': 'year', - 'format': 'yyyy', + "year-agg": { + "date_histogram": { + "field": "updated_at", + "calendar_interval": "year", + "format": "yyyy", }, }, }, @@ -87,35 +76,42 @@ def handle_search(): from_=from_, ) aggs = { - 'Category': { - bucket['key']: bucket['doc_count'] - for bucket in results['aggregations']['category-agg']['buckets'] + "Category": { + bucket["key"]: bucket["doc_count"] + for bucket in results["aggregations"]["category-agg"]["buckets"] }, - 'Year': { - bucket['key_as_string']: bucket['doc_count'] - for bucket in results['aggregations']['year-agg']['buckets'] - if bucket['doc_count'] > 0 + "Year": { + bucket["key_as_string"]: bucket["doc_count"] + for bucket in results["aggregations"]["year-agg"]["buckets"] + if bucket["doc_count"] > 0 }, } - return render_template('index.html', results=results['hits']['hits'], - query=query, from_=from_, - total=results['hits']['total']['value'], aggs=aggs) + return render_template( + "index.html", + results=results["hits"]["hits"], + query=query, + from_=from_, + total=results["hits"]["total"]["value"], + aggs=aggs, + ) -@app.get('/document/') +@app.get("/document/") def get_document(id): document = es.retrieve_document(id) - title = document['_source']['name'] - paragraphs = document['_source']['content'].split('\n') - return render_template('document.html', title=title, paragraphs=paragraphs) + title = document["_source"]["name"] + paragraphs = document["_source"]["content"].split("\n") + return render_template("document.html", title=title, paragraphs=paragraphs) @app.cli.command() def reindex(): """Regenerate the Elasticsearch index.""" response = es.reindex() - print(f'Index with {len(response["items"])} documents created ' - f'in {response["took"]} milliseconds.') + print( + f'Index with {len(response["items"])} documents created ' + f'in {response["took"]} milliseconds.' + ) @app.cli.command() @@ -124,25 +120,16 @@ def deploy_elser(): try: es.deploy_elser() except Exception as exc: - print(f'Error: {exc}') + print(f"Error: {exc}") else: - print(f'ELSER model deployed.') + print(f"ELSER model deployed.") def extract_filters(query): - filter_regex = r'category:([^\s]+)\s*' + filter_regex = r"category:([^\s]+)\s*" m = re.search(filter_regex, query) if m is None: return {}, query # no filters - filters = { - 'filter': [{ - 'term': { - 'category.keyword': { - 'value': m.group(1) - } - } - }] - } - query = re.sub(filter_regex, '', query).strip() + filters = {"filter": [{"term": {"category.keyword": {"value": m.group(1)}}}]} + query = re.sub(filter_regex, "", query).strip() return filters, query - diff --git a/example-apps/search-tutorial/v3/search-tutorial/search.py b/example-apps/search-tutorial/v3/search-tutorial/search.py index ac883580..f1d2e128 100644 --- a/example-apps/search-tutorial/v3/search-tutorial/search.py +++ b/example-apps/search-tutorial/v3/search-tutorial/search.py @@ -12,107 +12,111 @@ class Search: def __init__(self): - self.model = SentenceTransformer('all-MiniLM-L6-v2') - self.es = Elasticsearch(cloud_id=os.environ['ELASTIC_CLOUD_ID'], - api_key=os.environ['ELASTIC_API_KEY']) + self.model = SentenceTransformer("all-MiniLM-L6-v2") + self.es = Elasticsearch( + cloud_id=os.environ["ELASTIC_CLOUD_ID"], + api_key=os.environ["ELASTIC_API_KEY"], + ) client_info = self.es.info() - print('Connected to Elasticsearch!') + print("Connected to Elasticsearch!") pprint(client_info.body) def create_index(self): - self.es.indices.delete(index='my_documents', ignore_unavailable=True) + self.es.indices.delete(index="my_documents", ignore_unavailable=True) self.es.indices.create( - index='my_documents', + index="my_documents", mappings={ - 'properties': { - 'embedding': { - 'type': 'dense_vector', + "properties": { + "embedding": { + "type": "dense_vector", }, - 'elser_embedding': { - 'type': 'sparse_vector', + "elser_embedding": { + "type": "sparse_vector", }, } }, - settings={ - 'index': { - 'default_pipeline': 'elser-ingest-pipeline' - } - } + settings={"index": {"default_pipeline": "elser-ingest-pipeline"}}, ) def get_embedding(self, text): return self.model.encode(text) def insert_document(self, document): - return self.es.index(index='my_documents', document={ - **document, - 'embedding': self.get_embedding(document['summary']), - }) + return self.es.index( + index="my_documents", + document={ + **document, + "embedding": self.get_embedding(document["summary"]), + }, + ) def insert_documents(self, documents): operations = [] for document in documents: - operations.append({'index': {'_index': 'my_documents'}}) - operations.append({ - **document, - 'embedding': self.get_embedding(document['summary']), - }) + operations.append({"index": {"_index": "my_documents"}}) + operations.append( + { + **document, + "embedding": self.get_embedding(document["summary"]), + } + ) return self.es.bulk(operations=operations) def reindex(self): self.create_index() - with open('data.json', 'rt') as f: + with open("data.json", "rt") as f: documents = json.loads(f.read()) return self.insert_documents(documents) def search(self, **query_args): # sub_searches is not currently supported in the client, so we send # search requests as raw requests - if 'from_' in query_args: - query_args['from'] = query_args['from_'] - del query_args['from_'] + if "from_" in query_args: + query_args["from"] = query_args["from_"] + del query_args["from_"] return self.es.perform_request( - 'GET', - f'/my_documents/_search', + "GET", + f"/my_documents/_search", body=json.dumps(query_args), - headers={'Content-Type': 'application/json', - 'Accept': 'application/json'}, + headers={"Content-Type": "application/json", "Accept": "application/json"}, ) def retrieve_document(self, id): - return self.es.get(index='my_documents', id=id) + return self.es.get(index="my_documents", id=id) def deploy_elser(self): # download ELSER v2 - self.es.ml.put_trained_model(model_id='.elser_model_2', - input={'field_names': ['text_field']}) + self.es.ml.put_trained_model( + model_id=".elser_model_2", input={"field_names": ["text_field"]} + ) # wait until ready while True: - status = self.es.ml.get_trained_models(model_id='.elser_model_2', - include='definition_status') - if status['trained_model_configs'][0]['fully_defined']: + status = self.es.ml.get_trained_models( + model_id=".elser_model_2", include="definition_status" + ) + if status["trained_model_configs"][0]["fully_defined"]: # model is ready break time.sleep(1) # deploy the model - self.es.ml.start_trained_model_deployment(model_id='.elser_model_2') + self.es.ml.start_trained_model_deployment(model_id=".elser_model_2") # define a pipeline self.es.ingest.put_pipeline( - id='elser-ingest-pipeline', + id="elser-ingest-pipeline", processors=[ { - 'inference': { - 'model_id': '.elser_model_2', - 'input_output': [ + "inference": { + "model_id": ".elser_model_2", + "input_output": [ { - 'input_field': 'summary', - 'output_field': 'elser_embedding', + "input_field": "summary", + "output_field": "elser_embedding", } - ] + ], } } - ] + ], ) diff --git a/notebooks/document-chunking/_nbtest.teardown.with-index-pipelines.ipynb b/notebooks/document-chunking/_nbtest.teardown.with-index-pipelines.ipynb index 5c1800fd..0240b792 100644 --- a/notebooks/document-chunking/_nbtest.teardown.with-index-pipelines.ipynb +++ b/notebooks/document-chunking/_nbtest.teardown.with-index-pipelines.ipynb @@ -19,7 +19,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -47,7 +47,9 @@ "outputs": [], "source": [ "try:\n", - " client.ml.delete_trained_model(model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True)\n", + " client.ml.delete_trained_model(\n", + " model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True\n", + " )\n", "except:\n", " pass" ] diff --git a/notebooks/document-chunking/_nbtest.teardown.with-langchain-splitters.ipynb b/notebooks/document-chunking/_nbtest.teardown.with-langchain-splitters.ipynb index 89586cbc..e71d8897 100644 --- a/notebooks/document-chunking/_nbtest.teardown.with-langchain-splitters.ipynb +++ b/notebooks/document-chunking/_nbtest.teardown.with-langchain-splitters.ipynb @@ -19,7 +19,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -47,7 +47,9 @@ "outputs": [], "source": [ "try:\n", - " client.ml.delete_trained_model(model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True)\n", + " client.ml.delete_trained_model(\n", + " model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True\n", + " )\n", "except:\n", " pass" ] diff --git a/notebooks/document-chunking/tokenization.ipynb b/notebooks/document-chunking/tokenization.ipynb index 04b59506..25a688fe 100644 --- a/notebooks/document-chunking/tokenization.ipynb +++ b/notebooks/document-chunking/tokenization.ipynb @@ -80,8 +80,9 @@ "metadata": {}, "outputs": [], "source": [ - "bert_tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')\n", - "e5_tokenizer = AutoTokenizer.from_pretrained('intfloat/multilingual-e5-base')\n", + "bert_tokenizer = BertTokenizer.from_pretrained(\"bert-base-uncased\")\n", + "e5_tokenizer = AutoTokenizer.from_pretrained(\"intfloat/multilingual-e5-base\")\n", + "\n", "\n", "def whitespace_tokenize(text):\n", " return text.split()" @@ -149,6 +150,7 @@ " e5_tokens = len(e5_tokenizer.encode(text))\n", " return [whitespace_tokens, bert_tokens, e5_tokens, f\"{text[:80]}...\"]\n", "\n", + "\n", "counts = [count_tokens(movie[\"plot\"]) for movie in movies]\n", "\n", "print(tabulate(sorted(counts), [\"whitespace\", \"BERT\", \"E5\", \"text\"]))" @@ -219,11 +221,14 @@ "SEMANTIC_SEARCH_TOKEN_LIMIT = 510 # 512 minus space for the 2 special tokens\n", "ELSER_TOKEN_OVERLAP = 0.5 # 50% token overlap between chunks is recommended for ELSER\n", "\n", - "def chunk(tokens, chunk_size=SEMANTIC_SEARCH_TOKEN_LIMIT, overlap_ratio=ELSER_TOKEN_OVERLAP):\n", + "\n", + "def chunk(\n", + " tokens, chunk_size=SEMANTIC_SEARCH_TOKEN_LIMIT, overlap_ratio=ELSER_TOKEN_OVERLAP\n", + "):\n", " step_size = round(chunk_size * overlap_ratio)\n", "\n", " for i in range(0, len(tokens), step_size):\n", - " yield tokens[i:i+chunk_size]" + " yield tokens[i : i + chunk_size]" ] }, { @@ -281,11 +286,10 @@ } ], "source": [ - "tokens = bert_tokenizer.encode(long_text)[1:-1] # exclude special tokens at the beginning and end\n", - "chunked = [\n", - " bert_tokenizer.decode(tokens_chunk)\n", - " for tokens_chunk in chunk(tokens)\n", - "]\n", + "tokens = bert_tokenizer.encode(long_text)[\n", + " 1:-1\n", + "] # exclude special tokens at the beginning and end\n", + "chunked = [bert_tokenizer.decode(tokens_chunk) for tokens_chunk in chunk(tokens)]\n", "chunked" ] }, diff --git a/notebooks/document-chunking/with-index-pipelines.ipynb b/notebooks/document-chunking/with-index-pipelines.ipynb index ec3359de..5e7535df 100644 --- a/notebooks/document-chunking/with-index-pipelines.ipynb +++ b/notebooks/document-chunking/with-index-pipelines.ipynb @@ -103,7 +103,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -208,13 +208,13 @@ "CHUNK_SIZE = 400\n", "\n", "client.ingest.put_pipeline(\n", - " id=\"chunk_text_to_passages\",\n", - " processors=[\n", - " {\n", - " \"script\": {\n", - " \"description\": \"Chunk body_content into sentences by looking for . followed by a space\",\n", - " \"lang\": \"painless\",\n", - " \"source\": \"\"\"\n", + " id=\"chunk_text_to_passages\",\n", + " processors=[\n", + " {\n", + " \"script\": {\n", + " \"description\": \"Chunk body_content into sentences by looking for . followed by a space\",\n", + " \"lang\": \"painless\",\n", + " \"source\": \"\"\"\n", " String[] envSplit = /((? dict:\n", " metadata[\"name\"] = record.get(\"name\")\n", @@ -117,6 +117,7 @@ "\n", " return metadata\n", "\n", + "\n", "# For more loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/\n", "# And 3rd party loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/#third-party-loaders\n", "loader = JSONLoader(\n", @@ -186,67 +187,61 @@ "\n", "# Create the pipeline\n", "client.ingest.put_pipeline(\n", - " id=PIPELINE_ID, \n", - " processors=[\n", - " {\n", - " \"foreach\": {\n", - " \"field\": \"passages\",\n", - " \"processor\": {\n", - " \"inference\": {\n", - " \"field_map\": {\n", - " \"_ingest._value.text\": \"text_field\"\n", - " },\n", - " \"model_id\": MODEL_ID,\n", - " \"target_field\": \"_ingest._value.vector\",\n", - " \"on_failure\": [\n", - " {\n", - " \"append\": {\n", - " \"field\": \"_source._ingest.inference_errors\",\n", - " \"value\": [\n", - " {\n", - " \"message\": \"Processor 'inference' in pipeline 'ml-inference-title-vector' failed with message '{{ _ingest.on_failure_message }}'\",\n", - " \"pipeline\": \"ml-inference-title-vector\",\n", - " \"timestamp\": \"{{{ _ingest.timestamp }}}\"\n", + " id=PIPELINE_ID,\n", + " processors=[\n", + " {\n", + " \"foreach\": {\n", + " \"field\": \"passages\",\n", + " \"processor\": {\n", + " \"inference\": {\n", + " \"field_map\": {\"_ingest._value.text\": \"text_field\"},\n", + " \"model_id\": MODEL_ID,\n", + " \"target_field\": \"_ingest._value.vector\",\n", + " \"on_failure\": [\n", + " {\n", + " \"append\": {\n", + " \"field\": \"_source._ingest.inference_errors\",\n", + " \"value\": [\n", + " {\n", + " \"message\": \"Processor 'inference' in pipeline 'ml-inference-title-vector' failed with message '{{ _ingest.on_failure_message }}'\",\n", + " \"pipeline\": \"ml-inference-title-vector\",\n", + " \"timestamp\": \"{{{ _ingest.timestamp }}}\",\n", + " }\n", + " ],\n", + " }\n", + " }\n", + " ],\n", " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", - " }\n", + " },\n", + " }\n", " }\n", - " }\n", - " }\n", - " ]\n", + " ],\n", ")\n", "\n", "# Create the index\n", - "client.indices.create( \n", - " index=INDEX_NAME, \n", - " settings={\n", - " \"index\": {\n", - " \"default_pipeline\": PIPELINE_ID\n", - " }\n", - " },\n", - " mappings={\n", - " \"dynamic\": \"true\",\n", - " \"properties\": {\n", - " \"passages\": {\n", - " \"type\": \"nested\",\n", + "client.indices.create(\n", + " index=INDEX_NAME,\n", + " settings={\"index\": {\"default_pipeline\": PIPELINE_ID}},\n", + " mappings={\n", + " \"dynamic\": \"true\",\n", " \"properties\": {\n", - " \"vector\": {\n", - " \"properties\": {\n", - " \"predicted_value\": {\n", - " \"type\": \"dense_vector\",\n", - " \"index\": True,\n", - " \"dims\": MODEL_DIMS,\n", - " \"similarity\": \"dot_product\"\n", - " }\n", + " \"passages\": {\n", + " \"type\": \"nested\",\n", + " \"properties\": {\n", + " \"vector\": {\n", + " \"properties\": {\n", + " \"predicted_value\": {\n", + " \"type\": \"dense_vector\",\n", + " \"index\": True,\n", + " \"dims\": MODEL_DIMS,\n", + " \"similarity\": \"dot_product\",\n", + " }\n", + " }\n", + " }\n", + " },\n", " }\n", - " }\n", - " }\n", - " }\n", - " }\n", - " }\n", + " },\n", + " },\n", ")" ] }, @@ -268,27 +263,30 @@ "source": [ "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", "\n", + "\n", "def parent_child_splitter(documents, chunk_size: int = 200):\n", "\n", - " child_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size)\n", - "\n", - " docs = []\n", - " for i, doc in enumerate(documents):\n", - " passages = []\n", - "\n", - " for _doc in child_splitter.split_documents([doc]):\n", - " passages.append({\n", - " \"text\": _doc.page_content,\n", - " })\n", - "\n", - " doc = {\n", - " \"content\": doc.page_content,\n", - " \"metadata\": doc.metadata,\n", - " \"passages\": passages\n", - " }\n", - " docs.append(doc)\n", - " \n", - " return docs\n" + " child_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size)\n", + "\n", + " docs = []\n", + " for i, doc in enumerate(documents):\n", + " passages = []\n", + "\n", + " for _doc in child_splitter.split_documents([doc]):\n", + " passages.append(\n", + " {\n", + " \"text\": _doc.page_content,\n", + " }\n", + " )\n", + "\n", + " doc = {\n", + " \"content\": doc.page_content,\n", + " \"metadata\": doc.metadata,\n", + " \"passages\": passages,\n", + " }\n", + " docs.append(doc)\n", + "\n", + " return docs" ] }, { @@ -306,26 +304,26 @@ "outputs": [], "source": [ "def pretty_response(response, show_parent_text=False):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", - " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " score = hit['_score']\n", - " doc_title = hit['_source'][\"metadata\"]['name']\n", - " parent_text = \"\"\n", - "\n", - " if show_parent_text:\n", - " parent_text = hit['_source'][\"content\"]\n", - "\n", - " passage_text = \"\"\n", - "\n", - " for passage in hit['inner_hits']['passages']['hits']['hits']:\n", - " passage_text += passage[\"fields\"][\"passages\"][0]['text'][0] + \"\\n\\n\"\n", - "\n", - " pretty_output = (f\"\\nID: {id}\\nDoc Title: {doc_title}\\nparent text:\\n{parent_text}\\nPassage Text:\\n{passage_text}\\nScore: {score}\\n\")\n", - " print(pretty_output)\n", - " print(\"---\")" + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", + " else:\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " doc_title = hit[\"_source\"][\"metadata\"][\"name\"]\n", + " parent_text = \"\"\n", + "\n", + " if show_parent_text:\n", + " parent_text = hit[\"_source\"][\"content\"]\n", + "\n", + " passage_text = \"\"\n", + "\n", + " for passage in hit[\"inner_hits\"][\"passages\"][\"hits\"][\"hits\"]:\n", + " passage_text += passage[\"fields\"][\"passages\"][0][\"text\"][0] + \"\\n\\n\"\n", + "\n", + " pretty_output = f\"\\nID: {id}\\nDoc Title: {doc_title}\\nparent text:\\n{parent_text}\\nPassage Text:\\n{passage_text}\\nScore: {score}\\n\"\n", + " print(pretty_output)\n", + " print(\"---\")" ] }, { @@ -360,15 +358,12 @@ "\n", "chunked_docs = parent_child_splitter(loader.load(), chunk_size=600)\n", "\n", - "count, errors = helpers.bulk(\n", - " client, \n", - " chunked_docs,\n", - " index=INDEX_NAME\n", - ")\n", + "count, errors = helpers.bulk(client, chunked_docs, index=INDEX_NAME)\n", "\n", "print(f\"Indexed {count} documents with {errors} errors\")\n", "\n", "import time\n", + "\n", "time.sleep(5)" ] }, @@ -475,25 +470,19 @@ ], "source": [ "response = client.search(\n", - " index=INDEX_NAME, \n", - " knn={\n", - " \"inner_hits\": {\n", - " \"size\": 1,\n", - " \"_source\": False,\n", - " \"fields\": [\n", - " \"passages.text\"\n", - " ]\n", + " index=INDEX_NAME,\n", + " knn={\n", + " \"inner_hits\": {\"size\": 1, \"_source\": False, \"fields\": [\"passages.text\"]},\n", + " \"field\": \"passages.vector.predicted_value\",\n", + " \"k\": 5,\n", + " \"num_candidates\": 100,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", + " \"model_text\": \"Whats the work from home policy?\",\n", + " }\n", + " },\n", " },\n", - " \"field\": \"passages.vector.predicted_value\",\n", - " \"k\": 5,\n", - " \"num_candidates\": 100,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", - " \"model_text\": \"Whats the work from home policy?\"\n", - " }\n", - " }\n", - " }\n", ")\n", "\n", "pretty_response(response)" @@ -559,42 +548,41 @@ } ], "source": [ - "from langchain.vectorstores.elasticsearch import ElasticsearchStore, ApproxRetrievalStrategy\n", + "from langchain.vectorstores.elasticsearch import (\n", + " ElasticsearchStore,\n", + " ApproxRetrievalStrategy,\n", + ")\n", "from typing import List, Union\n", "from langchain_core.documents import Document\n", "\n", + "\n", "class CustomRetrievalStrategy(ApproxRetrievalStrategy):\n", "\n", " def query(\n", - " self,\n", - " query: Union[str, None],\n", - " filter: List[dict],\n", - " **kwargs,\n", + " self,\n", + " query: Union[str, None],\n", + " filter: List[dict],\n", + " **kwargs,\n", " ):\n", - " \n", - " es_query = {\n", - " \"knn\": {\n", - " \"inner_hits\": {\n", - " \"_source\": False,\n", - " \"fields\": [\n", - " \"passages.text\"\n", - " ]\n", - " },\n", - " \"field\": \"passages.vector.predicted_value\",\n", - " \"filter\": filter,\n", - " \"k\": 5,\n", - " \"num_candidates\": 100,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", - " \"model_text\": query\n", + "\n", + " es_query = {\n", + " \"knn\": {\n", + " \"inner_hits\": {\"_source\": False, \"fields\": [\"passages.text\"]},\n", + " \"field\": \"passages.vector.predicted_value\",\n", + " \"filter\": filter,\n", + " \"k\": 5,\n", + " \"num_candidates\": 100,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", + " \"model_text\": query,\n", + " }\n", + " },\n", " }\n", - " }\n", " }\n", - " }\n", "\n", - " return es_query\n", - " \n", + " return es_query\n", + "\n", "\n", "vector_store = ElasticsearchStore(\n", " index_name=INDEX_NAME,\n", @@ -603,22 +591,28 @@ " strategy=CustomRetrievalStrategy(),\n", ")\n", "\n", + "\n", "def doc_builder(hit):\n", - " passage_hits = hit.get(\"inner_hits\", {}).get(\"passages\", {}).get(\"hits\", {}).get(\"hits\", [])\n", - " page_content = \"\"\n", - " for passage_hit in passage_hits:\n", - " passage_fields = passage_hit.get(\"fields\", {}).get(\"passages\", [])[0]\n", - " page_content += passage_fields.get(\"text\", [])[0] + \"\\n\\n\"\n", - "\n", - " return Document(\n", - " page_content=page_content,\n", - " metadata=hit[\"_source\"][\"metadata\"],\n", + " passage_hits = (\n", + " hit.get(\"inner_hits\", {}).get(\"passages\", {}).get(\"hits\", {}).get(\"hits\", [])\n", " )\n", + " page_content = \"\"\n", + " for passage_hit in passage_hits:\n", + " passage_fields = passage_hit.get(\"fields\", {}).get(\"passages\", [])[0]\n", + " page_content += passage_fields.get(\"text\", [])[0] + \"\\n\\n\"\n", "\n", - "results = vector_store.similarity_search(query=\"Whats the work from home policy?\", doc_builder=doc_builder)\n", + " return Document(\n", + " page_content=page_content,\n", + " metadata=hit[\"_source\"][\"metadata\"],\n", + " )\n", + "\n", + "\n", + "results = vector_store.similarity_search(\n", + " query=\"Whats the work from home policy?\", doc_builder=doc_builder\n", + ")\n", "for result in results:\n", " print(f'Doc title: {result.metadata[\"name\"]}')\n", - " print(f'Text:\\n{result.page_content}')" + " print(f\"Text:\\n{result.page_content}\")" ] }, { diff --git a/notebooks/generative-ai/chatbot.ipynb b/notebooks/generative-ai/chatbot.ipynb index aac8199a..b5f39a0a 100644 --- a/notebooks/generative-ai/chatbot.ipynb +++ b/notebooks/generative-ai/chatbot.ipynb @@ -171,10 +171,7 @@ "\n", "for doc in workplace_docs:\n", " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"]\n", - " })\n", + " metadata.append({\"name\": doc[\"name\"], \"summary\": doc[\"summary\"]})\n", "\n", "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", " chunk_size=512,\n", @@ -205,10 +202,10 @@ "\n", "vector_store = ElasticsearchStore.from_documents(\n", " docs,\n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " index_name=\"workplace-docs\",\n", - " embedding=embeddings\n", + " embedding=embeddings,\n", ")" ] }, @@ -238,9 +235,7 @@ "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", "\n", "chat = ConversationalRetrievalChain.from_llm(\n", - " llm=llm,\n", - " retriever=retriever,\n", - " return_source_documents=True\n", + " llm=llm, retriever=retriever, return_source_documents=True\n", ")\n", "\n", "session_id = str(uuid4())\n", @@ -248,7 +243,7 @@ " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " session_id=session_id,\n", - " index=\"workplace-docs-chat-history\"\n", + " index=\"workplace-docs-chat-history\",\n", ")" ] }, @@ -287,12 +282,15 @@ "# Define a convenience function for Q&A\n", "def ask(question, chat_history):\n", " result = chat({\"question\": question, \"chat_history\": chat_history.messages})\n", - " print(f\"\"\"[QUESTION] {question}\n", + " print(\n", + " f\"\"\"[QUESTION] {question}\n", "[ANSWER] {result[\"answer\"]}\n", - " [SUPPORTING DOCUMENTS] {list(map(lambda d: d.metadata[\"name\"], list(result[\"source_documents\"])))}\"\"\")\n", + " [SUPPORTING DOCUMENTS] {list(map(lambda d: d.metadata[\"name\"], list(result[\"source_documents\"])))}\"\"\"\n", + " )\n", " chat_history.add_user_message(result[\"question\"])\n", " chat_history.add_ai_message(result[\"answer\"])\n", "\n", + "\n", "# Chat away!\n", "print(f\"[CHAT SESSION ID] {session_id}\")\n", "ask(\"What does NASA stand for?\", chat_history)\n", @@ -349,8 +347,8 @@ } ], "source": [ - "vector_store.client.indices.delete(index='workplace-docs')\n", - "vector_store.client.indices.delete(index='workplace-docs-chat-history')" + "vector_store.client.indices.delete(index=\"workplace-docs\")\n", + "vector_store.client.indices.delete(index=\"workplace-docs-chat-history\")" ] } ], diff --git a/notebooks/generative-ai/question-answering.ipynb b/notebooks/generative-ai/question-answering.ipynb index 4d61706f..3fea57c6 100644 --- a/notebooks/generative-ai/question-answering.ipynb +++ b/notebooks/generative-ai/question-answering.ipynb @@ -1,693 +1,704 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "tZnIXBfrRpex" - }, - "source": [ - "# Question Answering with Langchain and OpenAI\n", - "\n", - "\"Open\n", - "\n", - "This interactive notebook uses Langchain to split fictional workplace documents into passages and uses OpenAI to transform these passages into embeddings and store them into Elasticsearch.\n", - "\n", - "\n", - "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAf4AAACiCAIAAAAvNjhKAAAMQWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkEBCCV1K6E0QqQGkhNACSC+CqIQkQCgxBoKKHV1UcO1iARu6KqLYAbGgiGJhUex9saCirIsFu/ImBXTdV7433zd3/vvPmf+cOXfm3jsAqJ/gisV5qAYA+aJCSVxoIGNMSiqD9BSQAApoQBvYcXkFYlZMTCSAZbD9e3l3HSCy9oqjTOuf/f+1aPIFBTwAkBiIM/gFvHyIDwKAV/HEkkIAiDLeYnKhWIZhBdoSGCDEC2Q4S4GrZDhDgffKbRLi2BC3AqCixuVKsgCgXYI8o4iXBTVofRA7i/hCEQDqDIj98vMn8iFOh9gW2oghlukzM37QyfqbZsaQJpebNYQVc5EXlSBhgTiPO/X/TMf/Lvl50kEf1rCqZUvC4mRzhnm7mTsxQobVIO4VZURFQ6wF8QchX24PMUrJloYlKuxRI14BG+YM6ELszOcGRUBsBHGIKC8qUslnZApDOBDDFYJOERZyEiDWh3iBoCA4XmmzSTIxTukLrc+UsFlK/ixXIvcr83VfmpvIUuq/zhZwlPoYrTg7IRliCsSWRcKkKIhpEDsV5MZHKG1GFWezowZtJNI4WfyWEMcJRKGBCn2sKFMSEqe0L8svGJwvtilbyIlS4v2F2QlhivxgrTyuPH44F+ySQMRKHNQRFIyJHJwLXxAUrJg79kwgSoxX6nwQFwbGKcbiFHFejNIeNxfkhcp4c4jdCorilWPxpEK4IBX6eKa4MCZBESdenMMNj1HEgy8FkYANggADSGHNABNBDhB29Db0wjtFTwjgAgnIAgLgqGQGRyTLe0TwGg+KwZ8QCUDB0LhAea8AFEH+6xCruDqCTHlvkXxELngCcT6IAHnwXiofJRrylgQeQ0b4D+9cWHkw3jxYZf3/nh9kvzMsyEQqGemgR4b6oCUxmBhEDCOGEO1wQ9wP98Ej4TUAVheciXsNzuO7PeEJoZPwkHCN0EW4NUFYIvkpytGgC+qHKHOR8WMucGuo6Y4H4r5QHSrjurghcMTdoB8W7g89u0OWrYxblhXGT9p/m8EPT0NpR3Ymo2Q9cgDZ9ueRNHua+5CKLNc/5kcRa8ZQvtlDPT/7Z/+QfT5sI362xBZgB7A27CR2DjuKNQAG1ow1Yu3YMRkeWl2P5atr0FucPJ5cqCP8h7/BJyvLZIFzrXOP8xdFX6FgiuwdDdgTxVMlwqzsQgYLfhEEDI6I5zSc4eLs4gqA7PuieH29iZV/NxDd9u/c3D8A8G0eGBg48p0LbwZgnyfc/oe/c7ZM+OlQBeDsYZ5UUqTgcNmFAN8S6nCnGQATYAFs4XxcgAfwAQEgGISDaJAAUsB4GH02XOcSMBlMB3NAKSgHS8EqsA5sBFvADrAb7AcN4Cg4Cc6AC+ASuAbuwNXTDV6APvAOfEYQhIRQETpigJgiVogD4oIwET8kGIlE4pAUJB3JQkSIFJmOzEXKkeXIOmQzUoPsQw4jJ5FzSCdyC3mA9CCvkU8ohqqh2qgxao2OQJkoC41AE9BxaBY6CS1G56GL0TVoNboLrUdPohfQa2gX+gLtxwCmiuliZpgjxsTYWDSWimViEmwmVoZVYNVYHdYEn/MVrAvrxT7iRJyOM3BHuILD8ESch0/CZ+KL8HX4Drweb8Wv4A/wPvwbgUowIjgQvAkcwhhCFmEyoZRQQdhGOEQ4DfdSN+EdkUjUJdoQPeFeTCHmEKcRFxHXE/cQTxA7iY+I/SQSyYDkQPIlRZO4pEJSKWktaRepmXSZ1E36oKKqYqriohKikqoiUilRqVDZqXJc5bLKU5XPZA2yFdmbHE3mk6eSl5C3kpvIF8nd5M8UTYoNxZeSQMmhzKGsodRRTlPuUt6oqqqaq3qpxqoKVWerrlHdq3pW9YHqRzUtNXs1tlqamlRtsdp2tRNqt9TeUKlUa2oANZVaSF1MraGeot6nfqDRaU40Do1Pm0WrpNXTLtNeqpPVrdRZ6uPVi9Ur1A+oX1Tv1SBrWGuwNbgaMzUqNQ5r3NDo16RrjtSM1szXXKS5U/Oc5jMtkpa1VrAWX2ue1hatU1qP6Bjdgs6m8+hz6Vvpp+nd2kRtG22Odo52ufZu7Q7tPh0tHTedJJ0pOpU6x3S6dDFda12Obp7uEt39utd1P+kZ67H0BHoL9er0Luu91x+mH6Av0C/T36N/Tf+TAcMg2CDXYJlBg8E9Q9zQ3jDWcLLhBsPThr3DtIf5DOMNKxu2f9htI9TI3ijOaJrRFqN2o35jE+NQY7HxWuNTxr0muiYBJjkmK02Om/SY0k39TIWmK02bTZ8zdBgsRh5jDaOV0WdmZBZmJjXbbNZh9tncxjzRvMR8j/k9C4oF0yLTYqVFi0WfpanlaMvplrWWt63IVkyrbKvVVm1W761trJOt51s3WD+z0bfh2BTb1NrctaXa+ttOsq22vWpHtGPa5dqtt7tkj9q722fbV9pfdEAdPByEDusdOocThnsNFw2vHn7DUc2R5VjkWOv4wEnXKdKpxKnB6eUIyxGpI5aNaBvxzdndOc95q/OdkVojw0eWjGwa+drF3oXnUuly1ZXqGuI6y7XR9ZWbg5vAbYPbTXe6+2j3+e4t7l89PD0kHnUePZ6WnumeVZ43mNrMGOYi5lkvgleg1yyvo14fvT28C733e//l4+iT67PT59kom1GCUVtHPfI19+X6bvbt8mP4pftt8uvyN/Pn+lf7PwywCOAHbAt4yrJj5bB2sV4GOgdKAg8Fvmd7s2ewTwRhQaFBZUEdwVrBicHrgu+HmIdkhdSG9IW6h04LPRFGCIsIWxZ2g2PM4XFqOH3hnuEzwlsj1CLiI9ZFPIy0j5RENo1GR4ePXjH6bpRVlCiqIRpEc6JXRN+LsYmZFHMklhgbE1sZ+yRuZNz0uLZ4evyE+J3x7xICE5Yk3Em0TZQmtiSpJ6Ul1SS9Tw5KXp7cNWbEmBljLqQYpghTGlNJqUmp21L7xwaPXTW2O809rTTt+jibcVPGnRtvOD5v/LEJ6hO4Ew6kE9KT03emf+FGc6u5/RmcjKqMPh6bt5r3gh/AX8nvEfgKlgueZvpmLs98luWbtSKrJ9s/uyK7V8gWrhO+ygnL2ZjzPjc6d3vuQF5y3p58lfz0/MMiLVGuqHWiycQpEzvFDuJScdck70mrJvVJIiTbCpCCcQWNhdrwR75daiv9RfqgyK+osujD5KTJB6ZoThFNaZ9qP3Xh1KfFIcW/TcOn8aa1TDebPmf6gxmsGZtnIjMzZrbMspg1b1b37NDZO+ZQ5uTO+b3EuWR5ydu5yXOb5hnPmz3v0S+hv9SW0kolpTfm+8zfuABfIFzQsdB14dqF38r4ZefLncsryr8s4i06/+vIX9f8OrA4c3HHEo8lG5YSl4qWXl/mv2zHcs3lxcsfrRi9on4lY2XZyrerJqw6V+FWsXE1ZbV0ddeayDWNay3XLl37ZV32umuVgZV7qoyqFla9X89ff3lDwIa6jcYbyzd+2iTcdHNz6Ob6auvqii3ELUVbnmxN2tr2G/O3mm2G28q3fd0u2t61I25Ha41nTc1Oo51LatFaaW3PrrRdl3YH7W6sc6zbvEd3T/lesFe69/m+9H3X90fsbznAPFB30Opg1SH6obJ6pH5qfV9DdkNXY0pj5+Hwwy1NPk2Hjjgd2X7U7GjlMZ1jS45Tjs87PtBc3Nx/Qnyi92TWyUctE1runBpz6mprbGvH6YjTZ8+EnDnVxmprPut79ug573OHzzPPN1zwuFDf7t5+6Hf33w91eHTUX/S82HjJ61JT56jO45f9L5+8EnTlzFXO1QvXoq51Xk+8fvNG2o2um/ybz27l3Xp1u+j25zuz7xLult3TuFdx3+h+9R92f+zp8ug69iDoQfvD+Id3HvEevXhc8PhL97wn1CcVT02f1jxzeXa0J6Tn0vOxz7tfiF987i39U/PPqpe2Lw/+FfBXe9+Yvu5XklcDrxe9MXiz/a3b25b+mP777/LffX5f9sHgw46PzI9tn5I/Pf08+Qvpy5qvdl+bvkV8uzuQPzAg5kq48l8BDFY0MxOA19sBoKYAQIfnM8pYxflPXhDFmVWOwH/CijOivHgAUAf/32N74d/NDQD2boXHL6ivngZADBWABC+AuroO1cGzmvxcKStEeA7YFP01Iz8D/JuiOHP+EPfPLZCpuoGf238Bk9B8XQo0or4AAAA4ZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAKgAgAEAAAAAQAAAf6gAwAEAAAAAQAAAKIAAAAAGoXaLQAAJsNJREFUeAHtnXfYFcX1x1FBKbHgg6KigMZEsKMoMSoqalBUxBIhWGOMsfcSEwvGhr0QBPNYiCZKRIEQwPAEFRGNogRRihgLigJBjRpRVCy/T5gn6/5umbt3Z+fu7rvf/eO+80495zuzZ2fOnDmzyjfffNNMjxAQAkJACBQJgVWLxKx4FQJCQAgIgf8iINGvcSAEhIAQKBwCEv2F63IxLASEgBCQ6NcYEAJCQAgUDgGJ/sJ1uRgWAkJACEj0awwIASEgBAqHgER/4bpcDAsBISAEJPo1BoSAEBAChUNAor9wXS6GhYAQEAIS/RoDQkAICIHCISDRX7guF8NCQAgIAYl+jQEhIASEQOEQkOgvXJeLYSEgBISARL/GgBAQAkKgcAhI9Beuy8WwEBACQkCiX2NACAgBIVA4BCT6C9flYlgICAEhINGvMSAEhIAQKBwCEv2F63IxLASEgBCQ6NcYEAJCQAgUDgGJ/sJ1uRgWAkJACEj0awwIASEgBAqHgER/4bpcDAsBISAEJPo1BoSAEBAChUNAor9wXS6GhYAQEAIS/RoDQkAICIHCISDRX7guF8NCQAgIAYl+jQEhIASEQOEQkOgvXJeLYSEgBISARL/GgBAQAkKgcAhI9Beuy8WwEBACQqB5PAhWWWWVeAXzW+qbb77JL/HZpDzFUaTezOaQEFUNQyCm6Ie+Qr08KQqphg2FVBpKZRSpN1PpazWaKQSk8MlUd9RHzPvvv//BBx/UV0a5hUCzZp9++um8efPee+89gVFYBCT6c9n1kydP3nfffdu1a7fuuuvutttu48ePr8bG1VdfffTRR/OqM9V99dVXP//887vvvpt/w/kHDRp03HHHhWOCcMX8QaoCuUOAuUL//v3btGmz5ZZbrrfeevvtt9+iRYvicaGxEQ+3jJSS6M9IR9RBBoIbuf+jH/1o2bJlb731FqL/oIMOqjb9R6Py9ddft2zZ8oknnthoo40++eSTn/3sZx9++GG4vWOPPfaXv/xlOCYIV8wfpCqQLwQYDH379n3nnXdee+01wi+//DJD6LDDDovHhcZGPNwyUkqiPyMdUQcZZprWvXt35m6bbLLJZZdddumlly5fvvzRRx894YQTzjzzzPbt2++1117z588PKl2xYsWvf/3rf//73+Y933///d99990g9bHHHnv44Yc/++yzHj163HXXXVtttdV3v/vdO++8kwzh/KgIqHbNNdck21NPPRUUVyAvCEydOnXatGl08WabbQbNW2yxxR133LHTTjshxO+55x5GEdOCX/ziFySNGDFiu+22Yxgwur788kti/vGPfxx++OEMrQMPPPDJJ58kJjw2lixZwmKCVCYlM2fOJFVP1hHg4x/jgasYpfJbJFP8Isd5db/zne+cccYZY8eORaAbYB944AHo/PnPf86byTqgX79+xF955ZUDBw7k3SbplVdemTRpEoHRo0ezWg+6g3cepZDJ8/3vf588iACy8TkJ8v/nP//ZeOON+WZQ+cUXX0zr//rXv4Ia4gVoIl5Bx1JptetItnvxYcOGrb/++hXrYZwAS+/evZkHTJw4kfBtt932t7/9jU6//PLLKcLAOPHEE5977rlzzz0XZRFLyWBsMGnYeeed99lnH/Kb5SNr0IqtKDI7CMR894r28mSNXyZZ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)\n", - "\n", - "Then when we ask a question, we retrieve the relevant passages from the vector store and use langchain and OpenAI to provide a summary for the question." - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "GyAst2W-VpHb" - }, - "source": [ - "## Install required packages\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "33A-cP-XvFCr" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", - "langserve 0.0.21 requires pydantic<2,>=1, but you have pydantic 2.3.0 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0m\n", - "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.3.1\u001b[0m\n", - "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" - ] - } - ], - "source": [ - "!python3 -m pip install -qU langchain openai==0.28.1 elasticsearch tiktoken jq" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "qtEOCsCLWCZp" - }, - "source": [ - "## Connect to Elasticsearch\n", - "\n", - "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook. If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial. \n", - "\n", - "We'll use the **Cloud ID** to identify our deployment, because we are using Elastic Cloud deployment. To find the Cloud ID for your deployment, go to https://cloud.elastic.co/deployments and select your deployment.\n", - "\n", - "\n", - "We will use [ElasticsearchStore](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html) to connect to our elastic cloud deployment. This would help create and index data easily. In the ElasticsearchStore instance, will set embedding to [OpenAIEmbeddings](https://api.python.langchain.com/en/latest/embeddings/langchain.embeddings.openai.OpenAIEmbeddings.html) to embed the texts and elasticsearch index name that will be used in this example." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "id": "a-t1mglib54F" - }, - "outputs": [], - "source": [ - "from langchain.vectorstores import ElasticsearchStore\n", - "from langchain.embeddings.openai import OpenAIEmbeddings\n", - "from getpass import getpass\n", - "\n", - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", - "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", - "\n", - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", - "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", - "\n", - "# https://platform.openai.com/api-keys\n", - "OPENAI_API_KEY = getpass(\"OpenAI API key: \")\n", - "\n", - "embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)\n", - "\n", - "vector_store = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY,\n", - " index_name= \"workplace_index\",\n", - " embedding=embeddings\n", - ")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Indexing Data into Elasticsearch\n", - "\n", - "Let's download the sample dataset and deserialize the document. " - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "id": "J8-93TiJsNyK" - }, - "outputs": [], - "source": [ - "from urllib.request import urlopen\n", - "from langchain.llms import OpenAI\n", - "import json\n", - "\n", - "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\"\n", - "\n", - "response = urlopen(url)\n", - "data = json.load(response)\n", - "\n", - "with open('temp.json', 'w') as json_file:\n", - " json.dump(data, json_file)\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "p0cQFDl1b9v4" - }, - "source": [ - "### Split Documents into Passages\n", - "\n", - "We’ll chunk documents into passages in order to improve the retrieval specificity and to ensure that we can provide multiple passages within the context window of the final question answering prompt.\n", - "\n", - "Here we are chunking documents into 800 token passages with an overlap of 400 tokens.\n", - "\n", - "Here we are using a simple splitter but Langchain offers more advanced splitters to reduce the chance of context being lost." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "id": "dbHEoTF6vBXE" - }, - "outputs": [], - "source": [ - "from langchain.document_loaders import JSONLoader \n", - "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", - "\n", - "def metadata_func(record: dict, metadata: dict) -> dict:\n", - " metadata[\"name\"] = record.get(\"name\")\n", - " metadata[\"summary\"] = record.get(\"summary\")\n", - " metadata[\"url\"] = record.get(\"url\")\n", - " metadata[\"category\"] = record.get(\"category\")\n", - " metadata[\"updated_at\"] = record.get(\"updated_at\")\n", - "\n", - " return metadata\n", - "\n", - "# For more loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/\n", - "# And 3rd party loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/#third-party-loaders\n", - "loader = JSONLoader(\n", - " file_path=\"temp.json\",\n", - " jq_schema=\".[]\",\n", - " content_key=\"content\",\n", - " metadata_func=metadata_func,\n", - ")\n", - "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", - "docs = loader.load_and_split(text_splitter=text_splitter)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "RmCUl0hxW4lG" - }, - "source": [ - "### Bulk Import Passages\n", - "\n", - "Now that we have split each document into the chunk size of 800, we will now index data to elasticsearch using [ElasticsearchStore.from_documents](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html#langchain.vectorstores.elasticsearch.ElasticsearchStore.from_documents).\n", - "\n", - "We will use Cloud ID, Password and Index name values set in the `Create cloud deployment` step." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "documents = vector_store.from_documents(\n", - " docs, \n", - " embeddings, \n", - " index_name=\"workplace_index\",\n", - " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY\n", - ")" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "rXJH_MiWejv7" - }, - "source": [ - "## Asking a question\n", - "Now that we have the passages stored in Elasticsearch, we can now ask a question to get the relevant passages." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "OobeBT6rek7Q", - "outputId": "ba7b3a7a-253e-4e7f-83b9-cec07ebdac09" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "---- Answer ----\n", - "\n", - "The NASA Sales Team is responsible for understanding the unique market dynamics and cultural nuances of North and South America. It is led by Area Vice-Presidents Laura Martinez (North America) and Gary Johnson (South America), and consists of dedicated account managers, sales representatives, and support staff. The team works to effectively target and engage with customers across the region.\n" - ] - } - ], - "source": [ - "from langchain.schema.runnable import RunnablePassthrough\n", - "from langchain.prompts import ChatPromptTemplate\n", - "from langchain.schema.output_parser import StrOutputParser\n", - "\n", - "retriever = vector_store.as_retriever()\n", - "\n", - "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", - "\n", - "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", - " \"\"\"You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", - " \n", - " context: {context}\n", - " Question: \"{question}\"\n", - " Answer:\n", - " \"\"\"\n", - ")\n", - "\n", - "chain = (\n", - " {\"context\": retriever, \"question\": RunnablePassthrough()}\n", - " | ANSWER_PROMPT\n", - " | llm\n", - " | StrOutputParser()\n", - ")\n", - "\n", - "ans = chain.invoke(\"what is the nasa sales team?\")\n", - "\n", - "print(\"---- Answer ----\")\n", - "print(ans)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Add Source Tracing\n", - "RAG can provide clear traceability of the source knowledge used to answer a question. This is important for compliance and regulatory reasons and limiting LLM hallucinations. This is known as source tracking.\n", - "\n", - "In this example, we extend the Prompt template to ask the LLM to cite the source of the answer." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "---- Answer ----\n", - "The North America South America (NASA) sales team is responsible for serving customers and achieving business objectives across North and South America. The team is led by two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America. The team consists of dedicated account managers, sales representatives, and support staff. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction.\n", - "SOURCE: Sales Organization Overview\n" - ] - } - ], - "source": [ - "from langchain.schema.runnable import RunnablePassthrough\n", - "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", - "from langchain.schema.output_parser import StrOutputParser\n", - "from langchain.schema import format_document\n", - "\n", - "retriever = vector_store.as_retriever()\n", - "\n", - "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", - "\n", - "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", - "\"\"\"\n", - "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", - "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", - "\n", - "\n", - "context: {context}\n", - "Question: \"{question}\"\n", - "Answer:\n", - "\"\"\"\n", - ")\n", - "\n", - "DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", - "---\n", - "SOURCE: {name}\n", - "{page_content}\n", - "---\n", - "\"\"\")\n", - "\n", - "def _combine_documents(\n", - " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", - "):\n", - " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", - " return document_separator.join(doc_strings)\n", - "\n", - "_context = {\n", - " \"context\": retriever | _combine_documents,\n", - " \"question\": RunnablePassthrough(),\n", - "}\n", - "\n", - "chain = (\n", - " _context\n", - " | ANSWER_PROMPT\n", - " | llm\n", - " | StrOutputParser()\n", - ")\n", - "\n", - "ans = chain.invoke(\"what is the nasa sales team?\")\n", - "\n", - "print(\"---- Answer ----\")\n", - "print(ans)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Returning Passages with Answer\n", - "\n", - "In this example, we extend the chain to return the passages back with the answer. This is helpful for the UI to display the source passages, should the user want to read more on the topic. " - ] - }, + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "tZnIXBfrRpex" + }, + "source": [ + "# Question Answering with Langchain and OpenAI\n", + "\n", + "\"Open\n", + "\n", + "This interactive notebook uses Langchain to split fictional workplace documents into passages and uses OpenAI to transform these passages into embeddings and store them into Elasticsearch.\n", + "\n", + "\n", + "![image.png](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAf4AAACiCAIAAAAvNjhKAAAMQWlDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkEBCCV1K6E0QqQGkhNACSC+CqIQkQCgxBoKKHV1UcO1iARu6KqLYAbGgiGJhUex9saCirIsFu/ImBXTdV7433zd3/vvPmf+cOXfm3jsAqJ/gisV5qAYA+aJCSVxoIGNMSiqD9BSQAApoQBvYcXkFYlZMTCSAZbD9e3l3HSCy9oqjTOuf/f+1aPIFBTwAkBiIM/gFvHyIDwKAV/HEkkIAiDLeYnKhWIZhBdoSGCDEC2Q4S4GrZDhDgffKbRLi2BC3AqCixuVKsgCgXYI8o4iXBTVofRA7i/hCEQDqDIj98vMn8iFOh9gW2oghlukzM37QyfqbZsaQJpebNYQVc5EXlSBhgTiPO/X/TMf/Lvl50kEf1rCqZUvC4mRzhnm7mTsxQobVIO4VZURFQ6wF8QchX24PMUrJloYlKuxRI14BG+YM6ELszOcGRUBsBHGIKC8qUslnZApDOBDDFYJOERZyEiDWh3iBoCA4XmmzSTIxTukLrc+UsFlK/ixXIvcr83VfmpvIUuq/zhZwlPoYrTg7IRliCsSWRcKkKIhpEDsV5MZHKG1GFWezowZtJNI4WfyWEMcJRKGBCn2sKFMSEqe0L8svGJwvtilbyIlS4v2F2QlhivxgrTyuPH44F+ySQMRKHNQRFIyJHJwLXxAUrJg79kwgSoxX6nwQFwbGKcbiFHFejNIeNxfkhcp4c4jdCorilWPxpEK4IBX6eKa4MCZBESdenMMNj1HEgy8FkYANggADSGHNABNBDhB29Db0wjtFTwjgAgnIAgLgqGQGRyTLe0TwGg+KwZ8QCUDB0LhAea8AFEH+6xCruDqCTHlvkXxELngCcT6IAHnwXiofJRrylgQeQ0b4D+9cWHkw3jxYZf3/nh9kvzMsyEQqGemgR4b6oCUxmBhEDCOGEO1wQ9wP98Ej4TUAVheciXsNzuO7PeEJoZPwkHCN0EW4NUFYIvkpytGgC+qHKHOR8WMucGuo6Y4H4r5QHSrjurghcMTdoB8W7g89u0OWrYxblhXGT9p/m8EPT0NpR3Ymo2Q9cgDZ9ueRNHua+5CKLNc/5kcRa8ZQvtlDPT/7Z/+QfT5sI362xBZgB7A27CR2DjuKNQAG1ow1Yu3YMRkeWl2P5atr0FucPJ5cqCP8h7/BJyvLZIFzrXOP8xdFX6FgiuwdDdgTxVMlwqzsQgYLfhEEDI6I5zSc4eLs4gqA7PuieH29iZV/NxDd9u/c3D8A8G0eGBg48p0LbwZgnyfc/oe/c7ZM+OlQBeDsYZ5UUqTgcNmFAN8S6nCnGQATYAFs4XxcgAfwAQEgGISDaJAAUsB4GH02XOcSMBlMB3NAKSgHS8EqsA5sBFvADrAb7AcN4Cg4Cc6AC+ASuAbuwNXTDV6APvAOfEYQhIRQETpigJgiVogD4oIwET8kGIlE4pAUJB3JQkSIFJmOzEXKkeXIOmQzUoPsQw4jJ5FzSCdyC3mA9CCvkU8ohqqh2qgxao2OQJkoC41AE9BxaBY6CS1G56GL0TVoNboLrUdPohfQa2gX+gLtxwCmiuliZpgjxsTYWDSWimViEmwmVoZVYNVYHdYEn/MVrAvrxT7iRJyOM3BHuILD8ESch0/CZ+KL8HX4Drweb8Wv4A/wPvwbgUowIjgQvAkcwhhCFmEyoZRQQdhGOEQ4DfdSN+EdkUjUJdoQPeFeTCHmEKcRFxHXE/cQTxA7iY+I/SQSyYDkQPIlRZO4pEJSKWktaRepmXSZ1E36oKKqYqriohKikqoiUilRqVDZqXJc5bLKU5XPZA2yFdmbHE3mk6eSl5C3kpvIF8nd5M8UTYoNxZeSQMmhzKGsodRRTlPuUt6oqqqaq3qpxqoKVWerrlHdq3pW9YHqRzUtNXs1tlqamlRtsdp2tRNqt9TeUKlUa2oANZVaSF1MraGeot6nfqDRaU40Do1Pm0WrpNXTLtNeqpPVrdRZ6uPVi9Ur1A+oX1Tv1SBrWGuwNbgaMzUqNQ5r3NDo16RrjtSM1szXXKS5U/Oc5jMtkpa1VrAWX2ue1hatU1qP6Bjdgs6m8+hz6Vvpp+nd2kRtG22Odo52ufZu7Q7tPh0tHTedJJ0pOpU6x3S6dDFda12Obp7uEt39utd1P+kZ67H0BHoL9er0Luu91x+mH6Av0C/T36N/Tf+TAcMg2CDXYJlBg8E9Q9zQ3jDWcLLhBsPThr3DtIf5DOMNKxu2f9htI9TI3ijOaJrRFqN2o35jE+NQY7HxWuNTxr0muiYBJjkmK02Om/SY0k39TIWmK02bTZ8zdBgsRh5jDaOV0WdmZBZmJjXbbNZh9tncxjzRvMR8j/k9C4oF0yLTYqVFi0WfpanlaMvplrWWt63IVkyrbKvVVm1W761trJOt51s3WD+z0bfh2BTb1NrctaXa+ttOsq22vWpHtGPa5dqtt7tkj9q722fbV9pfdEAdPByEDusdOocThnsNFw2vHn7DUc2R5VjkWOv4wEnXKdKpxKnB6eUIyxGpI5aNaBvxzdndOc95q/OdkVojw0eWjGwa+drF3oXnUuly1ZXqGuI6y7XR9ZWbg5vAbYPbTXe6+2j3+e4t7l89PD0kHnUePZ6WnumeVZ43mNrMGOYi5lkvgleg1yyvo14fvT28C733e//l4+iT67PT59kom1GCUVtHPfI19+X6bvbt8mP4pftt8uvyN/Pn+lf7PwywCOAHbAt4yrJj5bB2sV4GOgdKAg8Fvmd7s2ewTwRhQaFBZUEdwVrBicHrgu+HmIdkhdSG9IW6h04LPRFGCIsIWxZ2g2PM4XFqOH3hnuEzwlsj1CLiI9ZFPIy0j5RENo1GR4ePXjH6bpRVlCiqIRpEc6JXRN+LsYmZFHMklhgbE1sZ+yRuZNz0uLZ4evyE+J3x7xICE5Yk3Em0TZQmtiSpJ6Ul1SS9Tw5KXp7cNWbEmBljLqQYpghTGlNJqUmp21L7xwaPXTW2O809rTTt+jibcVPGnRtvOD5v/LEJ6hO4Ew6kE9KT03emf+FGc6u5/RmcjKqMPh6bt5r3gh/AX8nvEfgKlgueZvpmLs98luWbtSKrJ9s/uyK7V8gWrhO+ygnL2ZjzPjc6d3vuQF5y3p58lfz0/MMiLVGuqHWiycQpEzvFDuJScdck70mrJvVJIiTbCpCCcQWNhdrwR75daiv9RfqgyK+osujD5KTJB6ZoThFNaZ9qP3Xh1KfFIcW/TcOn8aa1TDebPmf6gxmsGZtnIjMzZrbMspg1b1b37NDZO+ZQ5uTO+b3EuWR5ydu5yXOb5hnPmz3v0S+hv9SW0kolpTfm+8zfuABfIFzQsdB14dqF38r4ZefLncsryr8s4i06/+vIX9f8OrA4c3HHEo8lG5YSl4qWXl/mv2zHcs3lxcsfrRi9on4lY2XZyrerJqw6V+FWsXE1ZbV0ddeayDWNay3XLl37ZV32umuVgZV7qoyqFla9X89ff3lDwIa6jcYbyzd+2iTcdHNz6Ob6auvqii3ELUVbnmxN2tr2G/O3mm2G28q3fd0u2t61I25Ha41nTc1Oo51LatFaaW3PrrRdl3YH7W6sc6zbvEd3T/lesFe69/m+9H3X90fsbznAPFB30Opg1SH6obJ6pH5qfV9DdkNXY0pj5+Hwwy1NPk2Hjjgd2X7U7GjlMZ1jS45Tjs87PtBc3Nx/Qnyi92TWyUctE1runBpz6mprbGvH6YjTZ8+EnDnVxmprPut79ug573OHzzPPN1zwuFDf7t5+6Hf33w91eHTUX/S82HjJ61JT56jO45f9L5+8EnTlzFXO1QvXoq51Xk+8fvNG2o2um/ybz27l3Xp1u+j25zuz7xLult3TuFdx3+h+9R92f+zp8ug69iDoQfvD+Id3HvEevXhc8PhL97wn1CcVT02f1jxzeXa0J6Tn0vOxz7tfiF987i39U/PPqpe2Lw/+FfBXe9+Yvu5XklcDrxe9MXiz/a3b25b+mP777/LffX5f9sHgw46PzI9tn5I/Pf08+Qvpy5qvdl+bvkV8uzuQPzAg5kq48l8BDFY0MxOA19sBoKYAQIfnM8pYxflPXhDFmVWOwH/CijOivHgAUAf/32N74d/NDQD2boXHL6ivngZADBWABC+AuroO1cGzmvxcKStEeA7YFP01Iz8D/JuiOHP+EPfPLZCpuoGf238Bk9B8XQo0or4AAAA4ZVhJZk1NACoAAAAIAAGHaQAEAAAAAQAAABoAAAAAAAKgAgAEAAAAAQAAAf6gAwAEAAAAAQAAAKIAAAAAGoXaLQAAJsNJREFUeAHtnXfYFcX1x1FBKbHgg6KigMZEsKMoMSoqalBUxBIhWGOMsfcSEwvGhr0QBPNYiCZKRIEQwPAEFRGNogRRihgLigJBjRpRVCy/T5gn6/5umbt3Z+fu7rvf/eO+80495zuzZ2fOnDmzyjfffNNMjxAQAkJACBQJgVWLxKx4FQJCQAgIgf8iINGvcSAEhIAQKBwCEv2F63IxLASEgBCQ6NcYEAJCQAgUDgGJ/sJ1uRgWAkJACEj0awwIASEgBAqHgER/4bpcDAsBISAEJPo1BoSAEBAChUNAor9wXS6GhYAQEAIS/RoDQkAICIHCISDRX7guF8NCQAgIAYl+jQEhIASEQOEQkOgvXJeLYSEgBISARL/GgBAQAkKgcAhI9Beuy8WwEBACQkCiX2NACAgBIVA4BCT6C9flYlgICAEhINGvMSAEhIAQKBwCEv2F63IxLASEgBCQ6NcYEAJCQAgUDgGJ/sJ1uRgWAkJACEj0awwIASEgBAqHgER/4bpcDAsBISAEJPo1BoSAEBAChUNAor9wXS6GhYAQEAIS/RoDQkAICIHCISDRX7guF8NCQAgIAYl+jQEhIASEQOEQkOgvXJeLYSEgBISARL/GgBAQAkKgcAhI9Beuy8WwEBACQqB5PAhWWWWVeAXzW+qbb77JL/HZpDzFUaTezOaQEFUNQyCm6Ie+Qr08KQqphg2FVBpKZRSpN1PpazWaKQSk8MlUd9RHzPvvv//BBx/UV0a5hUCzZp9++um8efPee+89gVFYBCT6c9n1kydP3nfffdu1a7fuuuvutttu48ePr8bG1VdfffTRR/OqM9V99dVXP//887vvvpt/w/kHDRp03HHHhWOCcMX8QaoCuUOAuUL//v3btGmz5ZZbrrfeevvtt9+iRYvicaGxEQ+3jJSS6M9IR9RBBoIbuf+jH/1o2bJlb731FqL/oIMOqjb9R6Py9ddft2zZ8oknnthoo40++eSTn/3sZx9++GG4vWOPPfaXv/xlOCYIV8wfpCqQLwQYDH379n3nnXdee+01wi+//DJD6LDDDovHhcZGPNwyUkqiPyMdUQcZZprWvXt35m6bbLLJZZdddumlly5fvvzRRx894YQTzjzzzPbt2++1117z588PKl2xYsWvf/3rf//73+Y933///d99990g9bHHHnv44Yc/++yzHj163HXXXVtttdV3v/vdO++8kwzh/KgIqHbNNdck21NPPRUUVyAvCEydOnXatGl08WabbQbNW2yxxR133LHTTjshxO+55x5GEdOCX/ziFySNGDFiu+22Yxgwur788kti/vGPfxx++OEMrQMPPPDJJ58kJjw2lixZwmKCVCYlM2fOJFVP1hHg4x/jgasYpfJbJFP8Isd5db/zne+cccYZY8eORaAbYB944AHo/PnPf86byTqgX79+xF955ZUDBw7k3SbplVdemTRpEoHRo0ezWg+6g3cepZDJ8/3vf588iACy8TkJ8v/nP//ZeOON+WZQ+cUXX0zr//rXv4Ia4gVoIl5Bx1JptetItnvxYcOGrb/++hXrYZwAS+/evZkHTJw4kfBtt932t7/9jU6//PLLKcLAOPHEE5977rlzzz0XZRFLyWBsMGnYeeed99lnH/Kb5SNr0IqtKDI7CMR894r28mSNXyZZ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)\n", + "\n", + "Then when we ask a question, we retrieve the relevant passages from the vector store and use langchain and OpenAI to provide a summary for the question." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "GyAst2W-VpHb" + }, + "source": [ + "## Install required packages\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "33A-cP-XvFCr" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "---- Answer ----\n", - "The North America South America (NASA) region has two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America. The NASA sales team consists of dedicated account managers, sales representatives, and support staff, led by their respective Area Vice-Presidents. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction. The teams collaborate closely with other departments, such as marketing, product development, and customer support, to ensure we consistently deliver high-quality products and services to our clients.\n", - "\n", - "SOURCE: Sales Organization Overview\n", - "\n", - "---- Documents ----\n", - "Sales Organization Overview\n", - "Our sales organization is structured to effectively serve our customers and achieve our business objectives across multiple regions. The organization is divided into the following main regions:\n", - "\n", - "The Americas: This region includes the United States, Canada, Mexico, as well as Central and South America. The North America South America region (NASA) has two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America.\n", - "\n", - "Europe: Our European sales team covers the entire continent, including the United Kingdom, Germany, France, Spain, Italy, and other countries. The team is responsible for understanding the unique market dynamics and cultural nuances, enabling them to effectively target and engage with customers across the region. The Area Vice-President for Europe is Rajesh Patel.\n", - "Asia-Pacific: This region encompasses countries such as China, Japan, South Korea, India, Australia, and New Zealand. Our sales team in the Asia-Pacific region works diligently to capitalize on growth opportunities and address the diverse needs of customers in this vast and rapidly evolving market. The Area Vice-President for Asia-Pacific is Mei Li.\n", - "Middle East & Africa: This region comprises countries across the Middle East and Africa, such as the United Arab Emirates, Saudi Arabia, South Africa, and Nigeria. Our sales team in this region is responsible for navigating the unique market challenges and identifying opportunities to expand our presence and better serve our customers. The Area Vice-President for Middle East & Africa is Jamal Abdi.\n", - "\n", - "Each regional sales team consists of dedicated account managers, sales representatives, and support staff, led by their respective Area Vice-Presidents. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction. The teams collaborate closely with other departments, such as marketing, product development, and customer support, to ensure we consistently deliver high-quality products and services to our clients.\n", - "----\n", - "Sales Engineering Collaboration\n", - "As an engineer, it is important to understand the sales team's goals and objectives, as this will help you to provide them with the necessary information, tools, and support to successfully sell your company's products and services.\n", - "Communication:\n", - "Effective communication is key to successfully working with the sales team. Make sure to maintain open lines of communication, and be responsive to their questions and concerns. This includes:\n", - "\n", - "a. Attending sales meetings and conference calls when required.\n", - "b. Providing regular product updates and training sessions to the sales team.\n", - "c. Being available to answer technical questions and clarifications.\n", - "Collaboration:\n", - "Collaborate with the sales team in developing and refining sales materials, such as product presentations, demos, and technical documents. This will ensure that the sales team has accurate and up-to-date information to present to clients.\n", - "\n", - "Additionally, work closely with the sales team on customer projects or product customizations, providing technical guidance, and ensuring that the solutions meet the customer's requirements.\n", - "Customer Engagement:\n", - "At times, engineers may be asked to join sales meetings or calls with potential clients to provide technical expertise. In these situations, it is important to:\n", - "\n", - "a. Be prepared and understand the customer's needs and pain points.\n", - "b. Clearly explain the technical aspects of the product or solution in a simple language that the customer can understand.\n", - "c. Address any concerns or questions the customer may have.\n", - "Continuous Improvement:\n", - "Actively seek feedback from the sales team regarding product performance, customer experiences, and market trends. Use this feedback to identify areas of improvement and collaborate with other engineers to enhance the product or service offerings.\n", - "Mutual Respect and Support:\n", - "It is essential to treat your colleagues in the sales team with respect and professionalism. Recognize and appreciate their efforts in promoting and selling the company's products and services. In turn, the sales team should also respect and appreciate the technical expertise and knowledge of the engineering team.\n", - "\n", - "By working together, both the engineering and sales teams can contribute to the overall success of the company.\n", - "\n", - "Conclusion:\n", - "Collaboration between engineers and the sales team is crucial for a tech company's success. By understanding each other's roles, maintaining effective communication, collaborating on projects, and supporting one another, both teams can work together to achieve the company's goals and ensure customer satisfaction.\n", - "----\n", - "Fy2024 Company Sales Strategy\n", - "III. Action Plans\n", - "A. Sales Team Development:\n", - "Expand the sales team to cover new markets and industries.\n", - "Provide ongoing training to sales staff on product knowledge, sales techniques, and industry trends.\n", - "Implement a performance-based incentive system to reward top performers.\n", - "\n", - "B. Marketing and Promotion:\n", - "Develop targeted marketing campaigns for different customer segments and industries.\n", - "Leverage digital marketing channels to increase brand visibility and lead generation.\n", - "Participate in industry events and trade shows to showcase our products and services.\n", - "\n", - "C. Partner Ecosystem:\n", - "Strengthen existing partnerships and establish new strategic alliances to expand market reach.\n", - "Collaborate with partners on joint marketing and sales initiatives.\n", - "Provide partner training and support to ensure they effectively represent our products and services.\n", - "\n", - "D. Customer Success:\n", - "Implement a proactive customer success program to improve customer retention and satisfaction.\n", - "Develop a dedicated customer support team to address customer inquiries and concerns promptly.\n", - "Collect and analyze customer feedback to identify areas for improvement in our products, services, and processes.\n", - "\n", - "IV. Monitoring and Evaluation\n", - "Establish key performance indicators (KPIs) to track progress toward our objectives.\n", - "Conduct regular sales team meetings to review performance, share best practices, and address challenges.\n", - "Conduct quarterly reviews of our sales strategy to ensure alignment with market trends and adjust as needed.\n", - "\n", - "By following this sales strategy for fiscal year 2024, our tech company aims to achieve significant growth and success in our target markets, while also providing exceptional value and service to our customers.\n", - "----\n", - "Sales Engineering Collaboration\n", - "Title: Working with the Sales Team as an Engineer in a Tech Company\n", - "\n", - "Introduction:\n", - "As an engineer in a tech company, collaboration with the sales team is essential to ensure the success of the company's products and services. This guidance document aims to provide an overview of how engineers can effectively work with the sales team, fostering a positive and productive working environment.\n", - "Understanding the Sales Team's Role:\n", - "The sales team is responsible for promoting and selling the company's products and services to potential clients. Their role involves establishing relationships with customers, understanding their needs, and ensuring that the offered solutions align with their requirements.\n", - "\n", - "As an engineer, it is important to understand the sales team's goals and objectives, as this will help you to provide them with the necessary information, tools, and support to successfully sell your company's products and services.\n", - "Communication:\n", - "Effective communication is key to successfully working with the sales team. Make sure to maintain open lines of communication, and be responsive to their questions and concerns. This includes:\n", - "\n", - "a. Attending sales meetings and conference calls when required.\n", - "b. Providing regular product updates and training sessions to the sales team.\n", - "c. Being available to answer technical questions and clarifications.\n", - "Collaboration:\n", - "Collaborate with the sales team in developing and refining sales materials, such as product presentations, demos, and technical documents. This will ensure that the sales team has accurate and up-to-date information to present to clients.\n", - "\n", - "Additionally, work closely with the sales team on customer projects or product customizations, providing technical guidance, and ensuring that the solutions meet the customer's requirements.\n", - "Customer Engagement:\n", - "At times, engineers may be asked to join sales meetings or calls with potential clients to provide technical expertise. In these situations, it is important to:\n", - "----\n" - ] - } - ], - "source": [ - "from langchain.schema.runnable import RunnableMap\n", - "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", - "from langchain.schema import format_document\n", - "from operator import itemgetter\n", - "\n", - "retriever = vector_store.as_retriever()\n", - "\n", - "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", - "\n", - "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", - "\"\"\"\n", - "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", - "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", - "\n", - "context: {context}\n", - "Question: {question}\n", - "Answer:\n", - "\n", - "\"\"\"\n", - ")\n", - "\n", - "DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", - "---\n", - "SOURCE: {name}\n", - "{page_content}\n", - "---\n", - "\"\"\")\n", - "\n", - "def _combine_documents(\n", - " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", - "):\n", - " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", - " return document_separator.join(doc_strings)\n", - "\n", - "retrieved_documents = RunnableMap(\n", - " docs=itemgetter(\"question\") | retriever,\n", - " question=itemgetter(\"question\"),\n", - ")\n", - "\n", - "_context = {\n", - " \"context\": lambda x: _combine_documents(x[\"docs\"]),\n", - " \"question\": lambda x: x[\"question\"],\n", - "}\n", - "\n", - "answer = {\n", - " \"answer\": _context | ANSWER_PROMPT | llm,\n", - " \"docs\": itemgetter(\"docs\"),\n", - "}\n", - "\n", - "chain = (\n", - " retrieved_documents | answer\n", - ")\n", - "\n", - "ans = chain.invoke({ \"question\": \"what is the nasa sales team?\"})\n", - "\n", - "print(\"---- Answer ----\")\n", - "print(ans[\"answer\"])\n", - "print()\n", - "print(\"---- Documents ----\")\n", - "for doc in ans[\"docs\"]:\n", - " print(doc.metadata[\"name\"])\n", - " print(doc.page_content)\n", - " print(\"----\")\n" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", + "langserve 0.0.21 requires pydantic<2,>=1, but you have pydantic 2.3.0 which is incompatible.\u001b[0m\u001b[31m\n", + "\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.3.1\u001b[0m\n", + "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n" + ] + } + ], + "source": [ + "!python3 -m pip install -qU langchain openai==0.28.1 elasticsearch tiktoken jq" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "qtEOCsCLWCZp" + }, + "source": [ + "## Connect to Elasticsearch\n", + "\n", + "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook. If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial. \n", + "\n", + "We'll use the **Cloud ID** to identify our deployment, because we are using Elastic Cloud deployment. To find the Cloud ID for your deployment, go to https://cloud.elastic.co/deployments and select your deployment.\n", + "\n", + "\n", + "We will use [ElasticsearchStore](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html) to connect to our elastic cloud deployment. This would help create and index data easily. In the ElasticsearchStore instance, will set embedding to [OpenAIEmbeddings](https://api.python.langchain.com/en/latest/embeddings/langchain.embeddings.openai.OpenAIEmbeddings.html) to embed the texts and elasticsearch index name that will be used in this example." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "a-t1mglib54F" + }, + "outputs": [], + "source": [ + "from langchain.vectorstores import ElasticsearchStore\n", + "from langchain.embeddings.openai import OpenAIEmbeddings\n", + "from getpass import getpass\n", + "\n", + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", + "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", + "\n", + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", + "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", + "\n", + "# https://platform.openai.com/api-keys\n", + "OPENAI_API_KEY = getpass(\"OpenAI API key: \")\n", + "\n", + "embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)\n", + "\n", + "vector_store = ElasticsearchStore(\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"workplace_index\",\n", + " embedding=embeddings,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Indexing Data into Elasticsearch\n", + "\n", + "Let's download the sample dataset and deserialize the document. " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "J8-93TiJsNyK" + }, + "outputs": [], + "source": [ + "from urllib.request import urlopen\n", + "from langchain.llms import OpenAI\n", + "import json\n", + "\n", + "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\"\n", + "\n", + "response = urlopen(url)\n", + "data = json.load(response)\n", + "\n", + "with open(\"temp.json\", \"w\") as json_file:\n", + " json.dump(data, json_file)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "p0cQFDl1b9v4" + }, + "source": [ + "### Split Documents into Passages\n", + "\n", + "We’ll chunk documents into passages in order to improve the retrieval specificity and to ensure that we can provide multiple passages within the context window of the final question answering prompt.\n", + "\n", + "Here we are chunking documents into 800 token passages with an overlap of 400 tokens.\n", + "\n", + "Here we are using a simple splitter but Langchain offers more advanced splitters to reduce the chance of context being lost." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "dbHEoTF6vBXE" + }, + "outputs": [], + "source": [ + "from langchain.document_loaders import JSONLoader\n", + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "\n", + "\n", + "def metadata_func(record: dict, metadata: dict) -> dict:\n", + " metadata[\"name\"] = record.get(\"name\")\n", + " metadata[\"summary\"] = record.get(\"summary\")\n", + " metadata[\"url\"] = record.get(\"url\")\n", + " metadata[\"category\"] = record.get(\"category\")\n", + " metadata[\"updated_at\"] = record.get(\"updated_at\")\n", + "\n", + " return metadata\n", + "\n", + "\n", + "# For more loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/\n", + "# And 3rd party loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/#third-party-loaders\n", + "loader = JSONLoader(\n", + " file_path=\"temp.json\",\n", + " jq_schema=\".[]\",\n", + " content_key=\"content\",\n", + " metadata_func=metadata_func,\n", + ")\n", + "\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", + "docs = loader.load_and_split(text_splitter=text_splitter)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "RmCUl0hxW4lG" + }, + "source": [ + "### Bulk Import Passages\n", + "\n", + "Now that we have split each document into the chunk size of 800, we will now index data to elasticsearch using [ElasticsearchStore.from_documents](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html#langchain.vectorstores.elasticsearch.ElasticsearchStore.from_documents).\n", + "\n", + "We will use Cloud ID, Password and Index name values set in the `Create cloud deployment` step." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "documents = vector_store.from_documents(\n", + " docs,\n", + " embeddings,\n", + " index_name=\"workplace_index\",\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "rXJH_MiWejv7" + }, + "source": [ + "## Asking a question\n", + "Now that we have the passages stored in Elasticsearch, we can now ask a question to get the relevant passages." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "OobeBT6rek7Q", + "outputId": "ba7b3a7a-253e-4e7f-83b9-cec07ebdac09" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Conversational Question Answering\n", - "We have achieved getting answers to questions, but what if we want to ask follow up questions? We can use the answer from the previous question as the context for the next question. This is known as conversational question answering.\n", - "\n", - "In this example, we extend the chain to use the answer from the previous question as the context for the next question." - ] - }, + "name": "stdout", + "output_type": "stream", + "text": [ + "---- Answer ----\n", + "\n", + "The NASA Sales Team is responsible for understanding the unique market dynamics and cultural nuances of North and South America. It is led by Area Vice-Presidents Laura Martinez (North America) and Gary Johnson (South America), and consists of dedicated account managers, sales representatives, and support staff. The team works to effectively target and engage with customers across the region.\n" + ] + } + ], + "source": [ + "from langchain.schema.runnable import RunnablePassthrough\n", + "from langchain.prompts import ChatPromptTemplate\n", + "from langchain.schema.output_parser import StrOutputParser\n", + "\n", + "retriever = vector_store.as_retriever()\n", + "\n", + "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", + "\n", + "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", + " \n", + " context: {context}\n", + " Question: \"{question}\"\n", + " Answer:\n", + " \"\"\"\n", + ")\n", + "\n", + "chain = (\n", + " {\"context\": retriever, \"question\": RunnablePassthrough()}\n", + " | ANSWER_PROMPT\n", + " | llm\n", + " | StrOutputParser()\n", + ")\n", + "\n", + "ans = chain.invoke(\"what is the nasa sales team?\")\n", + "\n", + "print(\"---- Answer ----\")\n", + "print(ans)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Add Source Tracing\n", + "RAG can provide clear traceability of the source knowledge used to answer a question. This is important for compliance and regulatory reasons and limiting LLM hallucinations. This is known as source tracking.\n", + "\n", + "In this example, we extend the Prompt template to ask the LLM to cite the source of the answer." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "---- Answer ----\n", - "The objectives for fiscal year 2024 are to increase revenue by 20% compared to fiscal year 2023, expand market share in key segments by 15%, retain 95% of existing customers and increase customer satisfaction ratings, and launch at least two new products or services in high-demand market segments. SOURCE: Fy2024 Company Sales Strategy\n" - ] - } - ], - "source": [ - "from langchain.schema.runnable import RunnableMap\n", - "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", - "from langchain.schema import format_document\n", - "from operator import itemgetter\n", - "\n", - "retriever = vector_store.as_retriever()\n", - "\n", - "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", - "\n", - "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", - "\"\"\"\n", - "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", - "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", - "\n", - "context: \n", - "{context}\n", - "\n", - "Question: {question}\n", - "Answer:\n", - "\"\"\"\n", - ")\n", - "\n", - "DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", - "---\n", - "SOURCE: {name}\n", - "{page_content}\n", - "---\n", - "\"\"\")\n", - "\n", - "CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(\n", - "\"\"\"Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question, in its original language.\n", - "\n", - "Chat History:\n", - "{chat_history}\n", - "Follow Up Input: {question}\n", - "\"\"\")\n", - "\n", - "standalone_question = RunnableMap(\n", - " standalone_question=RunnablePassthrough.assign(\n", - " chat_history=lambda x: _format_chat_history(x[\"chat_history\"])\n", - " )\n", - " | CONDENSE_QUESTION_PROMPT\n", - " | llm\n", - " | StrOutputParser(),\n", - ")\n", - "\n", - "def _format_chat_history(chat_history) -> str:\n", - " buffer = \"\"\n", - " for dialogue_turn in chat_history:\n", - " human = \"Human: \" + dialogue_turn[0]\n", - " ai = \"Assistant: \" + dialogue_turn[1]\n", - " buffer += \"\\n\" + \"\\n\".join([human, ai])\n", - " return buffer\n", - "\n", - "def _combine_documents(\n", - " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", - "):\n", - " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", - " return document_separator.join(doc_strings)\n", - "\n", - "retrieved_documents = RunnableMap(\n", - " docs=itemgetter(\"standalone_question\") | retriever,\n", - " question=itemgetter(\"standalone_question\"),\n", - ")\n", - "\n", - "_context = {\n", - " \"context\": lambda x: _combine_documents(x[\"docs\"]),\n", - " \"question\": lambda x: x[\"question\"],\n", - "}\n", - "\n", - "answer = {\n", - " \"answer\": _context | ANSWER_PROMPT | llm,\n", - " \"docs\": itemgetter(\"docs\"),\n", - "}\n", - "\n", - "chain = (\n", - " standalone_question | retrieved_documents | answer\n", - ")\n", - "\n", - "ans = chain.invoke({ \n", - " \"question\": \"What are their objectives?\", \n", - " \"chat_history\": [\n", - " \"What is the nasa sales team?\",\n", - " \"The sales team of NASA consists of Laura Martinez, the Area \"\n", - " \"Vice-President of North America, and Gary Johnson, the Area \"\n", - " \"Vice-President of South America.\"\n", - " \"SOURCE: Sales Organization Overview\"\n", - " ]\n", - "})\n", - "\n", - "print(\"---- Answer ----\")\n", - "print(ans[\"answer\"])" - ] - }, + "name": "stdout", + "output_type": "stream", + "text": [ + "---- Answer ----\n", + "The North America South America (NASA) sales team is responsible for serving customers and achieving business objectives across North and South America. The team is led by two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America. The team consists of dedicated account managers, sales representatives, and support staff. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction.\n", + "SOURCE: Sales Organization Overview\n" + ] + } + ], + "source": [ + "from langchain.schema.runnable import RunnablePassthrough\n", + "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", + "from langchain.schema.output_parser import StrOutputParser\n", + "from langchain.schema import format_document\n", + "\n", + "retriever = vector_store.as_retriever()\n", + "\n", + "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", + "\n", + "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", + "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", + "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", + "\n", + "\n", + "context: {context}\n", + "Question: \"{question}\"\n", + "Answer:\n", + "\"\"\"\n", + ")\n", + "\n", + "DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", + "---\n", + "SOURCE: {name}\n", + "{page_content}\n", + "---\n", + "\"\"\"\n", + ")\n", + "\n", + "\n", + "def _combine_documents(\n", + " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", + "):\n", + " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", + " return document_separator.join(doc_strings)\n", + "\n", + "\n", + "_context = {\n", + " \"context\": retriever | _combine_documents,\n", + " \"question\": RunnablePassthrough(),\n", + "}\n", + "\n", + "chain = _context | ANSWER_PROMPT | llm | StrOutputParser()\n", + "\n", + "ans = chain.invoke(\"what is the nasa sales team?\")\n", + "\n", + "print(\"---- Answer ----\")\n", + "print(ans)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Returning Passages with Answer\n", + "\n", + "In this example, we extend the chain to return the passages back with the answer. This is helpful for the UI to display the source passages, should the user want to read more on the topic. " + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Next Steps\n", - "We have shown how to use Langchain to build a question answering system. We have shown how to index data into Elasticsearch, ask a question and use the answer from the previous question as the context for the next question." - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "---- Answer ----\n", + "The North America South America (NASA) region has two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America. The NASA sales team consists of dedicated account managers, sales representatives, and support staff, led by their respective Area Vice-Presidents. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction. The teams collaborate closely with other departments, such as marketing, product development, and customer support, to ensure we consistently deliver high-quality products and services to our clients.\n", + "\n", + "SOURCE: Sales Organization Overview\n", + "\n", + "---- Documents ----\n", + "Sales Organization Overview\n", + "Our sales organization is structured to effectively serve our customers and achieve our business objectives across multiple regions. The organization is divided into the following main regions:\n", + "\n", + "The Americas: This region includes the United States, Canada, Mexico, as well as Central and South America. The North America South America region (NASA) has two Area Vice-Presidents: Laura Martinez is the Area Vice-President of North America, and Gary Johnson is the Area Vice-President of South America.\n", + "\n", + "Europe: Our European sales team covers the entire continent, including the United Kingdom, Germany, France, Spain, Italy, and other countries. The team is responsible for understanding the unique market dynamics and cultural nuances, enabling them to effectively target and engage with customers across the region. The Area Vice-President for Europe is Rajesh Patel.\n", + "Asia-Pacific: This region encompasses countries such as China, Japan, South Korea, India, Australia, and New Zealand. Our sales team in the Asia-Pacific region works diligently to capitalize on growth opportunities and address the diverse needs of customers in this vast and rapidly evolving market. The Area Vice-President for Asia-Pacific is Mei Li.\n", + "Middle East & Africa: This region comprises countries across the Middle East and Africa, such as the United Arab Emirates, Saudi Arabia, South Africa, and Nigeria. Our sales team in this region is responsible for navigating the unique market challenges and identifying opportunities to expand our presence and better serve our customers. The Area Vice-President for Middle East & Africa is Jamal Abdi.\n", + "\n", + "Each regional sales team consists of dedicated account managers, sales representatives, and support staff, led by their respective Area Vice-Presidents. They are responsible for identifying and pursuing new business opportunities, nurturing existing client relationships, and ensuring customer satisfaction. The teams collaborate closely with other departments, such as marketing, product development, and customer support, to ensure we consistently deliver high-quality products and services to our clients.\n", + "----\n", + "Sales Engineering Collaboration\n", + "As an engineer, it is important to understand the sales team's goals and objectives, as this will help you to provide them with the necessary information, tools, and support to successfully sell your company's products and services.\n", + "Communication:\n", + "Effective communication is key to successfully working with the sales team. Make sure to maintain open lines of communication, and be responsive to their questions and concerns. This includes:\n", + "\n", + "a. Attending sales meetings and conference calls when required.\n", + "b. Providing regular product updates and training sessions to the sales team.\n", + "c. Being available to answer technical questions and clarifications.\n", + "Collaboration:\n", + "Collaborate with the sales team in developing and refining sales materials, such as product presentations, demos, and technical documents. This will ensure that the sales team has accurate and up-to-date information to present to clients.\n", + "\n", + "Additionally, work closely with the sales team on customer projects or product customizations, providing technical guidance, and ensuring that the solutions meet the customer's requirements.\n", + "Customer Engagement:\n", + "At times, engineers may be asked to join sales meetings or calls with potential clients to provide technical expertise. In these situations, it is important to:\n", + "\n", + "a. Be prepared and understand the customer's needs and pain points.\n", + "b. Clearly explain the technical aspects of the product or solution in a simple language that the customer can understand.\n", + "c. Address any concerns or questions the customer may have.\n", + "Continuous Improvement:\n", + "Actively seek feedback from the sales team regarding product performance, customer experiences, and market trends. Use this feedback to identify areas of improvement and collaborate with other engineers to enhance the product or service offerings.\n", + "Mutual Respect and Support:\n", + "It is essential to treat your colleagues in the sales team with respect and professionalism. Recognize and appreciate their efforts in promoting and selling the company's products and services. In turn, the sales team should also respect and appreciate the technical expertise and knowledge of the engineering team.\n", + "\n", + "By working together, both the engineering and sales teams can contribute to the overall success of the company.\n", + "\n", + "Conclusion:\n", + "Collaboration between engineers and the sales team is crucial for a tech company's success. By understanding each other's roles, maintaining effective communication, collaborating on projects, and supporting one another, both teams can work together to achieve the company's goals and ensure customer satisfaction.\n", + "----\n", + "Fy2024 Company Sales Strategy\n", + "III. Action Plans\n", + "A. Sales Team Development:\n", + "Expand the sales team to cover new markets and industries.\n", + "Provide ongoing training to sales staff on product knowledge, sales techniques, and industry trends.\n", + "Implement a performance-based incentive system to reward top performers.\n", + "\n", + "B. Marketing and Promotion:\n", + "Develop targeted marketing campaigns for different customer segments and industries.\n", + "Leverage digital marketing channels to increase brand visibility and lead generation.\n", + "Participate in industry events and trade shows to showcase our products and services.\n", + "\n", + "C. Partner Ecosystem:\n", + "Strengthen existing partnerships and establish new strategic alliances to expand market reach.\n", + "Collaborate with partners on joint marketing and sales initiatives.\n", + "Provide partner training and support to ensure they effectively represent our products and services.\n", + "\n", + "D. Customer Success:\n", + "Implement a proactive customer success program to improve customer retention and satisfaction.\n", + "Develop a dedicated customer support team to address customer inquiries and concerns promptly.\n", + "Collect and analyze customer feedback to identify areas for improvement in our products, services, and processes.\n", + "\n", + "IV. Monitoring and Evaluation\n", + "Establish key performance indicators (KPIs) to track progress toward our objectives.\n", + "Conduct regular sales team meetings to review performance, share best practices, and address challenges.\n", + "Conduct quarterly reviews of our sales strategy to ensure alignment with market trends and adjust as needed.\n", + "\n", + "By following this sales strategy for fiscal year 2024, our tech company aims to achieve significant growth and success in our target markets, while also providing exceptional value and service to our customers.\n", + "----\n", + "Sales Engineering Collaboration\n", + "Title: Working with the Sales Team as an Engineer in a Tech Company\n", + "\n", + "Introduction:\n", + "As an engineer in a tech company, collaboration with the sales team is essential to ensure the success of the company's products and services. This guidance document aims to provide an overview of how engineers can effectively work with the sales team, fostering a positive and productive working environment.\n", + "Understanding the Sales Team's Role:\n", + "The sales team is responsible for promoting and selling the company's products and services to potential clients. Their role involves establishing relationships with customers, understanding their needs, and ensuring that the offered solutions align with their requirements.\n", + "\n", + "As an engineer, it is important to understand the sales team's goals and objectives, as this will help you to provide them with the necessary information, tools, and support to successfully sell your company's products and services.\n", + "Communication:\n", + "Effective communication is key to successfully working with the sales team. Make sure to maintain open lines of communication, and be responsive to their questions and concerns. This includes:\n", + "\n", + "a. Attending sales meetings and conference calls when required.\n", + "b. Providing regular product updates and training sessions to the sales team.\n", + "c. Being available to answer technical questions and clarifications.\n", + "Collaboration:\n", + "Collaborate with the sales team in developing and refining sales materials, such as product presentations, demos, and technical documents. This will ensure that the sales team has accurate and up-to-date information to present to clients.\n", + "\n", + "Additionally, work closely with the sales team on customer projects or product customizations, providing technical guidance, and ensuring that the solutions meet the customer's requirements.\n", + "Customer Engagement:\n", + "At times, engineers may be asked to join sales meetings or calls with potential clients to provide technical expertise. In these situations, it is important to:\n", + "----\n" + ] } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3.11.3 64-bit", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.3" - }, - "orig_nbformat": 4, - "vscode": { - "interpreter": { - "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" - } + ], + "source": [ + "from langchain.schema.runnable import RunnableMap\n", + "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", + "from langchain.schema import format_document\n", + "from operator import itemgetter\n", + "\n", + "retriever = vector_store.as_retriever()\n", + "\n", + "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", + "\n", + "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", + "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", + "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", + "\n", + "context: {context}\n", + "Question: {question}\n", + "Answer:\n", + "\n", + "\"\"\"\n", + ")\n", + "\n", + "DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", + "---\n", + "SOURCE: {name}\n", + "{page_content}\n", + "---\n", + "\"\"\"\n", + ")\n", + "\n", + "\n", + "def _combine_documents(\n", + " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", + "):\n", + " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", + " return document_separator.join(doc_strings)\n", + "\n", + "\n", + "retrieved_documents = RunnableMap(\n", + " docs=itemgetter(\"question\") | retriever,\n", + " question=itemgetter(\"question\"),\n", + ")\n", + "\n", + "_context = {\n", + " \"context\": lambda x: _combine_documents(x[\"docs\"]),\n", + " \"question\": lambda x: x[\"question\"],\n", + "}\n", + "\n", + "answer = {\n", + " \"answer\": _context | ANSWER_PROMPT | llm,\n", + " \"docs\": itemgetter(\"docs\"),\n", + "}\n", + "\n", + "chain = retrieved_documents | answer\n", + "\n", + "ans = chain.invoke({\"question\": \"what is the nasa sales team?\"})\n", + "\n", + "print(\"---- Answer ----\")\n", + "print(ans[\"answer\"])\n", + "print()\n", + "print(\"---- Documents ----\")\n", + "for doc in ans[\"docs\"]:\n", + " print(doc.metadata[\"name\"])\n", + " print(doc.page_content)\n", + " print(\"----\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conversational Question Answering\n", + "We have achieved getting answers to questions, but what if we want to ask follow up questions? We can use the answer from the previous question as the context for the next question. This is known as conversational question answering.\n", + "\n", + "In this example, we extend the chain to use the answer from the previous question as the context for the next question." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "---- Answer ----\n", + "The objectives for fiscal year 2024 are to increase revenue by 20% compared to fiscal year 2023, expand market share in key segments by 15%, retain 95% of existing customers and increase customer satisfaction ratings, and launch at least two new products or services in high-demand market segments. SOURCE: Fy2024 Company Sales Strategy\n" + ] } + ], + "source": [ + "from langchain.schema.runnable import RunnableMap\n", + "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", + "from langchain.schema import format_document\n", + "from operator import itemgetter\n", + "\n", + "retriever = vector_store.as_retriever()\n", + "\n", + "llm = OpenAI(openai_api_key=OPENAI_API_KEY)\n", + "\n", + "ANSWER_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", + "You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Be as verbose and educational in your response as possible. \n", + "Each passage has a SOURCE which is the title of the document. When answering, cite source name of the passages you are answering from below the answer, on a new line, with a prefix of \"SOURCE:\".\n", + "\n", + "context: \n", + "{context}\n", + "\n", + "Question: {question}\n", + "Answer:\n", + "\"\"\"\n", + ")\n", + "\n", + "DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", + "---\n", + "SOURCE: {name}\n", + "{page_content}\n", + "---\n", + "\"\"\"\n", + ")\n", + "\n", + "CONDENSE_QUESTION_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question, in its original language.\n", + "\n", + "Chat History:\n", + "{chat_history}\n", + "Follow Up Input: {question}\n", + "\"\"\"\n", + ")\n", + "\n", + "standalone_question = RunnableMap(\n", + " standalone_question=RunnablePassthrough.assign(\n", + " chat_history=lambda x: _format_chat_history(x[\"chat_history\"])\n", + " )\n", + " | CONDENSE_QUESTION_PROMPT\n", + " | llm\n", + " | StrOutputParser(),\n", + ")\n", + "\n", + "\n", + "def _format_chat_history(chat_history) -> str:\n", + " buffer = \"\"\n", + " for dialogue_turn in chat_history:\n", + " human = \"Human: \" + dialogue_turn[0]\n", + " ai = \"Assistant: \" + dialogue_turn[1]\n", + " buffer += \"\\n\" + \"\\n\".join([human, ai])\n", + " return buffer\n", + "\n", + "\n", + "def _combine_documents(\n", + " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", + "):\n", + " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", + " return document_separator.join(doc_strings)\n", + "\n", + "\n", + "retrieved_documents = RunnableMap(\n", + " docs=itemgetter(\"standalone_question\") | retriever,\n", + " question=itemgetter(\"standalone_question\"),\n", + ")\n", + "\n", + "_context = {\n", + " \"context\": lambda x: _combine_documents(x[\"docs\"]),\n", + " \"question\": lambda x: x[\"question\"],\n", + "}\n", + "\n", + "answer = {\n", + " \"answer\": _context | ANSWER_PROMPT | llm,\n", + " \"docs\": itemgetter(\"docs\"),\n", + "}\n", + "\n", + "chain = standalone_question | retrieved_documents | answer\n", + "\n", + "ans = chain.invoke(\n", + " {\n", + " \"question\": \"What are their objectives?\",\n", + " \"chat_history\": [\n", + " \"What is the nasa sales team?\",\n", + " \"The sales team of NASA consists of Laura Martinez, the Area \"\n", + " \"Vice-President of North America, and Gary Johnson, the Area \"\n", + " \"Vice-President of South America.\"\n", + " \"SOURCE: Sales Organization Overview\",\n", + " ],\n", + " }\n", + ")\n", + "\n", + "print(\"---- Answer ----\")\n", + "print(ans[\"answer\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Next Steps\n", + "We have shown how to use Langchain to build a question answering system. We have shown how to index data into Elasticsearch, ask a question and use the answer from the previous question as the context for the next question." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3.11.3 64-bit", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.3" }, - "nbformat": 4, - "nbformat_minor": 0 + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb b/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb index 823d8363..15cfa11e 100644 --- a/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb +++ b/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb @@ -1,385 +1,382 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "IQt5lMKvxios" - }, - "source": [ - "# Use Amazon Bedrock\n", - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb)\n", - "\n", - "This workbook demonstrates how to work with Langchain [Amazon Bedrock](https://aws.amazon.com/bedrock/). Amazon Bedrock is a managed service that makes foundation models from leading AI startup and Amazon's own Titan models available through APIs.\n", - "\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "fWuHgEHjyRMt" - }, - "source": [ - "## Install packages and import modules" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "7byqCX6VyWYW" - }, - "outputs": [], - "source": [ - "# install packages\n", - "!python3 -m pip install -qU langchain elasticsearch boto3\n", - "\n", - "# import modules\n", - "from getpass import getpass\n", - "from urllib.request import urlopen\n", - "from langchain.vectorstores import ElasticsearchStore\n", - "from langchain.embeddings.bedrock import BedrockEmbeddings\n", - "from langchain.llms import Bedrock\n", - "from langchain.chains import RetrievalQA\n", - "import boto3\n", - "import json" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "bWCXMAi58M3G" - }, - "source": [ - "Note: boto3 is part of AWS SDK for Python and is required to use Bedrock LLM" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "F84cH96QqG6_" - }, - "source": [ - "## Init Bedrock client\n", - "\n", - "To authorize in AWS service we can use `~/.aws/config` file with [configuring credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#configuring-credentials) or pass `AWS_ACCESS_KEY`, `AWS_SECRET_KEY`, `AWS_REGION` to boto3 module.\n", - "\n", - "We're using second approach for our example." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "kG76APtmp6dH" - }, - "outputs": [], - "source": [ - "default_region = \"us-east-1\"\n", - "AWS_ACCESS_KEY = getpass(\"AWS Acces key: \")\n", - "AWS_SECRET_KEY = getpass(\"AWS Secret key: \")\n", - "AWS_REGION = input(f\"AWS Region [default: {default_region}]: \") or default_region\n", - "\n", - "bedrock_client = boto3.client(\n", - " service_name=\"bedrock-runtime\",\n", - " region_name=AWS_REGION,\n", - " aws_access_key_id=AWS_ACCESS_KEY,\n", - " aws_secret_access_key=AWS_SECRET_KEY\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Utg-ZqS_QS1G" - }, - "source": [ - "## Connect to Elasticsearch\n", - "\n", - "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook. If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", - "\n", - "We'll use the **Cloud ID** to identify our deployment, because we are using Elastic Cloud deployment. To find the Cloud ID for your deployment, go to https://cloud.elastic.co/deployments and select your deployment.\n", - "\n", - "\n", - "We will use [ElasticsearchStore](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html) to connect to our elastic cloud deployment. This would help create and index data easily. In the ElasticsearchStore instance, will set embedding to [BedrockEmbeddings](https://api.python.langchain.com/en/latest/embeddings/langchain.embeddings.bedrock.BedrockEmbeddings.html) to embed the texts and elasticsearch index name that will be used in this example. In the instance, we will set `strategy` to [ElasticsearchStore.SparseVectorRetrievalStrategy()](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.SparseRetrievalStrategy.html#langchain.vectorstores.elasticsearch.SparseRetrievalStrategy) as we use this strategy to split documents.\n", - "\n", - "As we're using [ELSER](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html) we use [SparseVectorRetrievalStrategy](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch#sparsevectorretrievalstrategy-elser) strategy. This strategy uses Elasticsearch's sparse vector retrieval to retrieve the top-k results. There is more other [strategies](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch#approxretrievalstrategy) in langchain that might be used base on your needs." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "idJiMEZpQfP7" - }, - "outputs": [], - "source": [ - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", - "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", - "\n", - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", - "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", - "\n", - "embeddings = BedrockEmbeddings(client=bedrock_client)\n", - "\n", - "vector_store = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY,\n", - " index_name= \"workplace_index\",\n", - " embedding=embeddings,\n", - " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy()\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "qAkNwd_lQ7HZ" - }, - "source": [ - "## Download the dataset\n", - "\n", - "Let's download the sample dataset and deserialize the document." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "sjwpw_IxQ72L" - }, - "outputs": [], - "source": [ - "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\"\n", - "\n", - "response = urlopen(url)\n", - "\n", - "workplace_docs = json.loads(response.read())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "YWCTPOgnRHiZ" - }, - "source": [ - "## Split Documents into Passages\n", - "\n", - "We’ll chunk documents into passages in order to improve the retrieval specificity and to ensure that we can provide multiple passages within the context window of the final question answering prompt.\n", - "\n", - "Here we are chunking documents into 500 token passages with an overlap of 0 tokens.\n", - "\n", - "Here we are using a simple splitter but Langchain offers more advanced splitters to reduce the chance of context being lost." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "mAtGD7GjRIIf" - }, - "outputs": [], - "source": [ - "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", - "\n", - "metadata = []\n", - "content = []\n", - "\n", - "for doc in workplace_docs:\n", - " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"],\n", - " \"rolePermissions\":doc[\"rolePermissions\"]\n", - " })\n", - "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", - "docs = text_splitter.create_documents(content, metadatas=metadata)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "MRXt1tnXRK_M" - }, - "source": [ - "## Index data into elasticsearch\n", - "\n", - "Next, we will index data to elasticsearch using [ElasticsearchStore.from_documents](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html#langchain.vectorstores.elasticsearch.ElasticsearchStore.from_documents). We will use Cloud ID, Password and Index name values set in the `Create cloud deployment` step.\n", - "\n", - "In the instance, we will set `strategy` to [ElasticsearchStore.SparseVectorRetrievalStrategy()](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.SparseRetrievalStrategy.html#langchain.vectorstores.elasticsearch.SparseRetrievalStrategy)\n", - "\n", - "Note: Before we begin indexing, ensure you have [downloaded and deployed ELSER model](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html#download-deploy-elser) in your deployment and is running in ml node.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "-T2P8_ltRNgy" - }, - "outputs": [], - "source": [ - "documents = vector_store.from_documents(\n", - " docs,\n", - " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY,\n", - " index_name=\"workplace_index\",\n", - " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy()\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "azqaOaChswVv" - }, - "source": [ - "## Init Bedrock LLM\n", - "\n", - "Next, we will initialize Bedrock LLM. In the Bedrock instance, will pass `bedrock_client` and specific `model_id`: `amazon.titan-text-express-v1`, `ai21.j2-ultra-v1`, `anthropic.claude-v2`, `cohere.command-text-v14` or etc. You can see list of available base models on [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "fRtZ_dfXsjaL" - }, - "outputs": [], - "source": [ - "default_model_id = \"amazon.titan-text-express-v1\"\n", - "AWS_MODEL_ID = input(f\"AWS model [default: {default_model_id}]: \") or default_model_id\n", - "llm = Bedrock(\n", - " client=bedrock_client,\n", - " model_id=AWS_MODEL_ID\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9UZskhJRRTQV" - }, - "source": [ - "## Asking a question\n", - "Now that we have the passages stored in Elasticsearch and llm is initialized, we can now ask a question to get the relevant passages.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "gWGfbz2TkuJt", - "outputId": "12af9c94-9113-4f34-b9de-f60681951206" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Question: What is our work from home policy?\n", - "\n", - "\u001b[92m ---- Answer ---- \u001b[0m\n", - " We have a full-time work from home policy that provides guidelines and support for employees to work remotely, ensuring the continuity and productivity of business operations during the COVID-19 pandemic and beyond.\n", - "\n", - "\u001b[94m ---- Sources ---- \u001b[0m\n", - "Name: Work From Home Policy\n", - "Content: Effective: March 2020\n", - "Purpose\n", - "\n", - "The purpose of this full-time work-from-home policy is to provide guidelines and support for employees to conduct their work remotely, ensuring the continuity and productivity of business operations during the COVID-19 pandemic and beyond.\n", - "Scope\n", - "\n", - "This policy applies to all employees who are eligible for remote work as determined by their role and responsibilities. It is designed to allow employees to work from home full time while maintaining the same level of performance and collaboration as they would in the office.\n", - "Eligibility\n", - "\n", - "Employees who can perform their work duties remotely and have received approval from their direct supervisor and the HR department are eligible for this work-from-home arrangement.\n", - "Equipment and Resources\n", - "-------\n", - "\n", - "Name: Work From Home Policy\n", - "Content: The company encourages employees to prioritize their health and well-being while working from home. This includes taking regular breaks, maintaining a work-life balance, and seeking support from supervisors and colleagues when needed.\n", - "Policy Review and Updates\n", - "\n", - "This work-from-home policy will be reviewed periodically and updated as necessary, taking into account changes in public health guidance, business needs, and employee feedback.\n", - "Questions and Concerns\n", - "\n", - "Employees are encouraged to direct any questions or concerns about this policy to their supervisor or the HR department.\n", - "-------\n", - "\n", - "Name: Work From Home Policy\n", - "Content: Employees are required to accurately track their work hours using the company's time tracking system. Non-exempt employees must obtain approval from their supervisor before working overtime.\n", - "Confidentiality and Data Security\n", - "\n", - "Employees must adhere to the company's confidentiality and data security policies while working from home. This includes safeguarding sensitive information, securing personal devices and internet connections, and reporting any security breaches to the IT department.\n", - "Health and Well-being\n", - "\n", - "The company encourages employees to prioritize their health and well-being while working from home. This includes taking regular breaks, maintaining a work-life balance, and seeking support from supervisors and colleagues when needed.\n", - "Policy Review and Updates\n", - "-------\n", - "\n", - "Name: Work From Home Policy\n", - "Content: Employees who can perform their work duties remotely and have received approval from their direct supervisor and the HR department are eligible for this work-from-home arrangement.\n", - "Equipment and Resources\n", - "\n", - "The necessary equipment and resources will be provided to employees for remote work, including a company-issued laptop, software licenses, and access to secure communication tools. Employees are responsible for maintaining and protecting the company's equipment and data.\n", - "Workspace\n", - "\n", - "Employees working from home are responsible for creating a comfortable and safe workspace that is conducive to productivity. This includes ensuring that their home office is ergonomically designed, well-lit, and free from distractions.\n", - "Communication\n", - "-------\n", - "\n" - ] - } - ], - "source": [ - "retriever = vector_store.as_retriever()\n", - "\n", - "qa = RetrievalQA.from_llm(\n", - " llm=llm,\n", - " retriever=retriever,\n", - " return_source_documents=True\n", - ")\n", - "\n", - "questions = [\n", - " 'What is the nasa sales team?',\n", - " 'What is our work from home policy?',\n", - " 'Does the company own my personal project?',\n", - " 'What job openings do we have?',\n", - " 'How does compensation work?'\n", - "]\n", - "question = questions[1]\n", - "print(f\"Question: {question}\\n\")\n", - "\n", - "ans = qa({\"query\": question})\n", - "\n", - "print(\"\\033[92m ---- Answer ---- \\033[0m\")\n", - "print(ans[\"result\"] + \"\\n\")\n", - "print(\"\\033[94m ---- Sources ---- \\033[0m\")\n", - "for doc in ans[\"source_documents\"]:\n", - " print(\"Name: \" + doc.metadata[\"name\"])\n", - " print(\"Content: \"+ doc.page_content)\n", - " print(\"-------\\n\")" - ] - } - ], - "metadata": { + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "IQt5lMKvxios" + }, + "source": [ + "# Use Amazon Bedrock\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/notebooks/integrations/amazon-bedrock/langchain-qa-example.ipynb)\n", + "\n", + "This workbook demonstrates how to work with Langchain [Amazon Bedrock](https://aws.amazon.com/bedrock/). Amazon Bedrock is a managed service that makes foundation models from leading AI startup and Amazon's own Titan models available through APIs.\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fWuHgEHjyRMt" + }, + "source": [ + "## Install packages and import modules" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "7byqCX6VyWYW" + }, + "outputs": [], + "source": [ + "# install packages\n", + "!python3 -m pip install -qU langchain elasticsearch boto3\n", + "\n", + "# import modules\n", + "from getpass import getpass\n", + "from urllib.request import urlopen\n", + "from langchain.vectorstores import ElasticsearchStore\n", + "from langchain.embeddings.bedrock import BedrockEmbeddings\n", + "from langchain.llms import Bedrock\n", + "from langchain.chains import RetrievalQA\n", + "import boto3\n", + "import json" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "bWCXMAi58M3G" + }, + "source": [ + "Note: boto3 is part of AWS SDK for Python and is required to use Bedrock LLM" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "F84cH96QqG6_" + }, + "source": [ + "## Init Bedrock client\n", + "\n", + "To authorize in AWS service we can use `~/.aws/config` file with [configuring credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#configuring-credentials) or pass `AWS_ACCESS_KEY`, `AWS_SECRET_KEY`, `AWS_REGION` to boto3 module.\n", + "\n", + "We're using second approach for our example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kG76APtmp6dH" + }, + "outputs": [], + "source": [ + "default_region = \"us-east-1\"\n", + "AWS_ACCESS_KEY = getpass(\"AWS Acces key: \")\n", + "AWS_SECRET_KEY = getpass(\"AWS Secret key: \")\n", + "AWS_REGION = input(f\"AWS Region [default: {default_region}]: \") or default_region\n", + "\n", + "bedrock_client = boto3.client(\n", + " service_name=\"bedrock-runtime\",\n", + " region_name=AWS_REGION,\n", + " aws_access_key_id=AWS_ACCESS_KEY,\n", + " aws_secret_access_key=AWS_SECRET_KEY,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Utg-ZqS_QS1G" + }, + "source": [ + "## Connect to Elasticsearch\n", + "\n", + "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook. If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", + "\n", + "We'll use the **Cloud ID** to identify our deployment, because we are using Elastic Cloud deployment. To find the Cloud ID for your deployment, go to https://cloud.elastic.co/deployments and select your deployment.\n", + "\n", + "\n", + "We will use [ElasticsearchStore](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html) to connect to our elastic cloud deployment. This would help create and index data easily. In the ElasticsearchStore instance, will set embedding to [BedrockEmbeddings](https://api.python.langchain.com/en/latest/embeddings/langchain.embeddings.bedrock.BedrockEmbeddings.html) to embed the texts and elasticsearch index name that will be used in this example. In the instance, we will set `strategy` to [ElasticsearchStore.SparseVectorRetrievalStrategy()](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.SparseRetrievalStrategy.html#langchain.vectorstores.elasticsearch.SparseRetrievalStrategy) as we use this strategy to split documents.\n", + "\n", + "As we're using [ELSER](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html) we use [SparseVectorRetrievalStrategy](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch#sparsevectorretrievalstrategy-elser) strategy. This strategy uses Elasticsearch's sparse vector retrieval to retrieve the top-k results. There is more other [strategies](https://python.langchain.com/docs/integrations/vectorstores/elasticsearch#approxretrievalstrategy) in langchain that might be used base on your needs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "idJiMEZpQfP7" + }, + "outputs": [], + "source": [ + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", + "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", + "\n", + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", + "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", + "\n", + "embeddings = BedrockEmbeddings(client=bedrock_client)\n", + "\n", + "vector_store = ElasticsearchStore(\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"workplace_index\",\n", + " embedding=embeddings,\n", + " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy(),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qAkNwd_lQ7HZ" + }, + "source": [ + "## Download the dataset\n", + "\n", + "Let's download the sample dataset and deserialize the document." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "sjwpw_IxQ72L" + }, + "outputs": [], + "source": [ + "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\"\n", + "\n", + "response = urlopen(url)\n", + "\n", + "workplace_docs = json.loads(response.read())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YWCTPOgnRHiZ" + }, + "source": [ + "## Split Documents into Passages\n", + "\n", + "We’ll chunk documents into passages in order to improve the retrieval specificity and to ensure that we can provide multiple passages within the context window of the final question answering prompt.\n", + "\n", + "Here we are chunking documents into 500 token passages with an overlap of 0 tokens.\n", + "\n", + "Here we are using a simple splitter but Langchain offers more advanced splitters to reduce the chance of context being lost." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "mAtGD7GjRIIf" + }, + "outputs": [], + "source": [ + "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", + "\n", + "metadata = []\n", + "content = []\n", + "\n", + "for doc in workplace_docs:\n", + " content.append(doc[\"content\"])\n", + " metadata.append(\n", + " {\n", + " \"name\": doc[\"name\"],\n", + " \"summary\": doc[\"summary\"],\n", + " \"rolePermissions\": doc[\"rolePermissions\"],\n", + " }\n", + " )\n", + "\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", + "docs = text_splitter.create_documents(content, metadatas=metadata)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MRXt1tnXRK_M" + }, + "source": [ + "## Index data into elasticsearch\n", + "\n", + "Next, we will index data to elasticsearch using [ElasticsearchStore.from_documents](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.ElasticsearchStore.html#langchain.vectorstores.elasticsearch.ElasticsearchStore.from_documents). We will use Cloud ID, Password and Index name values set in the `Create cloud deployment` step.\n", + "\n", + "In the instance, we will set `strategy` to [ElasticsearchStore.SparseVectorRetrievalStrategy()](https://api.python.langchain.com/en/latest/vectorstores/langchain.vectorstores.elasticsearch.SparseRetrievalStrategy.html#langchain.vectorstores.elasticsearch.SparseRetrievalStrategy)\n", + "\n", + "Note: Before we begin indexing, ensure you have [downloaded and deployed ELSER model](https://www.elastic.co/guide/en/machine-learning/current/ml-nlp-elser.html#download-deploy-elser) in your deployment and is running in ml node.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-T2P8_ltRNgy" + }, + "outputs": [], + "source": [ + "documents = vector_store.from_documents(\n", + " docs,\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"workplace_index\",\n", + " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy(),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "azqaOaChswVv" + }, + "source": [ + "## Init Bedrock LLM\n", + "\n", + "Next, we will initialize Bedrock LLM. In the Bedrock instance, will pass `bedrock_client` and specific `model_id`: `amazon.titan-text-express-v1`, `ai21.j2-ultra-v1`, `anthropic.claude-v2`, `cohere.command-text-v14` or etc. You can see list of available base models on [Amazon Bedrock User Guide](https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fRtZ_dfXsjaL" + }, + "outputs": [], + "source": [ + "default_model_id = \"amazon.titan-text-express-v1\"\n", + "AWS_MODEL_ID = input(f\"AWS model [default: {default_model_id}]: \") or default_model_id\n", + "llm = Bedrock(client=bedrock_client, model_id=AWS_MODEL_ID)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9UZskhJRRTQV" + }, + "source": [ + "## Asking a question\n", + "Now that we have the passages stored in Elasticsearch and llm is initialized, we can now ask a question to get the relevant passages.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { "colab": { - "provenance": [] + "base_uri": "https://localhost:8080/" }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" + "id": "gWGfbz2TkuJt", + "outputId": "12af9c94-9113-4f34-b9de-f60681951206" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Question: What is our work from home policy?\n", + "\n", + "\u001b[92m ---- Answer ---- \u001b[0m\n", + " We have a full-time work from home policy that provides guidelines and support for employees to work remotely, ensuring the continuity and productivity of business operations during the COVID-19 pandemic and beyond.\n", + "\n", + "\u001b[94m ---- Sources ---- \u001b[0m\n", + "Name: Work From Home Policy\n", + "Content: Effective: March 2020\n", + "Purpose\n", + "\n", + "The purpose of this full-time work-from-home policy is to provide guidelines and support for employees to conduct their work remotely, ensuring the continuity and productivity of business operations during the COVID-19 pandemic and beyond.\n", + "Scope\n", + "\n", + "This policy applies to all employees who are eligible for remote work as determined by their role and responsibilities. It is designed to allow employees to work from home full time while maintaining the same level of performance and collaboration as they would in the office.\n", + "Eligibility\n", + "\n", + "Employees who can perform their work duties remotely and have received approval from their direct supervisor and the HR department are eligible for this work-from-home arrangement.\n", + "Equipment and Resources\n", + "-------\n", + "\n", + "Name: Work From Home Policy\n", + "Content: The company encourages employees to prioritize their health and well-being while working from home. This includes taking regular breaks, maintaining a work-life balance, and seeking support from supervisors and colleagues when needed.\n", + "Policy Review and Updates\n", + "\n", + "This work-from-home policy will be reviewed periodically and updated as necessary, taking into account changes in public health guidance, business needs, and employee feedback.\n", + "Questions and Concerns\n", + "\n", + "Employees are encouraged to direct any questions or concerns about this policy to their supervisor or the HR department.\n", + "-------\n", + "\n", + "Name: Work From Home Policy\n", + "Content: Employees are required to accurately track their work hours using the company's time tracking system. Non-exempt employees must obtain approval from their supervisor before working overtime.\n", + "Confidentiality and Data Security\n", + "\n", + "Employees must adhere to the company's confidentiality and data security policies while working from home. This includes safeguarding sensitive information, securing personal devices and internet connections, and reporting any security breaches to the IT department.\n", + "Health and Well-being\n", + "\n", + "The company encourages employees to prioritize their health and well-being while working from home. This includes taking regular breaks, maintaining a work-life balance, and seeking support from supervisors and colleagues when needed.\n", + "Policy Review and Updates\n", + "-------\n", + "\n", + "Name: Work From Home Policy\n", + "Content: Employees who can perform their work duties remotely and have received approval from their direct supervisor and the HR department are eligible for this work-from-home arrangement.\n", + "Equipment and Resources\n", + "\n", + "The necessary equipment and resources will be provided to employees for remote work, including a company-issued laptop, software licenses, and access to secure communication tools. Employees are responsible for maintaining and protecting the company's equipment and data.\n", + "Workspace\n", + "\n", + "Employees working from home are responsible for creating a comfortable and safe workspace that is conducive to productivity. This includes ensuring that their home office is ergonomically designed, well-lit, and free from distractions.\n", + "Communication\n", + "-------\n", + "\n" + ] } + ], + "source": [ + "retriever = vector_store.as_retriever()\n", + "\n", + "qa = RetrievalQA.from_llm(llm=llm, retriever=retriever, return_source_documents=True)\n", + "\n", + "questions = [\n", + " \"What is the nasa sales team?\",\n", + " \"What is our work from home policy?\",\n", + " \"Does the company own my personal project?\",\n", + " \"What job openings do we have?\",\n", + " \"How does compensation work?\",\n", + "]\n", + "question = questions[1]\n", + "print(f\"Question: {question}\\n\")\n", + "\n", + "ans = qa({\"query\": question})\n", + "\n", + "print(\"\\033[92m ---- Answer ---- \\033[0m\")\n", + "print(ans[\"result\"] + \"\\n\")\n", + "print(\"\\033[94m ---- Sources ---- \\033[0m\")\n", + "for doc in ans[\"source_documents\"]:\n", + " print(\"Name: \" + doc.metadata[\"name\"])\n", + " print(\"Content: \" + doc.page_content)\n", + " print(\"-------\\n\")" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/notebooks/integrations/gemini/qa-langchain-gemini-elasticsearch.ipynb b/notebooks/integrations/gemini/qa-langchain-gemini-elasticsearch.ipynb index 6ce750db..eb7c01c3 100644 --- a/notebooks/integrations/gemini/qa-langchain-gemini-elasticsearch.ipynb +++ b/notebooks/integrations/gemini/qa-langchain-gemini-elasticsearch.ipynb @@ -141,11 +141,13 @@ "\n", "for doc in workplace_docs:\n", " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"],\n", - " \"rolePermissions\":doc[\"rolePermissions\"]\n", - " })\n", + " metadata.append(\n", + " {\n", + " \"name\": doc[\"name\"],\n", + " \"summary\": doc[\"summary\"],\n", + " \"rolePermissions\": doc[\"rolePermissions\"],\n", + " }\n", + " )\n", "\n", "text_splitter = CharacterTextSplitter(chunk_size=50, chunk_overlap=0)\n", "docs = text_splitter.create_documents(content, metadatas=metadata)" @@ -175,7 +177,7 @@ " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " index_name=elastic_index_name,\n", - " embedding=query_embedding\n", + " embedding=query_embedding,\n", ")" ] }, @@ -202,7 +204,7 @@ " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " embedding=query_embedding,\n", - " index_name=elastic_index_name\n", + " index_name=elastic_index_name,\n", ")\n", "\n", "retriever = es.as_retriever(search_kwargs={\"k\": 3})" @@ -252,9 +254,9 @@ "\n", "\n", "chain = (\n", - " {\"context\": retriever | format_docs, \"question\": RunnablePassthrough()} \n", - " | prompt \n", - " | ChatGoogleGenerativeAI(model=\"gemini-pro\", temperature=0.7) \n", + " {\"context\": retriever | format_docs, \"question\": RunnablePassthrough()}\n", + " | prompt\n", + " | ChatGoogleGenerativeAI(model=\"gemini-pro\", temperature=0.7)\n", " | StrOutputParser()\n", ")\n", "\n", diff --git a/notebooks/integrations/gemini/vector-search-gemini-elastic.ipynb b/notebooks/integrations/gemini/vector-search-gemini-elastic.ipynb index 09fef317..0fbd4b71 100644 --- a/notebooks/integrations/gemini/vector-search-gemini-elastic.ipynb +++ b/notebooks/integrations/gemini/vector-search-gemini-elastic.ipynb @@ -60,10 +60,10 @@ "from elasticsearch import Elasticsearch, helpers\n", "from getpass import getpass\n", "\n", - "GOOGLE_API_KEY=getpass(\"Google API Key :\")\n", - "ELASTIC_API_KEY=getpass(\"Elastic API Key :\")\n", - "ELASTIC_CLOUD_ID=getpass(\"Elastic Cloud ID :\")\n", - "elastic_index_name='gemini-demo'" + "GOOGLE_API_KEY = getpass(\"Google API Key :\")\n", + "ELASTIC_API_KEY = getpass(\"Elastic API Key :\")\n", + "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID :\")\n", + "elastic_index_name = \"gemini-demo\"" ] }, { @@ -85,13 +85,12 @@ "genai.configure(api_key=GOOGLE_API_KEY)\n", "\n", "title = \"Climate in India\"\n", - "sample_text = (\"India generally experiences a hot summer from March to June, with temperatures often exceeding 40°C in central and northern regions. Monsoon season, from June to September, brings heavy rainfall, especially in the western coast and northeastern areas. Post-monsoon months, October and November, mark a transition with decreasing rainfall. Winter, from December to February, varies in temperature across the country, with colder conditions in the north and milder weather in the south. India's diverse climate is influenced by its geographical features, resulting in regional \")\n", + "sample_text = \"India generally experiences a hot summer from March to June, with temperatures often exceeding 40°C in central and northern regions. Monsoon season, from June to September, brings heavy rainfall, especially in the western coast and northeastern areas. Post-monsoon months, October and November, mark a transition with decreasing rainfall. Winter, from December to February, varies in temperature across the country, with colder conditions in the north and milder weather in the south. India's diverse climate is influenced by its geographical features, resulting in regional \"\n", "\n", - "model = 'models/embedding-001'\n", - "embedding = genai.embed_content(model=model,\n", - " content=sample_text,\n", - " task_type=\"retrieval_document\",\n", - " title=title)\n" + "model = \"models/embedding-001\"\n", + "embedding = genai.embed_content(\n", + " model=model, content=sample_text, task_type=\"retrieval_document\", title=title\n", + ")" ] }, { @@ -109,10 +108,7 @@ "metadata": {}, "outputs": [], "source": [ - "es = Elasticsearch(\n", - " cloud_id = ELASTIC_CLOUD_ID,\n", - " api_key= ELASTIC_API_KEY\n", - ")" + "es = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY)" ] }, { @@ -130,10 +126,7 @@ "metadata": {}, "outputs": [], "source": [ - "doc = {\n", - " 'text' : sample_text,\n", - " 'text_embedding' : embedding['embedding'] \n", - "}\n", + "doc = {\"text\": sample_text, \"text_embedding\": embedding[\"embedding\"]}\n", "\n", "resp = es.index(index=elastic_index_name, document=doc)\n", "\n", @@ -157,23 +150,21 @@ "source": [ "q = \"How's weather in India?\"\n", "\n", - "embedding = genai.embed_content(model=model,\n", - " content=q,\n", - " task_type=\"retrieval_query\")\n", + "embedding = genai.embed_content(model=model, content=q, task_type=\"retrieval_query\")\n", "\n", "resp = es.search(\n", - " index = elastic_index_name,\n", - " knn={\n", - " \"field\": \"text_embedding\",\n", - " \"query_vector\": embedding['embedding'],\n", - " \"k\": 10,\n", - " \"num_candidates\": 100\n", - " }\n", + " index=elastic_index_name,\n", + " knn={\n", + " \"field\": \"text_embedding\",\n", + " \"query_vector\": embedding[\"embedding\"],\n", + " \"k\": 10,\n", + " \"num_candidates\": 100,\n", + " },\n", ")\n", "\n", "\n", - "for result in resp['hits']['hits']:\n", - " pretty_output = (f\"\\n\\nID: {result['_id']}\\n\\nText: {result['_source']['text']}\\n\\nEmbedding: {result['_source']['text_embedding']}\")\n", + "for result in resp[\"hits\"][\"hits\"]:\n", + " pretty_output = f\"\\n\\nID: {result['_id']}\\n\\nText: {result['_source']['text']}\\n\\nEmbedding: {result['_source']['text_embedding']}\"\n", " print(pretty_output)" ] } diff --git a/notebooks/integrations/hugging-face/_nbtest.teardown.loading-model-from-hugging-face.ipynb b/notebooks/integrations/hugging-face/_nbtest.teardown.loading-model-from-hugging-face.ipynb index cbdb13e7..ae5f4c9d 100644 --- a/notebooks/integrations/hugging-face/_nbtest.teardown.loading-model-from-hugging-face.ipynb +++ b/notebooks/integrations/hugging-face/_nbtest.teardown.loading-model-from-hugging-face.ipynb @@ -13,7 +13,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)\n", + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")\n", "\n", "# delete the notebook's index\n", "client.indices.delete(index=\"blogs\", ignore_unavailable=True)\n", @@ -26,7 +29,9 @@ "\n", "# delete the model\n", "try:\n", - " client.ml.delete_trained_model(model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True)\n", + " client.ml.delete_trained_model(\n", + " model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True\n", + " )\n", "except:\n", " pass" ] diff --git a/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb b/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb index f2688cd5..485582b6 100644 --- a/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb +++ b/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb @@ -141,12 +141,10 @@ "outputs": [], "source": [ "es = Elasticsearch(\n", - " cloud_id=ELASTIC_CLOUD_ID,\n", - " api_key=ELASTIC_API_KEY,\n", - " request_timeout=600\n", + " cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY, request_timeout=600\n", ")\n", "\n", - "es.info() # should return cluster info" + "es.info() # should return cluster info" ] }, { @@ -175,17 +173,20 @@ "outputs": [], "source": [ "# ingest pipeline definition\n", - "PIPELINE_ID=\"vectorize_blogs\"\n", - "\n", - "es.ingest.put_pipeline(id=PIPELINE_ID, processors=[{\n", - " \"inference\": {\n", - " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", - " \"target_field\": \"text_embedding\",\n", - " \"field_map\": {\n", - " \"title\": \"text_field\"\n", - " }\n", + "PIPELINE_ID = \"vectorize_blogs\"\n", + "\n", + "es.ingest.put_pipeline(\n", + " id=PIPELINE_ID,\n", + " processors=[\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", + " \"target_field\": \"text_embedding\",\n", + " \"field_map\": {\"title\": \"text_field\"},\n", + " }\n", " }\n", - " }])" + " ],\n", + ")" ] }, { @@ -213,66 +214,54 @@ "outputs": [], "source": [ "# define index name\n", - "INDEX_NAME=\"blogs\"\n", + "INDEX_NAME = \"blogs\"\n", "\n", "# flag to check if index has to be deleted before creating\n", - "SHOULD_DELETE_INDEX=True\n", + "SHOULD_DELETE_INDEX = True\n", "\n", "# define index mapping\n", "INDEX_MAPPING = {\n", " \"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \n", - " \"text_embedding\": {\n", - " \"properties\": {\n", - " \"is_truncated\": {\n", - " \"type\": \"boolean\"\n", - " },\n", - " \"model_id\": {\n", + " \"title\": {\n", " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"text_embedding\": {\n", + " \"properties\": {\n", + " \"is_truncated\": {\"type\": \"boolean\"},\n", + " \"model_id\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"predicted_value\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 384,\n", + " \"index\": True,\n", + " \"similarity\": \"l2_norm\",\n", + " },\n", " }\n", - " },\n", - " \"predicted_value\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 384,\n", - " \"index\": True,\n", - " \"similarity\": \"l2_norm\"\n", - " }\n", - " }\n", - " }\n", + " },\n", " }\n", - " }\n", + "}\n", "\n", "INDEX_SETTINGS = {\n", " \"index\": {\n", - " \"number_of_replicas\": \"1\",\n", - " \"number_of_shards\": \"1\",\n", - " \"default_pipeline\": PIPELINE_ID\n", + " \"number_of_replicas\": \"1\",\n", + " \"number_of_shards\": \"1\",\n", + " \"default_pipeline\": PIPELINE_ID,\n", " }\n", "}\n", "\n", "# check if we want to delete index before creating the index\n", - "if(SHOULD_DELETE_INDEX):\n", - " if es.indices.exists(index=INDEX_NAME):\n", - " print(\"Deleting existing %s\" % INDEX_NAME)\n", - " es.indices.delete(index=INDEX_NAME, ignore=[400, 404])\n", + "if SHOULD_DELETE_INDEX:\n", + " if es.indices.exists(index=INDEX_NAME):\n", + " print(\"Deleting existing %s\" % INDEX_NAME)\n", + " es.indices.delete(index=INDEX_NAME, ignore=[400, 404])\n", "\n", "print(\"Creating index %s\" % INDEX_NAME)\n", - "es.indices.create(index=INDEX_NAME, mappings=INDEX_MAPPING, settings=INDEX_SETTINGS,\n", - " ignore=[400, 404])\n" + "es.indices.create(\n", + " index=INDEX_NAME, mappings=INDEX_MAPPING, settings=INDEX_SETTINGS, ignore=[400, 404]\n", + ")" ] }, { @@ -370,32 +359,31 @@ } ], "source": [ - "INDEX_NAME=\"blogs\"\n", + "INDEX_NAME = \"blogs\"\n", "\n", - "source_fields = [ \"id\", \"title\"]\n", + "source_fields = [\"id\", \"title\"]\n", "\n", "query = {\n", - " \"field\": \"text_embedding.predicted_value\",\n", - " \"k\": 10,\n", - " \"num_candidates\": 50,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", - " \"model_text\": \"how to track network connections\"\n", - " }\n", - " }\n", + " \"field\": \"text_embedding.predicted_value\",\n", + " \"k\": 10,\n", + " \"num_candidates\": 50,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", + " \"model_text\": \"how to track network connections\",\n", + " }\n", + " },\n", "}\n", "\n", - "response = es.search(\n", - " index=INDEX_NAME,\n", - " fields=source_fields,\n", - " knn=query,\n", - " source=False)\n", + "response = es.search(index=INDEX_NAME, fields=source_fields, knn=query, source=False)\n", + "\n", "\n", "def show_results(results):\n", " for result in results:\n", " print(f'{result[\"fields\"][\"title\"]}\\nScore: {result[\"_score\"]}\\n')\n", - " \n", - "show_results(response.body['hits']['hits'])" + "\n", + "\n", + "show_results(response.body[\"hits\"][\"hits\"])" ] }, { diff --git a/notebooks/integrations/openai/openai-KNN-RAG.ipynb b/notebooks/integrations/openai/openai-KNN-RAG.ipynb index 8cba820a..4df72cd7 100644 --- a/notebooks/integrations/openai/openai-KNN-RAG.ipynb +++ b/notebooks/integrations/openai/openai-KNN-RAG.ipynb @@ -76,17 +76,13 @@ "metadata": {}, "outputs": [], "source": [ - "\n", "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "\n", "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(\n", - " cloud_id = ELASTIC_CLOUD_ID,\n", - " api_key=ELASTIC_API_KEY\n", - ")\n", + "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY)\n", "\n", "# Test connection to Elasticsearch\n", "print(client.info())" @@ -109,11 +105,10 @@ "metadata": {}, "outputs": [], "source": [ - "embeddings_url = 'https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip'\n", + "embeddings_url = \"https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip\"\n", "wget.download(embeddings_url)\n", "\n", - "with zipfile.ZipFile(\"vector_database_wikipedia_articles_embedded.zip\",\n", - "\"r\") as zip_ref:\n", + "with zipfile.ZipFile(\"vector_database_wikipedia_articles_embedded.zip\", \"r\") as zip_ref:\n", " zip_ref.extractall(\"data\")" ] }, @@ -134,8 +129,9 @@ "metadata": {}, "outputs": [], "source": [ - "\n", - "wikipedia_dataframe = pd.read_csv(\"data/vector_database_wikipedia_articles_embedded.csv\")" + "wikipedia_dataframe = pd.read_csv(\n", + " \"data/vector_database_wikipedia_articles_embedded.csv\"\n", + ")" ] }, { @@ -159,25 +155,24 @@ "metadata": {}, "outputs": [], "source": [ - "index_mapping= {\n", + "index_mapping = {\n", " \"properties\": {\n", - " \"title_vector\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 1536,\n", - " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " },\n", - " \"content_vector\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 1536,\n", - " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " },\n", - " \"text\": {\"type\": \"text\"},\n", - " \"title\": {\"type\": \"text\"},\n", - " \"url\": { \"type\": \"keyword\"},\n", - " \"vector_id\": {\"type\": \"long\"}\n", - " \n", + " \"title_vector\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 1536,\n", + " \"index\": \"true\",\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " \"content_vector\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 1536,\n", + " \"index\": \"true\",\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " \"text\": {\"type\": \"text\"},\n", + " \"title\": {\"type\": \"text\"},\n", + " \"url\": {\"type\": \"keyword\"},\n", + " \"vector_id\": {\"type\": \"long\"},\n", " }\n", "}\n", "client.indices.create(index=\"wikipedia_vector_index\", mappings=index_mapping)" @@ -205,16 +200,16 @@ "def dataframe_to_bulk_actions(df):\n", " for index, row in df.iterrows():\n", " yield {\n", - " \"_index\": 'wikipedia_vector_index',\n", - " \"_id\": row['id'],\n", + " \"_index\": \"wikipedia_vector_index\",\n", + " \"_id\": row[\"id\"],\n", " \"_source\": {\n", - " 'url' : row[\"url\"],\n", - " 'title' : row[\"title\"],\n", - " 'text' : row[\"text\"],\n", - " 'title_vector' : json.loads(row[\"title_vector\"]),\n", - " 'content_vector' : json.loads(row[\"content_vector\"]),\n", - " 'vector_id' : row[\"vector_id\"]\n", - " }\n", + " \"url\": row[\"url\"],\n", + " \"title\": row[\"title\"],\n", + " \"text\": row[\"text\"],\n", + " \"title_vector\": json.loads(row[\"title_vector\"]),\n", + " \"content_vector\": json.loads(row[\"content_vector\"]),\n", + " \"vector_id\": row[\"vector_id\"],\n", + " },\n", " }" ] }, @@ -258,13 +253,12 @@ "metadata": {}, "outputs": [], "source": [ - "print(client.search(index=\"wikipedia_vector_index\", query={\n", - " \"match\": {\n", - " \"text\": {\n", - " \"query\": \"Hummingbird\"\n", - " }\n", - " }\n", - "}))" + "print(\n", + " client.search(\n", + " index=\"wikipedia_vector_index\",\n", + " query={\"match\": {\"text\": {\"query\": \"Hummingbird\"}}},\n", + " )\n", + ")" ] }, { @@ -297,10 +291,10 @@ "EMBEDDING_MODEL = \"text-embedding-ada-002\"\n", "\n", "# Define question\n", - "question = 'How big is the Atlantic ocean?'\n", + "question = \"How big is the Atlantic ocean?\"\n", "\n", "# Create embedding\n", - "question_embedding = openai.Embedding.create(input=question, model=EMBEDDING_MODEL)\n" + "question_embedding = openai.Embedding.create(input=question, model=EMBEDDING_MODEL)" ] }, { @@ -324,13 +318,14 @@ "source": [ "# Function to pretty print Elasticsearch results\n", "\n", + "\n", "def pretty_response(response):\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " text = hit['_source']['text']\n", - " pretty_output = (f\"\\nID: {id}\\nTitle: {title}\\nSummary: {text}\\nScore: {score}\")\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " text = hit[\"_source\"][\"text\"]\n", + " pretty_output = f\"\\nID: {id}\\nTitle: {title}\\nSummary: {text}\\nScore: {score}\"\n", " print(pretty_output)" ] }, @@ -350,16 +345,18 @@ "outputs": [], "source": [ "response = client.search(\n", - " index = \"wikipedia_vector_index\",\n", - " knn={\n", - " \"field\": \"content_vector\",\n", - " \"query_vector\": question_embedding[\"data\"][0][\"embedding\"],\n", - " \"k\": 10,\n", - " \"num_candidates\": 100\n", - " }\n", + " index=\"wikipedia_vector_index\",\n", + " knn={\n", + " \"field\": \"content_vector\",\n", + " \"query_vector\": question_embedding[\"data\"][0][\"embedding\"],\n", + " \"k\": 10,\n", + " \"num_candidates\": 100,\n", + " },\n", ")\n", "pretty_response(response)\n", - "top_hit_summary = response['hits']['hits'][0]['_source']['text'] # Store content of top hit for final step" + "top_hit_summary = response[\"hits\"][\"hits\"][0][\"_source\"][\n", + " \"text\"\n", + "] # Store content of top hit for final step" ] }, { @@ -396,14 +393,17 @@ "outputs": [], "source": [ "summary = openai.ChatCompletion.create(\n", - " model=\"gpt-3.5-turbo\",\n", - " messages=[\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Answer the following question:\" \n", - " + question \n", - " + \"by using the following text:\" \n", - " + top_hit_summary},\n", - " ]\n", + " {\n", + " \"role\": \"user\",\n", + " \"content\": \"Answer the following question:\"\n", + " + question\n", + " + \"by using the following text:\"\n", + " + top_hit_summary,\n", + " },\n", + " ],\n", ")\n", "\n", "choices = summary.choices\n", diff --git a/notebooks/langchain/_nbtest.setup.langchain-vector-store-using-elser.ipynb b/notebooks/langchain/_nbtest.setup.langchain-vector-store-using-elser.ipynb index 5c1d4cac..f7b7e01e 100644 --- a/notebooks/langchain/_nbtest.setup.langchain-vector-store-using-elser.ipynb +++ b/notebooks/langchain/_nbtest.setup.langchain-vector-store-using-elser.ipynb @@ -25,7 +25,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)" + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")" ] }, { @@ -37,46 +40,40 @@ "source": [ "# delete model if already downloaded and deployed\n", "try:\n", - " client.ml.delete_trained_model(model_id=\".elser_model_2\", force=True)\n", - " print(\"Model deleted successfully, We will proceed with creating one\")\n", + " client.ml.delete_trained_model(model_id=\".elser_model_2\", force=True)\n", + " print(\"Model deleted successfully, We will proceed with creating one\")\n", "except exceptions.NotFoundError:\n", - " print(\"Model doesn't exist, but We will proceed with creating one\")\n", + " print(\"Model doesn't exist, but We will proceed with creating one\")\n", "\n", - "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist. \n", + "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist.\n", "client.ml.put_trained_model(\n", - " model_id=\".elser_model_2\",\n", - " input={\n", - " \"field_names\": [\"text_field\"]\n", - " }\n", - " )\n", + " model_id=\".elser_model_2\", input={\"field_names\": [\"text_field\"]}\n", + ")\n", "\n", "while True:\n", " status = client.ml.get_trained_models(\n", - " model_id=\".elser_model_2\",\n", - " include=\"definition_status\"\n", + " model_id=\".elser_model_2\", include=\"definition_status\"\n", " )\n", - " \n", - " if (status[\"trained_model_configs\"][0][\"fully_defined\"]):\n", + "\n", + " if status[\"trained_model_configs\"][0][\"fully_defined\"]:\n", " break\n", " time.sleep(5)\n", "\n", "# Start trained model deployment if not already deployed\n", "client.ml.start_trained_model_deployment(\n", - " model_id=\".elser_model_2\",\n", - " number_of_allocations=1,\n", - " wait_for=\"starting\"\n", + " model_id=\".elser_model_2\", number_of_allocations=1, wait_for=\"starting\"\n", ")\n", "\n", "while True:\n", - " status = client.ml.get_trained_models_stats(\n", - " model_id=\".elser_model_2\",\n", - " )\n", - " if (status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\"):\n", - " print(\"ELSER Model has been successfully deployed.\")\n", - " break\n", - " else:\n", - " print(\"ELSER Model is currently being deployed.\")\n", - " time.sleep(5)\n", + " status = client.ml.get_trained_models_stats(\n", + " model_id=\".elser_model_2\",\n", + " )\n", + " if status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\":\n", + " print(\"ELSER Model has been successfully deployed.\")\n", + " break\n", + " else:\n", + " print(\"ELSER Model is currently being deployed.\")\n", + " time.sleep(5)\n", "\n", "time.sleep(5)" ] diff --git a/notebooks/langchain/_nbtest.teardown.langchain-using-own-model.ipynb b/notebooks/langchain/_nbtest.teardown.langchain-using-own-model.ipynb index aac893b7..98cbf25b 100644 --- a/notebooks/langchain/_nbtest.teardown.langchain-using-own-model.ipynb +++ b/notebooks/langchain/_nbtest.teardown.langchain-using-own-model.ipynb @@ -13,7 +13,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)\n", + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")\n", "\n", "# delete the notebook's index\n", "client.indices.delete(index=\"approx-search-demo\", ignore_unavailable=True)\n", @@ -26,7 +29,9 @@ "\n", "# delete the model\n", "try:\n", - " client.ml.delete_trained_model(model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True)\n", + " client.ml.delete_trained_model(\n", + " model_id=\"sentence-transformers__all-minilm-l6-v2\", force=True\n", + " )\n", "except:\n", " pass" ] diff --git a/notebooks/langchain/_nbtest.teardown.langchain-vector-store-using-elser.ipynb b/notebooks/langchain/_nbtest.teardown.langchain-vector-store-using-elser.ipynb index de691c7d..4225fc11 100644 --- a/notebooks/langchain/_nbtest.teardown.langchain-vector-store-using-elser.ipynb +++ b/notebooks/langchain/_nbtest.teardown.langchain-vector-store-using-elser.ipynb @@ -13,7 +13,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)\n", + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")\n", "\n", "# delete the notebook's index\n", "client.indices.delete(index=\"workplace_index\", ignore_unavailable=True)\n", diff --git a/notebooks/langchain/langchain-using-own-model.ipynb b/notebooks/langchain/langchain-using-own-model.ipynb index dfa75ae4..1c95c9a9 100644 --- a/notebooks/langchain/langchain-using-own-model.ipynb +++ b/notebooks/langchain/langchain-using-own-model.ipynb @@ -68,13 +68,15 @@ "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", "vector_store = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", - " es_api_key=ELASTIC_API_KEY, \n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", " query_field=\"text_field\",\n", " vector_query_field=\"vector_query_field.predicted_value\",\n", - " index_name= \"approx-search-demo\",\n", - " strategy=ElasticsearchStore.ApproxRetrievalStrategy(query_model_id=\"sentence-transformers__all-minilm-l6-v2\")\n", - ")\n" + " index_name=\"approx-search-demo\",\n", + " strategy=ElasticsearchStore.ApproxRetrievalStrategy(\n", + " query_model_id=\"sentence-transformers__all-minilm-l6-v2\"\n", + " ),\n", + ")" ] }, { @@ -118,7 +120,7 @@ "metadata": {}, "outputs": [], "source": [ - "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\" \n", + "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/example-apps/chatbot-rag-app/data/data.json\"\n", "response = urlopen(url)\n", "\n", "workplace_docs = json.loads(response.read())" @@ -152,17 +154,20 @@ } ], "source": [ - "PIPELINE_ID=\"vectorize_workplace\"\n", - "\n", - "vector_store.client.ingest.put_pipeline(id=PIPELINE_ID, processors=[{\n", - " \"inference\": {\n", - " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", - " \"field_map\": {\n", - " \"query_field\": \"text_field\"\n", - " },\n", - " \"target_field\": \"vector_query_field\",\n", + "PIPELINE_ID = \"vectorize_workplace\"\n", + "\n", + "vector_store.client.ingest.put_pipeline(\n", + " id=PIPELINE_ID,\n", + " processors=[\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"sentence-transformers__all-minilm-l6-v2\",\n", + " \"field_map\": {\"query_field\": \"text_field\"},\n", + " \"target_field\": \"vector_query_field\",\n", + " }\n", " }\n", - " }])" + " ],\n", + ")" ] }, { @@ -188,41 +193,40 @@ "outputs": [], "source": [ "# define index name\n", - "INDEX_NAME=\"approx-search-demo\"\n", + "INDEX_NAME = \"approx-search-demo\"\n", "\n", "# flag to check if index has to be deleted before creating\n", - "SHOULD_DELETE_INDEX=True\n", + "SHOULD_DELETE_INDEX = True\n", "\n", "# define index mapping\n", "INDEX_MAPPING = {\n", " \"properties\": {\n", - " \"text_field\": {\"type\": \"text\"},\n", - " \"vector_query_field\": {\n", - " \"properties\": {\n", - " \"is_truncated\": {\n", - " \"type\": \"boolean\"\n", - " },\n", - " \"predicted_value\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 384,\n", - " \"index\": True,\n", - " \"similarity\": \"l2_norm\"\n", - " }\n", - " }\n", - " }\n", + " \"text_field\": {\"type\": \"text\"},\n", + " \"vector_query_field\": {\n", + " \"properties\": {\n", + " \"is_truncated\": {\"type\": \"boolean\"},\n", + " \"predicted_value\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 384,\n", + " \"index\": True,\n", + " \"similarity\": \"l2_norm\",\n", + " },\n", + " }\n", + " },\n", " }\n", - " }\n", + "}\n", "\n", "\n", - "INDEX_SETTINGS = {\"index\": { \"default_pipeline\": PIPELINE_ID}}\n", + "INDEX_SETTINGS = {\"index\": {\"default_pipeline\": PIPELINE_ID}}\n", "\n", "# check if we want to delete index before creating the index\n", - "if(SHOULD_DELETE_INDEX):\n", - " if vector_store.client.indices.exists(index=INDEX_NAME):\n", - " vector_store.client.indices.delete(index=INDEX_NAME, ignore=[400, 404])\n", + "if SHOULD_DELETE_INDEX:\n", + " if vector_store.client.indices.exists(index=INDEX_NAME):\n", + " vector_store.client.indices.delete(index=INDEX_NAME, ignore=[400, 404])\n", "\n", - "vector_store.client.indices.create(index=INDEX_NAME, mappings=INDEX_MAPPING, settings=INDEX_SETTINGS,\n", - " ignore=[400, 404])\n" + "vector_store.client.indices.create(\n", + " index=INDEX_NAME, mappings=INDEX_MAPPING, settings=INDEX_SETTINGS, ignore=[400, 404]\n", + ")" ] }, { @@ -245,13 +249,12 @@ "\n", "# data.json\n", "for doc in workplace_docs:\n", - " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"]\n", - " })\n", + " content.append(doc[\"content\"])\n", + " metadata.append({\"name\": doc[\"name\"], \"summary\": doc[\"summary\"]})\n", "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", "docs = text_splitter.create_documents(content, metadatas=metadata)" ] }, @@ -275,11 +278,15 @@ "outputs": [], "source": [ "documents = ElasticsearchStore.from_documents(\n", - " docs, es_cloud_id=ELASTIC_CLOUD_ID, es_api_key=ELASTIC_API_KEY, \n", - " index_name= \"approx-search-demo\",\n", + " docs,\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"approx-search-demo\",\n", " query_field=\"text_field\",\n", " vector_query_field=\"vector_query_field.predicted_value\",\n", - " strategy=ElasticsearchStore.ApproxRetrievalStrategy(query_model_id=\"sentence-transformers__all-minilm-l6-v2\")\n", + " strategy=ElasticsearchStore.ApproxRetrievalStrategy(\n", + " query_model_id=\"sentence-transformers__all-minilm-l6-v2\"\n", + " ),\n", ")" ] }, diff --git a/notebooks/langchain/langchain-vector-store-using-elser.ipynb b/notebooks/langchain/langchain-vector-store-using-elser.ipynb index 48b738b0..b96bc22e 100644 --- a/notebooks/langchain/langchain-vector-store-using-elser.ipynb +++ b/notebooks/langchain/langchain-vector-store-using-elser.ipynb @@ -63,7 +63,6 @@ "metadata": {}, "outputs": [], "source": [ - "\n", "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "\n", @@ -71,9 +70,9 @@ "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", "vector_store = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", - " es_api_key=ELASTIC_API_KEY,\n", - " index_name= \"workplace_index\",\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"workplace_index\",\n", ")" ] }, @@ -119,14 +118,18 @@ "content = []\n", "\n", "for doc in workplace_docs:\n", - " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"],\n", - " \"rolePermissions\":doc[\"rolePermissions\"]\n", - " })\n", + " content.append(doc[\"content\"])\n", + " metadata.append(\n", + " {\n", + " \"name\": doc[\"name\"],\n", + " \"summary\": doc[\"summary\"],\n", + " \"rolePermissions\": doc[\"rolePermissions\"],\n", + " }\n", + " )\n", "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", "docs = text_splitter.create_documents(content, metadatas=metadata)" ] }, @@ -150,14 +153,16 @@ "outputs": [], "source": [ "documents = vector_store.from_documents(\n", - " docs, \n", + " docs,\n", " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " index_name=\"workplace_index\",\n", - " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy(model_id=\".elser_model_2\"),\n", + " strategy=ElasticsearchStore.SparseVectorRetrievalStrategy(\n", + " model_id=\".elser_model_2\"\n", + " ),\n", " bulk_kwargs={\n", " \"request_timeout\": 60,\n", - " }\n", + " },\n", ")" ] }, @@ -176,9 +181,9 @@ "outputs": [], "source": [ "def showResults(output):\n", - " print(\"Total results: \", len(output))\n", - " for index in range(len(output)):\n", - " print(output[index])" + " print(\"Total results: \", len(output))\n", + " for index in range(len(output)):\n", + " print(output[index])" ] }, { @@ -275,7 +280,10 @@ } ], "source": [ - "results = documents.similarity_search(\"How does the compensation work\", filter=[{ 'match': { \"metadata.rolePermissions\": \"manager\" }}])\n", + "results = documents.similarity_search(\n", + " \"How does the compensation work\",\n", + " filter=[{\"match\": {\"metadata.rolePermissions\": \"manager\"}}],\n", + ")\n", "showResults(results)" ] }, diff --git a/notebooks/langchain/langchain-vector-store.ipynb b/notebooks/langchain/langchain-vector-store.ipynb index bdb89a56..5db8392c 100644 --- a/notebooks/langchain/langchain-vector-store.ipynb +++ b/notebooks/langchain/langchain-vector-store.ipynb @@ -56,7 +56,6 @@ "metadata": {}, "outputs": [], "source": [ - "\n", "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "\n", @@ -69,11 +68,11 @@ "embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)\n", "\n", "vector_store = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", - " es_api_key=ELASTIC_API_KEY,\n", - " index_name= \"workplace_index\", \n", - " embedding=embeddings\n", - ")\n" + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + " index_name=\"workplace_index\",\n", + " embedding=embeddings,\n", + ")" ] }, { @@ -118,14 +117,18 @@ "content = []\n", "\n", "for doc in workplace_docs:\n", - " content.append(doc[\"content\"])\n", - " metadata.append({\n", - " \"name\": doc[\"name\"],\n", - " \"summary\": doc[\"summary\"],\n", - " \"rolePermissions\":doc[\"rolePermissions\"],\n", - " })\n", + " content.append(doc[\"content\"])\n", + " metadata.append(\n", + " {\n", + " \"name\": doc[\"name\"],\n", + " \"summary\": doc[\"summary\"],\n", + " \"rolePermissions\": doc[\"rolePermissions\"],\n", + " }\n", + " )\n", "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", "docs = text_splitter.create_documents(content, metadatas=metadata)" ] }, @@ -147,11 +150,11 @@ "outputs": [], "source": [ "documents = vector_store.from_documents(\n", - " docs, \n", - " embeddings, \n", + " docs,\n", + " embeddings,\n", " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", - " index_name=\"workplace_index\"\n", + " index_name=\"workplace_index\",\n", ")" ] }, @@ -170,9 +173,9 @@ "outputs": [], "source": [ "def showResults(output):\n", - " print(\"Total results: \", len(output))\n", - " for index in range(len(output)):\n", - " print(output[index])" + " print(\"Total results: \", len(output))\n", + " for index in range(len(output)):\n", + " print(output[index])" ] }, { @@ -275,9 +278,11 @@ ], "source": [ "query = \"How does the compensation work?\"\n", - "results = documents.similarity_search(query, filter=[{ 'match': { \"metadata.rolePermissions\": \"manager\" }}])\n", + "results = documents.similarity_search(\n", + " query, filter=[{\"match\": {\"metadata.rolePermissions\": \"manager\"}}]\n", + ")\n", "\n", - "showResults(results)\n" + "showResults(results)" ] } ], diff --git a/notebooks/langchain/multi-query-retriever-examples/chatbot-with-multi-query-retriever.ipynb b/notebooks/langchain/multi-query-retriever-examples/chatbot-with-multi-query-retriever.ipynb index 8f308d48..80dc3405 100644 --- a/notebooks/langchain/multi-query-retriever-examples/chatbot-with-multi-query-retriever.ipynb +++ b/notebooks/langchain/multi-query-retriever-examples/chatbot-with-multi-query-retriever.ipynb @@ -77,10 +77,10 @@ "embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)\n", "\n", "vectorstore = ElasticsearchStore(\n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", " es_api_key=ELASTIC_API_KEY,\n", " index_name=\"chatbot-multi-query-demo\",\n", - " embedding= embeddings,\n", + " embedding=embeddings,\n", ")" ] }, @@ -106,7 +106,7 @@ "response = urlopen(url)\n", "data = json.load(response)\n", "\n", - "with open('temp.json', 'w') as json_file:\n", + "with open(\"temp.json\", \"w\") as json_file:\n", " json.dump(data, json_file)" ] }, @@ -129,9 +129,10 @@ "metadata": {}, "outputs": [], "source": [ - "from langchain.document_loaders import JSONLoader \n", + "from langchain.document_loaders import JSONLoader\n", "from langchain.text_splitter import RecursiveCharacterTextSplitter\n", "\n", + "\n", "def metadata_func(record: dict, metadata: dict) -> dict:\n", " metadata[\"name\"] = record.get(\"name\")\n", " metadata[\"summary\"] = record.get(\"summary\")\n", @@ -141,6 +142,7 @@ "\n", " return metadata\n", "\n", + "\n", "# For more loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/\n", "# And 3rd party loaders https://python.langchain.com/docs/modules/data_connection/document_loaders/#third-party-loaders\n", "loader = JSONLoader(\n", @@ -150,7 +152,9 @@ " metadata_func=metadata_func,\n", ")\n", "\n", - "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size=512, chunk_overlap=256)\n", + "text_splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(\n", + " chunk_size=512, chunk_overlap=256\n", + ")\n", "docs = loader.load_and_split(text_splitter=text_splitter)" ] }, @@ -172,11 +176,11 @@ "outputs": [], "source": [ "documents = vectorstore.from_documents(\n", - " docs, \n", - " embeddings, \n", + " docs,\n", + " embeddings,\n", " index_name=\"chatbot-multi-query-demo\",\n", " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY\n", + " es_api_key=ELASTIC_API_KEY,\n", ")\n", "\n", "llm = OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY)\n", @@ -233,12 +237,15 @@ " \"\"\"\n", ")\n", "\n", - "LLM_DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", + "LLM_DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", "---\n", "SOURCE: {name}\n", "{page_content}\n", "---\n", - "\"\"\")\n", + "\"\"\"\n", + ")\n", + "\n", "\n", "def _combine_documents(\n", " docs, document_prompt=LLM_DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", @@ -246,12 +253,13 @@ " doc_strings = [format_document(doc, document_prompt) for doc in docs]\n", " return document_separator.join(doc_strings)\n", "\n", + "\n", "_context = RunnableParallel(\n", " context=retriever | _combine_documents,\n", " question=RunnablePassthrough(),\n", ")\n", "\n", - "chain = (_context | LLM_CONTEXT_PROMPT | llm)\n", + "chain = _context | LLM_CONTEXT_PROMPT | llm\n", "\n", "ans = chain.invoke(\"what is the nasa sales team?\")\n", "\n", diff --git a/notebooks/langchain/multi-query-retriever-examples/langchain-multi-query-retriever.ipynb b/notebooks/langchain/multi-query-retriever-examples/langchain-multi-query-retriever.ipynb index 13b13bc0..863b4d73 100644 --- a/notebooks/langchain/multi-query-retriever-examples/langchain-multi-query-retriever.ipynb +++ b/notebooks/langchain/multi-query-retriever-examples/langchain-multi-query-retriever.ipynb @@ -66,11 +66,11 @@ " Document(\n", " page_content=\"A bunch of scientists bring back dinosaurs and mayhem breaks loose\",\n", " metadata={\n", - " \"year\": 1993, \n", - " \"rating\": 7.7, \n", - " \"genre\": \"science fiction\", \n", - " \"director\": \"Steven Spielberg\", \n", - " \"title\": \"Jurassic Park\"\n", + " \"year\": 1993,\n", + " \"rating\": 7.7,\n", + " \"genre\": \"science fiction\",\n", + " \"director\": \"Steven Spielberg\",\n", + " \"title\": \"Jurassic Park\",\n", " },\n", " ),\n", " Document(\n", @@ -79,35 +79,35 @@ " \"year\": 2010,\n", " \"director\": \"Christopher Nolan\",\n", " \"rating\": 8.2,\n", - " \"title\": \"Inception\"\n", + " \"title\": \"Inception\",\n", " },\n", " ),\n", " Document(\n", " page_content=\"A psychologist / detective gets lost in a series of dreams within dreams within dreams and Inception reused the idea\",\n", " metadata={\n", - " \"year\": 2006, \n", - " \"director\": \"Satoshi Kon\", \n", - " \"rating\": 8.6, \n", - " \"title\": \"Paprika\"\n", + " \"year\": 2006,\n", + " \"director\": \"Satoshi Kon\",\n", + " \"rating\": 8.6,\n", + " \"title\": \"Paprika\",\n", " },\n", " ),\n", " Document(\n", " page_content=\"A bunch of normal-sized women are supremely wholesome and some men pine after them\",\n", " metadata={\n", - " \"year\": 2019, \n", - " \"director\": \"Greta Gerwig\", \n", - " \"rating\": 8.3, \n", - " \"title\": \"Little Women\"\n", + " \"year\": 2019,\n", + " \"director\": \"Greta Gerwig\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Little Women\",\n", " },\n", " ),\n", " Document(\n", " page_content=\"Toys come alive and have a blast doing so\",\n", " metadata={\n", " \"year\": 1995,\n", - " \"genre\": \"animated\", \n", - " \"director\": \"John Lasseter\", \n", - " \"rating\": 8.3, \n", - " \"title\": \"Toy Story\"\n", + " \"genre\": \"animated\",\n", + " \"director\": \"John Lasseter\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Toy Story\",\n", " },\n", " ),\n", " Document(\n", @@ -160,7 +160,7 @@ " embeddings,\n", " index_name=\"elasticsearch-multi-query-demo\",\n", " es_cloud_id=ELASTIC_CLOUD_ID,\n", - " es_api_key=ELASTIC_API_KEY\n", + " es_api_key=ELASTIC_API_KEY,\n", ")" ] }, diff --git a/notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb b/notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb index af260e2e..e51815a7 100644 --- a/notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb +++ b/notebooks/langchain/self-query-retriever-examples/chatbot-example.ipynb @@ -67,23 +67,50 @@ "docs = [\n", " Document(\n", " page_content=\"A bunch of scientists bring back dinosaurs and mayhem breaks loose\",\n", - " metadata={\"year\": 1993, \"rating\": 7.7, \"genre\": \"science fiction\", \"director\": \"Steven Spielberg\", \"title\": \"Jurassic Park\"},\n", + " metadata={\n", + " \"year\": 1993,\n", + " \"rating\": 7.7,\n", + " \"genre\": \"science fiction\",\n", + " \"director\": \"Steven Spielberg\",\n", + " \"title\": \"Jurassic Park\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Leo DiCaprio gets lost in a dream within a dream within a dream within a ...\",\n", - " metadata={\"year\": 2010, \"director\": \"Christopher Nolan\", \"rating\": 8.2, \"title\": \"Inception\"},\n", + " metadata={\n", + " \"year\": 2010,\n", + " \"director\": \"Christopher Nolan\",\n", + " \"rating\": 8.2,\n", + " \"title\": \"Inception\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"A psychologist / detective gets lost in a series of dreams within dreams within dreams and Inception reused the idea\",\n", - " metadata={\"year\": 2006, \"director\": \"Satoshi Kon\", \"rating\": 8.6, \"title\": \"Paprika\"},\n", + " metadata={\n", + " \"year\": 2006,\n", + " \"director\": \"Satoshi Kon\",\n", + " \"rating\": 8.6,\n", + " \"title\": \"Paprika\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"A bunch of normal-sized women are supremely wholesome and some men pine after them\",\n", - " metadata={\"year\": 2019, \"director\": \"Greta Gerwig\", \"rating\": 8.3, \"title\": \"Little Women\"},\n", + " metadata={\n", + " \"year\": 2019,\n", + " \"director\": \"Greta Gerwig\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Little Women\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Toys come alive and have a blast doing so\",\n", - " metadata={\"year\": 1995, \"genre\": \"animated\", \"director\": \"John Lasseter\", \"rating\": 8.3, \"title\": \"Toy Story\"},\n", + " metadata={\n", + " \"year\": 1995,\n", + " \"genre\": \"animated\",\n", + " \"director\": \"John Lasseter\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Toy Story\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Three men walk into the Zone, three men walk out of the Zone\",\n", @@ -132,12 +159,12 @@ "\n", "\n", "vectorstore = ElasticsearchStore.from_documents(\n", - " docs, \n", - " embeddings, \n", - " index_name=\"elasticsearch-self-query-demo\", \n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", - " es_api_key=ELASTIC_API_KEY\n", - ")\n" + " docs,\n", + " embeddings,\n", + " index_name=\"elasticsearch-self-query-demo\",\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + ")" ] }, { @@ -187,7 +214,7 @@ "# instantiate retriever\n", "retriever = SelfQueryRetriever.from_llm(\n", " llm, vectorstore, document_content_description, metadata_field_info, verbose=True\n", - ")\n" + ")" ] }, { @@ -221,7 +248,8 @@ "from langchain.prompts import ChatPromptTemplate, PromptTemplate\n", "from langchain.schema import format_document\n", "\n", - "LLM_CONTEXT_PROMPT = ChatPromptTemplate.from_template(\"\"\"\n", + "LLM_CONTEXT_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", "Use the following context movies that matched the user question. Use the movies below only to answer the user's question.\n", "\n", "If you don't know the answer, just say that you don't know, don't try to make up an answer.\n", @@ -231,15 +259,19 @@ "----\n", "Question: {question}\n", "Answer:\n", - "\"\"\")\n", + "\"\"\"\n", + ")\n", "\n", - "DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", + "DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", "---\n", "title: {title} \n", "year: {year} \n", "director: {director} \n", "---\n", - "\"\"\")\n", + "\"\"\"\n", + ")\n", + "\n", "\n", "def _combine_documents(\n", " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", @@ -253,9 +285,11 @@ " question=RunnablePassthrough(),\n", ")\n", "\n", - "chain = (_context | LLM_CONTEXT_PROMPT | llm)\n", + "chain = _context | LLM_CONTEXT_PROMPT | llm\n", "\n", - "chain.invoke(\"What movies are about dreams and was released after the year 2007 but before 2012?\")" + "chain.invoke(\n", + " \"What movies are about dreams and was released after the year 2007 but before 2012?\"\n", + ")" ] } ], diff --git a/notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb b/notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb index 04acd6ec..3928f086 100644 --- a/notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb +++ b/notebooks/langchain/self-query-retriever-examples/chatbot-with-bm25-only-example.ipynb @@ -58,35 +58,62 @@ "docs = [\n", " {\n", " \"text\": \"A bunch of scientists bring back dinosaurs and mayhem breaks loose\",\n", - " \"metadata\": {\"year\": 1993, \"rating\": 7.7, \"genre\": \"science fiction\", \"director\": \"Steven Spielberg\", \"title\": \"Jurassic Park\"},\n", + " \"metadata\": {\n", + " \"year\": 1993,\n", + " \"rating\": 7.7,\n", + " \"genre\": \"science fiction\",\n", + " \"director\": \"Steven Spielberg\",\n", + " \"title\": \"Jurassic Park\",\n", + " },\n", " },\n", " {\n", " \"text\": \"Leo DiCaprio gets lost in a dream within a dream within a dream within a ...\",\n", - " \"metadata\": {\"year\": 2010, \"director\": \"Christopher Nolan\", \"rating\": 8.2, \"title\": \"Inception\"},\n", + " \"metadata\": {\n", + " \"year\": 2010,\n", + " \"director\": \"Christopher Nolan\",\n", + " \"rating\": 8.2,\n", + " \"title\": \"Inception\",\n", + " },\n", " },\n", " {\n", " \"text\": \"A psychologist / detective gets lost in a series of dreams within dreams within dreams and Inception reused the idea\",\n", - " \"metadata\": {\"year\": 2006, \"director\": \"Satoshi Kon\", \"rating\": 8.6, \"title\": \"Paprika\"},\n", + " \"metadata\": {\n", + " \"year\": 2006,\n", + " \"director\": \"Satoshi Kon\",\n", + " \"rating\": 8.6,\n", + " \"title\": \"Paprika\",\n", + " },\n", " },\n", " {\n", - " \"text\":\"A bunch of normal-sized women are supremely wholesome and some men pine after them\",\n", - " \"metadata\":{\"year\": 2019, \"director\": \"Greta Gerwig\", \"rating\": 8.3, \"title\": \"Little Women\"},\n", + " \"text\": \"A bunch of normal-sized women are supremely wholesome and some men pine after them\",\n", + " \"metadata\": {\n", + " \"year\": 2019,\n", + " \"director\": \"Greta Gerwig\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Little Women\",\n", + " },\n", " },\n", " {\n", - " \"text\":\"Toys come alive and have a blast doing so\",\n", - " \"metadata\":{\"year\": 1995, \"genre\": \"animated\", \"director\": \"John Lasseter\", \"rating\": 8.3, \"title\": \"Toy Story\"},\n", + " \"text\": \"Toys come alive and have a blast doing so\",\n", + " \"metadata\": {\n", + " \"year\": 1995,\n", + " \"genre\": \"animated\",\n", + " \"director\": \"John Lasseter\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Toy Story\",\n", + " },\n", " },\n", " {\n", - " \"text\":\"Three men walk into the Zone, three men walk out of the Zone\",\n", - " \"metadata\":{\n", + " \"text\": \"Three men walk into the Zone, three men walk out of the Zone\",\n", + " \"metadata\": {\n", " \"year\": 1979,\n", " \"rating\": 9.9,\n", " \"director\": \"Andrei Tarkovsky\",\n", " \"genre\": \"science fiction\",\n", " \"rating\": 9.9,\n", " \"title\": \"Stalker\",\n", - " }\n", - " }\n", + " },\n", + " },\n", "]" ] }, @@ -123,8 +150,8 @@ "OPENAI_API_KEY = getpass(\"OpenAI API key: \")\n", "\n", "client = Elasticsearch(\n", - " cloud_id=ELASTIC_CLOUD_ID,\n", - " api_key=ELASTIC_API_KEY,\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", ")" ] }, @@ -150,17 +177,18 @@ "\n", "operations = [\n", " {\n", - " \"_index\": \"movies_self_query\",\n", - " \"_id\": i,\n", - " \"text\": doc[\"text\"],\n", - " \"metadata\": doc[\"metadata\"]\n", - " } for i, doc in enumerate(docs)\n", + " \"_index\": \"movies_self_query\",\n", + " \"_id\": i,\n", + " \"text\": doc[\"text\"],\n", + " \"metadata\": doc[\"metadata\"],\n", + " }\n", + " for i, doc in enumerate(docs)\n", "]\n", "\n", "# Add the documents to the index directly\n", "response = helpers.bulk(\n", - " client,\n", - " operations,\n", + " client,\n", + " operations,\n", ")" ] }, @@ -215,11 +243,10 @@ "# Set up openAI llm with sampling temperature 0\n", "llm = OpenAI(temperature=0, openai_api_key=OPENAI_API_KEY)\n", "\n", + "\n", "class BM25RetrievalStrategy(ApproxRetrievalStrategy):\n", "\n", - " def __init__(\n", - " self\n", - " ):\n", + " def __init__(self):\n", " pass\n", "\n", " def query(\n", @@ -228,26 +255,22 @@ " filter: List[dict],\n", " **kwargs,\n", " ):\n", - " \n", + "\n", " if query:\n", - " query_clause = [{\n", - " \"multi_match\": {\n", - " \"query\": query,\n", - " \"fields\": [\"text\"],\n", - " \"fuzziness\": \"AUTO\",\n", + " query_clause = [\n", + " {\n", + " \"multi_match\": {\n", + " \"query\": query,\n", + " \"fields\": [\"text\"],\n", + " \"fuzziness\": \"AUTO\",\n", + " }\n", " }\n", - " }]\n", + " ]\n", " else:\n", " query_clause = []\n", "\n", - "\n", " bm25_query = {\n", - " \"query\": {\n", - " \"bool\": {\n", - " \"filter\": filter,\n", - " \"must\": query_clause\n", - " }\n", - " },\n", + " \"query\": {\"bool\": {\"filter\": filter, \"must\": query_clause}},\n", " }\n", "\n", " print(\"query\", bm25_query)\n", @@ -256,10 +279,10 @@ "\n", "\n", "vectorstore = ElasticsearchStore(\n", - " index_name=\"movies_self_query\",\n", - " es_connection=client,\n", - " strategy=BM25RetrievalStrategy()\n", - ")\n" + " index_name=\"movies_self_query\",\n", + " es_connection=client,\n", + " strategy=BM25RetrievalStrategy(),\n", + ")" ] }, { @@ -304,14 +327,11 @@ "from langchain.schema import format_document\n", "\n", "retriever = SelfQueryRetriever.from_llm(\n", - " llm, \n", - " vectorstore, \n", - " document_content_description, \n", - " metadata_field_info, \n", - " verbose=True\n", + " llm, vectorstore, document_content_description, metadata_field_info, verbose=True\n", ")\n", "\n", - "LLM_CONTEXT_PROMPT = ChatPromptTemplate.from_template(\"\"\"\n", + "LLM_CONTEXT_PROMPT = ChatPromptTemplate.from_template(\n", + " \"\"\"\n", "Use the following context movies that matched the user question. Use the movies below only to answer the user's question.\n", "\n", "If you don't know the answer, just say that you don't know, don't try to make up an answer.\n", @@ -321,15 +341,19 @@ "----\n", "Question: {question}\n", "Answer:\n", - "\"\"\")\n", + "\"\"\"\n", + ")\n", "\n", - "DOCUMENT_PROMPT = PromptTemplate.from_template(\"\"\"\n", + "DOCUMENT_PROMPT = PromptTemplate.from_template(\n", + " \"\"\"\n", "---\n", "title: {title} \n", "year: {year} \n", "director: {director} \n", "---\n", - "\"\"\")\n", + "\"\"\"\n", + ")\n", + "\n", "\n", "def _combine_documents(\n", " docs, document_prompt=DOCUMENT_PROMPT, document_separator=\"\\n\\n\"\n", @@ -344,9 +368,11 @@ " question=RunnablePassthrough(),\n", ")\n", "\n", - "chain = (_context | LLM_CONTEXT_PROMPT | llm)\n", + "chain = _context | LLM_CONTEXT_PROMPT | llm\n", "\n", - "chain.invoke(\"Which director directed movies about dinosaurs that was released after the year 1992 but before 2007?\")" + "chain.invoke(\n", + " \"Which director directed movies about dinosaurs that was released after the year 1992 but before 2007?\"\n", + ")" ] }, { diff --git a/notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb b/notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb index 37c027a7..8d3ee218 100644 --- a/notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb +++ b/notebooks/langchain/self-query-retriever-examples/langchain-self-query-retriever.ipynb @@ -67,23 +67,50 @@ "docs = [\n", " Document(\n", " page_content=\"A bunch of scientists bring back dinosaurs and mayhem breaks loose\",\n", - " metadata={\"year\": 1993, \"rating\": 7.7, \"genre\": \"science fiction\", \"director\": \"Steven Spielberg\", \"title\": \"Jurassic Park\"},\n", + " metadata={\n", + " \"year\": 1993,\n", + " \"rating\": 7.7,\n", + " \"genre\": \"science fiction\",\n", + " \"director\": \"Steven Spielberg\",\n", + " \"title\": \"Jurassic Park\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Leo DiCaprio gets lost in a dream within a dream within a dream within a ...\",\n", - " metadata={\"year\": 2010, \"director\": \"Christopher Nolan\", \"rating\": 8.2, \"title\": \"Inception\"},\n", + " metadata={\n", + " \"year\": 2010,\n", + " \"director\": \"Christopher Nolan\",\n", + " \"rating\": 8.2,\n", + " \"title\": \"Inception\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"A psychologist / detective gets lost in a series of dreams within dreams within dreams and Inception reused the idea\",\n", - " metadata={\"year\": 2006, \"director\": \"Satoshi Kon\", \"rating\": 8.6, \"title\": \"Paprika\"},\n", + " metadata={\n", + " \"year\": 2006,\n", + " \"director\": \"Satoshi Kon\",\n", + " \"rating\": 8.6,\n", + " \"title\": \"Paprika\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"A bunch of normal-sized women are supremely wholesome and some men pine after them\",\n", - " metadata={\"year\": 2019, \"director\": \"Greta Gerwig\", \"rating\": 8.3, \"title\": \"Little Women\"},\n", + " metadata={\n", + " \"year\": 2019,\n", + " \"director\": \"Greta Gerwig\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Little Women\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Toys come alive and have a blast doing so\",\n", - " metadata={\"year\": 1995, \"genre\": \"animated\", \"director\": \"John Lasseter\", \"rating\": 8.3, \"title\": \"Toy Story\"},\n", + " metadata={\n", + " \"year\": 1995,\n", + " \"genre\": \"animated\",\n", + " \"director\": \"John Lasseter\",\n", + " \"rating\": 8.3,\n", + " \"title\": \"Toy Story\",\n", + " },\n", " ),\n", " Document(\n", " page_content=\"Three men walk into the Zone, three men walk out of the Zone\",\n", @@ -132,12 +159,12 @@ "\n", "\n", "vectorstore = ElasticsearchStore.from_documents(\n", - " docs, \n", - " embeddings, \n", - " index_name=\"elasticsearch-self-query-demo\", \n", - " es_cloud_id=ELASTIC_CLOUD_ID, \n", - " es_api_key=ELASTIC_API_KEY\n", - ")\n" + " docs,\n", + " embeddings,\n", + " index_name=\"elasticsearch-self-query-demo\",\n", + " es_cloud_id=ELASTIC_CLOUD_ID,\n", + " es_api_key=ELASTIC_API_KEY,\n", + ")" ] }, { @@ -187,7 +214,7 @@ "# instantiate retriever\n", "retriever = SelfQueryRetriever.from_llm(\n", " llm, vectorstore, document_content_description, metadata_field_info, verbose=True\n", - ")\n" + ")" ] }, { @@ -221,7 +248,7 @@ } ], "source": [ - "# This example only specifies a relevant query \n", + "# This example only specifies a relevant query\n", "retriever.get_relevant_documents(\"What are some movies about dream\")" ] }, @@ -253,7 +280,9 @@ } ], "source": [ - "retriever.get_relevant_documents(\"Has Andrei Tarkovsky directed any science fiction movies\")" + "retriever.get_relevant_documents(\n", + " \"Has Andrei Tarkovsky directed any science fiction movies\"\n", + ")" ] }, { @@ -344,7 +373,9 @@ } ], "source": [ - "retriever.get_relevant_documents(\"Show that one movie which was about dream and was released after the year 1992 but before 2007?\")" + "retriever.get_relevant_documents(\n", + " \"Show that one movie which was about dream and was released after the year 1992 but before 2007?\"\n", + ")" ] } ], diff --git a/notebooks/model-upgrades/_nbtest.setup.upgrading-index-to-use-elser.ipynb b/notebooks/model-upgrades/_nbtest.setup.upgrading-index-to-use-elser.ipynb index f9580bb2..938d624a 100644 --- a/notebooks/model-upgrades/_nbtest.setup.upgrading-index-to-use-elser.ipynb +++ b/notebooks/model-upgrades/_nbtest.setup.upgrading-index-to-use-elser.ipynb @@ -34,7 +34,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)" + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")" ] }, { @@ -46,46 +49,40 @@ "source": [ "# delete model if already downloaded and deployed\n", "try:\n", - " client.ml.delete_trained_model(model_id=\".elser_model_2\",force=True)\n", - " print(\"Model deleted successfully, We will proceed with creating one\")\n", + " client.ml.delete_trained_model(model_id=\".elser_model_2\", force=True)\n", + " print(\"Model deleted successfully, We will proceed with creating one\")\n", "except exceptions.NotFoundError:\n", - " print(\"Model doesn't exist, but We will proceed with creating one\")\n", + " print(\"Model doesn't exist, but We will proceed with creating one\")\n", "\n", - "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist. \n", + "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist.\n", "client.ml.put_trained_model(\n", - " model_id=\".elser_model_2\",\n", - " input={\n", - " \"field_names\": [\"text_field\"]\n", - " }\n", - " )\n", + " model_id=\".elser_model_2\", input={\"field_names\": [\"text_field\"]}\n", + ")\n", "\n", "while True:\n", " status = client.ml.get_trained_models(\n", - " model_id=\".elser_model_2\",\n", - " include=\"definition_status\"\n", + " model_id=\".elser_model_2\", include=\"definition_status\"\n", " )\n", - " \n", - " if (status[\"trained_model_configs\"][0][\"fully_defined\"]):\n", + "\n", + " if status[\"trained_model_configs\"][0][\"fully_defined\"]:\n", " break\n", " time.sleep(5)\n", "\n", "# Start trained model deployment if not already deployed\n", "client.ml.start_trained_model_deployment(\n", - " model_id=\".elser_model_2\",\n", - " number_of_allocations=1,\n", - " wait_for=\"starting\"\n", + " model_id=\".elser_model_2\", number_of_allocations=1, wait_for=\"starting\"\n", ")\n", "\n", "while True:\n", - " status = client.ml.get_trained_models_stats(\n", - " model_id=\".elser_model_2\",\n", - " )\n", - " if (status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\"):\n", - " print(\"ELSER Model has been successfully deployed.\")\n", - " break\n", - " else:\n", - " print(\"ELSER Model is currently being deployed.\")\n", - " time.sleep(5)" + " status = client.ml.get_trained_models_stats(\n", + " model_id=\".elser_model_2\",\n", + " )\n", + " if status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\":\n", + " print(\"ELSER Model has been successfully deployed.\")\n", + " break\n", + " else:\n", + " print(\"ELSER Model is currently being deployed.\")\n", + " time.sleep(5)" ] }, { @@ -119,17 +116,17 @@ " \"type\": \"dense_vector\",\n", " \"dims\": 384,\n", " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", + " \"similarity\": \"cosine\",\n", " }\n", " }\n", "}\n", - "client.indices.create(index='books', mappings=mappings)\n", + "client.indices.create(index=\"books\", mappings=mappings)\n", "\n", "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json\"\n", "response = urlopen(url)\n", "books = json.loads(response.read())\n", "\n", - "model = SentenceTransformer('all-MiniLM-L6-v2')\n", + "model = SentenceTransformer(\"all-MiniLM-L6-v2\")\n", "operations = []\n", "for book in books:\n", " operations.append({\"index\": {\"_index\": \"books\"}})\n", diff --git a/notebooks/model-upgrades/_nbtest.teardown.upgrading-index-to-use-elser.ipynb b/notebooks/model-upgrades/_nbtest.teardown.upgrading-index-to-use-elser.ipynb index 4d479722..1aba84e5 100644 --- a/notebooks/model-upgrades/_nbtest.teardown.upgrading-index-to-use-elser.ipynb +++ b/notebooks/model-upgrades/_nbtest.teardown.upgrading-index-to-use-elser.ipynb @@ -13,7 +13,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)\n", + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")\n", "\n", "# delete the indices\n", "client.indices.delete(index=\"books\", ignore_unavailable=True)\n", diff --git a/notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb b/notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb index 1cfa6952..3b0bdd00 100644 --- a/notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb +++ b/notebooks/model-upgrades/upgrading-index-to-use-elser.ipynb @@ -154,17 +154,10 @@ } ], "source": [ - "\n", "client.ingest.put_pipeline(\n", - " id=\"ingest-pipeline-lowercase\", \n", + " id=\"ingest-pipeline-lowercase\",\n", " description=\"Ingest pipeline to change title to lowercase\",\n", - " processors=[\n", - " {\n", - " \"lowercase\": {\n", - " \"field\": \"title\"\n", - " }\n", - " }\n", - " ]\n", + " processors=[{\"lowercase\": {\"field\": \"title\"}}],\n", ")" ] }, @@ -194,29 +187,24 @@ } ], "source": [ - "client.indices.delete(index=\"movies\",ignore_unavailable=True)\n", + "client.indices.delete(index=\"movies\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"movies\",\n", - " settings={\n", - " \"index\": {\n", - " \"number_of_shards\": 1,\n", - " \"number_of_replicas\": 1,\n", - " \"default_pipeline\": \"ingest-pipeline-lowercase\"\n", - " }\n", - " },\n", - " mappings={\n", - " \"properties\": {\n", - " \"plot\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " index=\"movies\",\n", + " settings={\n", + " \"index\": {\n", + " \"number_of_shards\": 1,\n", + " \"number_of_replicas\": 1,\n", + " \"default_pipeline\": \"ingest-pipeline-lowercase\",\n", + " }\n", + " },\n", + " mappings={\n", + " \"properties\": {\n", + " \"plot\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", " }\n", - " },\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -251,10 +239,12 @@ "# Prepare the documents to be indexed\n", "documents = []\n", "for doc in data_json:\n", - " documents.append({\n", - " \"_index\": \"movies\",\n", - " \"_source\": doc,\n", - " })\n", + " documents.append(\n", + " {\n", + " \"_index\": \"movies\",\n", + " \"_source\": doc,\n", + " }\n", + " )\n", "\n", "# Use helpers.bulk to index\n", "helpers.bulk(client, documents)\n", @@ -293,21 +283,18 @@ ], "source": [ "client.ingest.put_pipeline(\n", - " id=\"elser-ingest-pipeline\", \n", + " id=\"elser-ingest-pipeline\",\n", " description=\"Ingest pipeline for ELSER\",\n", " processors=[\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \".elser_model_2\",\n", - " \"input_output\": [\n", - " {\n", - " \"input_field\": \"plot\",\n", - " \"output_field\": \"plot_embedding\"\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \".elser_model_2\",\n", + " \"input_output\": [\n", + " {\"input_field\": \"plot\", \"output_field\": \"plot_embedding\"}\n", + " ],\n", " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", + " }\n", + " ],\n", ")" ] }, @@ -337,25 +324,18 @@ } ], "source": [ - "client.indices.delete(index=\"elser-movies\",ignore_unavailable=True)\n", + "client.indices.delete(index=\"elser-movies\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"elser-movies\",\n", - " mappings={\n", - " \"properties\": {\n", - " \"plot\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " index=\"elser-movies\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"plot\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"plot_embedding\": {\"type\": \"sparse_vector\"},\n", " }\n", - " },\n", - " \"plot_embedding\": { \n", - " \"type\": \"sparse_vector\" \n", - " }\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -383,12 +363,10 @@ "metadata": {}, "outputs": [], "source": [ - "client.reindex(source={\n", - " \"index\": \"movies\"\n", - " }, dest={\n", - " \"index\": \"elser-movies\",\n", - " \"pipeline\": \"elser-ingest-pipeline\"\n", - " })\n", + "client.reindex(\n", + " source={\"index\": \"movies\"},\n", + " dest={\"index\": \"elser-movies\", \"pipeline\": \"elser-ingest-pipeline\"},\n", + ")\n", "time.sleep(7)" ] }, @@ -435,23 +413,23 @@ ], "source": [ "response = client.search(\n", - " index='elser-movies', \n", + " index=\"elser-movies\",\n", " size=3,\n", " query={\n", " \"text_expansion\": {\n", " \"plot_embedding\": {\n", - " \"model_id\":\".elser_model_2\",\n", - " \"model_text\":\"investigation\"\n", + " \"model_id\": \".elser_model_2\",\n", + " \"model_text\": \"investigation\",\n", " }\n", " }\n", - " }\n", + " },\n", ")\n", "\n", - "for hit in response['hits']['hits']:\n", - " doc_id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " plot = hit['_source']['plot']\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + " doc_id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " plot = hit[\"_source\"][\"plot\"]\n", " print(f\"Score: {score}\\nTitle: {title}\\nPlot: {plot}\\n\")" ] }, @@ -493,21 +471,18 @@ ], "source": [ "client.ingest.put_pipeline(\n", - " id=\"elser-pipeline-upgrade-demo\", \n", + " id=\"elser-pipeline-upgrade-demo\",\n", " description=\"Ingest pipeline for ELSER upgrade demo\",\n", " processors=[\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \".elser_model_2\",\n", - " \"input_output\": [\n", - " {\n", - " \"input_field\": \"title\",\n", - " \"output_field\": \"title_embedding\"\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \".elser_model_2\",\n", + " \"input_output\": [\n", + " {\"input_field\": \"title\", \"output_field\": \"title_embedding\"}\n", + " ],\n", " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", + " }\n", + " ],\n", ")" ] }, @@ -538,23 +513,16 @@ "source": [ "client.indices.delete(index=\"elser-upgrade-index-demo\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"elser-upgrade-index-demo\",\n", - " mappings={\n", - " \"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " index=\"elser-upgrade-index-demo\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"title\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"title_embedding\": {\"type\": \"sparse_vector\"},\n", " }\n", - " },\n", - " \"title_embedding\": {\n", - " \"type\": \"sparse_vector\"\n", - " },\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -575,15 +543,20 @@ "metadata": {}, "outputs": [], "source": [ - "client.reindex(source={\n", - " \"index\": \"books\", # replace with your index name\n", - " \"_source\": {\n", - " \"excludes\": [\"title_vector\"] # replace with the field-name from your index, that has previously generated tokens\n", - " }}, \n", + "client.reindex(\n", + " source={\n", + " \"index\": \"books\", # replace with your index name\n", + " \"_source\": {\n", + " \"excludes\": [\n", + " \"title_vector\"\n", + " ] # replace with the field-name from your index, that has previously generated tokens\n", + " },\n", + " },\n", " dest={\n", - " \"index\": \"elser-upgrade-index-demo\",\n", - " \"pipeline\": \"elser-pipeline-upgrade-demo\"\n", - " })\n", + " \"index\": \"elser-upgrade-index-demo\",\n", + " \"pipeline\": \"elser-pipeline-upgrade-demo\",\n", + " },\n", + ")\n", "time.sleep(5)" ] }, @@ -622,24 +595,24 @@ ], "source": [ "response = client.search(\n", - " index='elser-upgrade-index-demo', \n", + " index=\"elser-upgrade-index-demo\",\n", " size=3,\n", " query={\n", " \"text_expansion\": {\n", " \"title_embedding\": {\n", - " \"model_id\":\".elser_model_2\",\n", - " \"model_text\":\"Programming Course\"\n", + " \"model_id\": \".elser_model_2\",\n", + " \"model_text\": \"Programming Course\",\n", " }\n", " }\n", - " }\n", + " },\n", ")\n", "\n", - "for hit in response['hits']['hits']:\n", - " doc_id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " plot = hit['_source']['title']\n", - " print(f\"Score: {score}\\nTitle: {title}\\nPlot: {plot}\\n\")\n" + "for hit in response[\"hits\"][\"hits\"]:\n", + " doc_id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " plot = hit[\"_source\"][\"title\"]\n", + " print(f\"Score: {score}\\nTitle: {title}\\nPlot: {plot}\\n\")" ] }, { @@ -721,21 +694,18 @@ ], "source": [ "client.ingest.put_pipeline(\n", - " id=\"elser-pipeline-books\", \n", + " id=\"elser-pipeline-books\",\n", " description=\"Ingest pipeline for ELSER upgrade\",\n", " processors=[\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \".elser_model_2\",\n", - " \"input_output\": [\n", - " {\n", - " \"input_field\": \"title\",\n", - " \"output_field\": \"title_embedding\"\n", - " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \".elser_model_2\",\n", + " \"input_output\": [\n", + " {\"input_field\": \"title\", \"output_field\": \"title_embedding\"}\n", + " ],\n", + " }\n", + " }\n", + " ],\n", ")" ] }, @@ -767,23 +737,16 @@ "source": [ "client.indices.delete(index=\"elser-books\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"elser-books\",\n", - " mappings={\n", - " \"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " index=\"elser-books\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"title\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"title_embedding\": {\"type\": \"sparse_vector\"},\n", " }\n", - " },\n", - " \"title_embedding\": {\n", - " \"type\": \"sparse_vector\"\n", - " },\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -802,15 +765,10 @@ "metadata": {}, "outputs": [], "source": [ - "client.reindex(source={\n", - " \"index\": \"books\",\n", - " \"_source\": {\n", - " \"excludes\": [\"title_vector\"]\n", - " }\n", - " }, dest={\n", - " \"index\": \"elser-books\",\n", - " \"pipeline\": \"elser-pipeline-books\"\n", - " })\n", + "client.reindex(\n", + " source={\"index\": \"books\", \"_source\": {\"excludes\": [\"title_vector\"]}},\n", + " dest={\"index\": \"elser-books\", \"pipeline\": \"elser-pipeline-books\"},\n", + ")\n", "time.sleep(5)" ] }, @@ -849,23 +807,23 @@ ], "source": [ "response = client.search(\n", - " index='elser-books', \n", + " index=\"elser-books\",\n", " size=3,\n", " query={\n", " \"text_expansion\": {\n", " \"title_embedding\": {\n", - " \"model_id\":\".elser_model_2\",\n", - " \"model_text\":\"Python tutorial\"\n", + " \"model_id\": \".elser_model_2\",\n", + " \"model_text\": \"Python tutorial\",\n", " }\n", " }\n", - " }\n", + " },\n", ")\n", "\n", - "for hit in response['hits']['hits']:\n", - " doc_id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " print(f\"Score: {score}\\nTitle: {title}\")\n" + "for hit in response[\"hits\"][\"hits\"]:\n", + " doc_id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " print(f\"Score: {score}\\nTitle: {title}\")" ] }, { diff --git a/notebooks/search/00-quick-start.ipynb b/notebooks/search/00-quick-start.ipynb index 1cccafc3..3462ab9f 100644 --- a/notebooks/search/00-quick-start.ipynb +++ b/notebooks/search/00-quick-start.ipynb @@ -79,7 +79,7 @@ "source": [ "from sentence_transformers import SentenceTransformer\n", "\n", - "model = SentenceTransformer('all-MiniLM-L6-v2')" + "model = SentenceTransformer(\"all-MiniLM-L6-v2\")" ] }, { @@ -119,7 +119,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -257,13 +257,13 @@ " \"type\": \"dense_vector\",\n", " \"dims\": 384,\n", " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", + " \"similarity\": \"cosine\",\n", " }\n", " }\n", "}\n", "\n", "# Create the index\n", - "client.indices.create(index='book_index', mappings=mappings)" + "client.indices.create(index=\"book_index\", mappings=mappings)" ] }, { @@ -338,19 +338,19 @@ "outputs": [], "source": [ "def pretty_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " publication_date = hit['_source']['publish_date']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " summary = hit['_source']['summary']\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " publication_date = hit[\"_source\"][\"publish_date\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " summary = hit[\"_source\"][\"summary\"]\n", " publisher = hit[\"_source\"][\"publisher\"]\n", " num_reviews = hit[\"_source\"][\"num_reviews\"]\n", " authors = hit[\"_source\"][\"authors\"]\n", - " pretty_output = (f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\")\n", + " pretty_output = f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\"\n", " print(pretty_output)" ] }, @@ -480,11 +480,11 @@ "response = client.search(\n", " index=\"book_index\",\n", " knn={\n", - " \"field\": \"title_vector\",\n", - " \"query_vector\": model.encode(\"javascript books\"),\n", - " \"k\": 10,\n", - " \"num_candidates\": 100\n", - " }\n", + " \"field\": \"title_vector\",\n", + " \"query_vector\": model.encode(\"javascript books\"),\n", + " \"k\": 10,\n", + " \"num_candidates\": 100,\n", + " },\n", ")\n", "\n", "pretty_response(response)" @@ -560,16 +560,12 @@ "response = client.search(\n", " index=\"book_index\",\n", " knn={\n", - " \"field\": \"title_vector\",\n", - " \"query_vector\": model.encode(\"javascript books\"),\n", - " \"k\": 10,\n", - " \"num_candidates\": 100,\n", - " \"filter\": {\n", - " \"term\": {\n", - " \"publisher.keyword\": \"addison-wesley\"\n", - " }\n", - " }\n", - " }\n", + " \"field\": \"title_vector\",\n", + " \"query_vector\": model.encode(\"javascript books\"),\n", + " \"k\": 10,\n", + " \"num_candidates\": 100,\n", + " \"filter\": {\"term\": {\"publisher.keyword\": \"addison-wesley\"}},\n", + " },\n", ")\n", "\n", "pretty_response(response)" diff --git a/notebooks/search/01-keyword-querying-filtering.ipynb b/notebooks/search/01-keyword-querying-filtering.ipynb index 03dae98c..84f1830e 100644 --- a/notebooks/search/01-keyword-querying-filtering.ipynb +++ b/notebooks/search/01-keyword-querying-filtering.ipynb @@ -36,7 +36,7 @@ "outputs": [], "source": [ "from elasticsearch import Elasticsearch\n", - "from getpass import getpass " + "from getpass import getpass" ] }, { @@ -61,7 +61,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -83,19 +83,19 @@ "outputs": [], "source": [ "def pretty_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " publication_date = hit['_source']['publish_date']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " summary = hit['_source']['summary']\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " publication_date = hit[\"_source\"][\"publish_date\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " summary = hit[\"_source\"][\"summary\"]\n", " publisher = hit[\"_source\"][\"publisher\"]\n", " num_reviews = hit[\"_source\"][\"num_reviews\"]\n", " authors = hit[\"_source\"][\"authors\"]\n", - " pretty_output = (f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\")\n", + " pretty_output = f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\"\n", " print(pretty_output)" ] }, @@ -200,13 +200,9 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"match\": {\n", - " \"summary\": {\n", - " \"query\": \"guide\"\n", - " }\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\", query={\"match\": {\"summary\": {\"query\": \"guide\"}}}\n", + ")\n", "\n", "pretty_response(response)" ] @@ -271,12 +267,10 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"multi_match\": {\n", - " \"query\": \"javascript\",\n", - " \"fields\": [\"summary\", \"title\"]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\"multi_match\": {\"query\": \"javascript\", \"fields\": [\"summary\", \"title\"]}},\n", + ")\n", "\n", "pretty_response(response)" ] @@ -337,12 +331,10 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"multi_match\": {\n", - " \"query\": \"javascript\",\n", - " \"fields\": [\"summary\", \"title^3\"]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\"multi_match\": {\"query\": \"javascript\", \"fields\": [\"summary\", \"title^3\"]}},\n", + ")\n", "\n", "pretty_response(response)" ] @@ -398,11 +390,9 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"term\": {\n", - " \"publisher.keyword\": \"addison-wesley\"\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\", query={\"term\": {\"publisher.keyword\": \"addison-wesley\"}}\n", + ")\n", "\n", "pretty_response(response)" ] @@ -458,13 +448,9 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"range\": {\n", - " \"num_reviews\": {\n", - " \"gte\": 45\n", - " }\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\", query={\"range\": {\"num_reviews\": {\"gte\": 45}}}\n", + ")\n", "\n", "pretty_response(response)" ] @@ -518,13 +504,9 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"prefix\": {\n", - " \"title\": {\n", - " \"value\": 'java'\n", - " }\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\", query={\"prefix\": {\"title\": {\"value\": \"java\"}}}\n", + ")\n", "\n", "pretty_response(response)" ] @@ -588,13 +570,9 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"fuzzy\": {\n", - " \"title\": {\n", - " \"value\": 'pyvascript'\n", - " }\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\", query={\"fuzzy\": {\"title\": {\"value\": \"pyvascript\"}}}\n", + ")\n", "\n", "pretty_response(response)" ] @@ -647,19 +625,17 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"bool\": {\n", - " \"must\": [{\n", - " \"term\": {\n", - " \"publisher.keyword\": \"addison-wesley\"\n", - " }\n", - " }, {\n", - " \"term\": {\n", - " \"authors.keyword\": \"richard helm\"\n", - " }\n", - " }]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"bool\": {\n", + " \"must\": [\n", + " {\"term\": {\"publisher.keyword\": \"addison-wesley\"}},\n", + " {\"term\": {\"authors.keyword\": \"richard helm\"}},\n", + " ]\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] @@ -722,19 +698,17 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"bool\": {\n", - " \"should\": [{\n", - " \"term\": {\n", - " \"publisher.keyword\": \"addison-wesley\"\n", - " }\n", - " }, {\n", - " \"term\": {\n", - " \"authors.keyword\": \"douglas crockford\"\n", - " }\n", - " }]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"bool\": {\n", + " \"should\": [\n", + " {\"term\": {\"publisher.keyword\": \"addison-wesley\"}},\n", + " {\"term\": {\"authors.keyword\": \"douglas crockford\"}},\n", + " ]\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] @@ -805,15 +779,10 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"bool\": {\n", - " \"filter\": [{\n", - " \"term\": {\n", - " \"publisher.keyword\": \"prentice hall\"\n", - " }\n", - " }]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\"bool\": {\"filter\": [{\"term\": {\"publisher.keyword\": \"prentice hall\"}}]}},\n", + ")\n", "\n", "pretty_response(response)" ] @@ -857,17 +826,10 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"bool\": {\n", - " \"must_not\": [{\n", - " \"range\": {\n", - " \"num_reviews\": {\n", - " \"lte\": 45\n", - " }\n", - " }\n", - " }]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\"bool\": {\"must_not\": [{\"range\": {\"num_reviews\": {\"lte\": 45}}}]}},\n", + ")\n", "\n", "pretty_response(response)" ] @@ -904,28 +866,15 @@ } ], "source": [ - "response = client.search(index=\"book_index\", query={\n", - " \"bool\": {\n", - " \"must\": [\n", - " {\n", - " \"match\": {\n", - " \"title\": {\n", - " \"query\": \"javascript\"\n", - " }\n", - " }\n", - " }\n", - " ], \n", - " \"must_not\": [\n", - " {\n", - " \"range\": {\n", - " \"num_reviews\": {\n", - " \"lte\": 45\n", - " }\n", - " }\n", - " }\n", - " ]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"bool\": {\n", + " \"must\": [{\"match\": {\"title\": {\"query\": \"javascript\"}}}],\n", + " \"must_not\": [{\"range\": {\"num_reviews\": {\"lte\": 45}}}],\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] diff --git a/notebooks/search/02-hybrid-search.ipynb b/notebooks/search/02-hybrid-search.ipynb index c99af1d7..c5e9fd22 100644 --- a/notebooks/search/02-hybrid-search.ipynb +++ b/notebooks/search/02-hybrid-search.ipynb @@ -70,7 +70,7 @@ "from sentence_transformers import SentenceTransformer\n", "from getpass import getpass\n", "\n", - "model = SentenceTransformer('all-MiniLM-L6-v2')" + "model = SentenceTransformer(\"all-MiniLM-L6-v2\")" ] }, { @@ -109,7 +109,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -179,16 +179,16 @@ "outputs": [], "source": [ "def pretty_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " publication_date = hit['_source']['publish_date']\n", - " rank = hit['_rank']\n", - " title = hit['_source']['title']\n", - " summary = hit['_source']['summary']\n", - " pretty_output = (f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nRank: {rank}\")\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " publication_date = hit[\"_source\"][\"publish_date\"]\n", + " rank = hit[\"_rank\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " summary = hit[\"_source\"][\"summary\"]\n", + " pretty_output = f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nRank: {rank}\"\n", " print(pretty_output)" ] }, @@ -256,22 +256,18 @@ ], "source": [ "response = client.search(\n", - " index=\"book_index\", \n", - " size=5, \n", - " query={\n", - " \"match\": {\n", - " \"summary\": \"python programming\"\n", - " }\n", - " }, \n", + " index=\"book_index\",\n", + " size=5,\n", + " query={\"match\": {\"summary\": \"python programming\"}},\n", " knn={\n", " \"field\": \"title_vector\",\n", - " \"query_vector\" : model.encode(\"python programming\").tolist(), # generate embedding for query so it can be compared to `title_vector`\n", + " \"query_vector\": model.encode(\n", + " \"python programming\"\n", + " ).tolist(), # generate embedding for query so it can be compared to `title_vector`\n", " \"k\": 5,\n", - " \"num_candidates\": 10\n", + " \"num_candidates\": 10,\n", " },\n", - " rank={\n", - " \"rrf\": {}\n", - " }\n", + " rank={\"rrf\": {}},\n", ")\n", "\n", "pretty_response(response)" diff --git a/notebooks/search/03-ELSER.ipynb b/notebooks/search/03-ELSER.ipynb index 16edf6bc..c6c5e6af 100644 --- a/notebooks/search/03-ELSER.ipynb +++ b/notebooks/search/03-ELSER.ipynb @@ -111,7 +111,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -179,18 +179,15 @@ "source": [ "# delete model if already downloaded and deployed\n", "try:\n", - " client.ml.delete_trained_model(model_id=\".elser_model_2\",force=True)\n", - " print(\"Model deleted successfully, We will proceed with creating one\")\n", + " client.ml.delete_trained_model(model_id=\".elser_model_2\", force=True)\n", + " print(\"Model deleted successfully, We will proceed with creating one\")\n", "except exceptions.NotFoundError:\n", - " print(\"Model doesn't exist, but We will proceed with creating one\")\n", + " print(\"Model doesn't exist, but We will proceed with creating one\")\n", "\n", - "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist. \n", + "# Creates the ELSER model configuration. Automatically downloads the model if it doesn't exist.\n", "client.ml.put_trained_model(\n", - " model_id=\".elser_model_2\",\n", - " input={\n", - " \"field_names\": [\"text_field\"]\n", - " }\n", - " )\n" + " model_id=\".elser_model_2\", input={\"field_names\": [\"text_field\"]}\n", + ")" ] }, { @@ -208,11 +205,10 @@ "source": [ "while True:\n", " status = client.ml.get_trained_models(\n", - " model_id=\".elser_model_2\",\n", - " include=\"definition_status\"\n", + " model_id=\".elser_model_2\", include=\"definition_status\"\n", " )\n", - " \n", - " if (status[\"trained_model_configs\"][0][\"fully_defined\"]):\n", + "\n", + " if status[\"trained_model_configs\"][0][\"fully_defined\"]:\n", " print(\"ELSER Model is downloaded and ready to be deployed.\")\n", " break\n", " else:\n", @@ -235,23 +231,19 @@ "source": [ "# Start trained model deployment if not already deployed\n", "client.ml.start_trained_model_deployment(\n", - " model_id=\".elser_model_2\",\n", - " number_of_allocations=1,\n", - " wait_for=\"starting\"\n", + " model_id=\".elser_model_2\", number_of_allocations=1, wait_for=\"starting\"\n", ")\n", "\n", "while True:\n", - " status = client.ml.get_trained_models_stats(\n", - " model_id=\".elser_model_2\",\n", - " )\n", - " if (status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\"):\n", - " print(\"ELSER Model has been successfully deployed.\")\n", - " break\n", - " else:\n", - " print(\"ELSER Model is currently being deployed.\")\n", - " time.sleep(5)\n", - "\n", - "\n" + " status = client.ml.get_trained_models_stats(\n", + " model_id=\".elser_model_2\",\n", + " )\n", + " if status[\"trained_model_stats\"][0][\"deployment_stats\"][\"state\"] == \"started\":\n", + " print(\"ELSER Model has been successfully deployed.\")\n", + " break\n", + " else:\n", + " print(\"ELSER Model is currently being deployed.\")\n", + " time.sleep(5)" ] }, { @@ -298,21 +290,18 @@ ], "source": [ "client.ingest.put_pipeline(\n", - " id=\"elser-ingest-pipeline\", \n", + " id=\"elser-ingest-pipeline\",\n", " description=\"Ingest pipeline for ELSER\",\n", " processors=[\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \".elser_model_2\",\n", - " \"input_output\": [\n", - " {\n", - " \"input_field\": \"plot\",\n", - " \"output_field\": \"plot_embedding\"\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \".elser_model_2\",\n", + " \"input_output\": [\n", + " {\"input_field\": \"plot\", \"output_field\": \"plot_embedding\"}\n", + " ],\n", " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", + " }\n", + " ],\n", ")" ] }, @@ -373,28 +362,17 @@ "source": [ "client.indices.delete(index=\"elser-example-movies\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"elser-example-movies\",\n", - " settings={\n", - " \"index\": {\n", - " \"default_pipeline\": \"elser-ingest-pipeline\"\n", - " }\n", - " },\n", - " mappings={\n", - " \"properties\": {\n", - " \"plot\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", + " index=\"elser-example-movies\",\n", + " settings={\"index\": {\"default_pipeline\": \"elser-ingest-pipeline\"}},\n", + " mappings={\n", + " \"properties\": {\n", + " \"plot\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"plot_embedding\": {\"type\": \"sparse_vector\"},\n", " }\n", - " },\n", - " \"plot_embedding\": { \n", - " \"type\": \"sparse_vector\" \n", - " }\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -440,10 +418,12 @@ "# Prepare the documents to be indexed\n", "documents = []\n", "for doc in data_json:\n", - " documents.append({\n", - " \"_index\": \"elser-example-movies\",\n", - " \"_source\": doc,\n", - " })\n", + " documents.append(\n", + " {\n", + " \"_index\": \"elser-example-movies\",\n", + " \"_source\": doc,\n", + " }\n", + " )\n", "\n", "# Use helpers.bulk to index\n", "helpers.bulk(client, documents)\n", @@ -511,23 +491,23 @@ ], "source": [ "response = client.search(\n", - " index='elser-example-movies', \n", + " index=\"elser-example-movies\",\n", " size=3,\n", " query={\n", " \"text_expansion\": {\n", " \"plot_embedding\": {\n", - " \"model_id\":\".elser_model_2\",\n", - " \"model_text\":\"fighting movie\"\n", + " \"model_id\": \".elser_model_2\",\n", + " \"model_text\": \"fighting movie\",\n", " }\n", " }\n", - " }\n", + " },\n", ")\n", "\n", - "for hit in response['hits']['hits']:\n", - " doc_id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " plot = hit['_source']['plot']\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + " doc_id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " plot = hit[\"_source\"][\"plot\"]\n", " print(f\"Score: {score}\\nTitle: {title}\\nPlot: {plot}\\n\")" ] }, diff --git a/notebooks/search/04-multilingual.ipynb b/notebooks/search/04-multilingual.ipynb index 3d0d8005..9b41984a 100644 --- a/notebooks/search/04-multilingual.ipynb +++ b/notebooks/search/04-multilingual.ipynb @@ -249,7 +249,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -347,8 +347,8 @@ " \"type\": \"dense_vector\",\n", " \"dims\": 768,\n", " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " }\n", + " \"similarity\": \"cosine\",\n", + " },\n", " }\n", "}\n", "\n", @@ -451,9 +451,9 @@ "def query(q, language=None):\n", " knn = {\n", " \"field\": \"passage_embedding\",\n", - " \"query_vector\" : model.encode(f\"query: {q}\").tolist(),\n", + " \"query_vector\": model.encode(f\"query: {q}\").tolist(),\n", " \"k\": 2,\n", - " \"num_candidates\": 5\n", + " \"num_candidates\": 5,\n", " }\n", "\n", " if language:\n", @@ -480,8 +480,8 @@ "outputs": [], "source": [ "def pretty_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", " else:\n", " for hit in response[\"hits\"][\"hits\"]:\n", " score = hit[\"_score\"]\n", diff --git a/notebooks/search/05-query-rules.ipynb b/notebooks/search/05-query-rules.ipynb index f96de870..3d9e172d 100644 --- a/notebooks/search/05-query-rules.ipynb +++ b/notebooks/search/05-query-rules.ipynb @@ -93,7 +93,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -232,34 +232,35 @@ "outputs": [], "source": [ "def pretty_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " score = hit['_score']\n", - " name = hit['_source']['name']\n", - " description = hit['_source']['description']\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " name = hit[\"_source\"][\"name\"]\n", + " description = hit[\"_source\"][\"description\"]\n", " price = hit[\"_source\"][\"price\"]\n", " currency = hit[\"_source\"][\"currency\"]\n", " plug_type = hit[\"_source\"][\"plug_type\"]\n", " voltage = hit[\"_source\"][\"voltage\"]\n", - " pretty_output = (f\"\\nID: {id}\\nName: {name}\\nDescription: {description}\\nPrice: {price}\\nCurrency: {currency}\\nPlug type: {plug_type}\\nVoltage: {voltage}\\nScore: {score}\")\n", + " pretty_output = f\"\\nID: {id}\\nName: {name}\\nDescription: {description}\\nPrice: {price}\\nCurrency: {currency}\\nPlug type: {plug_type}\\nVoltage: {voltage}\\nScore: {score}\"\n", " print(pretty_output)\n", "\n", + "\n", "def pretty_ruleset(response):\n", - " print(\"Ruleset ID: \" + response['ruleset_id'])\n", - " for rule in response['rules']:\n", - " rule_id = rule['rule_id']\n", - " type = rule['type']\n", + " print(\"Ruleset ID: \" + response[\"ruleset_id\"])\n", + " for rule in response[\"rules\"]:\n", + " rule_id = rule[\"rule_id\"]\n", + " type = rule[\"type\"]\n", " print(f\"\\nRule ID: {rule_id}\\n\\tType: {type}\\n\\tCriteria:\")\n", - " criteria = rule['criteria']\n", + " criteria = rule[\"criteria\"]\n", " for rule_criteria in criteria:\n", - " criteria_type = rule_criteria['type']\n", - " metadata = rule_criteria['metadata']\n", - " values = rule_criteria['values']\n", + " criteria_type = rule_criteria[\"type\"]\n", + " metadata = rule_criteria[\"metadata\"]\n", + " values = rule_criteria[\"values\"]\n", " print(f\"\\t\\t{metadata} {criteria_type} {values}\")\n", - " ids = rule['actions']['ids']\n", + " ids = rule[\"actions\"][\"ids\"]\n", " print(f\"\\tPinned ids: {ids}\")" ] }, @@ -321,12 +322,15 @@ } ], "source": [ - "response = client.search(index=\"products_index\", query={\n", - " \"multi_match\": {\n", - " \"query\": \"reliable wireless charger for iPhone\",\n", - " \"fields\": [ \"name^5\", \"description\" ]\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"products_index\",\n", + " query={\n", + " \"multi_match\": {\n", + " \"query\": \"reliable wireless charger for iPhone\",\n", + " \"fields\": [\"name^5\", \"description\"],\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] @@ -371,50 +375,37 @@ } ], "source": [ - "client.query_ruleset.put(ruleset_id=\"promotion-rules\", rules=[\n", - " {\n", - " \"rule_id\": \"us-charger\",\n", - " \"type\": \"pinned\",\n", - " \"criteria\": [\n", + "client.query_ruleset.put(\n", + " ruleset_id=\"promotion-rules\",\n", + " rules=[\n", " {\n", - " \"type\": \"contains\",\n", - " \"metadata\": \"my_query\",\n", - " \"values\": [\"wireless charger\"]\n", + " \"rule_id\": \"us-charger\",\n", + " \"type\": \"pinned\",\n", + " \"criteria\": [\n", + " {\n", + " \"type\": \"contains\",\n", + " \"metadata\": \"my_query\",\n", + " \"values\": [\"wireless charger\"],\n", + " },\n", + " {\"type\": \"exact\", \"metadata\": \"country\", \"values\": [\"us\"]},\n", + " ],\n", + " \"actions\": {\"ids\": [\"us1\"]},\n", " },\n", " {\n", - " \"type\": \"exact\",\n", - " \"metadata\": \"country\",\n", - " \"values\": [\"us\"]\n", - " }\n", - " ],\n", - " \"actions\": {\n", - " \"ids\": [\n", - " \"us1\"\n", - " ]\n", - " }\n", - " },\n", - " {\n", - " \"rule_id\": \"uk-charger\",\n", - " \"type\": \"pinned\",\n", - " \"criteria\": [\n", - " {\n", - " \"type\": \"contains\",\n", - " \"metadata\": \"my_query\",\n", - " \"values\": [\"wireless charger\"]\n", + " \"rule_id\": \"uk-charger\",\n", + " \"type\": \"pinned\",\n", + " \"criteria\": [\n", + " {\n", + " \"type\": \"contains\",\n", + " \"metadata\": \"my_query\",\n", + " \"values\": [\"wireless charger\"],\n", + " },\n", + " {\"type\": \"exact\", \"metadata\": \"country\", \"values\": [\"uk\"]},\n", + " ],\n", + " \"actions\": {\"ids\": [\"uk1\"]},\n", " },\n", - " {\n", - " \"type\": \"exact\",\n", - " \"metadata\": \"country\",\n", - " \"values\": [\"uk\"]\n", - " }\n", - " ],\n", - " \"actions\": {\n", - " \"ids\": [\n", - " \"uk1\"\n", - " ]\n", - " }\n", - " }\n", - " ])" + " ],\n", + ")" ] }, { @@ -527,21 +518,24 @@ } ], "source": [ - "response = client.search(index=\"products_index\", query={\n", - " \"rule_query\": {\n", - " \"organic\": {\n", - " \"multi_match\": {\n", - " \"query\": \"reliable wireless charger for iPhone\",\n", - " \"fields\": [ \"name^5\", \"description\" ]\n", - " }\n", - " },\n", - " \"match_criteria\": {\n", - " \"my_query\": \"reliable wireless charger for iPhone\",\n", - " \"country\": \"us\"\n", - " },\n", - " \"ruleset_id\": \"promotion-rules\"\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"products_index\",\n", + " query={\n", + " \"rule_query\": {\n", + " \"organic\": {\n", + " \"multi_match\": {\n", + " \"query\": \"reliable wireless charger for iPhone\",\n", + " \"fields\": [\"name^5\", \"description\"],\n", + " }\n", + " },\n", + " \"match_criteria\": {\n", + " \"my_query\": \"reliable wireless charger for iPhone\",\n", + " \"country\": \"us\",\n", + " },\n", + " \"ruleset_id\": \"promotion-rules\",\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] @@ -606,21 +600,24 @@ } ], "source": [ - "response = client.search(index=\"products_index\", query={\n", - " \"rule_query\": {\n", - " \"organic\": {\n", - " \"multi_match\": {\n", - " \"query\": \"reliable wireless charger for iPhone\",\n", - " \"fields\": [ \"name^5\", \"description\" ]\n", - " }\n", - " },\n", - " \"match_criteria\": {\n", - " \"my_query\": \"reliable wireless charger for iPhone\",\n", - " \"country\": \"ca\"\n", - " },\n", - " \"ruleset_id\": \"promotion-rules\"\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"products_index\",\n", + " query={\n", + " \"rule_query\": {\n", + " \"organic\": {\n", + " \"multi_match\": {\n", + " \"query\": \"reliable wireless charger for iPhone\",\n", + " \"fields\": [\"name^5\", \"description\"],\n", + " }\n", + " },\n", + " \"match_criteria\": {\n", + " \"my_query\": \"reliable wireless charger for iPhone\",\n", + " \"country\": \"ca\",\n", + " },\n", + " \"ruleset_id\": \"promotion-rules\",\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] @@ -653,64 +650,43 @@ } ], "source": [ - "client.query_ruleset.put(ruleset_id=\"promotion-rules\", rules=[\n", - " {\n", - " \"rule_id\": \"preorder\",\n", - " \"type\": \"pinned\",\n", - " \"criteria\": [\n", - " {\n", - " \"type\": \"always\"\n", - " }\n", - " ],\n", - " \"actions\": {\n", - " \"ids\": [\n", - " \"preview1\"\n", - " ]\n", - " }\n", - " },\n", - " {\n", - " \"rule_id\": \"us-charger\",\n", - " \"type\": \"pinned\",\n", - " \"criteria\": [\n", + "client.query_ruleset.put(\n", + " ruleset_id=\"promotion-rules\",\n", + " rules=[\n", " {\n", - " \"type\": \"contains\",\n", - " \"metadata\": \"my_query\",\n", - " \"values\": [\"wireless charger\"]\n", + " \"rule_id\": \"preorder\",\n", + " \"type\": \"pinned\",\n", + " \"criteria\": [{\"type\": \"always\"}],\n", + " \"actions\": {\"ids\": [\"preview1\"]},\n", " },\n", " {\n", - " \"type\": \"exact\",\n", - " \"metadata\": \"country\",\n", - " \"values\": [\"us\"]\n", - " }\n", - " ],\n", - " \"actions\": {\n", - " \"ids\": [\n", - " \"us1\"\n", - " ]\n", - " }\n", - " },\n", - " {\n", - " \"rule_id\": \"uk-charger\",\n", - " \"type\": \"pinned\",\n", - " \"criteria\": [\n", - " {\n", - " \"type\": \"contains\",\n", - " \"metadata\": \"my_query\",\n", - " \"values\": [\"wireless charger\"]\n", + " \"rule_id\": \"us-charger\",\n", + " \"type\": \"pinned\",\n", + " \"criteria\": [\n", + " {\n", + " \"type\": \"contains\",\n", + " \"metadata\": \"my_query\",\n", + " \"values\": [\"wireless charger\"],\n", + " },\n", + " {\"type\": \"exact\", \"metadata\": \"country\", \"values\": [\"us\"]},\n", + " ],\n", + " \"actions\": {\"ids\": [\"us1\"]},\n", " },\n", " {\n", - " \"type\": \"exact\",\n", - " \"metadata\": \"country\",\n", - " \"values\": [\"uk\"]\n", - " }\n", - " ],\n", - " \"actions\": {\n", - " \"ids\": [\n", - " \"uk1\"\n", - " ]\n", - " }\n", - " }\n", - " ])" + " \"rule_id\": \"uk-charger\",\n", + " \"type\": \"pinned\",\n", + " \"criteria\": [\n", + " {\n", + " \"type\": \"contains\",\n", + " \"metadata\": \"my_query\",\n", + " \"values\": [\"wireless charger\"],\n", + " },\n", + " {\"type\": \"exact\", \"metadata\": \"country\", \"values\": [\"uk\"]},\n", + " ],\n", + " \"actions\": {\"ids\": [\"uk1\"]},\n", + " },\n", + " ],\n", + ")" ] }, { @@ -771,21 +747,24 @@ } ], "source": [ - "response = client.search(index=\"products_index\", query={\n", - " \"rule_query\": {\n", - " \"organic\": {\n", - " \"multi_match\": {\n", - " \"query\": \"reliable wireless charger for iPhone\",\n", - " \"fields\": [ \"name^5\", \"description\" ]\n", - " }\n", - " },\n", - " \"match_criteria\": {\n", - " \"my_query\": \"reliable wireless charger for iPhone\",\n", - " \"country\": \"uk\"\n", - " },\n", - " \"ruleset_id\": \"promotion-rules\"\n", - " }\n", - "})\n", + "response = client.search(\n", + " index=\"products_index\",\n", + " query={\n", + " \"rule_query\": {\n", + " \"organic\": {\n", + " \"multi_match\": {\n", + " \"query\": \"reliable wireless charger for iPhone\",\n", + " \"fields\": [\"name^5\", \"description\"],\n", + " }\n", + " },\n", + " \"match_criteria\": {\n", + " \"my_query\": \"reliable wireless charger for iPhone\",\n", + " \"country\": \"uk\",\n", + " },\n", + " \"ruleset_id\": \"promotion-rules\",\n", + " }\n", + " },\n", + ")\n", "\n", "pretty_response(response)" ] diff --git a/notebooks/search/06-synonyms-api.ipynb b/notebooks/search/06-synonyms-api.ipynb index 5c6c5025..209b4ad4 100644 --- a/notebooks/search/06-synonyms-api.ipynb +++ b/notebooks/search/06-synonyms-api.ipynb @@ -1,589 +1,583 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "87773ce7" - }, - "source": [ - "# Synonyms API quick start\n", - "\n", - "\"Open\n", - "\n", - "This interactive notebook will introduce you to the Synonyms API ([blog post](https://www.elastic.co/blog/update-synonyms-elasticsearch-introducing-synonyms-api), [API documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/synonyms-apis.html)) using the official [Elasticsearch Python client](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/connecting.html). Synonyms allow you to enhance search relevancy by defining relationships between terms that have the similar meanings. In this notebook, you'll create & update synonyms sets, configure an index to use synonyms, and run queries that leverage synonyms for enhanced relevancy." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "a32202e2" - }, - "source": [ - "## Create Elastic Cloud deployment\n", - "\n", - "If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", - "\n", - "Once logged in to your Elastic Cloud account, go to the [Create deployment](https://cloud.elastic.co/deployments/create) page and select **Create deployment**. Leave all settings with their default values." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "52a6a607" - }, - "source": [ - "## Install packages and import modules\n", - "\n", - "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", - "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n", - "\n", - "First we need to install the `elasticsearch` Python client." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "ffc5fa6f", - "outputId": "2afe8842-15be-4d34-9e0f-e4de7ffc7a13" - }, - "outputs": [], - "source": [ - "!pip install -qU elasticsearch" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "0241694c" - }, - "source": [ - "## Initialize the Elasticsearch client\n", - "\n", - "Now we can instantiate the [Elasticsearch python client](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html), providing the cloud id and password in your deployment." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "f38e0397", - "outputId": "33239952-fa18-46f0-b4ee-285b0b4054ee" - }, - "outputs": [], - "source": [ - "from elasticsearch import Elasticsearch\n", - "from getpass import getpass\n", - "\n", - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", - "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", - "\n", - "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", - "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", - "\n", - "# Create the client instance\n", - "client = Elasticsearch(\n", - " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", - " cloud_id=ELASTIC_CLOUD_ID,\n", - " api_key=ELASTIC_API_KEY,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "fcd165fa" - }, - "source": [ - "If you're running Elasticsearch locally or self-managed, you can pass in the Elasticsearch host instead. [Read more](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/connecting.html#_verifying_https_with_certificate_fingerprints_python_3_10_or_later) on how to connect to Elasticsearch locally." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "1462ebd8" - }, - "source": [ - "Confirm that the client has connected with this test." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "25c618eb", - "outputId": "9eb26926-d63e-478b-8aa1-8bdb2a5dfbd8" - }, - "outputs": [], - "source": [ - "print(client.info())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "_ROfAyq7CL60" - }, - "source": [ - "## Configure & populate the index\n", - "\n", - "Our client is set up and connected to our Elastic deployment. Now we need to configure the index that will store our test data and populate it with some documents. We'll use a small index of books with the following fields:\n", - "\n", - "- `title`\n", - "- `authors`\n", - "- `publish_date`\n", - "- `num_reviews`\n", - "- `publisher`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Create synonyms set\n", - "\n", - "Let's create our initial synonyms set first." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "synonyms_set = [\n", - " {\n", - " \"id\": \"synonym-1\",\n", - " \"synonyms\": \"js, javascript, java script\"\n", - " }\n", - "]\n", - "\n", - "client.synonyms.put_synonym(id=\"my-synonyms-set\", synonyms_set=synonyms_set)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "-phOM4SOFopW" - }, - "source": [ - "### Configure the index\n", - "\n", - "Ensure that you do not have a previously created index with the name `book_index`." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "pIl2dCpJGu1R", - "outputId": "294ae0c4-0cc0-45d8-ffd1-541115fdd31a" - }, - "outputs": [], - "source": [ - "client.indices.delete(index=\"book_index\", ignore_unavailable=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "0fNVJ_JCHe04" - }, - "source": [ - "🔐 NOTE: at any time you can come back to this section and run the `delete` function above to remove your index and start from scratch." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "IRMTg7siGykU" - }, - "source": [ - "\n", - "\n", - "In order to use synonyms, we need to define a [custom analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-custom-analyzer.html) that uses the [`synonym`](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html) or [`synonym_graph`](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-graph-tokenfilter.html) token filter. Let's create an index that's configured to use an appropriate custom analyzer.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "4AXB9IR8JjCT", - "outputId": "31d59878-88a8-4294-a727-0271d3890e1c" - }, - "outputs": [], - "source": [ - "settings = {\n", - " \"analysis\": {\n", - " \"analyzer\": {\n", - " \"my_custom_index_analyzer\": {\n", - " \"tokenizer\": \"standard\",\n", - " \"filter\": [\n", - " \"lowercase\"\n", - " ]\n", - " },\n", - " \"my_custom_search_analyzer\": {\n", - " \"tokenizer\": \"standard\",\n", - " \"filter\": [\n", - " \"lowercase\",\n", - " \"my_synonym_filter\"\n", - " ]\n", - " }\n", - " },\n", - " \"filter\": {\n", - " \"my_synonym_filter\": {\n", - " \"type\": \"synonym_graph\",\n", - " \"synonyms_set\": \"my-synonyms-set\",\n", - " \"updateable\": True\n", - " }\n", - " }\n", - " }\n", - "}\n", - "\n", - "mappings = {\n", - " \"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"analyzer\": \"my_custom_index_analyzer\",\n", - " \"search_analyzer\": \"my_custom_search_analyzer\"\n", - " },\n", - " \"summary\": {\n", - " \"type\": \"text\",\n", - " \"analyzer\": \"my_custom_index_analyzer\",\n", - " \"search_analyzer\": \"my_custom_search_analyzer\"\n", - " }\n", - " }\n", - "}\n", - "\n", - "client.indices.create(index='book_index', mappings=mappings, settings=settings)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "YYa3kdKvJtZW" - }, - "source": [ - "There are a few things to note in the configuration:\n", - "\n", - "- We are using the [`synonym_graph` token filter](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-graph-tokenfilter.html).\n", - "- We have defined two analyzers: `my_custom_index_analyzer` and `my_custom_search_analyzer`. `my_custom_search_analyzer` is used as a [search analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html).\n", - "- `my_synonym_filter` is used only in `my_custom_search_analyzer`.\n", - "\n", - "The `synonym_graph` token filter allows us to use multi-word synonyms. However, it is important to apply this filter only at search time, hence why we use it only in `my_custom_search_analyzer`. And since synonyms are only applied at search time, we can update them without reindexing.\n", - "\n", - "See [_The same, but different: Boosting the power of Elasticsearch with synonyms_](https://www.elastic.co/blog/boosting-the-power-of-elasticsearch-with-synonyms) for more background information about search-time synonyms." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "e6uvE1K9GeMm" - }, - "source": [ - "### Populate the index\n", - "\n", - "Run the following command to upload some test data, containing information about 10 popular programming books from this [dataset](https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "qX2jo_TzVwqR", - "outputId": "5a749972-a960-4218-b2df-58060dee265b" - }, - "outputs": [], - "source": [ - "import json\n", - "from urllib.request import urlopen\n", - "\n", - "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json\"\n", - "response = urlopen(url)\n", - "books = json.loads(response.read())\n", - "\n", - "operations = []\n", - "for book in books:\n", - " operations.append({\"index\": {\"_index\": \"book_index\"}})\n", - " operations.append(book)\n", - "client.bulk(index=\"book_index\", operations=operations, refresh=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "50ghTAEYV4Yu" - }, - "source": [ - "## Aside: Pretty printing Elasticsearch search results\n", - "\n", - "Your `search` API calls will return hard-to-read nested JSON.\n", - "We'll create a little function called `pretty_search_response` to return nice, human-readable outputs from our examples." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "id": "e1HgqDC4V_HW" - }, - "outputs": [], - "source": [ - "def pretty_search_response(response):\n", - " if len(response['hits']['hits']) == 0:\n", - " print('Your search returned no results.')\n", - " else:\n", - " for hit in response['hits']['hits']:\n", - " id = hit['_id']\n", - " publication_date = hit['_source']['publish_date']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " summary = hit['_source']['summary']\n", - " publisher = hit[\"_source\"][\"publisher\"]\n", - " num_reviews = hit[\"_source\"][\"num_reviews\"]\n", - " authors = hit[\"_source\"][\"authors\"]\n", - " pretty_output = (f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\")\n", - " print(pretty_output)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "OGwvVLQMW6lA" - }, - "source": [ - "## Run queries\n", - "\n", - "Let's use our synonyms in some Elasticsearch queries. We'll start by searching for books about Javascript." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "KPvOrmTBYDet", - "outputId": "8d9f3de5-2508-4ca0-91b1-ece5e6099bea" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: 3NfpXIsBGHjk6-WLlqOE\n", - "Publication date: 2018-12-04\n", - "Title: Eloquent JavaScript\n", - "Summary: A modern introduction to programming\n", - "Publisher: no starch press\n", - "Reviews: 38\n", - "Authors: ['marijn haverbeke']\n", - "Score: 20.307524\n", - "\n", - "ID: 29fpXIsBGHjk6-WLlqOE\n", - "Publication date: 2015-03-27\n", - "Title: You Don't Know JS: Up & Going\n", - "Summary: Introduction to JavaScript and programming as a whole\n", - "Publisher: oreilly\n", - "Reviews: 36\n", - "Authors: ['kyle simpson']\n", - "Score: 19.787104\n", - "\n", - "ID: 39fpXIsBGHjk6-WLlqOE\n", - "Publication date: 2008-05-15\n", - "Title: JavaScript: The Good Parts\n", - "Summary: A deep dive into the parts of JavaScript that are essential to writing maintainable code\n", - "Publisher: oreilly\n", - "Reviews: 51\n", - "Authors: ['douglas crockford']\n", - "Score: 17.064087\n" - ] - } - ], - "source": [ - "response = client.search(\n", - " index=\"book_index\",\n", - " query={\n", - " \"multi_match\": {\n", - " \"query\": \"java script\",\n", - " \"fields\": [\n", - " \"title^10\",\n", - " \"summary\",\n", - " ]\n", - " }\n", - " }\n", - ")\n", - "\n", - "pretty_search_response(response)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9KFJaht4Yxvh" - }, - "source": [ - "Notice that even though we searched for the term \"java script\", we got results containing the terms \"JS\" and \"JavaScript\". Our synonyms are working!\n", - "\n", - "Now let's try searching for books about AI." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "oj1ynL5nZz0u", - "outputId": "f1968d2c-83a5-4b3c-f397-44b16e7ab46e" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Your search returned no results.\n" - ] - } - ], - "source": [ - "response = client.search(\n", - " index=\"book_index\",\n", - " query={\n", - " \"multi_match\": {\n", - " \"query\": \"AI\",\n", - " \"fields\": [\n", - " \"title^10\",\n", - " \"summary\",\n", - " ]\n", - " }\n", - " }\n", - ")\n", - "\n", - "pretty_search_response(response)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "RtXj_JwyZ3DZ" - }, - "source": [ - "We didn't get any results! There are some books that use the terms \"artificial intelligence\", but not \"AI\". Let's try using the Synonyms API to add a new synonym rule for \"AI\" so the previous query returns results." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "8sZ4nkpzgwMy", - "outputId": "d425906a-3f6e-4dc2-89ed-ca6bbef70b0b" - }, - "outputs": [], - "source": [ - "client.synonyms.put_synonym_rule(set_id=\"my-synonyms-set\", rule_id=\"synonym-2\", synonyms=\"ai, artificial intelligence\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "KFgKAma1hMT_" - }, - "source": [ - "If we run the query again, we should now get some results." - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "87773ce7" + }, + "source": [ + "# Synonyms API quick start\n", + "\n", + "\"Open\n", + "\n", + "This interactive notebook will introduce you to the Synonyms API ([blog post](https://www.elastic.co/blog/update-synonyms-elasticsearch-introducing-synonyms-api), [API documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/synonyms-apis.html)) using the official [Elasticsearch Python client](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/connecting.html). Synonyms allow you to enhance search relevancy by defining relationships between terms that have the similar meanings. In this notebook, you'll create & update synonyms sets, configure an index to use synonyms, and run queries that leverage synonyms for enhanced relevancy." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "a32202e2" + }, + "source": [ + "## Create Elastic Cloud deployment\n", + "\n", + "If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", + "\n", + "Once logged in to your Elastic Cloud account, go to the [Create deployment](https://cloud.elastic.co/deployments/create) page and select **Create deployment**. Leave all settings with their default values." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "52a6a607" + }, + "source": [ + "## Install packages and import modules\n", + "\n", + "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", + "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n", + "\n", + "First we need to install the `elasticsearch` Python client." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "ffc5fa6f", + "outputId": "2afe8842-15be-4d34-9e0f-e4de7ffc7a13" + }, + "outputs": [], + "source": [ + "!pip install -qU elasticsearch" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0241694c" + }, + "source": [ + "## Initialize the Elasticsearch client\n", + "\n", + "Now we can instantiate the [Elasticsearch python client](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html), providing the cloud id and password in your deployment." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "f38e0397", + "outputId": "33239952-fa18-46f0-b4ee-285b0b4054ee" + }, + "outputs": [], + "source": [ + "from elasticsearch import Elasticsearch\n", + "from getpass import getpass\n", + "\n", + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#finding-your-cloud-id\n", + "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", + "\n", + "# https://www.elastic.co/search-labs/tutorials/install-elasticsearch/elastic-cloud#creating-an-api-key\n", + "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", + "\n", + "# Create the client instance\n", + "client = Elasticsearch(\n", + " # For local development\n", + " # hosts=[\"http://localhost:9200\"]\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fcd165fa" + }, + "source": [ + "If you're running Elasticsearch locally or self-managed, you can pass in the Elasticsearch host instead. [Read more](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/connecting.html#_verifying_https_with_certificate_fingerprints_python_3_10_or_later) on how to connect to Elasticsearch locally." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1462ebd8" + }, + "source": [ + "Confirm that the client has connected with this test." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "25c618eb", + "outputId": "9eb26926-d63e-478b-8aa1-8bdb2a5dfbd8" + }, + "outputs": [], + "source": [ + "print(client.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_ROfAyq7CL60" + }, + "source": [ + "## Configure & populate the index\n", + "\n", + "Our client is set up and connected to our Elastic deployment. Now we need to configure the index that will store our test data and populate it with some documents. We'll use a small index of books with the following fields:\n", + "\n", + "- `title`\n", + "- `authors`\n", + "- `publish_date`\n", + "- `num_reviews`\n", + "- `publisher`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create synonyms set\n", + "\n", + "Let's create our initial synonyms set first." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "synonyms_set = [{\"id\": \"synonym-1\", \"synonyms\": \"js, javascript, java script\"}]\n", + "\n", + "client.synonyms.put_synonym(id=\"my-synonyms-set\", synonyms_set=synonyms_set)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-phOM4SOFopW" + }, + "source": [ + "### Configure the index\n", + "\n", + "Ensure that you do not have a previously created index with the name `book_index`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "pIl2dCpJGu1R", + "outputId": "294ae0c4-0cc0-45d8-ffd1-541115fdd31a" + }, + "outputs": [], + "source": [ + "client.indices.delete(index=\"book_index\", ignore_unavailable=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0fNVJ_JCHe04" + }, + "source": [ + "🔐 NOTE: at any time you can come back to this section and run the `delete` function above to remove your index and start from scratch." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "IRMTg7siGykU" + }, + "source": [ + "\n", + "\n", + "In order to use synonyms, we need to define a [custom analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-custom-analyzer.html) that uses the [`synonym`](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-tokenfilter.html) or [`synonym_graph`](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-graph-tokenfilter.html) token filter. Let's create an index that's configured to use an appropriate custom analyzer.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4AXB9IR8JjCT", + "outputId": "31d59878-88a8-4294-a727-0271d3890e1c" + }, + "outputs": [], + "source": [ + "settings = {\n", + " \"analysis\": {\n", + " \"analyzer\": {\n", + " \"my_custom_index_analyzer\": {\n", + " \"tokenizer\": \"standard\",\n", + " \"filter\": [\"lowercase\"],\n", + " },\n", + " \"my_custom_search_analyzer\": {\n", + " \"tokenizer\": \"standard\",\n", + " \"filter\": [\"lowercase\", \"my_synonym_filter\"],\n", + " },\n", + " },\n", + " \"filter\": {\n", + " \"my_synonym_filter\": {\n", + " \"type\": \"synonym_graph\",\n", + " \"synonyms_set\": \"my-synonyms-set\",\n", + " \"updateable\": True,\n", + " }\n", + " },\n", + " }\n", + "}\n", + "\n", + "mappings = {\n", + " \"properties\": {\n", + " \"title\": {\n", + " \"type\": \"text\",\n", + " \"analyzer\": \"my_custom_index_analyzer\",\n", + " \"search_analyzer\": \"my_custom_search_analyzer\",\n", + " },\n", + " \"summary\": {\n", + " \"type\": \"text\",\n", + " \"analyzer\": \"my_custom_index_analyzer\",\n", + " \"search_analyzer\": \"my_custom_search_analyzer\",\n", + " },\n", + " }\n", + "}\n", + "\n", + "client.indices.create(index=\"book_index\", mappings=mappings, settings=settings)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YYa3kdKvJtZW" + }, + "source": [ + "There are a few things to note in the configuration:\n", + "\n", + "- We are using the [`synonym_graph` token filter](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-synonym-graph-tokenfilter.html).\n", + "- We have defined two analyzers: `my_custom_index_analyzer` and `my_custom_search_analyzer`. `my_custom_search_analyzer` is used as a [search analyzer](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-analyzer.html).\n", + "- `my_synonym_filter` is used only in `my_custom_search_analyzer`.\n", + "\n", + "The `synonym_graph` token filter allows us to use multi-word synonyms. However, it is important to apply this filter only at search time, hence why we use it only in `my_custom_search_analyzer`. And since synonyms are only applied at search time, we can update them without reindexing.\n", + "\n", + "See [_The same, but different: Boosting the power of Elasticsearch with synonyms_](https://www.elastic.co/blog/boosting-the-power-of-elasticsearch-with-synonyms) for more background information about search-time synonyms." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "e6uvE1K9GeMm" + }, + "source": [ + "### Populate the index\n", + "\n", + "Run the following command to upload some test data, containing information about 10 popular programming books from this [dataset](https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "qX2jo_TzVwqR", + "outputId": "5a749972-a960-4218-b2df-58060dee265b" + }, + "outputs": [], + "source": [ + "import json\n", + "from urllib.request import urlopen\n", + "\n", + "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json\"\n", + "response = urlopen(url)\n", + "books = json.loads(response.read())\n", + "\n", + "operations = []\n", + "for book in books:\n", + " operations.append({\"index\": {\"_index\": \"book_index\"}})\n", + " operations.append(book)\n", + "client.bulk(index=\"book_index\", operations=operations, refresh=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "50ghTAEYV4Yu" + }, + "source": [ + "## Aside: Pretty printing Elasticsearch search results\n", + "\n", + "Your `search` API calls will return hard-to-read nested JSON.\n", + "We'll create a little function called `pretty_search_response` to return nice, human-readable outputs from our examples." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "e1HgqDC4V_HW" + }, + "outputs": [], + "source": [ + "def pretty_search_response(response):\n", + " if len(response[\"hits\"][\"hits\"]) == 0:\n", + " print(\"Your search returned no results.\")\n", + " else:\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " id = hit[\"_id\"]\n", + " publication_date = hit[\"_source\"][\"publish_date\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " summary = hit[\"_source\"][\"summary\"]\n", + " publisher = hit[\"_source\"][\"publisher\"]\n", + " num_reviews = hit[\"_source\"][\"num_reviews\"]\n", + " authors = hit[\"_source\"][\"authors\"]\n", + " pretty_output = f\"\\nID: {id}\\nPublication date: {publication_date}\\nTitle: {title}\\nSummary: {summary}\\nPublisher: {publisher}\\nReviews: {num_reviews}\\nAuthors: {authors}\\nScore: {score}\"\n", + " print(pretty_output)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OGwvVLQMW6lA" + }, + "source": [ + "## Run queries\n", + "\n", + "Let's use our synonyms in some Elasticsearch queries. We'll start by searching for books about Javascript." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "KPvOrmTBYDet", + "outputId": "8d9f3de5-2508-4ca0-91b1-ece5e6099bea" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "KDx_V__QhIiy", - "outputId": "6d23e7f1-e129-4ee7-edf7-8e55ba1d0355" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: 2dfpXIsBGHjk6-WLlqOE\n", - "Publication date: 2020-04-06\n", - "Title: Artificial Intelligence: A Modern Approach\n", - "Summary: Comprehensive introduction to the theory and practice of artificial intelligence\n", - "Publisher: pearson\n", - "Reviews: 39\n", - "Authors: ['stuart russell', 'peter norvig']\n", - "Score: 42.500813\n" - ] - } - ], - "source": [ - "response = client.search(\n", - " index=\"book_index\",\n", - " query={\n", - " \"multi_match\": {\n", - " \"query\": \"AI\",\n", - " \"fields\": [\n", - " \"title^10\",\n", - " \"summary\",\n", - " ]\n", - " }\n", - " }\n", - ")\n", - "\n", - "pretty_search_response(response)" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: 3NfpXIsBGHjk6-WLlqOE\n", + "Publication date: 2018-12-04\n", + "Title: Eloquent JavaScript\n", + "Summary: A modern introduction to programming\n", + "Publisher: no starch press\n", + "Reviews: 38\n", + "Authors: ['marijn haverbeke']\n", + "Score: 20.307524\n", + "\n", + "ID: 29fpXIsBGHjk6-WLlqOE\n", + "Publication date: 2015-03-27\n", + "Title: You Don't Know JS: Up & Going\n", + "Summary: Introduction to JavaScript and programming as a whole\n", + "Publisher: oreilly\n", + "Reviews: 36\n", + "Authors: ['kyle simpson']\n", + "Score: 19.787104\n", + "\n", + "ID: 39fpXIsBGHjk6-WLlqOE\n", + "Publication date: 2008-05-15\n", + "Title: JavaScript: The Good Parts\n", + "Summary: A deep dive into the parts of JavaScript that are essential to writing maintainable code\n", + "Publisher: oreilly\n", + "Reviews: 51\n", + "Authors: ['douglas crockford']\n", + "Score: 17.064087\n" + ] + } + ], + "source": [ + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"multi_match\": {\n", + " \"query\": \"java script\",\n", + " \"fields\": [\n", + " \"title^10\",\n", + " \"summary\",\n", + " ],\n", + " }\n", + " },\n", + ")\n", + "\n", + "pretty_search_response(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9KFJaht4Yxvh" + }, + "source": [ + "Notice that even though we searched for the term \"java script\", we got results containing the terms \"JS\" and \"JavaScript\". Our synonyms are working!\n", + "\n", + "Now let's try searching for books about AI." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "oj1ynL5nZz0u", + "outputId": "f1968d2c-83a5-4b3c-f397-44b16e7ab46e" + }, + "outputs": [ { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Conclusion\n", - "\n", - "The Synonyms API allows you to dynamically create & modify the synonyms used in your search index in real time. After reading this notebook, you should have all you need to start integrating the Synonyms API into your search experience!" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Your search returned no results.\n" + ] } - ], - "metadata": { + ], + "source": [ + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"multi_match\": {\n", + " \"query\": \"AI\",\n", + " \"fields\": [\n", + " \"title^10\",\n", + " \"summary\",\n", + " ],\n", + " }\n", + " },\n", + ")\n", + "\n", + "pretty_search_response(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "RtXj_JwyZ3DZ" + }, + "source": [ + "We didn't get any results! There are some books that use the terms \"artificial intelligence\", but not \"AI\". Let's try using the Synonyms API to add a new synonym rule for \"AI\" so the previous query returns results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" + "base_uri": "https://localhost:8080/" + }, + "id": "8sZ4nkpzgwMy", + "outputId": "d425906a-3f6e-4dc2-89ed-ca6bbef70b0b" + }, + "outputs": [], + "source": [ + "client.synonyms.put_synonym_rule(\n", + " set_id=\"my-synonyms-set\",\n", + " rule_id=\"synonym-2\",\n", + " synonyms=\"ai, artificial intelligence\",\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KFgKAma1hMT_" + }, + "source": [ + "If we run the query again, we should now get some results." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - "language_info": { - "name": "python" + "id": "KDx_V__QhIiy", + "outputId": "6d23e7f1-e129-4ee7-edf7-8e55ba1d0355" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: 2dfpXIsBGHjk6-WLlqOE\n", + "Publication date: 2020-04-06\n", + "Title: Artificial Intelligence: A Modern Approach\n", + "Summary: Comprehensive introduction to the theory and practice of artificial intelligence\n", + "Publisher: pearson\n", + "Reviews: 39\n", + "Authors: ['stuart russell', 'peter norvig']\n", + "Score: 42.500813\n" + ] } + ], + "source": [ + "response = client.search(\n", + " index=\"book_index\",\n", + " query={\n", + " \"multi_match\": {\n", + " \"query\": \"AI\",\n", + " \"fields\": [\n", + " \"title^10\",\n", + " \"summary\",\n", + " ],\n", + " }\n", + " },\n", + ")\n", + "\n", + "pretty_search_response(response)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "The Synonyms API allows you to dynamically create & modify the synonyms used in your search index in real time. After reading this notebook, you should have all you need to start integrating the Synonyms API into your search experience!" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/notebooks/search/07-inference.ipynb b/notebooks/search/07-inference.ipynb index 182b19e8..ca59cf90 100644 --- a/notebooks/search/07-inference.ipynb +++ b/notebooks/search/07-inference.ipynb @@ -113,7 +113,7 @@ "# Create the client instance\n", "client = Elasticsearch(\n", " # For local development\n", - " # hosts=[\"http://localhost:9200\"] \n", + " # hosts=[\"http://localhost:9200\"]\n", " cloud_id=ELASTIC_CLOUD_ID,\n", " api_key=ELASTIC_API_KEY,\n", ")" @@ -166,20 +166,16 @@ "metadata": {}, "outputs": [], "source": [ - "API_KEY = getpass.getpass('OpenAI API key: ')\n", + "API_KEY = getpass.getpass(\"OpenAI API key: \")\n", "\n", "client.inference.put_model(\n", " task_type=\"text_embedding\",\n", " model_id=\"my_openai_embedding_model\",\n", " body={\n", " \"service\": \"openai\",\n", - " \"service_settings\": {\n", - " \"api_key\": API_KEY\n", - " },\n", - " \"task_settings\": {\n", - " \"model\": \"text-embedding-ada-002\"\n", - " }\n", - " }\n", + " \"service_settings\": {\"api_key\": API_KEY},\n", + " \"task_settings\": {\"model\": \"text-embedding-ada-002\"},\n", + " },\n", ")" ] }, @@ -201,19 +197,19 @@ "outputs": [], "source": [ "client.ingest.put_pipeline(\n", - " id=\"openai_embeddings_pipeline\", \n", + " id=\"openai_embeddings_pipeline\",\n", " description=\"Ingest pipeline for OpenAI inference.\",\n", " processors=[\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \"my_openai_embedding_model\",\n", - " \"input_output\": {\n", - " \"input_field\": \"plot\",\n", - " \"output_field\": \"plot_embedding\"\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"my_openai_embedding_model\",\n", + " \"input_output\": {\n", + " \"input_field\": \"plot\",\n", + " \"output_field\": \"plot_embedding\",\n", + " },\n", " }\n", - " }\n", - " }\n", - " ]\n", + " }\n", + " ],\n", ")" ] }, @@ -252,24 +248,18 @@ "source": [ "client.indices.delete(index=\"openai-movie-embeddings\", ignore_unavailable=True)\n", "client.indices.create(\n", - " index=\"openai-movie-embeddings\",\n", - " settings={\n", - " \"index\": {\n", - " \"default_pipeline\": \"openai_embeddings_pipeline\"\n", - " }\n", - " },\n", - " mappings={\n", - " \"properties\": {\n", - " \"plot_embedding\": { \n", - " \"type\": \"dense_vector\", \n", - " \"dims\": 1536, \n", - " \"similarity\": \"dot_product\" \n", - " },\n", - " \"plot\": {\n", - " \"type\": \"text\"\n", + " index=\"openai-movie-embeddings\",\n", + " settings={\"index\": {\"default_pipeline\": \"openai_embeddings_pipeline\"}},\n", + " mappings={\n", + " \"properties\": {\n", + " \"plot_embedding\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 1536,\n", + " \"similarity\": \"dot_product\",\n", + " },\n", + " \"plot\": {\"type\": \"text\"},\n", " }\n", - " }\n", - " }\n", + " },\n", ")" ] }, @@ -299,10 +289,12 @@ "# Prepare the documents to be indexed\n", "documents = []\n", "for doc in data_json:\n", - " documents.append({\n", - " \"_index\": \"openai-movie-embeddings\",\n", - " \"_source\": doc,\n", - " })\n", + " documents.append(\n", + " {\n", + " \"_index\": \"openai-movie-embeddings\",\n", + " \"_source\": doc,\n", + " }\n", + " )\n", "\n", "# Use helpers.bulk to index\n", "helpers.bulk(client, documents)\n", @@ -348,26 +340,26 @@ ], "source": [ "response = client.search(\n", - " index='openai-movie-embeddings', \n", + " index=\"openai-movie-embeddings\",\n", " size=3,\n", " knn={\n", " \"field\": \"plot_embedding\",\n", " \"query_vector_builder\": {\n", " \"text_embedding\": {\n", " \"model_id\": \"my_openai_embedding_model\",\n", - " \"model_text\": \"Fighting movie\"\n", + " \"model_text\": \"Fighting movie\",\n", " }\n", " },\n", " \"k\": 10,\n", - " \"num_candidates\": 100\n", - " }\n", + " \"num_candidates\": 100,\n", + " },\n", ")\n", "\n", - "for hit in response['hits']['hits']:\n", - " doc_id = hit['_id']\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " plot = hit['_source']['plot']\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + " doc_id = hit[\"_id\"]\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " plot = hit[\"_source\"][\"plot\"]\n", " print(f\"Score: {score}\\nTitle: {title}\\nPlot: {plot}\\n\")" ] } diff --git a/notebooks/search/08-learning-to-rank.ipynb b/notebooks/search/08-learning-to-rank.ipynb index bbf2d8b5..3b8a0005 100644 --- a/notebooks/search/08-learning-to-rank.ipynb +++ b/notebooks/search/08-learning-to-rank.ipynb @@ -746,12 +746,16 @@ "\n", " # Adding a column to the dataframe for each feature:\n", " for feature_index, feature_name in enumerate(ltr_config.feature_names):\n", - " query_judgements_group[feature_name] = numpy.array([doc_features[doc_id][feature_index] for doc_id in doc_ids])\n", + " query_judgements_group[feature_name] = numpy.array(\n", + " [doc_features[doc_id][feature_index] for doc_id in doc_ids]\n", + " )\n", "\n", " return query_judgements_group\n", "\n", "\n", - "judgments_with_features = judgments_df.groupby(\"query_id\", group_keys=False).progress_apply(_extract_query_features)\n", + "judgments_with_features = judgments_df.groupby(\n", + " \"query_id\", group_keys=False\n", + ").progress_apply(_extract_query_features)\n", "\n", "judgments_with_features" ] @@ -937,7 +941,9 @@ "groups = judgments_with_features[\"query_id\"]\n", "\n", "# Split the dataset in two parts respectively used for training and evaluation of the model.\n", - "group_preserving_splitter = GroupShuffleSplit(n_splits=1, train_size=0.7).split(X, y, groups)\n", + "group_preserving_splitter = GroupShuffleSplit(n_splits=1, train_size=0.7).split(\n", + " X, y, groups\n", + ")\n", "train_idx, eval_idx = next(group_preserving_splitter)\n", "\n", "train_features, eval_features = X.loc[train_idx], X.loc[eval_idx]\n", @@ -1020,7 +1026,7 @@ "source": [ "from eland.ml import MLModel\n", "\n", - "LEARNING_TO_RANK_MODEL_ID=\"ltr-model-xgboost\"\n", + "LEARNING_TO_RANK_MODEL_ID = \"ltr-model-xgboost\"\n", "\n", "MLModel.import_ltr_model(\n", " es_client=es_client,\n", @@ -1097,13 +1103,13 @@ "\n", "# First let's display the result when not using the rescorer:\n", "search_fields = [\"title\", \"overview\", \"actors\", \"director\", \"tags\", \"characters\"]\n", - "bm25_query = { \"multi_match\": { \"query\": query, \"fields\": search_fields } }\n", + "bm25_query = {\"multi_match\": {\"query\": query, \"fields\": search_fields}}\n", "\n", "bm25_search_response = es_client.search(index=MOVIE_INDEX, query=bm25_query)\n", "\n", "[\n", " (movie[\"_source\"][\"title\"], movie[\"_score\"], movie[\"_id\"])\n", - " for movie in bm25_search_response['hits']['hits']\n", + " for movie in bm25_search_response[\"hits\"][\"hits\"]\n", "]" ] }, @@ -1143,7 +1149,9 @@ " \"window_size\": 100,\n", "}\n", "\n", - "rescored_search_response = es_client.search(index=MOVIE_INDEX, query=bm25_query, rescore=ltr_rescorer)\n", + "rescored_search_response = es_client.search(\n", + " index=MOVIE_INDEX, query=bm25_query, rescore=ltr_rescorer\n", + ")\n", "\n", "[\n", " (movie[\"_source\"][\"title\"], movie[\"_score\"], movie[\"_id\"])\n", diff --git a/notebooks/search/_nbtest.setup.ipynb b/notebooks/search/_nbtest.setup.ipynb index 2d321ae7..1913718f 100644 --- a/notebooks/search/_nbtest.setup.ipynb +++ b/notebooks/search/_nbtest.setup.ipynb @@ -24,7 +24,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)" + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")" ] }, { @@ -38,27 +41,31 @@ "from urllib.request import urlopen\n", "from sentence_transformers import SentenceTransformer\n", "\n", - "if NBTEST[\"notebook\"] in ['01-keyword-querying-filtering.ipynb', '02-hybrid-search.ipynb', '06-synonyms-api.ipynb']:\n", + "if NBTEST[\"notebook\"] in [\n", + " \"01-keyword-querying-filtering.ipynb\",\n", + " \"02-hybrid-search.ipynb\",\n", + " \"06-synonyms-api.ipynb\",\n", + "]:\n", " # these tests need book_index to exist ahead of time\n", " client.indices.delete(index=\"book_index\", ignore_unavailable=True)\n", - " \n", + "\n", " mappings = {\n", " \"properties\": {\n", " \"title_vector\": {\n", " \"type\": \"dense_vector\",\n", " \"dims\": 384,\n", " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", + " \"similarity\": \"cosine\",\n", " }\n", " }\n", " }\n", - " client.indices.create(index='book_index', mappings=mappings)\n", + " client.indices.create(index=\"book_index\", mappings=mappings)\n", "\n", " url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/main/notebooks/search/data.json\"\n", " response = urlopen(url)\n", " books = json.loads(response.read())\n", "\n", - " model = SentenceTransformer('all-MiniLM-L6-v2')\n", + " model = SentenceTransformer(\"all-MiniLM-L6-v2\")\n", " operations = []\n", " for book in books:\n", " operations.append({\"index\": {\"_index\": \"book_index\"}})\n", diff --git a/notebooks/search/_nbtest.teardown.03-ELSER.ipynb b/notebooks/search/_nbtest.teardown.03-ELSER.ipynb index 43276f1f..56bfd869 100644 --- a/notebooks/search/_nbtest.teardown.03-ELSER.ipynb +++ b/notebooks/search/_nbtest.teardown.03-ELSER.ipynb @@ -13,7 +13,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)\n", + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")\n", "\n", "# delete the notebook's index\n", "client.indices.delete(index=\"elser-example-movies\", ignore_unavailable=True)\n", diff --git a/notebooks/search/_nbtest.teardown.ipynb b/notebooks/search/_nbtest.teardown.ipynb index c66a543a..9bebe368 100644 --- a/notebooks/search/_nbtest.teardown.ipynb +++ b/notebooks/search/_nbtest.teardown.ipynb @@ -33,7 +33,10 @@ "ELASTIC_CLOUD_ID = getpass(\"Elastic Cloud ID: \")\n", "ELASTIC_API_KEY = getpass(\"Elastic Api Key: \")\n", "\n", - "client = Elasticsearch(cloud_id=ELASTIC_CLOUD_ID, api_key=ELASTIC_API_KEY,)" + "client = Elasticsearch(\n", + " cloud_id=ELASTIC_CLOUD_ID,\n", + " api_key=ELASTIC_API_KEY,\n", + ")" ] }, { diff --git a/supporting-blog-content/Boston-Celtics-Demo/load_data_and_write_queries.ipynb b/supporting-blog-content/Boston-Celtics-Demo/load_data_and_write_queries.ipynb index 52632039..be1238ef 100644 --- a/supporting-blog-content/Boston-Celtics-Demo/load_data_and_write_queries.ipynb +++ b/supporting-blog-content/Boston-Celtics-Demo/load_data_and_write_queries.ipynb @@ -21,8 +21,8 @@ "outputs": [], "source": [ "nba_teams = teams.get_teams()\n", - "celtics = [team for team in nba_teams if team['abbreviation'] == 'BOS'][0]\n", - "celtics_id = celtics['id']" + "celtics = [team for team in nba_teams if team[\"abbreviation\"] == \"BOS\"][0]\n", + "celtics_id = celtics[\"id\"]" ] }, { @@ -1335,7 +1335,9 @@ } ], "source": [ - "current_season = games.loc[(games['GAME_DATE'] >= '2023-10-24') & (games['GAME_DATE'] <= '2024-06-20')]\n", + "current_season = games.loc[\n", + " (games[\"GAME_DATE\"] >= \"2023-10-24\") & (games[\"GAME_DATE\"] <= \"2024-06-20\")\n", + "]\n", "current_season" ] }, @@ -1418,12 +1420,13 @@ "metadata": {}, "outputs": [], "source": [ - "timeframe = 'boston_celtics_current_season'\n", + "timeframe = \"boston_celtics_current_season\"\n", + "\n", "\n", "def doc_generator(df, timeframe):\n", " for index, document in df.iterrows():\n", " yield {\n", - " \"_index\": timeframe, \n", + " \"_index\": timeframe,\n", " \"_id\": f\"{document['GAME_ID']}\",\n", " \"_source\": document.to_dict(),\n", " }" @@ -1457,13 +1460,7 @@ "metadata": {}, "outputs": [], "source": [ - "search_query = {\n", - " \"query\": {\n", - " \"match\": {\n", - " \"WL\": \"W\"\n", - " }\n", - " }\n", - "}\n", + "search_query = {\"query\": {\"match\": {\"WL\": \"W\"}}}\n", "\n", "games_won = es.count(index=\"boston_celtics_current_season\", body=search_query)" ] @@ -1494,15 +1491,9 @@ "outputs": [], "source": [ "streak_query = {\n", - " \"size\": 1000, \n", - " \"sort\": [\n", - " {\n", - " \"GAME_DATE\": {\n", - " \"order\": \"asc\"\n", - " }\n", - " }\n", - " ],\n", - " \"_source\": [\"GAME_DATE\", \"WL\"]\n", + " \"size\": 1000,\n", + " \"sort\": [{\"GAME_DATE\": {\"order\": \"asc\"}}],\n", + " \"_source\": [\"GAME_DATE\", \"WL\"],\n", "}" ] }, @@ -1513,9 +1504,7 @@ "metadata": {}, "outputs": [], "source": [ - "streak_search = es.search(\n", - " index=\"boston_celtics_current_season\",\n", - " body=streak_query)" + "streak_search = es.search(index=\"boston_celtics_current_season\", body=streak_query)" ] }, { @@ -1525,7 +1514,7 @@ "metadata": {}, "outputs": [], "source": [ - "gs = [hit['_source'] for hit in streak_search['hits']['hits']]" + "gs = [hit[\"_source\"] for hit in streak_search[\"hits\"][\"hits\"]]" ] }, { @@ -1546,14 +1535,14 @@ "streaks = []\n", "current_streak = 1\n", "for i in range(1, len(gs)):\n", - " if gs[i]['WL'] == gs[i-1]['WL']:\n", + " if gs[i][\"WL\"] == gs[i - 1][\"WL\"]:\n", " current_streak += 1\n", " else:\n", - " streaks.append((gs[i-1]['WL'], current_streak))\n", + " streaks.append((gs[i - 1][\"WL\"], current_streak))\n", " current_streak = 1\n", "\n", "\n", - "streaks.append((gs[-1]['WL'], current_streak))\n", + "streaks.append((gs[-1][\"WL\"], current_streak))\n", "top_streaks = sorted(streaks, key=lambda x: x[1], reverse=True)[:5]\n", "print(top_streaks)" ] diff --git a/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt-summarize5.py b/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt-summarize5.py index 30617014..73e39f78 100644 --- a/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt-summarize5.py +++ b/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt-summarize5.py @@ -9,7 +9,7 @@ import random # This code is part of an Elastic Blog showing how to combine -# Elasticsearch's search relevancy power with +# Elasticsearch's search relevancy power with # OpenAI's GPT's Question Answering power @@ -19,12 +19,13 @@ # cloud_user - Elasticsearch Cluster User # cloud_pass - Elasticsearch User Password -openai.api_key = os.environ['openai_api_key'] -openai.api_type = os.environ['openai_api_type'] -openai.api_base = os.environ['openai_api_base'] -openai.api_version = os.environ['openai_api_version'] +openai.api_key = os.environ["openai_api_key"] +openai.api_type = os.environ["openai_api_type"] +openai.api_base = os.environ["openai_api_base"] +openai.api_version = os.environ["openai_api_version"] openai.verify_ssl_certs = False -engine = os.environ['openai_api_engine'] +engine = os.environ["openai_api_engine"] + # Connect to Elastic Cloud cluster def es_connect(cid, user, passwd): @@ -32,51 +33,30 @@ def es_connect(cid, user, passwd): es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) return es + # Search ElasticSearch index and return body and URL of the result def search(query_text, size): - cid = os.environ['cloud_id'] - cp = os.environ['cloud_pass'] - cu = os.environ['cloud_user'] + cid = os.environ["cloud_id"] + cp = os.environ["cloud_pass"] + cu = os.environ["cloud_user"] es = es_connect(cid, cu, cp) # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "should": [{ - "match": { - "title": { - "query": query_text, - "boost": 1, - "analyzer": "stop" - } - } - }, - { - "match": { - "body_content": { - "query": query_text, - "boost": 2 - } - } - }, - { - "match": { - "product_name.stem": { - "query": query_text, - "boost": 5 + "should": [ + { + "match": { + "title": {"query": query_text, "boost": 1, "analyzer": "stop"} } - } - } - + }, + {"match": {"body_content": {"query": query_text, "boost": 2}}}, + {"match": {"product_name.stem": {"query": query_text, "boost": 5}}}, ], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "filter": [{"exists": {"field": "title-vector"}}], } } - + knn = { "field": "title-vector", "k": 1, @@ -84,122 +64,155 @@ def search(query_text, size): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 1 + "boost": 1, } - #compile list of filters, depending on checkboxes in UI + # compile list of filters, depending on checkboxes in UI productFilters = [] - if st.session_state['checkboxes'] != [None] * 10: - for filter in st.session_state['checkboxes']: - if filter['state']: - productFilters.append(filter['name']) - + if st.session_state["checkboxes"] != [None] * 10: + for filter in st.session_state["checkboxes"]: + if filter["state"]: + productFilters.append(filter["name"]) + if productFilters != []: # add terms filter to query - query['bool']['filter'].append({ - "terms": { - "product_name.enum": productFilters - } - }) + query["bool"]["filter"].append( + {"terms": {"product_name.enum": productFilters}} + ) # add terms filter to knn - knn['filter'] = { - "terms": { - "product_name.enum": productFilters - } + knn["filter"] = {"terms": {"product_name.enum": productFilters}} + + agg = { + "all_products": { + "global": {}, + "aggs": { + "filtered": { + "filter": { + "bool": { + "must": [ + { + "match": { + "title": { + "query": "how", + "boost": 1, + "analyzer": "stop", + } + } + } + ], + "filter": [{"exists": {"field": "title-vector"}}], + } + }, + "aggs": { + "products": { + "terms": {"field": "product_name.enum", "size": 10} + } + }, } - - agg = { - "all_products": { - "global": {}, - "aggs": { - "filtered": { - "filter": { - "bool": { - "must": [ - { - "match": { - "title": { - "query": "how", - "boost": 1, - "analyzer": "stop" - } - } - } - ], - "filter": [ - { - "exists": { - "field": "title-vector" - } - } - ] - } - }, - "aggs": { - "products": { - "terms": { - "field": "product_name.enum", - "size": 10 - } - } - } + }, } - } } - } fields = ["title", "body_content", "url", "product_name"] - index = 'search-elastic-docs,search-elastic-docs-2' - resp = es.search(index=index,query=query,knn=knn,fields=fields,size=size,source=False, aggs=agg) + index = "search-elastic-docs,search-elastic-docs-2" + resp = es.search( + index=index, + query=query, + knn=knn, + fields=fields, + size=size, + source=False, + aggs=agg, + ) return resp + # limit the prompt to the max tokens allowed def truncate_text(text, max_tokens): tokens = text.split() if len(tokens) <= max_tokens: return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) # Generate a response from ChatGPT based on the given prompt -def chat_gpt(prompt, result, index, traceparent, apm, model="gpt-3.5-turbo", max_tokens=1024, max_context_tokens=4000, safety_margin=1000): +def chat_gpt( + prompt, + result, + index, + traceparent, + apm, + model="gpt-3.5-turbo", + max_tokens=1024, + max_context_tokens=4000, + safety_margin=1000, +): # Truncate the prompt content to fit within the model's context length parent = elasticapm.trace_parent_from_string(traceparent) - apm.begin_transaction('openai', trace_parent=parent) + apm.begin_transaction("openai", trace_parent=parent) print("request to openai") - truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) + truncated_prompt = truncate_text( + prompt, max_context_tokens - max_tokens - safety_margin + ) + + response = openai.ChatCompletion.create( + engine=engine, + temperature=0, + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": truncated_prompt}, + ], + ) - response = openai.ChatCompletion.create(engine=engine, - temperature=0, - messages=[{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": truncated_prompt}]) - result[index] = response - apm.end_transaction('openai', 'success') + apm.end_transaction("openai", "success") + # Generate a response from ChatGPT based on the given prompt, async version -async def achat_gpt(prompt, result, index, element, model="gpt-3.5-turbo", max_tokens=1024, max_context_tokens=4000, safety_margin=1000): +async def achat_gpt( + prompt, + result, + index, + element, + model="gpt-3.5-turbo", + max_tokens=1024, + max_context_tokens=4000, + safety_margin=1000, +): # Truncate the prompt content to fit within the model's context length - - truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) - + + truncated_prompt = truncate_text( + prompt, max_context_tokens - max_tokens - safety_margin + ) + tries = 0 while tries < 5: - try: - print("request to openai for task number: " + str(index) + " attempt: " + str(tries)) + try: + print( + "request to openai for task number: " + + str(index) + + " attempt: " + + str(tries) + ) output = "" counter = 0 element.empty() - async with elasticapm.async_capture_span('openaiChatCompletion', span_type='openai'): + async with elasticapm.async_capture_span( + "openaiChatCompletion", span_type="openai" + ): async for chunk in await openai.ChatCompletion.acreate( - engine=engine, - messages=[{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": truncated_prompt}], + engine=engine, + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": truncated_prompt}, + ], stream=True, temperature=0, presence_penalty=-1, frequency_penalty=-1, - ): + ): content = chunk["choices"][0].get("delta", {}).get("content") # the counter tracks the number of tokens we received # this is not required, but it's a good way to track the cost later @@ -211,7 +224,7 @@ async def achat_gpt(prompt, result, index, element, model="gpt-3.5-turbo", max_t # concatenate the output to the previous one, so have the full response at the end output += content # with every token we get, we update the element - #time.sleep(0.01) + # time.sleep(0.01) element.markdown(output) break except Exception as e: @@ -223,93 +236,112 @@ async def achat_gpt(prompt, result, index, element, model="gpt-3.5-turbo", max_t element.error("Error: " + str(e)) else: print("retrying...") - - + # add the output to the result dictionary, so we can access the full response later - result[index] = {'usage': {"total_tokens": counter }, "choices": [{"message": {"content": output}}]} + result[index] = { + "usage": {"total_tokens": counter}, + "choices": [{"message": {"content": output}}], + } # update the completed tasks counter, so the UI can show the progress if multiple requests are done in parallel - st.session_state['completed'] = st.session_state['completed'] + 1 - + st.session_state["completed"] = st.session_state["completed"] + 1 + # update the progress bar, with a workaround to limit the progress to 100% - progress = st.session_state['completed']/(numberOfResults) + progress = st.session_state["completed"] / (numberOfResults) if progress > 1: progress = 1 - st.session_state['topResult'].progress(progress, text=f"loading individual results...{st.session_state['completed']}/{numberOfResults}") + st.session_state["topResult"].progress( + progress, + text=f"loading individual results...{st.session_state['completed']}/{numberOfResults}", + ) print("##################finished request to openai for task number: " + str(index)) + + # exception handling for the async tasks, so we can show the error in the UI def handle_exception(loop, context): - client = elasticapm.get_client() + client = elasticapm.get_client() # context["message"] will always be there; but context["exception"] may not msg = context.get("exception", context["message"]) exception = context.get("exception", context["message"]) - with st.session_state['topResult']: + with st.session_state["topResult"]: st.error(msg) - #apmClient.ca() - client = elasticapm.get_client() + # apmClient.ca() + client = elasticapm.get_client() elasticapm.set_transaction_outcome("failure") client.capture_exception(exc_info=("OpenAiError", exception, None)) apmClient.end_transaction("user-query") print("Caught exception: #####################") print(msg) print(exception) - #asyncio.create_task(shutdown(loop)) + # asyncio.create_task(shutdown(loop)) st.set_page_config(layout="wide") st.title("ElasticDocs GPT") + @st.cache_resource def initAPM(): # the APM Agent is initialized apmClient = elasticapm.Client(service_name="elasticdocs-gpt-v2-streaming") # the default instrumentation is applied # this will instrument the most common libraries - elasticapm.instrument() + elasticapm.instrument() return apmClient + apmClient = initAPM() # start building the UI, adding a title and a sidebar with st.sidebar: - st.sidebar.title("Options") - st.session_state['summarizeResults'] = ({ 'name': 'summarization', 'state': st.checkbox('summarization', value=True)}) - st.session_state['hideirrelevant'] = ({ 'name': 'hideirrelevant', 'state': st.checkbox('hide irrelevant', value=False)}) - st.sidebar.title("Filters") + st.sidebar.title("Options") + st.session_state["summarizeResults"] = { + "name": "summarization", + "state": st.checkbox("summarization", value=True), + } + st.session_state["hideirrelevant"] = { + "name": "hideirrelevant", + "state": st.checkbox("hide irrelevant", value=False), + } + st.sidebar.title("Filters") # this number controls the number of results to show # setting this higher will increase the cost, as more requests are made to the model numberOfResults = 5 # initialize the session state -if 'resp' not in st.session_state: - st.session_state['resp'] = None - st.session_state['summary'] = None - st.session_state['openai_tokens'] = 0 - st.session_state['runtime_es'] = 0 - st.session_state['runtime_openai'] = 0 - st.session_state['openai_tokens'] = 0 - st.session_state['openai_current_tokens'] = 0 - st.session_state['results'] = [None] * numberOfResults - st.session_state['checkboxes'] = [None] * 10 - st.session_state['topResult'] = None - st.session_state['completed'] = 0 +if "resp" not in st.session_state: + st.session_state["resp"] = None + st.session_state["summary"] = None + st.session_state["openai_tokens"] = 0 + st.session_state["runtime_es"] = 0 + st.session_state["runtime_openai"] = 0 + st.session_state["openai_tokens"] = 0 + st.session_state["openai_current_tokens"] = 0 + st.session_state["results"] = [None] * numberOfResults + st.session_state["checkboxes"] = [None] * 10 + st.session_state["topResult"] = None + st.session_state["completed"] = 0 # Main chat form -with st.form("chat_form", ): +with st.form( + "chat_form", +): query = st.text_input("You: ") - submit_button = st.form_submit_button("Search", ) + submit_button = st.form_submit_button( + "Search", + ) # placeholder for the top result that we can fill later - st.session_state['topResult'] = st.empty() + st.session_state["topResult"] = st.empty() # build a placeholder structure consisting of rows and columns rows = [None] * numberOfResults -col0h, col1h, col2h = st.columns([1,3,3]) +col0h, col1h, col2h = st.columns([1, 3, 3]) col1h.markdown(f"#### ChatGPT Results") col2h.markdown(f"#### Docs Results") @@ -318,10 +350,13 @@ def initAPM(): # the user submitted a query if submit_button: - st.session_state['summary'] = None - st.session_state['completed'] = 0 + st.session_state["summary"] = None + st.session_state["completed"] = 0 # show a progress bar - st.session_state['topResult'].progress(st.session_state['completed']/(numberOfResults), text=f"loading individual results...") + st.session_state["topResult"].progress( + st.session_state["completed"] / (numberOfResults), + text=f"loading individual results...", + ) # start the APM transaction apmClient.begin_transaction("user-query") @@ -330,10 +365,10 @@ def initAPM(): elasticapm.label(query=query) start = time.time() # query Elasticsearch for the top N results - resp = search(query, numberOfResults ) + resp = search(query, numberOfResults) end = time.time() - st.session_state['runtime_es'] = end - start - st.session_state['resp'] = resp + st.session_state["runtime_es"] = end - start + st.session_state["resp"] = resp counter = 0 threads = [] @@ -345,91 +380,122 @@ def initAPM(): loop.set_exception_handler(handle_exception) asyncio.set_event_loop(loop) tasks = [] - - # prepare the facets/filtering - st.session_state['checkboxes'] = [None] * len(resp['aggregations']['all_products']['filtered']['products']['buckets']) + # prepare the facets/filtering + st.session_state["checkboxes"] = [None] * len( + resp["aggregations"]["all_products"]["filtered"]["products"]["buckets"] + ) - #for hit in resp['hits']['hits']: + # for hit in resp['hits']['hits']: # body = hit['fields']['body_content'][0] # url = hit['fields']['url'][0] # counter += 1 counter = 0 with elasticapm.capture_span("individual-results", "openai"): - for hit in resp['hits']['hits']: - body = hit['fields']['body_content'][0] - url = hit['fields']['url'][0] + for hit in resp["hits"]["hits"]: + body = hit["fields"]["body_content"][0] + url = hit["fields"]["url"][0] prompt = f"Answer this question: {query}\n. Don’t give information not mentioned in the CONTEXT INFORMATION. If the CONTEXT INFORMATION contains code or API requests, your response should include code snippets to use in Kibana DevTools Console. If the context does not contain relevant information, answer 'The provided page does not answer the question': \n {body}" counter += 1 - + try: - with rows[counter-1]: + with rows[counter - 1]: with st.container(): - #col0, col1, col2 = rows[counter-1] - col0, col1, col2 = st.columns([1,3,3]) + # col0, col1, col2 = rows[counter-1] + col0, col1, col2 = st.columns([1, 3, 3]) col0.markdown(f"***") - col0.write(f"**Result {counter}:** ", unsafe_allow_html=False) - col0.write(f"**{resp['hits']['hits'][counter-1]['fields']['product_name'][0]}** ", unsafe_allow_html=False) + col0.write( + f"**Result {counter}:** ", unsafe_allow_html=False + ) + col0.write( + f"**{resp['hits']['hits'][counter-1]['fields']['product_name'][0]}** ", + unsafe_allow_html=False, + ) col1.markdown(f"***") - col1.markdown(f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip()}**") - element = col1.markdown('') - - tasks.append(loop.create_task(achat_gpt(prompt, results, counter -1, element))) + col1.markdown( + f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip()}**" + ) + element = col1.markdown("") + + tasks.append( + loop.create_task( + achat_gpt(prompt, results, counter - 1, element) + ) + ) col2.markdown(f"***") - col2.markdown(f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip() }**") - - content = resp['hits']['hits'][counter-1]['fields']['body_content'][0] - # limit content length to 200 chars + col2.markdown( + f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip() }**" + ) + + content = resp["hits"]["hits"][counter - 1]["fields"][ + "body_content" + ][0] + # limit content length to 200 chars if len(content) > 200: content = content[:1000] + "..." col2.write(f"{content}", unsafe_allow_html=False) - col2.write(f"**Docs**: {resp['hits']['hits'][counter-1]['fields']['url']}", unsafe_allow_html=False) - col2.write(f"score: {resp['hits']['hits'][counter-1]['_score']}", unsafe_allow_html=False) - rows[counter-1] = col0, col1, col2 + col2.write( + f"**Docs**: {resp['hits']['hits'][counter-1]['fields']['url']}", + unsafe_allow_html=False, + ) + col2.write( + f"score: {resp['hits']['hits'][counter-1]['_score']}", + unsafe_allow_html=False, + ) + rows[counter - 1] = col0, col1, col2 except: pass - + # t = Thread(target=chat_gpt, args=(prompt, results, counter, elasticapm.get_trace_parent_header(), apmClient)) - #element = st.empty() - #element.markdown('') - #tasks.append(loop.create_task(achat_gpt(prompt, results, counter, elasticapm.get_trace_parent_header(), apmClient, element))) - - #threads.append(t) + # element = st.empty() + # element.markdown('') + # tasks.append(loop.create_task(achat_gpt(prompt, results, counter, elasticapm.get_trace_parent_header(), apmClient, element))) - #for thread in threads: + # threads.append(t) + + # for thread in threads: # thread.start() # Wait for all of them to finish start = time.time() - #for x in threads: + # for x in threads: # x.join() print("waiting for openai tasks to finish") loop.run_until_complete(asyncio.wait(tasks)) - st.session_state['results'] = results - + st.session_state["results"] = results + end = time.time() print("openai tasks done") - st.session_state['runtime_openai'] = end - start + st.session_state["runtime_openai"] = end - start counter = 0 - st.session_state['openai_current_tokens'] = 0 + st.session_state["openai_current_tokens"] = 0 for i, resultObject in enumerate(results): - st.session_state['openai_current_tokens'] = st.session_state['openai_current_tokens'] + resultObject['usage']["total_tokens"] + len(resp['hits']['hits'][i]['fields']['body_content'][0]) / 4 - st.session_state['openai_tokens'] = st.session_state['openai_tokens'] + st.session_state['openai_current_tokens'] + st.session_state["openai_current_tokens"] = ( + st.session_state["openai_current_tokens"] + + resultObject["usage"]["total_tokens"] + + len(resp["hits"]["hits"][i]["fields"]["body_content"][0]) / 4 + ) + st.session_state["openai_tokens"] = ( + st.session_state["openai_tokens"] + + st.session_state["openai_current_tokens"] + ) concatResult = "" - for resultObject in results: - - if not resultObject['choices'][0]["message"]["content"].startswith("The provided page does not answer the question"): - concatResult += resultObject['choices'][0]["message"]["content"] - #st.session_state['topResult'].progress(st.session_state['completed']/(numberOfResults), text=f"loading individual results...") - if st.session_state['summarizeResults']['state']: + for resultObject in results: + + if not resultObject["choices"][0]["message"]["content"].startswith( + "The provided page does not answer the question" + ): + concatResult += resultObject["choices"][0]["message"]["content"] + # st.session_state['topResult'].progress(st.session_state['completed']/(numberOfResults), text=f"loading individual results...") + if st.session_state["summarizeResults"]["state"]: results = [None] * 1 tasks = [] prompt = f"I will give you {numberOfResults} answers to this question.: \"{query}\"\n. They are ordered by their likelyhood to be correct. Come up with the best answer to the original question, using only the context I will provide you here. If the provided context contains code snippets or API requests, half of your response must be code snippets or API requests. If the context does not contain relevant information, answer 'The provided page does not answer the question': \n {concatResult}" element = None - with st.session_state['topResult']: + with st.session_state["topResult"]: with st.container(): st.markdown(f"**Summary of all results:**") element = st.empty() @@ -439,109 +505,151 @@ def initAPM(): tasks.append(task) loop.set_exception_handler(handle_exception) loop.run_until_complete(asyncio.wait(tasks)) - st.session_state['summary'] = results[0]['choices'][0]["message"]["content"] - st.session_state['openai_current_tokens'] += results[0]['usage']["total_tokens"] + len(concatResult) / 4 - st.session_state['openai_tokens'] += st.session_state['openai_current_tokens'] + st.session_state["summary"] = results[0]["choices"][0]["message"]["content"] + st.session_state["openai_current_tokens"] += ( + results[0]["usage"]["total_tokens"] + len(concatResult) / 4 + ) + st.session_state["openai_tokens"] += st.session_state[ + "openai_current_tokens" + ] loop.close() - else: + else: time.sleep(0.5) - st.session_state['topResult'].empty() + st.session_state["topResult"].empty() - elasticapm.label(openapi_tokens = st.session_state['openai_current_tokens']) - elasticapm.label(openapi_cost = st.session_state['openai_current_tokens'] / 1000 * 0.002) + elasticapm.label(openapi_tokens=st.session_state["openai_current_tokens"]) + elasticapm.label( + openapi_cost=st.session_state["openai_current_tokens"] / 1000 * 0.002 + ) elasticapm.set_transaction_outcome("success") apmClient.end_transaction("user-query") - + except Exception as e: - apmClient.capture_exception() - elasticapm.set_transaction_outcome("failure") - apmClient.end_transaction("user-query") - print(e) - st.error(e) - -if st.session_state['resp'] != None: + apmClient.capture_exception() + elasticapm.set_transaction_outcome("failure") + apmClient.end_transaction("user-query") + print(e) + st.error(e) + +if st.session_state["resp"] != None: try: - resp = st.session_state['resp'] + resp = st.session_state["resp"] counter = 0 threads = [] - st.session_state['checkboxes'] = [None] * (len(resp['aggregations']['all_products']['filtered']['products']['buckets'])) - + st.session_state["checkboxes"] = [None] * ( + len(resp["aggregations"]["all_products"]["filtered"]["products"]["buckets"]) + ) - for i, product in enumerate(resp['aggregations']['all_products']['filtered']['products']['buckets']): + for i, product in enumerate( + resp["aggregations"]["all_products"]["filtered"]["products"]["buckets"] + ): with st.sidebar: - value = product['key'] + ' (' + str(product['doc_count']) + ')' - st.session_state['checkboxes'][i] = ({ 'name': product['key'], 'state': st.checkbox(value, value=False)}) + value = product["key"] + " (" + str(product["doc_count"]) + ")" + st.session_state["checkboxes"][i] = { + "name": product["key"], + "state": st.checkbox(value, value=False), + } - for hit in resp['hits']['hits']: - body = hit['fields']['body_content'][0] - url = hit['fields']['url'][0] + for hit in resp["hits"]["hits"]: + body = hit["fields"]["body_content"][0] + url = hit["fields"]["url"][0] counter += 1 counter = 0 with col1h: with st.expander("See cost and runtime details"): - st.markdown(f"OpenAi request cost: ${round(st.session_state['openai_current_tokens'] / 1000 * 0.002, 3)}") - st.markdown(f"OpenAi running cost: ${round(st.session_state['openai_tokens'] / 1000 * 0.002, 3)}") - st.markdown(f"OpenAi request duration: {round(st.session_state['runtime_openai'], 3)} seconds") + st.markdown( + f"OpenAi request cost: ${round(st.session_state['openai_current_tokens'] / 1000 * 0.002, 3)}" + ) + st.markdown( + f"OpenAi running cost: ${round(st.session_state['openai_tokens'] / 1000 * 0.002, 3)}" + ) + st.markdown( + f"OpenAi request duration: {round(st.session_state['runtime_openai'], 3)} seconds" + ) with col2h: with st.expander("See runtime details"): st.markdown("") st.markdown("") - st.markdown(f"Elasticsearch query duration: {round(st.session_state['runtime_es'], 3)} seconds") - for resultObject in st.session_state['results']: - result = resultObject['choices'][0]["message"]["content"] + st.markdown( + f"Elasticsearch query duration: {round(st.session_state['runtime_es'], 3)} seconds" + ) + for resultObject in st.session_state["results"]: + result = resultObject["choices"][0]["message"]["content"] counter += 1 print("##################################") showResult = False - if st.session_state['hideirrelevant']['state']: + if st.session_state["hideirrelevant"]["state"]: if result != "The provided page does not answer the question.": showResult = True - else: + else: showResult = True if showResult: print("relevant") try: - with rows[counter-1]: - with st.container(): - col0, col1, col2 = st.columns([1,3,3]) - col0.markdown(f"***") - col0.write(f"**Result {counter}:** ", unsafe_allow_html=False) - col0.write(f"**{resp['hits']['hits'][counter-1]['fields']['product_name'][0]}** ", unsafe_allow_html=False) - - col1.markdown(f"***") - - col1.markdown(f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip()}**") - col1.write(f"{result.strip()}", unsafe_allow_html=False) - - col2.markdown(f"***") - col2.markdown(f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip() }**") - - content = resp['hits']['hits'][counter-1]['fields']['body_content'][0] - # limit content length to length of result - content = content[:len(result*2)] + "..." - col2.write(f"{content}", unsafe_allow_html=False) - col2.write(f"**Docs**: {resp['hits']['hits'][counter-1]['fields']['url']}", unsafe_allow_html=False) - col2.write(f"score: {resp['hits']['hits'][counter-1]['_score']}", unsafe_allow_html=False) + with rows[counter - 1]: + with st.container(): + col0, col1, col2 = st.columns([1, 3, 3]) + col0.markdown(f"***") + col0.write( + f"**Result {counter}:** ", unsafe_allow_html=False + ) + col0.write( + f"**{resp['hits']['hits'][counter-1]['fields']['product_name'][0]}** ", + unsafe_allow_html=False, + ) + + col1.markdown(f"***") + + col1.markdown( + f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip()}**" + ) + col1.write(f"{result.strip()}", unsafe_allow_html=False) + + col2.markdown(f"***") + col2.markdown( + f"**{resp['hits']['hits'][counter-1]['fields']['title'][0].strip() }**" + ) + + content = resp["hits"]["hits"][counter - 1]["fields"][ + "body_content" + ][0] + # limit content length to length of result + content = content[: len(result * 2)] + "..." + col2.write(f"{content}", unsafe_allow_html=False) + col2.write( + f"**Docs**: {resp['hits']['hits'][counter-1]['fields']['url']}", + unsafe_allow_html=False, + ) + col2.write( + f"score: {resp['hits']['hits'][counter-1]['_score']}", + unsafe_allow_html=False, + ) except: continue - else: + else: print("irrelevant") # display the top result if enabled - if st.session_state['summarizeResults']['state']: - with st.session_state['topResult']: + if st.session_state["summarizeResults"]["state"]: + with st.session_state["topResult"]: with st.container(): # write the top result - st.write(st.session_state['summary']) + st.write(st.session_state["summary"]) - # iterate over hits and build a markdown string with the title and link to the documentation as a hyperlink, + # iterate over hits and build a markdown string with the title and link to the documentation as a hyperlink, # if the response is not "The provided page does not answer the question." st.write(f"**Find more information in our documentation**:") markdownString = "" - for i, hit in enumerate(resp['hits']['hits']): - if st.session_state['results'][i]['choices'][0]["message"]["content"] != "The provided page does not answer the question.": + for i, hit in enumerate(resp["hits"]["hits"]): + if ( + st.session_state["results"][i]["choices"][0]["message"][ + "content" + ] + != "The provided page does not answer the question." + ): markdownString += f"[{hit['fields']['title'][0]}]({hit['fields']['url'][0]})\n\n" st.write(markdownString) @@ -552,4 +660,3 @@ def initAPM(): elasticapm.set_transaction_outcome("failure") apmClient.end_transaction("user-query") st.error(e) - diff --git a/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt.py b/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt.py index c65c808e..75068da4 100644 --- a/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt.py +++ b/supporting-blog-content/ElasticDocs_GPT/elasticdocs_gpt.py @@ -4,7 +4,7 @@ from elasticsearch import Elasticsearch # This code is part of an Elastic Blog showing how to combine -# Elasticsearch's search relevancy power with +# Elasticsearch's search relevancy power with # OpenAI's GPT's Question Answering power # https://www.elastic.co/blog/chatgpt-elasticsearch-openai-meets-private-data @@ -18,37 +18,28 @@ # cloud_user - Elasticsearch Cluster User # cloud_pass - Elasticsearch User Password -openai.api_key = os.environ['openai_api'] +openai.api_key = os.environ["openai_api"] model = "gpt-3.5-turbo-0301" + # Connect to Elastic Cloud cluster def es_connect(cid, user, passwd): es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) return es + # Search ElasticSearch index and return body and URL of the result def search(query_text): - cid = os.environ['cloud_id'] - cp = os.environ['cloud_pass'] - cu = os.environ['cloud_user'] + cid = os.environ["cloud_id"] + cp = os.environ["cloud_pass"] + cu = os.environ["cloud_user"] es = es_connect(cid, cu, cp) # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } - } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } } @@ -59,40 +50,52 @@ def search(query_text): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 24 + "boost": 24, } fields = ["title", "body_content", "url"] - index = 'search-elastic-docs' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=1, - source=False) + index = "search-elastic-docs" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=1, source=False + ) - body = resp['hits']['hits'][0]['fields']['body_content'][0] - url = resp['hits']['hits'][0]['fields']['url'][0] + body = resp["hits"]["hits"][0]["fields"]["body_content"][0] + url = resp["hits"]["hits"][0]["fields"]["url"][0] return body, url + def truncate_text(text, max_tokens): tokens = text.split() if len(tokens) <= max_tokens: return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) + # Generate a response from ChatGPT based on the given prompt -def chat_gpt(prompt, model="gpt-3.5-turbo", max_tokens=1024, max_context_tokens=4000, safety_margin=5): +def chat_gpt( + prompt, + model="gpt-3.5-turbo", + max_tokens=1024, + max_context_tokens=4000, + safety_margin=5, +): # Truncate the prompt content to fit within the model's context length - truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) - - response = openai.ChatCompletion.create(model=model, - messages=[{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": truncated_prompt}]) + truncated_prompt = truncate_text( + prompt, max_context_tokens - max_tokens - safety_margin + ) + + response = openai.ChatCompletion.create( + model=model, + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": truncated_prompt}, + ], + ) return response["choices"][0]["message"]["content"] @@ -110,7 +113,7 @@ def chat_gpt(prompt, model="gpt-3.5-turbo", max_tokens=1024, max_context_tokens= resp, url = search(query) prompt = f"Answer this question: {query}\nUsing only the information from this Elastic Doc: {resp}\nIf the answer is not contained in the supplied doc reply '{negResponse}' and nothing else" answer = chat_gpt(prompt) - + if negResponse in answer: st.write(f"ChatGPT: {answer.strip()}") else: diff --git a/supporting-blog-content/ElasticDocs_GPT/load_embedding_model.ipynb b/supporting-blog-content/ElasticDocs_GPT/load_embedding_model.ipynb index 6120b524..7669ff46 100644 --- a/supporting-blog-content/ElasticDocs_GPT/load_embedding_model.ipynb +++ b/supporting-blog-content/ElasticDocs_GPT/load_embedding_model.ipynb @@ -1,266 +1,266 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "include_colab_link": true }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "source": [ - "# ElasticDocs GPT Blog\n", - "# Loading an embedding from Hugging Face into Elasticsearch\n", - "\n", - "This code will show you how to load a supported embedding model from Hugging Face into an elasticsearch cluster in [Elastic Cloud](https://cloud.elastic.co/)\n", - "\n", - "[Blog - ChatGPT and Elasticsearch: OpenAI meets private data](https://www.elastic.co/blog/chatgpt-elasticsearch-openai-meets-private-data)" - ], - "metadata": { - "id": "6xoLDtS_6Df1" - } - }, - { - "cell_type": "markdown", - "source": [ - "# Setup\n" - ], - "metadata": { - "id": "DgxCKQS7mCZw" - } - }, - { - "cell_type": "markdown", - "source": [ - "## Install and import required python libraries" - ], - "metadata": { - "id": "Ly1f1P-l9ri8" - } - }, - { - "cell_type": "markdown", - "source": [ - "Elastic uses the [eland python library](https://github.com/elastic/eland) to download modesl from Hugging Face hub and load them into elasticsearch" - ], - "metadata": { - "id": "MJAb_8zlPFhQ" - } - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "rUedSzQW9FIF" - }, - "outputs": [], - "source": [ - "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11" - ] - }, - { - "cell_type": "code", - "source": [ - "from pathlib import Path\n", - "from eland.ml.pytorch import PyTorchModel\n", - "from eland.ml.pytorch.transformers import TransformerModel\n", - "from elasticsearch import Elasticsearch\n", - "from elasticsearch.client import MlClient\n", - "\n", - "import getpass" - ], - "metadata": { - "id": "wyUZXUi4RWWL" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Configure elasticsearch authentication. \n", - "The recommended authentication approach is using the [Elastic Cloud ID](https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html) and a [cluster level API key](https://www.elastic.co/guide/en/kibana/current/api-keys.html)\n", - "\n", - "You can use any method you wish to set the required credentials. We are using getpass in this example to prompt for credentials to avoide storing them in github." - ], - "metadata": { - "id": "r7nMIbHke37Q" - } - }, - { - "cell_type": "code", - "source": [ - "es_cloud_id = getpass.getpass('Enter Elastic Cloud ID: ')\n", - "es_user = getpass.getpass('Enter cluster username: ') \n", - "es_pass = getpass.getpass('Enter cluster password: ') \n", - "\n", - "#es_api_id = getpass.getpass('Enter cluster API key ID: ') \n", - "#es_api_key = getpass.getpass('Enter cluster API key: ')" - ], - "metadata": { - "id": "SSGgYHome69o" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Connect to Elastic Cloud" - ], - "metadata": { - "id": "jL4VDnVp96lf" - } - }, - { - "cell_type": "code", - "source": [ - "#es = Elasticsearch(cloud_id=es_cloud_id, \n", - "# api_key=(es_api_id, es_api_key)\n", - "# )\n", - "es = Elasticsearch(cloud_id=es_cloud_id, \n", - " basic_auth=(es_user, es_pass)\n", - " )\n", - "es.info() # should return cluster info" - ], - "metadata": { - "id": "I8mVJkKmetXo" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# Load the model From Hugging Face into Elasticsearch\n", - "Here we specify the model id from Hugging Face. The easiest way to get this id is clicking the copy the model name icon next to the name on the model page. \n", - "\n", - "When calling `TransformerModel` you specify the HF model id and the task type. You can try specifying `auto` and eland will attempt to determine the correct type from info in the model config. This is not always possible so a list of specific `task_type` values can be viewed in the following code: \n", - "[Supported values](https://github.com/elastic/eland/blob/15a300728876022b206161d71055c67b500a0192/eland/ml/pytorch/transformers.py#*L41*)" - ], - "metadata": { - "id": "uBMWHj-ZmtvE" - } - }, - { - "cell_type": "code", - "source": [ - "# Set the model name from Hugging Face and task type\n", - "hf_model_id='sentence-transformers/all-distilroberta-v1'\n", - "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", - "\n", - "#set the modelID as it is named in Elasticsearch\n", - "es_model_id = tm.elasticsearch_model_id()\n", - "\n", - "# Download the model from Hugging Face\n", - "tmp_path = \"models\"\n", - "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", - "model_path, config, vocab_path = tm.save(tmp_path)\n", - "\n", - "# Load the model into Elasticsearch\n", - "ptm = PyTorchModel(es, es_model_id)\n", - "ptm.import_model(model_path=model_path, config_path=None, vocab_path=vocab_path, config=config) \n" - ], - "metadata": { - "id": "zPV3oFsKiYFL" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# Starting the Model" - ], - "metadata": { - "id": "4UYSzFp3vHdB" - } - }, - { - "cell_type": "markdown", - "source": [ - "## View information about the model\n", - "This is not required but can be handy to get a model overivew" - ], - "metadata": { - "id": "wQwfozwznK4Y" - } - }, - { - "cell_type": "code", - "source": [ - "# List the in elasticsearch\n", - "m = MlClient.get_trained_models(es, model_id=es_model_id)\n", - "m.body" - ], - "metadata": { - "id": "b4Wv8EJvpfZI" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Deploy the model\n", - "This will load the model on the ML nodes and start the process(es) making it available for the NLP task" - ], - "metadata": { - "id": "oMGw3sk-pbaN" - } - }, - { - "cell_type": "code", - "source": [ - "s = MlClient.start_trained_model_deployment(es, model_id=es_model_id)\n", - "s.body" - ], - "metadata": { - "id": "w5muJ1rLqvUW" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Verify the model started without issue\n", - "Should output -> {'routing_state': 'started'}" - ], - "metadata": { - "id": "ZytlELrsnn_O" - } - }, - { - "cell_type": "code", - "source": [ - "stats = MlClient.get_trained_models_stats(es, model_id=es_model_id)\n", - "stats.body['trained_model_stats'][0]['deployment_stats']['nodes'][0]['routing_state']" - ], - "metadata": { - "id": "ZaQUUWe0Hxwz" - }, - "execution_count": null, - "outputs": [] - } - ] + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "source": [ + "# ElasticDocs GPT Blog\n", + "# Loading an embedding from Hugging Face into Elasticsearch\n", + "\n", + "This code will show you how to load a supported embedding model from Hugging Face into an elasticsearch cluster in [Elastic Cloud](https://cloud.elastic.co/)\n", + "\n", + "[Blog - ChatGPT and Elasticsearch: OpenAI meets private data](https://www.elastic.co/blog/chatgpt-elasticsearch-openai-meets-private-data)" + ], + "metadata": { + "id": "6xoLDtS_6Df1" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Setup\n" + ], + "metadata": { + "id": "DgxCKQS7mCZw" + } + }, + { + "cell_type": "markdown", + "source": [ + "## Install and import required python libraries" + ], + "metadata": { + "id": "Ly1f1P-l9ri8" + } + }, + { + "cell_type": "markdown", + "source": [ + "Elastic uses the [eland python library](https://github.com/elastic/eland) to download modesl from Hugging Face hub and load them into elasticsearch" + ], + "metadata": { + "id": "MJAb_8zlPFhQ" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "rUedSzQW9FIF" + }, + "outputs": [], + "source": [ + "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11" + ] + }, + { + "cell_type": "code", + "source": [ + "from pathlib import Path\n", + "from eland.ml.pytorch import PyTorchModel\n", + "from eland.ml.pytorch.transformers import TransformerModel\n", + "from elasticsearch import Elasticsearch\n", + "from elasticsearch.client import MlClient\n", + "\n", + "import getpass" + ], + "metadata": { + "id": "wyUZXUi4RWWL" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Configure elasticsearch authentication. \n", + "The recommended authentication approach is using the [Elastic Cloud ID](https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html) and a [cluster level API key](https://www.elastic.co/guide/en/kibana/current/api-keys.html)\n", + "\n", + "You can use any method you wish to set the required credentials. We are using getpass in this example to prompt for credentials to avoide storing them in github." + ], + "metadata": { + "id": "r7nMIbHke37Q" + } + }, + { + "cell_type": "code", + "source": [ + "es_cloud_id = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "es_user = getpass.getpass(\"Enter cluster username: \")\n", + "es_pass = getpass.getpass(\"Enter cluster password: \")\n", + "\n", + "# es_api_id = getpass.getpass('Enter cluster API key ID: ')\n", + "# es_api_key = getpass.getpass('Enter cluster API key: ')" + ], + "metadata": { + "id": "SSGgYHome69o" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Connect to Elastic Cloud" + ], + "metadata": { + "id": "jL4VDnVp96lf" + } + }, + { + "cell_type": "code", + "source": [ + "# es = Elasticsearch(cloud_id=es_cloud_id,\n", + "# api_key=(es_api_id, es_api_key)\n", + "# )\n", + "es = Elasticsearch(cloud_id=es_cloud_id, basic_auth=(es_user, es_pass))\n", + "es.info() # should return cluster info" + ], + "metadata": { + "id": "I8mVJkKmetXo" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Load the model From Hugging Face into Elasticsearch\n", + "Here we specify the model id from Hugging Face. The easiest way to get this id is clicking the copy the model name icon next to the name on the model page. \n", + "\n", + "When calling `TransformerModel` you specify the HF model id and the task type. You can try specifying `auto` and eland will attempt to determine the correct type from info in the model config. This is not always possible so a list of specific `task_type` values can be viewed in the following code: \n", + "[Supported values](https://github.com/elastic/eland/blob/15a300728876022b206161d71055c67b500a0192/eland/ml/pytorch/transformers.py#*L41*)" + ], + "metadata": { + "id": "uBMWHj-ZmtvE" + } + }, + { + "cell_type": "code", + "source": [ + "# Set the model name from Hugging Face and task type\n", + "hf_model_id = \"sentence-transformers/all-distilroberta-v1\"\n", + "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", + "\n", + "# set the modelID as it is named in Elasticsearch\n", + "es_model_id = tm.elasticsearch_model_id()\n", + "\n", + "# Download the model from Hugging Face\n", + "tmp_path = \"models\"\n", + "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", + "model_path, config, vocab_path = tm.save(tmp_path)\n", + "\n", + "# Load the model into Elasticsearch\n", + "ptm = PyTorchModel(es, es_model_id)\n", + "ptm.import_model(\n", + " model_path=model_path, config_path=None, vocab_path=vocab_path, config=config\n", + ")" + ], + "metadata": { + "id": "zPV3oFsKiYFL" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Starting the Model" + ], + "metadata": { + "id": "4UYSzFp3vHdB" + } + }, + { + "cell_type": "markdown", + "source": [ + "## View information about the model\n", + "This is not required but can be handy to get a model overivew" + ], + "metadata": { + "id": "wQwfozwznK4Y" + } + }, + { + "cell_type": "code", + "source": [ + "# List the in elasticsearch\n", + "m = MlClient.get_trained_models(es, model_id=es_model_id)\n", + "m.body" + ], + "metadata": { + "id": "b4Wv8EJvpfZI" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Deploy the model\n", + "This will load the model on the ML nodes and start the process(es) making it available for the NLP task" + ], + "metadata": { + "id": "oMGw3sk-pbaN" + } + }, + { + "cell_type": "code", + "source": [ + "s = MlClient.start_trained_model_deployment(es, model_id=es_model_id)\n", + "s.body" + ], + "metadata": { + "id": "w5muJ1rLqvUW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Verify the model started without issue\n", + "Should output -> {'routing_state': 'started'}" + ], + "metadata": { + "id": "ZytlELrsnn_O" + } + }, + { + "cell_type": "code", + "source": [ + "stats = MlClient.get_trained_models_stats(es, model_id=es_model_id)\n", + "stats.body[\"trained_model_stats\"][0][\"deployment_stats\"][\"nodes\"][0][\"routing_state\"]" + ], + "metadata": { + "id": "ZaQUUWe0Hxwz" + }, + "execution_count": null, + "outputs": [] + } + ] } diff --git a/supporting-blog-content/ElasticGPT_Plugin/app.py b/supporting-blog-content/ElasticGPT_Plugin/app.py index e367e5c0..67fadbd5 100644 --- a/supporting-blog-content/ElasticGPT_Plugin/app.py +++ b/supporting-blog-content/ElasticGPT_Plugin/app.py @@ -17,7 +17,6 @@ under the License. """ - import json import requests import urllib.parse @@ -32,134 +31,123 @@ app = quart_cors.cors(quart.Quart(__name__), allow_origin="*") -openai.api_key = os.environ['openai_api'] +openai.api_key = os.environ["openai_api"] model = "gpt-3.5-turbo-0301" + # Connect to Elastic Cloud cluster def es_connect(cid, user, passwd): - es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) - return es + es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) + return es + # Search ElasticSearch index and return body and URL of the result def ESSearch(query_text): - cid = os.environ['cloud_id'] - cp = os.environ['cloud_pass'] - cu = os.environ['cloud_user'] - es = es_connect(cid, cu, cp) - - # Elasticsearch query (BM25) and kNN configuration for hybrid search - query = { - "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } + cid = os.environ["cloud_id"] + cp = os.environ["cloud_pass"] + cu = os.environ["cloud_user"] + es = es_connect(cid, cu, cp) + + # Elasticsearch query (BM25) and kNN configuration for hybrid search + query = { + "bool": { + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] } - } - - knn = { - "field": "title-vector", - "k": 1, - "num_candidates": 20, - "query_vector_builder": { - "text_embedding": { - "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text - } - }, - "boost": 24 - } - - fields = ["title", "body_content", "url"] - index = 'search-elastic-docs' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=1, - source=False) - - body = resp['hits']['hits'][0]['fields']['body_content'][0] - url = resp['hits']['hits'][0]['fields']['url'][0] - - return body, url + + knn = { + "field": "title-vector", + "k": 1, + "num_candidates": 20, + "query_vector_builder": { + "text_embedding": { + "model_id": "sentence-transformers__all-distilroberta-v1", + "model_text": query_text, + } + }, + "boost": 24, + } + + fields = ["title", "body_content", "url"] + index = "search-elastic-docs" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=1, source=False + ) + + body = resp["hits"]["hits"][0]["fields"]["body_content"][0] + url = resp["hits"]["hits"][0]["fields"]["url"][0] + + return body, url def truncate_text(text, max_tokens): - tokens = text.split() - if len(tokens) <= max_tokens: - return text + tokens = text.split() + if len(tokens) <= max_tokens: + return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) # Generate a response from ChatGPT based on the given prompt -def chat_gpt(prompt, - model="gpt-3.5-turbo", - max_tokens=1024, - max_context_tokens=4000, - safety_margin=5): - # Truncate the prompt content to fit within the model's context length - truncated_prompt = truncate_text( - prompt, max_context_tokens - max_tokens - safety_margin) - - response = openai.ChatCompletion.create(model=model, - messages=[{ - "role": - "system", - "content": - "You are a helpful assistant." - }, { - "role": "user", - "content": truncated_prompt - }]) - - return response["choices"][0]["message"]["content"] +def chat_gpt( + prompt, + model="gpt-3.5-turbo", + max_tokens=1024, + max_context_tokens=4000, + safety_margin=5, +): + # Truncate the prompt content to fit within the model's context length + truncated_prompt = truncate_text( + prompt, max_context_tokens - max_tokens - safety_margin + ) + + response = openai.ChatCompletion.create( + model=model, + messages=[ + {"role": "system", "content": "You are a helpful assistant."}, + {"role": "user", "content": truncated_prompt}, + ], + ) + + return response["choices"][0]["message"]["content"] @app.get("/search") async def search(): - query = request.args.get("query") - resp, url = ESSearch(query) - return quart.Response(response=resp + '\n\n' + resp) + query = request.args.get("query") + resp, url = ESSearch(query) + return quart.Response(response=resp + "\n\n" + resp) @app.get("/logo.png") async def plugin_logo(): - filename = 'logo.png' - return await quart.send_file(filename, mimetype='image/png') + filename = "logo.png" + return await quart.send_file(filename, mimetype="image/png") + @app.get("/.well-known/ai-plugin.json") async def plugin_manifest(): - host = request.headers['Host'] - with open("./.well-known/ai-plugin.json") as f: - text = f.read() - text = text.replace("PLUGIN_HOSTNAME", f"https://{host}") - return quart.Response(text, mimetype="text/json") + host = request.headers["Host"] + with open("./.well-known/ai-plugin.json") as f: + text = f.read() + text = text.replace("PLUGIN_HOSTNAME", f"https://{host}") + return quart.Response(text, mimetype="text/json") @app.get("/openapi.yaml") async def openapi_spec(): - host = request.headers['Host'] - with open("openapi.yaml") as f: - text = f.read() - text = text.replace("PLUGIN_HOSTNAME", f"https://{host}") - return quart.Response(text, mimetype="text/yaml") + host = request.headers["Host"] + with open("openapi.yaml") as f: + text = f.read() + text = text.replace("PLUGIN_HOSTNAME", f"https://{host}") + return quart.Response(text, mimetype="text/yaml") def main(): - port = int(os.environ.get("PORT", 5001)) - app.run(debug=True, host="0.0.0.0", port=port) + port = int(os.environ.get("PORT", 5001)) + app.run(debug=True, host="0.0.0.0", port=port) if __name__ == "__main__": - main() + main() diff --git a/supporting-blog-content/elasticsearch_llm_cache/elasticRAG_with_cache.py b/supporting-blog-content/elasticsearch_llm_cache/elasticRAG_with_cache.py index 60f2ecdf..08aabdcb 100644 --- a/supporting-blog-content/elasticsearch_llm_cache/elasticRAG_with_cache.py +++ b/supporting-blog-content/elasticsearch_llm_cache/elasticRAG_with_cache.py @@ -11,160 +11,146 @@ ) ## Configure OpenAI client -#openai.api_key = os.environ['OPENAI_API_KEY'] -#openai.api_base = os.environ['OPENAI_API_BASE'] -#openai.default_model = os.environ['OPENAI_API_ENGINE'] -#openai.verify_ssl_certs = False - -#Below is for Azure OpenAI -openai.api_type = os.environ['OPENAI_API_TYPE'] -openai.api_base = os.environ['OPENAI_API_BASE'] -openai.api_version = os.environ['OPENAI_API_VERSION'] +# openai.api_key = os.environ['OPENAI_API_KEY'] +# openai.api_base = os.environ['OPENAI_API_BASE'] +# openai.default_model = os.environ['OPENAI_API_ENGINE'] +# openai.verify_ssl_certs = False + +# Below is for Azure OpenAI +openai.api_type = os.environ["OPENAI_API_TYPE"] +openai.api_base = os.environ["OPENAI_API_BASE"] +openai.api_version = os.environ["OPENAI_API_VERSION"] openai.verify_ssl_certs = False -engine = os.environ['OPENAI_API_ENGINE'] +engine = os.environ["OPENAI_API_ENGINE"] # Configure APM and Elasticsearch clients @st.cache_resource def initElastic(): - #os.environ['ELASTIC_APM_SERVICE_NAME'] = "elasticsearch_llm_cache_demo" + # os.environ['ELASTIC_APM_SERVICE_NAME'] = "elasticsearch_llm_cache_demo" apmclient = elasticapm.Client() elasticapm.instrument() es = Elasticsearch( - cloud_id=os.environ['ELASTIC_CLOUD_ID'].strip("="), - basic_auth=(os.environ['ELASTIC_USER'], os.environ['ELASTIC_PASSWORD']), - request_timeout=30 + cloud_id=os.environ["ELASTIC_CLOUD_ID"].strip("="), + basic_auth=(os.environ["ELASTIC_USER"], os.environ["ELASTIC_PASSWORD"]), + request_timeout=30, ) return apmclient, es + apmclient, es = initElastic() # Set our data index -index = os.environ['ELASTIC_INDEX_DOCS'] +index = os.environ["ELASTIC_INDEX_DOCS"] + # Run an Elasticsearch query using hybrid RRF scoring of KNN and BM25 @elasticapm.capture_span("knn_search") def search_knn(query_text, es): query = { "bool": { - "must": [{ - "match": { - "body_content": { - "query": query_text - } - } - }], - "filter": [{ - "term": { - "url_path_dir3": "elasticsearch" - } - }] + "must": [{"match": {"body_content": {"query": query_text}}}], + "filter": [{"term": {"url_path_dir3": "elasticsearch"}}], } } knn = [ - { - "field": "chunk-vector", - "k": 10, - "num_candidates": 10, - "filter": { - "bool": { - "filter": [ - { - "range": { - "chunklength": { - "gte": 0 + { + "field": "chunk-vector", + "k": 10, + "num_candidates": 10, + "filter": { + "bool": { + "filter": [ + {"range": {"chunklength": {"gte": 0}}}, + {"term": {"url_path_dir3": "elasticsearch"}}, + ] + } + }, + "query_vector_builder": { + "text_embedding": { + "model_id": "sentence-transformers__msmarco-minilm-l-12-v3", + "model_text": query_text, } - } }, - { - "term": { - "url_path_dir3": "elasticsearch" - } - } - ] - } - }, - "query_vector_builder": { - "text_embedding": { - "model_id": "sentence-transformers__msmarco-minilm-l-12-v3", - "model_text": query_text } - } - }] + ] - rank = { - "rrf": { - } - } + rank = {"rrf": {}} + + fields = ["title", "url", "position", "url_path_dir3", "body_content"] + + resp = es.search( + index=index, + query=query, + knn=knn, + rank=rank, + fields=fields, + size=10, + source=False, + ) - fields= [ - "title", - "url", - "position", - "url_path_dir3", - "body_content" - ] - - resp = es.search(index=index, - query=query, - knn=knn, - rank=rank, - fields=fields, - size=10, - source=False) - - body = resp['hits']['hits'][0]['fields']['body_content'][0] - url = resp['hits']['hits'][0]['fields']['url'][0] + body = resp["hits"]["hits"][0]["fields"]["body_content"][0] + url = resp["hits"]["hits"][0]["fields"]["url"][0] return body, url + def truncate_text(text, max_tokens): tokens = text.split() if len(tokens) <= max_tokens: return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) + - # Generate a response from ChatGPT based on the given prompt -def genAI(prompt, - model="gpt-3.5-turbo", - max_tokens=1024, - max_context_tokens=4000, - safety_margin=5, - sys_content=None - ): - - # Truncate the prompt content to fit within the model's context length - truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) +def genAI( + prompt, + model="gpt-3.5-turbo", + max_tokens=1024, + max_context_tokens=4000, + safety_margin=5, + sys_content=None, +): - response = openai.ChatCompletion.create(engine=engine, - temperature=0, - messages=[{"role": "system", "content": sys_content}, - {"role": "user", "content": truncated_prompt}] - ) + # Truncate the prompt content to fit within the model's context length + truncated_prompt = truncate_text( + prompt, max_context_tokens - max_tokens - safety_margin + ) + response = openai.ChatCompletion.create( + engine=engine, + temperature=0, + messages=[ + {"role": "system", "content": sys_content}, + {"role": "user", "content": truncated_prompt}, + ], + ) # APM: add metadata labels of data we want to capture - elasticapm.label(model = model) - elasticapm.label(prompt = prompt) - elasticapm.label(total_tokens = response["usage"]["total_tokens"]) - elasticapm.label(prompt_tokens = response["usage"]["prompt_tokens"]) - elasticapm.label(response_tokens = response["usage"]["completion_tokens"]) - if 'USER_HASH' in os.environ: elasticapm.label(user = os.environ['USER_HASH']) + elasticapm.label(model=model) + elasticapm.label(prompt=prompt) + elasticapm.label(total_tokens=response["usage"]["total_tokens"]) + elasticapm.label(prompt_tokens=response["usage"]["prompt_tokens"]) + elasticapm.label(response_tokens=response["usage"]["completion_tokens"]) + if "USER_HASH" in os.environ: + elasticapm.label(user=os.environ["USER_HASH"]) return response["choices"][0]["message"]["content"] + def toLLM(resp, url, usr_prompt, sys_prompt, neg_resp, show_prompt, engine): prompt_template = Template(usr_prompt) - prompt_formatted = prompt_template.substitute(query=query, resp=resp, negResponse=negResponse) + prompt_formatted = prompt_template.substitute( + query=query, resp=resp, negResponse=negResponse + ) answer = genAI(prompt_formatted, engine, sys_content=sys_prompt) # Display response from LLM - st.header('Response from LLM') + st.header("Response from LLM") st.markdown(answer.strip()) # We don't need to return a reference URL if it wasn't useful @@ -174,7 +160,7 @@ def toLLM(resp, url, usr_prompt, sys_prompt, neg_resp, show_prompt, engine): # Display full prompt if checkbox was selected if show_prompt: st.divider() - st.subheader('Full prompt sent to LLM') + st.subheader("Full prompt sent to LLM") prompt_formatted return answer @@ -184,31 +170,33 @@ def toLLM(resp, url, usr_prompt, sys_prompt, neg_resp, show_prompt, engine): def cache_query(cache, prompt_text): return cache.query(prompt_text=query) + @elasticapm.capture_span("add_to_cache") def add_to_cache(cache, prompt, response): return cache.add(prompt=prompt, response=response) -#sidebar setup +# sidebar setup st.sidebar.header("Elasticsearch LLM Cache Info") ### MAIN # Init Elasticsearch Cache -cache = ElasticsearchLLMCache(es_client=es, - index_name="llm_cache_test", - create_index=False # setting only because of Streamlit behavor - ) -st.sidebar.markdown(f'_creating Elasticsearch Cache_') +cache = ElasticsearchLLMCache( + es_client=es, + index_name="llm_cache_test", + create_index=False, # setting only because of Streamlit behavor +) +st.sidebar.markdown(f"_creating Elasticsearch Cache_") # Only want to attempt to create the index on first run if "index_created" not in st.session_state: - st.sidebar.markdown('_running create_index_') + st.sidebar.markdown("_running create_index_") cache.create_index(768) # Set the flag so it doesn't run every time st.session_state.index_created = True else: - st.sidebar.markdown('_index already created, skipping_') + st.sidebar.markdown("_index already created, skipping_") # Prompt Defaults @@ -217,7 +205,7 @@ def add_to_cache(cache, prompt, response): Format the answer in complete markdown code format If the answer is not contained in the supplied doc reply '$negResponse' and nothing else""" -system_default = 'You are a helpful assistant.' +system_default = "You are a helpful assistant." neg_default = "I'm unable to answer the question based on the information I have from Elastic Docs." @@ -225,55 +213,63 @@ def add_to_cache(cache, prompt, response): with st.form("chat_form"): - query = st.text_input("Ask the Elastic Documentation a question: ", placeholder='I want to secure my elastic cluster') + query = st.text_input( + "Ask the Elastic Documentation a question: ", + placeholder="I want to secure my elastic cluster", + ) with st.expander("Show Prompt Override Inputs"): # Inputs for system and User prompt override - sys_prompt = st.text_area("create an alernative system prompt", placeholder=system_default, value=system_default) - usr_prompt = st.text_area("create an alternative user prompt required -> \$query, \$resp, \$negResponse", - placeholder=prompt_default, value=prompt_default ) + sys_prompt = st.text_area( + "create an alernative system prompt", + placeholder=system_default, + value=system_default, + ) + usr_prompt = st.text_area( + "create an alternative user prompt required -> \$query, \$resp, \$negResponse", + placeholder=prompt_default, + value=prompt_default, + ) # Default Response when criteria are not met - negResponse = st.text_area("Create an alternative negative response", placeholder = neg_default, value=neg_default) - - show_full_prompt = st.checkbox('Show Full Prompt Sent to LLM') + negResponse = st.text_area( + "Create an alternative negative response", + placeholder=neg_default, + value=neg_default, + ) + show_full_prompt = st.checkbox("Show Full Prompt Sent to LLM") col1, col2 = st.columns(2) with col1: query_button = st.form_submit_button("Run With Cache Check") with col2: refresh_button = st.form_submit_button("Refresh Cache with new call to LLM") - + if query_button: apmclient.begin_transaction("query") - elasticapm.label(search_method = "knn") - elasticapm.label(query = query) + elasticapm.label(search_method="knn") + elasticapm.label(query=query) # Start timing start_time = time.time() # check the llm cache first query_check = cache_query(cache, prompt_text=query) - + if query_check: - st.sidebar.markdown('_cache match, using cached results_') - st.subheader('Response from Cache') - st.markdown(query_check['response'][0]) -# st.button('rerun without cache') + st.sidebar.markdown("_cache match, using cached results_") + st.subheader("Response from Cache") + st.markdown(query_check["response"][0]) + # st.button('rerun without cache') else: - st.sidebar.markdown('_no cache match, querying es and sending to LLM_') - resp, url = search_knn(query, es) # run kNN hybrid query - llmAnswer = toLLM(resp, - url, - usr_prompt, - sys_prompt, - negResponse, - show_full_prompt, - engine - ) - - st.sidebar.markdown('_adding prompt and response to cache_') + st.sidebar.markdown("_no cache match, querying es and sending to LLM_") + resp, url = search_knn(query, es) # run kNN hybrid query + llmAnswer = toLLM( + resp, url, usr_prompt, sys_prompt, negResponse, show_full_prompt, engine + ) + + st.sidebar.markdown("_adding prompt and response to cache_") add_to_cache(cache, query, llmAnswer) # End timing and print the elapsed time @@ -285,32 +281,27 @@ def add_to_cache(cache, prompt, response): if refresh_button: apmclient.begin_transaction("refresh_cache") - st.sidebar.markdown('_refreshing cache_') + st.sidebar.markdown("_refreshing cache_") - ''' + """ Cache Refresh idea: set an 'invalidated' flag in the already cached document and then call the LLM - ''' + """ - elasticapm.label(search_method = "knn") - elasticapm.label(query = query) + elasticapm.label(search_method="knn") + elasticapm.label(query=query) # Start timing start_time = time.time() - st.sidebar.markdown('_skipping cache check - sending to LLM_') + st.sidebar.markdown("_skipping cache check - sending to LLM_") - resp, url = search_knn(query, es) # run kNN hybrid query - llmAnswer = toLLM(resp, - url, - usr_prompt, - sys_prompt, - negResponse, - show_full_prompt, - engine - ) + resp, url = search_knn(query, es) # run kNN hybrid query + llmAnswer = toLLM( + resp, url, usr_prompt, sys_prompt, negResponse, show_full_prompt, engine + ) - st.sidebar.markdown('_adding prompt and response to cache_') + st.sidebar.markdown("_adding prompt and response to cache_") add_to_cache(cache, query, llmAnswer) # End timing and print the elapsed time @@ -320,5 +311,5 @@ def add_to_cache(cache, prompt, response): apmclient.end_transaction("query", "success") - st.sidebar.markdown('_cache refreshed_') - apmclient.end_transaction("refresh_cache", "success") \ No newline at end of file + st.sidebar.markdown("_cache refreshed_") + apmclient.end_transaction("refresh_cache", "success") diff --git a/supporting-blog-content/elasticsearch_llm_cache/elasticsearch_llm_cache.py b/supporting-blog-content/elasticsearch_llm_cache/elasticsearch_llm_cache.py index 67285185..3fc2c60c 100644 --- a/supporting-blog-content/elasticsearch_llm_cache/elasticsearch_llm_cache.py +++ b/supporting-blog-content/elasticsearch_llm_cache/elasticsearch_llm_cache.py @@ -62,12 +62,13 @@ class ElasticsearchLLMCache: - def __init__(self, - es_client: Elasticsearch, - index_name: Optional[str] = None, - es_model_id: Optional[str] = 'sentence-transformers__all-distilroberta-v1', - create_index=True - ): + def __init__( + self, + es_client: Elasticsearch, + index_name: Optional[str] = None, + es_model_id: Optional[str] = "sentence-transformers__all-distilroberta-v1", + create_index=True, + ): """ Initialize the ElasticsearchLLMCache instance. @@ -77,14 +78,12 @@ def __init__(self, :param create_index: Boolean to determine whether to create a new index; defaults to True. """ self.es = es_client - self.index_name = index_name or 'llm_cache' + self.index_name = index_name or "llm_cache" self.es_model_id = es_model_id if create_index: self.create_index() - def create_index(self, - dims: Optional[int] = 768 - ) -> Dict: + def create_index(self, dims: Optional[int] = 768) -> Dict: """ Create the index if it does not already exist. @@ -98,11 +97,12 @@ def create_index(self, "response": {"type": "text"}, "create_date": {"type": "date"}, "last_hit_date": {"type": "date"}, - "prompt_vector": {"type": "dense_vector", - "dims": dims, - "index": True, - "similarity": "dot_product" - } + "prompt_vector": { + "type": "dense_vector", + "dims": dims, + "index": True, + "similarity": "dot_product", + }, } } } @@ -110,10 +110,10 @@ def create_index(self, self.es.indices.create(index=self.index_name, body=mappings, ignore=400) logger.info(f"Index {self.index_name} created.") - return {'cache_index': self.index_name, 'created_new': True} + return {"cache_index": self.index_name, "created_new": True} else: logger.info(f"Index {self.index_name} already exists.") - return {'cache_index': self.index_name, 'created_new': False} + return {"cache_index": self.index_name, "created_new": False} def update_last_hit_date(self, doc_id: str): """ @@ -121,19 +121,16 @@ def update_last_hit_date(self, doc_id: str): :param doc_id: The ID of the document to update. """ - update_body = { - "doc": { - "last_hit_date": datetime.now() - } - } + update_body = {"doc": {"last_hit_date": datetime.now()}} self.es.update(index=self.index_name, id=doc_id, body=update_body) - def query(self, - prompt_text: str, - similarity_threshold: Optional[float] = 0.5, - num_candidates: Optional[int] = 1000, - create_date_gte: Optional[str] = "now-1y/y" - ) -> dict: + def query( + self, + prompt_text: str, + similarity_threshold: Optional[float] = 0.5, + num_candidates: Optional[int] = 1000, + create_date_gte: Optional[str] = "now-1y/y", + ) -> dict: """ Query the index to find similar prompts and update the `last_hit_date` for that document if a hit is found. @@ -152,64 +149,40 @@ def query(self, "query_vector_builder": { "text_embedding": { "model_id": self.es_model_id, - "model_text": prompt_text + "model_text": prompt_text, } }, - "filter": { - "range": { - "create_date": { - "gte": create_date_gte - - } - } - } + "filter": {"range": {"create_date": {"gte": create_date_gte}}}, } ] - fields = [ - "prompt", - "response" - ] + fields = ["prompt", "response"] - resp = self.es.search(index=self.index_name, - knn=knn, - fields=fields, - size=1, - source=False - ) + resp = self.es.search( + index=self.index_name, knn=knn, fields=fields, size=1, source=False + ) - if resp['hits']['total']['value'] == 0: + if resp["hits"]["total"]["value"] == 0: return {} else: - doc_id = resp['hits']['hits'][0]['_id'] + doc_id = resp["hits"]["hits"][0]["_id"] self.update_last_hit_date(doc_id) - return resp['hits']['hits'][0]['fields'] + return resp["hits"]["hits"][0]["fields"] - def _generate_vector(self, - prompt: str - ) -> List[float]: + def _generate_vector(self, prompt: str) -> List[float]: """ Generate a vector for a given prompt using Elasticsearch's text embedding. :param prompt: The text prompt to generate a vector for. :return: A list of floats representing the vector. """ - docs = [ - { - "text_field": prompt - } - ] + docs = [{"text_field": prompt}] - embedding = self.es.ml.infer_trained_model(model_id=self.es_model_id, - docs=docs - ) + embedding = self.es.ml.infer_trained_model(model_id=self.es_model_id, docs=docs) - return embedding['inference_results'][0]['predicted_value'] + return embedding["inference_results"][0]["predicted_value"] - def add(self, prompt: str, - response: str, - source: Optional[str] = None - ) -> Dict: + def add(self, prompt: str, response: str, source: Optional[str] = None) -> Dict: """ Add a new document to the index. @@ -226,12 +199,11 @@ def add(self, prompt: str, "create_date": datetime.now(), "last_hit_date": datetime.now(), "prompt_vector": prompt_vector, - "source": source # Optional + "source": source, # Optional } try: self.es.index(index=self.index_name, document=doc) - return {'success': True} + return {"success": True} except Exception as e: logger.error(e) - return {'success': False, - 'error': e} + return {"success": False, "error": e} diff --git a/supporting-blog-content/elasticsearch_llm_cache/test_elasticsearch_llm_cache.py b/supporting-blog-content/elasticsearch_llm_cache/test_elasticsearch_llm_cache.py index 0458a3d9..f8e4a3c3 100644 --- a/supporting-blog-content/elasticsearch_llm_cache/test_elasticsearch_llm_cache.py +++ b/supporting-blog-content/elasticsearch_llm_cache/test_elasticsearch_llm_cache.py @@ -1,7 +1,8 @@ import os import time -#print(os.environ['ELASTIC_CLOUD_ID']) -#time.sleep(10) + +# print(os.environ['ELASTIC_CLOUD_ID']) +# time.sleep(10) from elasticsearch import Elasticsearch from elasticsearch_llm_cache import ( @@ -13,26 +14,27 @@ # Initialize Elasticsearch client es_client = Elasticsearch( - cloud_id=os.environ['ELASTIC_CLOUD_ID'], - basic_auth=(os.environ['ELASTIC_USER'], os.environ['ELASTIC_PASSWORD']), - request_timeout=30) + cloud_id=os.environ["ELASTIC_CLOUD_ID"], + basic_auth=(os.environ["ELASTIC_USER"], os.environ["ELASTIC_PASSWORD"]), + request_timeout=30, +) # Initialize your caching class cache = ElasticsearchLLMCache(es_client=es_client, index_name="llm_cache_test") -#print(cache) +# print(cache) # Example prompt, response, and prompt vector example_prompt = "What is the capital of France?" example_response = "The capital of France is Paris." -print(f'example prompt: {example_prompt}') -print(f'example LLM Response: {example_response}') +print(f"example prompt: {example_prompt}") +print(f"example LLM Response: {example_response}") # -print ('first pass attempt') -q1= 'What is the capital of France?' -print(f'query 1: {q1}') +print("first pass attempt") +q1 = "What is the capital of France?" +print(f"query 1: {q1}") query_result_1 = cache.query(prompt_text=q1) -print("Query result 1:") +print("Query result 1:") pprint(query_result_1) print() @@ -46,19 +48,19 @@ # Query the cache (simulating later, separate operations) print() -print ('Second pass attempt') +print("Second pass attempt") print("Testing cached similar results\n") print() -q1= 'What is the capital of France?' -print(f'query 1: {q1}') +q1 = "What is the capital of France?" +print(f"query 1: {q1}") query_result_1 = cache.query(prompt_text=q1) -print("Query result 1:") +print("Query result 1:") pprint(query_result_1) print() -q2= 'What is the currency of the UK?' -print(f'query 1: {q2}') +q2 = "What is the currency of the UK?" +print(f"query 1: {q2}") query_result_2 = cache.query(prompt_text=q2) -print("Query result 2:") +print("Query result 2:") pprint(query_result_2) diff --git a/supporting-blog-content/homecraft-vertex/homecraft_home.py b/supporting-blog-content/homecraft-vertex/homecraft_home.py index 7b8f1482..13d7711b 100644 --- a/supporting-blog-content/homecraft-vertex/homecraft_home.py +++ b/supporting-blog-content/homecraft-vertex/homecraft_home.py @@ -18,46 +18,37 @@ # cloud_user - Elasticsearch Cluster User # cloud_pass - Elasticsearch User Password -projid = os.environ['gcp_project_id'] -cid = os.environ['cloud_id'] -cp = os.environ['cloud_pass'] -cu = os.environ['cloud_user'] +projid = os.environ["gcp_project_id"] +cid = os.environ["cloud_id"] +cp = os.environ["cloud_pass"] +cu = os.environ["cloud_user"] parameters = { - "temperature": 0.4, # 0 - 1. The higher the temp the more creative and less on point answers become - "max_output_tokens": 606, #modify this number (1 - 1024) for short/longer answers + "temperature": 0.4, # 0 - 1. The higher the temp the more creative and less on point answers become + "max_output_tokens": 606, # modify this number (1 - 1024) for short/longer answers "top_p": 0.8, - "top_k": 40 + "top_k": 40, } vertexai.init(project=projid, location="us-central1") model = TextGenerationModel.from_pretrained("text-bison@001") + # Connect to Elastic Cloud cluster def es_connect(cid, user, passwd): es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) return es + # Search ElasticSearch index and return details on relevant products def search_products(query_text): # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } - } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } } @@ -68,50 +59,44 @@ def search_products(query_text): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 24 + "boost": 24, } - fields = ["title", "description", "url", "availability", "price", "brand", "product_id"] - index = 'home-depot-product-catalog-vector' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=5, - source=False) - - doc_list = resp['hits']['hits'] - body = resp['hits']['hits'] - url = '' + fields = [ + "title", + "description", + "url", + "availability", + "price", + "brand", + "product_id", + ] + index = "home-depot-product-catalog-vector" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=5, source=False + ) + + doc_list = resp["hits"]["hits"] + body = resp["hits"]["hits"] + url = "" for doc in doc_list: - #body = body + doc['fields']['description'][0] - url = url + "\n\n" + doc['fields']['url'][0] + # body = body + doc['fields']['description'][0] + url = url + "\n\n" + doc["fields"]["url"][0] return body, url + # Search ElasticSearch index and return body and URL for crawled docs def search_docs(query_text): - # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } - } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } } @@ -122,74 +107,67 @@ def search_docs(query_text): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 24 + "boost": 24, } fields = ["title", "body_content", "url"] - index = 'search-homecraft-ikea' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=1, - source=False) + index = "search-homecraft-ikea" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=1, source=False + ) - body = resp['hits']['hits'][0]['fields']['body_content'][0] - url = resp['hits']['hits'][0]['fields']['url'][0] + body = resp["hits"]["hits"][0]["fields"]["body_content"][0] + url = resp["hits"]["hits"][0]["fields"]["url"][0] return body, url + # Search ElasticSearch index for user's order history def search_orders(user): # Use only text-search - query = { - "bool": { - "must": [{ - "match": { - "user_id": { - "query": user, - "boost": 1 - } - } - }] - } - } - - fields = ["id", "order_id", "user_id", "product_id" "status", "created_at", "shipped_at", "delivered_at", "returned_at", "sale_price"] - index = 'bigquery-thelook-order-items' - resp = es.search(index=index, - query=query, - fields=fields, - size=10, - source=False) - - order_items_list = resp['hits']['hits'] + query = {"bool": {"must": [{"match": {"user_id": {"query": user, "boost": 1}}}]}} + + fields = [ + "id", + "order_id", + "user_id", + "product_id" "status", + "created_at", + "shipped_at", + "delivered_at", + "returned_at", + "sale_price", + ] + index = "bigquery-thelook-order-items" + resp = es.search(index=index, query=query, fields=fields, size=10, source=False) + + order_items_list = resp["hits"]["hits"] return order_items_list + def truncate_text(text, max_tokens): tokens = text.split() if len(tokens) <= max_tokens: return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) + # Generate a response from Text-Bison based on the given prompt def vertexAI(prompt): # Truncate the prompt content to fit within the model's context length - #truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) - response = model.predict( - prompt, - **parameters - ) + # truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) + response = model.predict(prompt, **parameters) return response.text -#image = Image.open('homecraft_logo.jpg') + +# image = Image.open('homecraft_logo.jpg') st.image("https://i.imgur.com/cdjafe0.png", caption=None) st.title("HomeCraft Search Bar") @@ -204,12 +182,13 @@ def vertexAI(prompt): es = es_connect(cid, cu, cp) resp_products, url_products = search_products(query) resp_docs, url_docs = search_docs(query) - resp_order_items = search_orders(1) # 1 is the hardcoded userid, to simplify this scenario. You should take user_id by user session + resp_order_items = search_orders( + 1 + ) # 1 is the hardcoded userid, to simplify this scenario. You should take user_id by user session prompt = f"Answer this question: {query}.\n If product information is requested use the information provided in this JSON: {resp_products} listing the identified products in bullet points with this format: Product name, product key features, price, web url. \n For other questions use the documentation provided in these docs: {resp_docs} and your own knowledge. \n If the question contains requests for user past orders consider the following order list: {resp_order_items}" answer = vertexAI(prompt) - if answer.strip() == '': + if answer.strip() == "": st.write(f"Search Assistant: \n\n{answer.strip()}") else: st.write(f"Search Assistant: \n\n{answer.strip()}\n\n") - diff --git a/supporting-blog-content/homecraft-vertex/load_embedding_model.ipynb b/supporting-blog-content/homecraft-vertex/load_embedding_model.ipynb index 926a31c6..196293cb 100644 --- a/supporting-blog-content/homecraft-vertex/load_embedding_model.ipynb +++ b/supporting-blog-content/homecraft-vertex/load_embedding_model.ipynb @@ -1,276 +1,276 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "\"Open" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "6xoLDtS_6Df1" - }, - "source": [ - "# ElasticDocs GPT Blog\n", - "# Loading an embedding from Hugging Face into Elasticsearch\n", - "\n", - "This code will show you how to load a supported embedding model from Hugging Face into an elasticsearch cluster in [Elastic Cloud](https://cloud.elastic.co/)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "DgxCKQS7mCZw" - }, - "source": [ - "# Setup\n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "Ly1f1P-l9ri8" - }, - "source": [ - "## Install and import required python libraries" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "MJAb_8zlPFhQ" - }, - "source": [ - "Elastic uses the [eland python library](https://github.com/elastic/eland) to download modesl from Hugging Face hub and load them into elasticsearch" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "rUedSzQW9FIF" - }, - "outputs": [], - "source": [ - "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "wyUZXUi4RWWL" - }, - "outputs": [], - "source": [ - "from pathlib import Path\n", - "from eland.ml.pytorch import PyTorchModel\n", - "from eland.ml.pytorch.transformers import TransformerModel\n", - "from elasticsearch import Elasticsearch\n", - "from elasticsearch.client import MlClient\n", - "\n", - "import getpass" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "r7nMIbHke37Q" - }, - "source": [ - "## Configure elasticsearch authentication. \n", - "The recommended authentication approach is using the [Elastic Cloud ID](https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html) and a [cluster level API key](https://www.elastic.co/guide/en/kibana/current/api-keys.html)\n", - "\n", - "You can use any method you wish to set the required credentials. We are using getpass in this example to prompt for credentials to avoide storing them in github." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "SSGgYHome69o" - }, - "outputs": [], - "source": [ - "es_cloud_id = getpass.getpass('Enter Elastic Cloud ID: ')\n", - "es_user = getpass.getpass('Enter cluster username: ') \n", - "es_pass = getpass.getpass('Enter cluster password: ') \n", - "\n", - "#es_api_id = getpass.getpass('Enter cluster API key ID: ') \n", - "#es_api_key = getpass.getpass('Enter cluster API key: ')" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "jL4VDnVp96lf" - }, - "source": [ - "## Connect to Elastic Cloud" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "I8mVJkKmetXo" - }, - "outputs": [], - "source": [ - "#es = Elasticsearch(cloud_id=es_cloud_id, \n", - "# api_key=(es_api_id, es_api_key)\n", - "# )\n", - "es = Elasticsearch(cloud_id=es_cloud_id, \n", - " basic_auth=(es_user, es_pass)\n", - " )\n", - "es.info() # should return cluster info" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "uBMWHj-ZmtvE" - }, - "source": [ - "# Load the model From Hugging Face into Elasticsearch\n", - "Here we specify the model id from Hugging Face. The easiest way to get this id is clicking the copy the model name icon next to the name on the model page. \n", - "\n", - "When calling `TransformerModel` you specify the HF model id and the task type. You can try specifying `auto` and eland will attempt to determine the correct type from info in the model config. This is not always possible so a list of specific `task_type` values can be viewed in the following code: \n", - "[Supported values](https://github.com/elastic/eland/blob/15a300728876022b206161d71055c67b500a0192/eland/ml/pytorch/transformers.py#*L41*)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "zPV3oFsKiYFL" - }, - "outputs": [], - "source": [ - "# Set the model name from Hugging Face and task type\n", - "hf_model_id='sentence-transformers/all-distilroberta-v1'\n", - "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", - "\n", - "#set the modelID as it is named in Elasticsearch\n", - "es_model_id = tm.elasticsearch_model_id()\n", - "\n", - "# Download the model from Hugging Face\n", - "tmp_path = \"models\"\n", - "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", - "model_path, config, vocab_path = tm.save(tmp_path)\n", - "\n", - "# Load the model into Elasticsearch\n", - "ptm = PyTorchModel(es, es_model_id)\n", - "ptm.import_model(model_path=model_path, config_path=None, vocab_path=vocab_path, config=config) \n" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "4UYSzFp3vHdB" - }, - "source": [ - "# Starting the Model" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "wQwfozwznK4Y" - }, - "source": [ - "## View information about the model\n", - "This is not required but can be handy to get a model overivew" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "b4Wv8EJvpfZI" - }, - "outputs": [], - "source": [ - "# List the in elasticsearch\n", - "m = MlClient.get_trained_models(es, model_id=es_model_id)\n", - "m.body" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "oMGw3sk-pbaN" - }, - "source": [ - "## Deploy the model\n", - "This will load the model on the ML nodes and start the process(es) making it available for the NLP task" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "w5muJ1rLqvUW" - }, - "outputs": [], - "source": [ - "s = MlClient.start_trained_model_deployment(es, model_id=es_model_id)\n", - "s.body" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": { - "id": "ZytlELrsnn_O" - }, - "source": [ - "## Verify the model started without issue\n", - "Should output -> {'routing_state': 'started'}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "ZaQUUWe0Hxwz" - }, - "outputs": [], - "source": [ - "stats = MlClient.get_trained_models_stats(es, model_id=es_model_id)\n", - "stats.body['trained_model_stats'][0]['deployment_stats']['nodes'][0]['routing_state']" - ] - } - ], - "metadata": { - "colab": { - "include_colab_link": true, - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "colab_type": "text", + "id": "view-in-github" + }, + "source": [ + "\"Open" + ] }, - "nbformat": 4, - "nbformat_minor": 0 + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "6xoLDtS_6Df1" + }, + "source": [ + "# ElasticDocs GPT Blog\n", + "# Loading an embedding from Hugging Face into Elasticsearch\n", + "\n", + "This code will show you how to load a supported embedding model from Hugging Face into an elasticsearch cluster in [Elastic Cloud](https://cloud.elastic.co/)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "DgxCKQS7mCZw" + }, + "source": [ + "# Setup\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "Ly1f1P-l9ri8" + }, + "source": [ + "## Install and import required python libraries" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "MJAb_8zlPFhQ" + }, + "source": [ + "Elastic uses the [eland python library](https://github.com/elastic/eland) to download modesl from Hugging Face hub and load them into elasticsearch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "rUedSzQW9FIF" + }, + "outputs": [], + "source": [ + "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "wyUZXUi4RWWL" + }, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "from eland.ml.pytorch import PyTorchModel\n", + "from eland.ml.pytorch.transformers import TransformerModel\n", + "from elasticsearch import Elasticsearch\n", + "from elasticsearch.client import MlClient\n", + "\n", + "import getpass" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "r7nMIbHke37Q" + }, + "source": [ + "## Configure elasticsearch authentication. \n", + "The recommended authentication approach is using the [Elastic Cloud ID](https://www.elastic.co/guide/en/cloud/current/ec-cloud-id.html) and a [cluster level API key](https://www.elastic.co/guide/en/kibana/current/api-keys.html)\n", + "\n", + "You can use any method you wish to set the required credentials. We are using getpass in this example to prompt for credentials to avoide storing them in github." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "SSGgYHome69o" + }, + "outputs": [], + "source": [ + "es_cloud_id = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "es_user = getpass.getpass(\"Enter cluster username: \")\n", + "es_pass = getpass.getpass(\"Enter cluster password: \")\n", + "\n", + "# es_api_id = getpass.getpass('Enter cluster API key ID: ')\n", + "# es_api_key = getpass.getpass('Enter cluster API key: ')" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "jL4VDnVp96lf" + }, + "source": [ + "## Connect to Elastic Cloud" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "I8mVJkKmetXo" + }, + "outputs": [], + "source": [ + "# es = Elasticsearch(cloud_id=es_cloud_id,\n", + "# api_key=(es_api_id, es_api_key)\n", + "# )\n", + "es = Elasticsearch(cloud_id=es_cloud_id, basic_auth=(es_user, es_pass))\n", + "es.info() # should return cluster info" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "uBMWHj-ZmtvE" + }, + "source": [ + "# Load the model From Hugging Face into Elasticsearch\n", + "Here we specify the model id from Hugging Face. The easiest way to get this id is clicking the copy the model name icon next to the name on the model page. \n", + "\n", + "When calling `TransformerModel` you specify the HF model id and the task type. You can try specifying `auto` and eland will attempt to determine the correct type from info in the model config. This is not always possible so a list of specific `task_type` values can be viewed in the following code: \n", + "[Supported values](https://github.com/elastic/eland/blob/15a300728876022b206161d71055c67b500a0192/eland/ml/pytorch/transformers.py#*L41*)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zPV3oFsKiYFL" + }, + "outputs": [], + "source": [ + "# Set the model name from Hugging Face and task type\n", + "hf_model_id = \"sentence-transformers/all-distilroberta-v1\"\n", + "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", + "\n", + "# set the modelID as it is named in Elasticsearch\n", + "es_model_id = tm.elasticsearch_model_id()\n", + "\n", + "# Download the model from Hugging Face\n", + "tmp_path = \"models\"\n", + "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", + "model_path, config, vocab_path = tm.save(tmp_path)\n", + "\n", + "# Load the model into Elasticsearch\n", + "ptm = PyTorchModel(es, es_model_id)\n", + "ptm.import_model(\n", + " model_path=model_path, config_path=None, vocab_path=vocab_path, config=config\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "4UYSzFp3vHdB" + }, + "source": [ + "# Starting the Model" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "wQwfozwznK4Y" + }, + "source": [ + "## View information about the model\n", + "This is not required but can be handy to get a model overivew" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "b4Wv8EJvpfZI" + }, + "outputs": [], + "source": [ + "# List the in elasticsearch\n", + "m = MlClient.get_trained_models(es, model_id=es_model_id)\n", + "m.body" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "oMGw3sk-pbaN" + }, + "source": [ + "## Deploy the model\n", + "This will load the model on the ML nodes and start the process(es) making it available for the NLP task" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "w5muJ1rLqvUW" + }, + "outputs": [], + "source": [ + "s = MlClient.start_trained_model_deployment(es, model_id=es_model_id)\n", + "s.body" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": { + "id": "ZytlELrsnn_O" + }, + "source": [ + "## Verify the model started without issue\n", + "Should output -> {'routing_state': 'started'}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ZaQUUWe0Hxwz" + }, + "outputs": [], + "source": [ + "stats = MlClient.get_trained_models_stats(es, model_id=es_model_id)\n", + "stats.body[\"trained_model_stats\"][0][\"deployment_stats\"][\"nodes\"][0][\"routing_state\"]" + ] + } + ], + "metadata": { + "colab": { + "include_colab_link": true, + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/supporting-blog-content/homecraft-vertex/pages/homecraft_finetuned.py b/supporting-blog-content/homecraft-vertex/pages/homecraft_finetuned.py index 03ae97ae..cbfae573 100644 --- a/supporting-blog-content/homecraft-vertex/pages/homecraft_finetuned.py +++ b/supporting-blog-content/homecraft-vertex/pages/homecraft_finetuned.py @@ -4,7 +4,7 @@ import vertexai from vertexai.preview.language_models import TextGenerationModel -#WATCHOUT!!! For fine-tuning feature you need to import vertexai.preview instead of just vertexAI +# WATCHOUT!!! For fine-tuning feature you need to import vertexai.preview instead of just vertexAI # This page shows the integration with a fine-tuned text-bison model via VertexAI @@ -18,23 +18,20 @@ # cloud_user - Elasticsearch Cluster User # cloud_pass - Elasticsearch User Password -projid = os.environ['gcp_project_id'] -cid = os.environ['cloud_id'] -cp = os.environ['cloud_pass'] -cu = os.environ['cloud_user'] +projid = os.environ["gcp_project_id"] +cid = os.environ["cloud_id"] +cp = os.environ["cloud_pass"] +cu = os.environ["cloud_user"] -parameters = { - "temperature": 0.5, - "max_output_tokens": 606, - "top_p": 0.8, - "top_k": 40 - } +parameters = {"temperature": 0.5, "max_output_tokens": 606, "top_p": 0.8, "top_k": 40} vertexai.init(project="1059491012611", location="us-central1") - -#we are here referencing our custom fine-tuned model + +# we are here referencing our custom fine-tuned model model = TextGenerationModel.from_pretrained("text-bison@001") -model = model.get_tuned_model("projects/1059491012611/locations/us-central1/models/5745671733780676608") +model = model.get_tuned_model( + "projects/1059491012611/locations/us-central1/models/5745671733780676608" +) # Connect to Elastic Cloud cluster @@ -42,25 +39,15 @@ def es_connect(cid, user, passwd): es = Elasticsearch(cloud_id=cid, http_auth=(user, passwd)) return es + # Search ElasticSearch index and return details on relevant products def search_products(query_text): # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } - } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } } @@ -71,50 +58,44 @@ def search_products(query_text): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 24 + "boost": 24, } - fields = ["title", "description", "url", "availability", "price", "brand", "product_id"] - index = 'home-depot-product-catalog-vector' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=5, - source=False) - - doc_list = resp['hits']['hits'] - body = resp['hits']['hits'] - url = '' + fields = [ + "title", + "description", + "url", + "availability", + "price", + "brand", + "product_id", + ] + index = "home-depot-product-catalog-vector" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=5, source=False + ) + + doc_list = resp["hits"]["hits"] + body = resp["hits"]["hits"] + url = "" for doc in doc_list: - #body = body + doc['fields']['description'][0] - url = url + "\n\n" + doc['fields']['url'][0] + # body = body + doc['fields']['description'][0] + url = url + "\n\n" + doc["fields"]["url"][0] return body, url + # Search ElasticSearch index and return body and URL for crawled docs def search_docs(query_text): - # Elasticsearch query (BM25) and kNN configuration for hybrid search query = { "bool": { - "must": [{ - "match": { - "title": { - "query": query_text, - "boost": 1 - } - } - }], - "filter": [{ - "exists": { - "field": "title-vector" - } - }] + "must": [{"match": {"title": {"query": query_text, "boost": 1}}}], + "filter": [{"exists": {"field": "title-vector"}}], } } @@ -125,45 +106,42 @@ def search_docs(query_text): "query_vector_builder": { "text_embedding": { "model_id": "sentence-transformers__all-distilroberta-v1", - "model_text": query_text + "model_text": query_text, } }, - "boost": 24 + "boost": 24, } fields = ["title", "body_content", "url"] - index = 'search-homecraft-ikea' - resp = es.search(index=index, - query=query, - knn=knn, - fields=fields, - size=1, - source=False) + index = "search-homecraft-ikea" + resp = es.search( + index=index, query=query, knn=knn, fields=fields, size=1, source=False + ) - body = resp['hits']['hits'][0]['fields']['body_content'][0] - url = resp['hits']['hits'][0]['fields']['url'][0] + body = resp["hits"]["hits"][0]["fields"]["body_content"][0] + url = resp["hits"]["hits"][0]["fields"]["url"][0] return body, url + def truncate_text(text, max_tokens): tokens = text.split() if len(tokens) <= max_tokens: return text - return ' '.join(tokens[:max_tokens]) + return " ".join(tokens[:max_tokens]) + # Generate a response from ChatGPT based on the given prompt def vertexAI(prompt): # Truncate the prompt content to fit within the model's context length - #truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) - response = model.predict( - prompt, - **parameters - ) + # truncated_prompt = truncate_text(prompt, max_context_tokens - max_tokens - safety_margin) + response = model.predict(prompt, **parameters) return response.text -#image = Image.open('homecraft_logo.jpg') + +# image = Image.open('homecraft_logo.jpg') st.image("https://i.imgur.com/cdjafe0.png", caption=None) st.title("HomeCraft Search Bar") @@ -180,9 +158,8 @@ def vertexAI(prompt): resp_docs, url_docs = search_docs(query) prompt = f"question: {query}" answer = vertexAI(prompt) - + if negResponse in answer: st.write(f"Search Assistant: \n\n{answer.strip()}") else: st.write(f"Search Assistant: {answer.strip()}\n\n") - diff --git a/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/ecommerce_dense_sparse_project.ipynb b/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/ecommerce_dense_sparse_project.ipynb index 453a1241..3d515f3f 100644 --- a/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/ecommerce_dense_sparse_project.ipynb +++ b/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/ecommerce_dense_sparse_project.ipynb @@ -1,834 +1,816 @@ { - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# **Lexical and Semantic Search with Elasticsearch**\n", - "\n", - "In this example, you will explore various approaches to retrieving information using Elasticsearch, focusing specifically on text, lexical and semantic search.\n", - "\n", - "To accomplish this, this example demonstrate various search scenarios on a dataset generated to simulate e-commerce product information.\n", - "\n", - "This dataset contains over 2,500 products, each with a description. These products are categorized into 76 distinct product categories, with each category containing a varying number of products.\n", - "\n", - "## **🧰 Requirements**\n", - "\n", - "For this example, you will need:\n", - "\n", - "- Python 3.6 or later\n", - "- The Elastic Python client\n", - "- Elastic 8.8 deployment or later, with 8GB memory machine learning node\n", - "- The Elastic Learned Sparse EncodeR model that comes pre-loaded into Elastic installed and started on your deployment\n", - "\n", - "We'll be using [Elastic Cloud](https://www.elastic.co/guide/en/cloud/current/ec-getting-started.html), a [free trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) is available." - ], - "metadata": { - "id": "r8OKk3QOGBXl" - }, - "id": "r8OKk3QOGBXl" - }, - { - "cell_type": "markdown", - "source": [ - "## Setup Elasticsearch environment:\n", - "\n", - "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", - "\n", - "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n" - ], - "metadata": { - "id": "hmMWo2e-IkTB" - }, - "id": "hmMWo2e-IkTB" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e8d24cd8-a437-4bd2-a1f0-93e535ccf8a9", - "metadata": { - "id": "e8d24cd8-a437-4bd2-a1f0-93e535ccf8a9" - }, - "outputs": [], - "source": [ - "!pip install elasticsearch==8.8 #Elasticsearch" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8c36e9b5-8f2b-4734-9213-1350caa7f837", - "metadata": { - "id": "8c36e9b5-8f2b-4734-9213-1350caa7f837" - }, - "outputs": [], - "source": [ - "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11 # Eland Python Client" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eaf90bc8-647e-4ada-9aa9-5cb9e60762b7", - "metadata": { - "id": "eaf90bc8-647e-4ada-9aa9-5cb9e60762b7" - }, - "outputs": [], - "source": [ - "from elasticsearch import Elasticsearch, helpers # Import the Elasticsearch client and helpers module\n", - "from urllib.request import urlopen # library for opening URLs\n", - "import json # module for handling JSON data\n", - "from pathlib import Path # module for working with file paths\n", - "# Python client and toolkit for machine learning in Elasticsearch\n", - "from eland.ml.pytorch import PyTorchModel\n", - "from eland.ml.pytorch.transformers import TransformerModel\n", - "from elasticsearch.client import MlClient # Elastic module for ml\n", - "import getpass # handling password input" - ] - }, - { - "cell_type": "markdown", - "source": [ - "Now we can instantiate the Python Elasticsearch client.\n", - "\n", - "First we prompt the user for their password and Cloud ID.\n", - "\n", - "🔐 NOTE: `getpass` enables us to securely prompt the user for credentials without echoing them to the terminal, or storing it in memory.\n", - "\n", - "Then we create a `client` object that instantiates an instance of the `Elasticsearch` class." - ], - "metadata": { - "id": "ea1VkDBXJIQR" - }, - "id": "ea1VkDBXJIQR" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6907a2bf-4927-428e-9ca8-9df3dd35a2cc", - "metadata": { - "id": "6907a2bf-4927-428e-9ca8-9df3dd35a2cc" - }, - "outputs": [], - "source": [ - "# Found in the 'Manage Deployment' page\n", - "CLOUD_ID = getpass.getpass('Enter Elastic Cloud ID: ')\n", - "\n", - "# Password for the 'elastic' user generated by Elasticsearch\n", - "ELASTIC_PASSWORD = getpass.getpass('Enter Elastic password: ')\n", - "\n", - "# Create the client instance\n", - "client = Elasticsearch(\n", - " cloud_id=CLOUD_ID,\n", - " basic_auth=(\"elastic\", ELASTIC_PASSWORD),\n", - " request_timeout=3600\n", - ")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Setup emebdding model\n", - "\n", - "Next we upload the all-mpnet-base-v2 embedding model into Elasticsearch and create an ingest pipeline with inference processors for text embedding and text expansion, using the description field for both. This field contains the description of each product." - ], - "metadata": { - "id": "BH-N6epTJarM" - }, - "id": "BH-N6epTJarM" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7f6f3f5a-2b93-4a0c-93c8-c887ca80f687", - "metadata": { - "id": "7f6f3f5a-2b93-4a0c-93c8-c887ca80f687" - }, - "outputs": [], - "source": [ - "# Set the model name from Hugging Face and task type\n", - "# sentence-transformers model\n", - "hf_model_id='sentence-transformers/all-mpnet-base-v2'\n", - "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", - "\n", - "#set the modelID as it is named in Elasticsearch\n", - "es_model_id = tm.elasticsearch_model_id()\n", - "\n", - "# Download the model from Hugging Face\n", - "tmp_path = \"models\"\n", - "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", - "model_path, config, vocab_path = tm.save(tmp_path)\n", - "\n", - "# Load the model into Elasticsearch\n", - "ptm = PyTorchModel(client, es_model_id)\n", - "ptm.import_model(model_path=model_path, config_path=None, vocab_path=vocab_path, config=config)\n", - "\n", - "# Start the model\n", - "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", - "s.body" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6739f55b-6983-4b48-9349-6e0111b313fe", - "metadata": { - "id": "6739f55b-6983-4b48-9349-6e0111b313fe" - }, - "outputs": [], - "source": [ - "# Creating an ingest pipeline with inference processors to use ELSER (sparse) and all-mpnet-base-v2 (dense) to infer against data that will be ingested in the pipeline.\n", - "\n", - "client.ingest.put_pipeline(\n", - " id=\"ecommerce-pipeline\",\n", - " processors = [\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \"elser_model\",\n", - " \"target_field\": \"ml\",\n", - " \"field_map\": {\n", - " \"description\": \"text_field\"\n", - " },\n", - " \"inference_config\": {\n", - " \"text_expansion\": { # text_expansion inference type (ELSER)\n", - " \"results_field\": \"tokens\"\n", - " }\n", - " }\n", - " }\n", - " },\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", - " \"target_field\": \"description_vector\", # Target field for the inference results\n", - " \"field_map\": {\n", - " \"description\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", - " }\n", - " }\n", - " }\n", - " ]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Index documents\n", - "\n", - "Then, we create a source index to load `products-ecommerce.json`, this will be the `ecommerce` index and a destination index to extract the documents from the source and index these documents into the destination `ecommerce-search`.\n", - "\n", - "For the `ecommerce-search` index we add a field to support dense vector storage and search `description_vector.predicted_value`, this is the target field for inference results. The field type in this case is `dense_vector`, the `all-mpnet-base-v2` model has embedding_size of 768, so dims is set to 768. We also add a `rank_features` field type to support the text expansion output." - ], - "metadata": { - "id": "QUQ1nCaiKIQr" - }, - "id": "QUQ1nCaiKIQr" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6e115bd0-e758-44db-b5b9-96217af472c1", - "metadata": { - "id": "6e115bd0-e758-44db-b5b9-96217af472c1" - }, - "outputs": [], - "source": [ - "#Index to load products-ecommerce.json docs\n", - "\n", - "client.indices.create(\n", - " index=\"ecommerce\",\n", - " mappings= {\n", - " \"properties\": {\n", - " \"product\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"description\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"category\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " }\n", - " }\n", - "})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9b53b39e-d74e-4fa8-a364-e2c3caf37418", - "metadata": { - "id": "9b53b39e-d74e-4fa8-a364-e2c3caf37418" - }, - "outputs": [], - "source": [ - "# Reindex dest index\n", - "\n", - "INDEX = 'ecommerce-search'\n", - "client.indices.create(\n", - " index=INDEX,\n", - " settings={\n", - " \"index\": {\n", - " \"number_of_shards\": 1,\n", - " \"number_of_replicas\": 1\n", - " }\n", - " },\n", - " mappings={\n", - "# Saving disk space by excluding the ELSER tokens and the dense_vector field from document source.\n", - "# Note: That should only be applied if you are certain that reindexing will not be required in the future.\n", - " \"_source\" : {\n", - " \"excludes\": [\"ml.tokens\",\"description_vector.predicted_value\"]\n", - " },\n", - " \"properties\": {\n", - " \"product\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"description\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"category\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"ml.tokens\": { # The name of the field to contain the generated tokens.\n", - " \"type\": \"rank_features\" # ELSER output must be ingested into a field with the rank_features field type.\n", - " },\n", - " \"description_vector.predicted_value\": { # Inference results field, target_field.predicted_value\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 768, # The all-mpnet-base-v2 model has embedding_size of 768, so dims is set to 768.\n", - " \"index\": \"true\",\n", - " \"similarity\": \"dot_product\" # When indexing vectors for approximate kNN search, you need to specify the similarity function for comparing the vectors.\n", - " }\n", - " }\n", - "\n", - "}\n", - ")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Load documents\n", - "\n", - "Then we load `products-ecommerce.json` into the `ecommerce` index." - ], - "metadata": { - "id": "Vo-LKu8TOT5j" - }, - "id": "Vo-LKu8TOT5j" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3cfdc3b7-7e4f-4111-997b-c333ac8938ba", - "metadata": { - "id": "3cfdc3b7-7e4f-4111-997b-c333ac8938ba" - }, - "outputs": [], - "source": [ - "# dataset\n", - "\n", - "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/02c01b3450e8ddc72ccec85d559eee5280c185ac/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/products-ecommerce.json\" # json raw file - update the link here\n", - "\n", - "response = urlopen(url)\n", - "\n", - "# Load the response data into a JSON object\n", - "data_json = json.loads(response.read())\n", - "\n", - "def create_index_body(doc):\n", - " \"\"\" Generate the body for an Elasticsearch document. \"\"\"\n", - " return {\n", - " \"_index\": \"ecommerce\",\n", - " \"_source\": doc,\n", - " }\n", - "\n", - "# Prepare the documents to be indexed\n", - "documents = [create_index_body(doc) for doc in data_json]\n", - "\n", - "# Use helpers.bulk to index\n", - "helpers.bulk(client, documents)\n", - "\n", - "print(\"Done indexing documents into `ecommerce` index\")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Reindex\n", - "\n", - "Now we can reindex data from the `source` index `ecommerce` to the `dest` index `ecommerce-search` with the ingest pipeline `ecommerce-pipeline` we created.\n", - "\n", - "After this step our `dest` index will have the fields we need to perform Semantic Search." - ], - "metadata": { - "id": "3dShN9W4Opl8" - }, - "id": "3dShN9W4Opl8" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4297cb0b-ae2e-44f9-811d-27a41c43a858", - "metadata": { - "id": "4297cb0b-ae2e-44f9-811d-27a41c43a858" - }, - "outputs": [], - "source": [ - "# Reindex data from one index 'source' to another 'dest' with the 'ecommerce-pipeline' pipeline.\n", - "\n", - "client.reindex(wait_for_completion=True,\n", - " source={\n", - " \"index\": \"ecommerce\"\n", - " },\n", - " dest= {\n", - " \"index\": \"ecommerce-search\",\n", - " \"pipeline\": \"ecommerce-pipeline\"\n", - " }\n", - ")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Text Analysis with Standard Analyzer" - ], - "metadata": { - "id": "-qUXNuOvPDsI" - }, - "id": "-qUXNuOvPDsI" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "829ae6e8-807d-4f0d-ada6-fee86748b91a", - "metadata": { - "id": "829ae6e8-807d-4f0d-ada6-fee86748b91a" - }, - "outputs": [], - "source": [ - "#Performs text analysis on a string and returns the resulting tokens.\n", - "\n", - "# Define the text to be analyzed\n", - "text = \"Comfortable furniture for a large balcony\"\n", - "\n", - "# Define the analyze request\n", - "request_body = {\n", - " \"analyzer\": \"standard\", # Standard Analyzer\n", - " \"text\": text\n", - "}\n", - "\n", - "# Perform the analyze request\n", - "response = client.indices.analyze(analyzer=request_body[\"analyzer\"], text=request_body[\"text\"])\n", - "\n", - "# Extract and display the analyzed tokens\n", - "tokens = [token[\"token\"] for token in response[\"tokens\"]]\n", - "print(\"Analyzed Tokens:\", tokens)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Text Analysis with Stop Analyzer" - ], - "metadata": { - "id": "12u70NLmPyNV" - }, - "id": "12u70NLmPyNV" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55b602d1-f1e4-4b70-9273-5fc701ac9039", - "metadata": { - "id": "55b602d1-f1e4-4b70-9273-5fc701ac9039" - }, - "outputs": [], - "source": [ - "#Performs text analysis on a string and returns the resulting tokens.\n", - "\n", - "# Define the text to be analyzed\n", - "text = \"Comfortable furniture for a large balcony\"\n", - "\n", - "# Define the analyze request\n", - "request_body = {\n", - " \"analyzer\": \"stop\", # Stop Analyzer\n", - " \"text\": text\n", - "}\n", - "\n", - "# Perform the analyze request\n", - "response = client.indices.analyze(analyzer=request_body[\"analyzer\"], text=request_body[\"text\"])\n", - "\n", - "# Extract and display the analyzed tokens\n", - "tokens = [token[\"token\"] for token in response[\"tokens\"]]\n", - "print(\"Analyzed Tokens:\", tokens)" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Lexical Search" - ], - "metadata": { - "id": "8G8MKcUvP0zs" - }, - "id": "8G8MKcUvP0zs" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f4984f6c-ceec-46a4-b64c-f749e6b1b04f", - "metadata": { - "id": "f4984f6c-ceec-46a4-b64c-f749e6b1b04f" - }, - "outputs": [], - "source": [ - "# BM25\n", - "\n", - "response = client.search(size=2,\n", - " index=\"ecommerce-search\",\n", - " query= {\n", - " \"match\": {\n", - " \"description\" : {\n", - " \"query\": \"Comfortable furniture for a large balcony\",\n", - " \"analyzer\": \"stop\"\n", - " }\n", - " }\n", - " }\n", - ")\n", - "hits = response['hits']['hits']\n", - "\n", - "if not hits:\n", - " print(\"No matches found\")\n", - "else:\n", - " for hit in hits:\n", - " score = hit['_score']\n", - " product = hit['_source']['product']\n", - " category = hit['_source']['category']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")\n" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Semantic Search with Dense Vector" - ], - "metadata": { - "id": "xiywcf_-P39a" - }, - "id": "xiywcf_-P39a" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72187c9a-14c1-4084-a080-4e5c1e614f22", - "metadata": { - "id": "72187c9a-14c1-4084-a080-4e5c1e614f22" - }, - "outputs": [], - "source": [ - "# KNN\n", - "\n", - "response = client.search(index='ecommerce-search', size=2,\n", - " knn={\n", - " \"field\": \"description_vector.predicted_value\",\n", - " \"k\": 50, # Number of nearest neighbors to return as top hits.\n", - " \"num_candidates\": 500, # Number of nearest neighbor candidates to consider per shard. Increasing num_candidates tends to improve the accuracy of the final k results.\n", - " \"query_vector_builder\": { # Object indicating how to build a query_vector. kNN search enables you to perform semantic search by using a previously deployed text embedding model.\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\", # Text embedding model id\n", - " \"model_text\": \"Comfortable furniture for a large balcony\" # Query\n", - " }\n", - " }\n", - " }\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - "\n", - " score = hit['_score']\n", - " product = hit['_source']['product']\n", - " category = hit['_source']['category']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Semantic Search with Sparse Vector" - ], - "metadata": { - "id": "QlWFdngRQFbv" - }, - "id": "QlWFdngRQFbv" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c0bf5fc-ab32-4f33-8f26-904ff10635a5", - "metadata": { - "id": "2c0bf5fc-ab32-4f33-8f26-904ff10635a5" - }, - "outputs": [], - "source": [ - "# Elastic Learned Sparse Encoder - ELSER\n", - "\n", - "response = client.search(index='ecommerce-search', size=2,\n", - " query={\n", - " \"text_expansion\": {\n", - " \"ml.tokens\": {\n", - " \"model_id\":\"elser_model\",\n", - " \"model_text\":\"Comfortable furniture for a large balcony\"\n", - " }\n", - " }\n", - "}\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - "\n", - " score = hit['_score']\n", - " product = hit['_source']['product']\n", - " category = hit['_source']['category']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Hybrid Search - BM25+KNN linear combination" - ], - "metadata": { - "id": "kz9deDBYQJxr" - }, - "id": "kz9deDBYQJxr" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "f84aa16b-49c5-4abf-a049-d556c225542e", - "metadata": { - "id": "f84aa16b-49c5-4abf-a049-d556c225542e" - }, - "outputs": [], - "source": [ - "# BM25 + KNN (Linear Combination)\n", - "\n", - "response = client.search(index='ecommerce-search', size=2,\n", - " query={\n", - " \"bool\": {\n", - " \"should\": [\n", - " {\n", - " \"match\": {\n", - " \"description\": {\n", - " \"query\": \"A dining table and comfortable chairs for a large balcony\",\n", - " \"boost\": 1 # You can adjust the boost value\n", - " }\n", - " }\n", - " }\n", - " ]\n", - " }\n", - " },\n", - " knn={\n", - " \"field\": \"description_vector.predicted_value\",\n", - " \"k\": 50,\n", - " \"num_candidates\": 500,\n", - " \"boost\": 1, # You can adjust the boost value\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", - " \"model_text\": \"A dining table and comfortable chairs for a large balcony\"\n", - " }\n", - " }\n", - " }\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - "\n", - " score = hit['_score']\n", - " product = hit['_source']['product']\n", - " category = hit['_source']['category']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")\n" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Hybrid Search - BM25+KNN RRF" - ], - "metadata": { - "id": "cybkWjmpQV8g" - }, - "id": "cybkWjmpQV8g" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "aa2e072d-37bb-43fd-a83f-e1cb55a24861", - "metadata": { - "id": "aa2e072d-37bb-43fd-a83f-e1cb55a24861" - }, - "outputs": [], - "source": [ - "# BM25 + KNN (RRF)\n", - "# RRF functionality is in technical preview and may be changed or removed in a future release. The syntax will likely change before GA.\n", - "\n", - "response = client.search(index='ecommerce-search', size=2,\n", - " query={\n", - " \"bool\": {\n", - " \"should\": [\n", - " {\n", - " \"match\": {\n", - " \"description\": {\n", - " \"query\": \"A dining table and comfortable chairs for a large balcony\"\n", - " }\n", - " }\n", - " }\n", - " ]\n", - " }\n", - " },\n", - " knn={\n", - " \"field\": \"description_vector.predicted_value\",\n", - " \"k\": 50,\n", - " \"num_candidates\": 500,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", - " \"model_text\": \"A dining table and comfortable chairs for a large balcony\"\n", - " }\n", - " }\n", - " },\n", - " rank={\n", - " \"rrf\": { # Reciprocal rank fusion\n", - " \"window_size\": 50, # This value determines the size of the individual result sets per query.\n", - " \"rank_constant\": 20 # This value determines how much influence documents in individual result sets per query have over the final ranked result set.\n", - " }\n", - " }\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - "\n", - " rank = hit['_rank']\n", - " category = hit['_source']['category']\n", - " product = hit['_source']['product']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nRank: {rank}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")\n" - ] - }, - { - "cell_type": "markdown", - "source": [ - "## Hybrid Search - BM25+ELSER linear combination" - ], - "metadata": { - "id": "LyKI2Z-XQbI6" - }, - "id": "LyKI2Z-XQbI6" - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd842732-b20a-4c7a-b735-e1f558a9b922", - "metadata": { - "id": "bd842732-b20a-4c7a-b735-e1f558a9b922" - }, - "outputs": [], - "source": [ - "# BM25 + Elastic Learned Sparse Encoder (Linear Combination)\n", - "\n", - "response = client.search(index='ecommerce-search', size=2,\n", - "\n", - " query= {\n", - " \"bool\": {\n", - " \"should\": [\n", - " {\n", - " \"match\": {\n", - " \"description\" : {\n", - " \"query\": \"A dining table and comfortable chairs for a large balcony\",\n", - " \"boost\": 1 # You can adjust the boost value\n", - " }\n", - " }\n", - " },\n", - " {\n", - " \"text_expansion\": {\n", - " \"ml.tokens\": {\n", - " \"model_id\": \"elser_model\",\n", - " \"model_text\": \"A dining table and comfortable chairs for a large balcony\",\n", - " \"boost\": 1 # You can adjust the boost value\n", - " }\n", - " }\n", - " }\n", - " ]\n", - " }\n", - " }\n", - "\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - "\n", - " score = hit['_score']\n", - " product = hit['_source']['product']\n", - " category = hit['_source']['category']\n", - " description = hit['_source']['description']\n", - " print(f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.10" - }, - "colab": { - "provenance": [] - } - }, - "nbformat": 4, - "nbformat_minor": 5 + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# **Lexical and Semantic Search with Elasticsearch**\n", + "\n", + "In this example, you will explore various approaches to retrieving information using Elasticsearch, focusing specifically on text, lexical and semantic search.\n", + "\n", + "To accomplish this, this example demonstrate various search scenarios on a dataset generated to simulate e-commerce product information.\n", + "\n", + "This dataset contains over 2,500 products, each with a description. These products are categorized into 76 distinct product categories, with each category containing a varying number of products.\n", + "\n", + "## **🧰 Requirements**\n", + "\n", + "For this example, you will need:\n", + "\n", + "- Python 3.6 or later\n", + "- The Elastic Python client\n", + "- Elastic 8.8 deployment or later, with 8GB memory machine learning node\n", + "- The Elastic Learned Sparse EncodeR model that comes pre-loaded into Elastic installed and started on your deployment\n", + "\n", + "We'll be using [Elastic Cloud](https://www.elastic.co/guide/en/cloud/current/ec-getting-started.html), a [free trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) is available." + ], + "metadata": { + "id": "r8OKk3QOGBXl" + }, + "id": "r8OKk3QOGBXl" + }, + { + "cell_type": "markdown", + "source": [ + "## Setup Elasticsearch environment:\n", + "\n", + "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", + "\n", + "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n" + ], + "metadata": { + "id": "hmMWo2e-IkTB" + }, + "id": "hmMWo2e-IkTB" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8d24cd8-a437-4bd2-a1f0-93e535ccf8a9", + "metadata": { + "id": "e8d24cd8-a437-4bd2-a1f0-93e535ccf8a9" + }, + "outputs": [], + "source": [ + "!pip install elasticsearch==8.8 #Elasticsearch" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c36e9b5-8f2b-4734-9213-1350caa7f837", + "metadata": { + "id": "8c36e9b5-8f2b-4734-9213-1350caa7f837" + }, + "outputs": [], + "source": [ + "pip -q install eland elasticsearch sentence_transformers transformers torch==1.11 # Eland Python Client" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eaf90bc8-647e-4ada-9aa9-5cb9e60762b7", + "metadata": { + "id": "eaf90bc8-647e-4ada-9aa9-5cb9e60762b7" + }, + "outputs": [], + "source": [ + "from elasticsearch import (\n", + " Elasticsearch,\n", + " helpers,\n", + ") # Import the Elasticsearch client and helpers module\n", + "from urllib.request import urlopen # library for opening URLs\n", + "import json # module for handling JSON data\n", + "from pathlib import Path # module for working with file paths\n", + "\n", + "# Python client and toolkit for machine learning in Elasticsearch\n", + "from eland.ml.pytorch import PyTorchModel\n", + "from eland.ml.pytorch.transformers import TransformerModel\n", + "from elasticsearch.client import MlClient # Elastic module for ml\n", + "import getpass # handling password input" + ] + }, + { + "cell_type": "markdown", + "source": [ + "Now we can instantiate the Python Elasticsearch client.\n", + "\n", + "First we prompt the user for their password and Cloud ID.\n", + "\n", + "🔐 NOTE: `getpass` enables us to securely prompt the user for credentials without echoing them to the terminal, or storing it in memory.\n", + "\n", + "Then we create a `client` object that instantiates an instance of the `Elasticsearch` class." + ], + "metadata": { + "id": "ea1VkDBXJIQR" + }, + "id": "ea1VkDBXJIQR" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6907a2bf-4927-428e-9ca8-9df3dd35a2cc", + "metadata": { + "id": "6907a2bf-4927-428e-9ca8-9df3dd35a2cc" + }, + "outputs": [], + "source": [ + "# Found in the 'Manage Deployment' page\n", + "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "\n", + "# Password for the 'elastic' user generated by Elasticsearch\n", + "ELASTIC_PASSWORD = getpass.getpass(\"Enter Elastic password: \")\n", + "\n", + "# Create the client instance\n", + "client = Elasticsearch(\n", + " cloud_id=CLOUD_ID, basic_auth=(\"elastic\", ELASTIC_PASSWORD), request_timeout=3600\n", + ")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Setup emebdding model\n", + "\n", + "Next we upload the all-mpnet-base-v2 embedding model into Elasticsearch and create an ingest pipeline with inference processors for text embedding and text expansion, using the description field for both. This field contains the description of each product." + ], + "metadata": { + "id": "BH-N6epTJarM" + }, + "id": "BH-N6epTJarM" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f6f3f5a-2b93-4a0c-93c8-c887ca80f687", + "metadata": { + "id": "7f6f3f5a-2b93-4a0c-93c8-c887ca80f687" + }, + "outputs": [], + "source": [ + "# Set the model name from Hugging Face and task type\n", + "# sentence-transformers model\n", + "hf_model_id = \"sentence-transformers/all-mpnet-base-v2\"\n", + "tm = TransformerModel(hf_model_id, \"text_embedding\")\n", + "\n", + "# set the modelID as it is named in Elasticsearch\n", + "es_model_id = tm.elasticsearch_model_id()\n", + "\n", + "# Download the model from Hugging Face\n", + "tmp_path = \"models\"\n", + "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", + "model_path, config, vocab_path = tm.save(tmp_path)\n", + "\n", + "# Load the model into Elasticsearch\n", + "ptm = PyTorchModel(client, es_model_id)\n", + "ptm.import_model(\n", + " model_path=model_path, config_path=None, vocab_path=vocab_path, config=config\n", + ")\n", + "\n", + "# Start the model\n", + "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", + "s.body" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6739f55b-6983-4b48-9349-6e0111b313fe", + "metadata": { + "id": "6739f55b-6983-4b48-9349-6e0111b313fe" + }, + "outputs": [], + "source": [ + "# Creating an ingest pipeline with inference processors to use ELSER (sparse) and all-mpnet-base-v2 (dense) to infer against data that will be ingested in the pipeline.\n", + "\n", + "client.ingest.put_pipeline(\n", + " id=\"ecommerce-pipeline\",\n", + " processors=[\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"elser_model\",\n", + " \"target_field\": \"ml\",\n", + " \"field_map\": {\"description\": \"text_field\"},\n", + " \"inference_config\": {\n", + " \"text_expansion\": { # text_expansion inference type (ELSER)\n", + " \"results_field\": \"tokens\"\n", + " }\n", + " },\n", + " }\n", + " },\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", + " \"target_field\": \"description_vector\", # Target field for the inference results\n", + " \"field_map\": {\n", + " \"description\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", + " },\n", + " }\n", + " },\n", + " ],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Index documents\n", + "\n", + "Then, we create a source index to load `products-ecommerce.json`, this will be the `ecommerce` index and a destination index to extract the documents from the source and index these documents into the destination `ecommerce-search`.\n", + "\n", + "For the `ecommerce-search` index we add a field to support dense vector storage and search `description_vector.predicted_value`, this is the target field for inference results. The field type in this case is `dense_vector`, the `all-mpnet-base-v2` model has embedding_size of 768, so dims is set to 768. We also add a `rank_features` field type to support the text expansion output." + ], + "metadata": { + "id": "QUQ1nCaiKIQr" + }, + "id": "QUQ1nCaiKIQr" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6e115bd0-e758-44db-b5b9-96217af472c1", + "metadata": { + "id": "6e115bd0-e758-44db-b5b9-96217af472c1" + }, + "outputs": [], + "source": [ + "# Index to load products-ecommerce.json docs\n", + "\n", + "client.indices.create(\n", + " index=\"ecommerce\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"product\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"description\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"category\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " }\n", + " },\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b53b39e-d74e-4fa8-a364-e2c3caf37418", + "metadata": { + "id": "9b53b39e-d74e-4fa8-a364-e2c3caf37418" + }, + "outputs": [], + "source": [ + "# Reindex dest index\n", + "\n", + "INDEX = \"ecommerce-search\"\n", + "client.indices.create(\n", + " index=INDEX,\n", + " settings={\"index\": {\"number_of_shards\": 1, \"number_of_replicas\": 1}},\n", + " mappings={\n", + " # Saving disk space by excluding the ELSER tokens and the dense_vector field from document source.\n", + " # Note: That should only be applied if you are certain that reindexing will not be required in the future.\n", + " \"_source\": {\"excludes\": [\"ml.tokens\", \"description_vector.predicted_value\"]},\n", + " \"properties\": {\n", + " \"product\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"description\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"category\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"ml.tokens\": { # The name of the field to contain the generated tokens.\n", + " \"type\": \"rank_features\" # ELSER output must be ingested into a field with the rank_features field type.\n", + " },\n", + " \"description_vector.predicted_value\": { # Inference results field, target_field.predicted_value\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 768, # The all-mpnet-base-v2 model has embedding_size of 768, so dims is set to 768.\n", + " \"index\": \"true\",\n", + " \"similarity\": \"dot_product\", # When indexing vectors for approximate kNN search, you need to specify the similarity function for comparing the vectors.\n", + " },\n", + " },\n", + " },\n", + ")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Load documents\n", + "\n", + "Then we load `products-ecommerce.json` into the `ecommerce` index." + ], + "metadata": { + "id": "Vo-LKu8TOT5j" + }, + "id": "Vo-LKu8TOT5j" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cfdc3b7-7e4f-4111-997b-c333ac8938ba", + "metadata": { + "id": "3cfdc3b7-7e4f-4111-997b-c333ac8938ba" + }, + "outputs": [], + "source": [ + "# dataset\n", + "\n", + "url = \"https://raw.githubusercontent.com/elastic/elasticsearch-labs/02c01b3450e8ddc72ccec85d559eee5280c185ac/supporting-blog-content/lexical-and-semantic-search-with-elasticsearch/products-ecommerce.json\" # json raw file - update the link here\n", + "\n", + "response = urlopen(url)\n", + "\n", + "# Load the response data into a JSON object\n", + "data_json = json.loads(response.read())\n", + "\n", + "\n", + "def create_index_body(doc):\n", + " \"\"\"Generate the body for an Elasticsearch document.\"\"\"\n", + " return {\n", + " \"_index\": \"ecommerce\",\n", + " \"_source\": doc,\n", + " }\n", + "\n", + "\n", + "# Prepare the documents to be indexed\n", + "documents = [create_index_body(doc) for doc in data_json]\n", + "\n", + "# Use helpers.bulk to index\n", + "helpers.bulk(client, documents)\n", + "\n", + "print(\"Done indexing documents into `ecommerce` index\")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Reindex\n", + "\n", + "Now we can reindex data from the `source` index `ecommerce` to the `dest` index `ecommerce-search` with the ingest pipeline `ecommerce-pipeline` we created.\n", + "\n", + "After this step our `dest` index will have the fields we need to perform Semantic Search." + ], + "metadata": { + "id": "3dShN9W4Opl8" + }, + "id": "3dShN9W4Opl8" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4297cb0b-ae2e-44f9-811d-27a41c43a858", + "metadata": { + "id": "4297cb0b-ae2e-44f9-811d-27a41c43a858" + }, + "outputs": [], + "source": [ + "# Reindex data from one index 'source' to another 'dest' with the 'ecommerce-pipeline' pipeline.\n", + "\n", + "client.reindex(\n", + " wait_for_completion=True,\n", + " source={\"index\": \"ecommerce\"},\n", + " dest={\"index\": \"ecommerce-search\", \"pipeline\": \"ecommerce-pipeline\"},\n", + ")" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Text Analysis with Standard Analyzer" + ], + "metadata": { + "id": "-qUXNuOvPDsI" + }, + "id": "-qUXNuOvPDsI" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "829ae6e8-807d-4f0d-ada6-fee86748b91a", + "metadata": { + "id": "829ae6e8-807d-4f0d-ada6-fee86748b91a" + }, + "outputs": [], + "source": [ + "# Performs text analysis on a string and returns the resulting tokens.\n", + "\n", + "# Define the text to be analyzed\n", + "text = \"Comfortable furniture for a large balcony\"\n", + "\n", + "# Define the analyze request\n", + "request_body = {\"analyzer\": \"standard\", \"text\": text} # Standard Analyzer\n", + "\n", + "# Perform the analyze request\n", + "response = client.indices.analyze(\n", + " analyzer=request_body[\"analyzer\"], text=request_body[\"text\"]\n", + ")\n", + "\n", + "# Extract and display the analyzed tokens\n", + "tokens = [token[\"token\"] for token in response[\"tokens\"]]\n", + "print(\"Analyzed Tokens:\", tokens)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Text Analysis with Stop Analyzer" + ], + "metadata": { + "id": "12u70NLmPyNV" + }, + "id": "12u70NLmPyNV" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55b602d1-f1e4-4b70-9273-5fc701ac9039", + "metadata": { + "id": "55b602d1-f1e4-4b70-9273-5fc701ac9039" + }, + "outputs": [], + "source": [ + "# Performs text analysis on a string and returns the resulting tokens.\n", + "\n", + "# Define the text to be analyzed\n", + "text = \"Comfortable furniture for a large balcony\"\n", + "\n", + "# Define the analyze request\n", + "request_body = {\"analyzer\": \"stop\", \"text\": text} # Stop Analyzer\n", + "\n", + "# Perform the analyze request\n", + "response = client.indices.analyze(\n", + " analyzer=request_body[\"analyzer\"], text=request_body[\"text\"]\n", + ")\n", + "\n", + "# Extract and display the analyzed tokens\n", + "tokens = [token[\"token\"] for token in response[\"tokens\"]]\n", + "print(\"Analyzed Tokens:\", tokens)" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Lexical Search" + ], + "metadata": { + "id": "8G8MKcUvP0zs" + }, + "id": "8G8MKcUvP0zs" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f4984f6c-ceec-46a4-b64c-f749e6b1b04f", + "metadata": { + "id": "f4984f6c-ceec-46a4-b64c-f749e6b1b04f" + }, + "outputs": [], + "source": [ + "# BM25\n", + "\n", + "response = client.search(\n", + " size=2,\n", + " index=\"ecommerce-search\",\n", + " query={\n", + " \"match\": {\n", + " \"description\": {\n", + " \"query\": \"Comfortable furniture for a large balcony\",\n", + " \"analyzer\": \"stop\",\n", + " }\n", + " }\n", + " },\n", + ")\n", + "hits = response[\"hits\"][\"hits\"]\n", + "\n", + "if not hits:\n", + " print(\"No matches found\")\n", + "else:\n", + " for hit in hits:\n", + " score = hit[\"_score\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Semantic Search with Dense Vector" + ], + "metadata": { + "id": "xiywcf_-P39a" + }, + "id": "xiywcf_-P39a" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72187c9a-14c1-4084-a080-4e5c1e614f22", + "metadata": { + "id": "72187c9a-14c1-4084-a080-4e5c1e614f22" + }, + "outputs": [], + "source": [ + "# KNN\n", + "\n", + "response = client.search(\n", + " index=\"ecommerce-search\",\n", + " size=2,\n", + " knn={\n", + " \"field\": \"description_vector.predicted_value\",\n", + " \"k\": 50, # Number of nearest neighbors to return as top hits.\n", + " \"num_candidates\": 500, # Number of nearest neighbor candidates to consider per shard. Increasing num_candidates tends to improve the accuracy of the final k results.\n", + " \"query_vector_builder\": { # Object indicating how to build a query_vector. kNN search enables you to perform semantic search by using a previously deployed text embedding model.\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\", # Text embedding model id\n", + " \"model_text\": \"Comfortable furniture for a large balcony\", # Query\n", + " }\n", + " },\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + "\n", + " score = hit[\"_score\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Semantic Search with Sparse Vector" + ], + "metadata": { + "id": "QlWFdngRQFbv" + }, + "id": "QlWFdngRQFbv" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2c0bf5fc-ab32-4f33-8f26-904ff10635a5", + "metadata": { + "id": "2c0bf5fc-ab32-4f33-8f26-904ff10635a5" + }, + "outputs": [], + "source": [ + "# Elastic Learned Sparse Encoder - ELSER\n", + "\n", + "response = client.search(\n", + " index=\"ecommerce-search\",\n", + " size=2,\n", + " query={\n", + " \"text_expansion\": {\n", + " \"ml.tokens\": {\n", + " \"model_id\": \"elser_model\",\n", + " \"model_text\": \"Comfortable furniture for a large balcony\",\n", + " }\n", + " }\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + "\n", + " score = hit[\"_score\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Hybrid Search - BM25+KNN linear combination" + ], + "metadata": { + "id": "kz9deDBYQJxr" + }, + "id": "kz9deDBYQJxr" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f84aa16b-49c5-4abf-a049-d556c225542e", + "metadata": { + "id": "f84aa16b-49c5-4abf-a049-d556c225542e" + }, + "outputs": [], + "source": [ + "# BM25 + KNN (Linear Combination)\n", + "\n", + "response = client.search(\n", + " index=\"ecommerce-search\",\n", + " size=2,\n", + " query={\n", + " \"bool\": {\n", + " \"should\": [\n", + " {\n", + " \"match\": {\n", + " \"description\": {\n", + " \"query\": \"A dining table and comfortable chairs for a large balcony\",\n", + " \"boost\": 1, # You can adjust the boost value\n", + " }\n", + " }\n", + " }\n", + " ]\n", + " }\n", + " },\n", + " knn={\n", + " \"field\": \"description_vector.predicted_value\",\n", + " \"k\": 50,\n", + " \"num_candidates\": 500,\n", + " \"boost\": 1, # You can adjust the boost value\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", + " \"model_text\": \"A dining table and comfortable chairs for a large balcony\",\n", + " }\n", + " },\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + "\n", + " score = hit[\"_score\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Hybrid Search - BM25+KNN RRF" + ], + "metadata": { + "id": "cybkWjmpQV8g" + }, + "id": "cybkWjmpQV8g" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa2e072d-37bb-43fd-a83f-e1cb55a24861", + "metadata": { + "id": "aa2e072d-37bb-43fd-a83f-e1cb55a24861" + }, + "outputs": [], + "source": [ + "# BM25 + KNN (RRF)\n", + "# RRF functionality is in technical preview and may be changed or removed in a future release. The syntax will likely change before GA.\n", + "\n", + "response = client.search(\n", + " index=\"ecommerce-search\",\n", + " size=2,\n", + " query={\n", + " \"bool\": {\n", + " \"should\": [\n", + " {\n", + " \"match\": {\n", + " \"description\": {\n", + " \"query\": \"A dining table and comfortable chairs for a large balcony\"\n", + " }\n", + " }\n", + " }\n", + " ]\n", + " }\n", + " },\n", + " knn={\n", + " \"field\": \"description_vector.predicted_value\",\n", + " \"k\": 50,\n", + " \"num_candidates\": 500,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", + " \"model_text\": \"A dining table and comfortable chairs for a large balcony\",\n", + " }\n", + " },\n", + " },\n", + " rank={\n", + " \"rrf\": { # Reciprocal rank fusion\n", + " \"window_size\": 50, # This value determines the size of the individual result sets per query.\n", + " \"rank_constant\": 20, # This value determines how much influence documents in individual result sets per query have over the final ranked result set.\n", + " }\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + "\n", + " rank = hit[\"_rank\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nRank: {rank}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Hybrid Search - BM25+ELSER linear combination" + ], + "metadata": { + "id": "LyKI2Z-XQbI6" + }, + "id": "LyKI2Z-XQbI6" + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd842732-b20a-4c7a-b735-e1f558a9b922", + "metadata": { + "id": "bd842732-b20a-4c7a-b735-e1f558a9b922" + }, + "outputs": [], + "source": [ + "# BM25 + Elastic Learned Sparse Encoder (Linear Combination)\n", + "\n", + "response = client.search(\n", + " index=\"ecommerce-search\",\n", + " size=2,\n", + " query={\n", + " \"bool\": {\n", + " \"should\": [\n", + " {\n", + " \"match\": {\n", + " \"description\": {\n", + " \"query\": \"A dining table and comfortable chairs for a large balcony\",\n", + " \"boost\": 1, # You can adjust the boost value\n", + " }\n", + " }\n", + " },\n", + " {\n", + " \"text_expansion\": {\n", + " \"ml.tokens\": {\n", + " \"model_id\": \"elser_model\",\n", + " \"model_text\": \"A dining table and comfortable chairs for a large balcony\",\n", + " \"boost\": 1, # You can adjust the boost value\n", + " }\n", + " }\n", + " },\n", + " ]\n", + " }\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + "\n", + " score = hit[\"_score\"]\n", + " product = hit[\"_source\"][\"product\"]\n", + " category = hit[\"_source\"][\"category\"]\n", + " description = hit[\"_source\"][\"description\"]\n", + " print(\n", + " f\"\\nScore: {score}\\nProduct: {product}\\nCategory: {category}\\nDescription: {description}\\n\"\n", + " )" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.10" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 5 } diff --git a/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb b/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb index 0fbbae31..21187d95 100644 --- a/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb +++ b/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb @@ -1,491 +1,491 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "s49gpkvZ7q53" - }, - "source": [ - "# Multilingual vector search with E5 embedding models\n", - "\n", - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb)\n", - "\n", - "In this example we'll use a multilingual embedding model\n", - "[multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base) to perform search on a toy dataset of mixed\n", - "language documents. The examples in this notebook follow the blog post of the same title: Multilingual vector search with E5 embedding models." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "Y01AXpELkygt" - }, - "source": [ - "# 🧰 Requirements\n", - "\n", - "For this example, you will need:\n", - "\n", - "- An Elastic Cloud deployment with an ML node (min. 8 GB memory)\n", - " - We'll be using [Elastic Cloud](https://www.elastic.co/guide/en/cloud/current/ec-getting-started.html) for this example (available with a [free trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook))\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "N4pI1-eIvWrI" - }, - "source": [ - "## Create Elastic Cloud deployment\n", - "\n", - "If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", - "\n", - "- Go to the [Create deployment](https://cloud.elastic.co/deployments/create) page\n", - " - Select **Create deployment**\n", - " - Use the default node types for Elasticsearch and Kibana\n", - " - Add an ML node with **8 GB memory** (the multilingual E5 base model is larger than most)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "gaTFHLJC-Mgi" - }, - "source": [ - "# Setup Elasticsearch environment\n", - "\n", - "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", - "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n", - "\n", - "First we need to `pip` install the packages we need for this example." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "K9Q1p2C9-wce", - "outputId": "9745cf6b-d8ae-4c85-9992-3b096645e52c" - }, - "outputs": [], - "source": [ - "!pip install elasticsearch eland[pytorch]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "gEzq2Z1wBs3M" - }, - "source": [ - "Next we need to import the `elasticsearch` module and the `getpass` module.\n", - "`getpass` is part of the Python standard library and is used to securely prompt for credentials." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "id": "uP_GTVRi-d96" - }, - "outputs": [], - "source": [ - "import getpass\n", - "\n", - "from elasticsearch import Elasticsearch" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AMSePFiZCRqX" - }, - "source": [ - "Now we can instantiate the Python Elasticsearch client.\n", - "First we prompt the user for their password and Cloud ID.\n", - "\n", - "🔐 NOTE: `getpass` enables us to securely prompt the user for credentials without echoing them to the terminal, or storing it in memory.\n", - "\n", - "Then we create a `client` object that instantiates an instance of the `Elasticsearch` class." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "h0MdAZ53CdKL", - "outputId": "eac211ff-8172-45af-898c-993f7389d557" - }, - "outputs": [], - "source": [ - "# Found in the \"Manage Deployment\" page\n", - "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", - "\n", - "# Password for the \"elastic\" user generated by Elasticsearch\n", - "ELASTIC_PASSWORD = getpass.getpass(\"Enter Elastic password: \")\n", - "\n", - "# Create the client instance\n", - "client = Elasticsearch(\n", - " cloud_id=CLOUD_ID,\n", - " basic_auth=(\"elastic\", ELASTIC_PASSWORD)\n", - ")\n", - "\n", - "client.info()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "rw80JKiZVrPE" - }, - "source": [ - "# Setup emebdding model\n", - "\n", - "Next we upload the E5 multilingual embedding model into Elasticsearch and create an ingest pipeline to automatically create embeddings when ingesting documents. For more details on this process, please see the blog post: [How to deploy NLP: Text Embeddings and Vector Search](https://www.elastic.co/blog/how-to-deploy-nlp-text-embeddings-and-vector-search)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "I2MQhlQKVrPF", - "outputId": "fd2e7798-2be6-4e36-9999-a7a29bd1c537" - }, - "outputs": [], - "source": [ - "MODEL_ID = \"multilingual-e5-base\"\n", - "\n", - "!eland_import_hub_model \\\n", - " --cloud-id $CLOUD_ID \\\n", - " --es-username elastic \\\n", - " --es-password $ELASTIC_PASSWORD \\\n", - " --hub-model-id intfloat/$MODEL_ID \\\n", - " --es-model-id $MODEL_ID \\\n", - " --task-type text_embedding \\\n", - " --start" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "bMil5myQVrPF" - }, - "outputs": [], - "source": [ - "client.ingest.put_pipeline(id=\"pipeline\", processors=[{\n", - " \"inference\": {\n", - " \"model_id\": MODEL_ID,\n", - " \"field_map\": {\n", - " \"passage\": \"text_field\" # field to embed: passage\n", - " },\n", - " \"target_field\": \"passage_embedding\" # embedded field: passage_embedding\n", - " }\n", - "}])" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "TF_wxIAhD07a" - }, - "source": [ - "# Index documents\n", - "\n", - "We need to add a field to support dense vector storage and search.\n", - "Note the `passage_embedding.predicted_value` field below, which is used to store the dense vector representation of the `passage` field, and will be automatically populated by the inference processor in the pipeline created above. The `passage_embedding` field will also store metadata from the inference process." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "cvYECABJJs_2" - }, - "outputs": [], - "source": [ - "# Define the mapping and settings\n", - "mapping = {\n", - " \"properties\": {\n", - " \"id\": { \"type\": \"keyword\" },\n", - " \"language\": { \"type\": \"keyword\" },\n", - " \"passage\": { \"type\": \"text\" },\n", - " \"passage_embedding.predicted_value\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 768,\n", - " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " }\n", - " },\n", - " \"_source\": {\n", - " \"excludes\": [\n", - " \"passage_embedding.predicted_value\"\n", - " ]\n", - " }\n", - "}\n", - "\n", - "settings = {\n", - " \"index\": {\n", - " \"number_of_replicas\": \"1\",\n", - " \"number_of_shards\": \"1\",\n", - " \"default_pipeline\": \"pipeline\"\n", - " }\n", - "}\n", - "\n", - "# Create the index (deleting any existing index)\n", - "client.indices.delete(index=\"passages\", ignore_unavailable=True)\n", - "client.indices.create(index=\"passages\", mappings=mapping, settings=settings)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "_QUZr2gwVrPF" - }, - "source": [ - "Now that we have the pipeline and mappings ready, we can index our documents. This is of course just a demo so we only index the few toy examples from the blog post." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "48GUdoH1VrPF" - }, - "outputs": [], - "source": [ - "passages = [\n", - " {\n", - " \"id\": \"doc1\",\n", - " \"language\": \"en\",\n", - " \"passage\": \"\"\"I sat on the bank of the river today.\"\"\"\n", - " },\n", - " {\n", - " \"id\": \"doc2\",\n", - " \"language\": \"de\",\n", - " \"passage\": \"\"\"Ich bin heute zum Flussufer gegangen.\"\"\"\n", - " },\n", - " {\n", - " \"id\": \"doc3\",\n", - " \"language\": \"en\",\n", - " \"passage\": \"\"\"I walked to the bank today to deposit money.\"\"\"\n", - " },\n", - " {\n", - " \"id\": \"doc4\",\n", - " \"language\": \"de\",\n", - " \"passage\": \"\"\"Ich saß heute bei der Bank und wartete auf mein Geld.\"\"\"\n", - " }\n", - "]\n", - "\n", - "# Index passages, adding first the \"passage: \" instruction for E5\n", - "for doc in passages:\n", - " doc[\"passage\"] = f\"\"\"passage: {doc[\"passage\"]}\"\"\"\n", - " client.index(index=\"passages\", document=doc)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "MrBCHdH1u8Wd" - }, - "source": [ - "# Multilingual semantic search" - ] + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "s49gpkvZ7q53" + }, + "source": [ + "# Multilingual vector search with E5 embedding models\n", + "\n", + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/supporting-blog-content/multilingual-e5/multilingual-e5.ipynb)\n", + "\n", + "In this example we'll use a multilingual embedding model\n", + "[multilingual-e5-base](https://huggingface.co/intfloat/multilingual-e5-base) to perform search on a toy dataset of mixed\n", + "language documents. The examples in this notebook follow the blog post of the same title: Multilingual vector search with E5 embedding models." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Y01AXpELkygt" + }, + "source": [ + "# 🧰 Requirements\n", + "\n", + "For this example, you will need:\n", + "\n", + "- An Elastic Cloud deployment with an ML node (min. 8 GB memory)\n", + " - We'll be using [Elastic Cloud](https://www.elastic.co/guide/en/cloud/current/ec-getting-started.html) for this example (available with a [free trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "N4pI1-eIvWrI" + }, + "source": [ + "## Create Elastic Cloud deployment\n", + "\n", + "If you don't have an Elastic Cloud deployment, sign up [here](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook) for a free trial.\n", + "\n", + "- Go to the [Create deployment](https://cloud.elastic.co/deployments/create) page\n", + " - Select **Create deployment**\n", + " - Use the default node types for Elasticsearch and Kibana\n", + " - Add an ML node with **8 GB memory** (the multilingual E5 base model is larger than most)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gaTFHLJC-Mgi" + }, + "source": [ + "# Setup Elasticsearch environment\n", + "\n", + "To get started, we'll need to connect to our Elastic deployment using the Python client.\n", + "Because we're using an Elastic Cloud deployment, we'll use the **Cloud ID** to identify our deployment.\n", + "\n", + "First we need to `pip` install the packages we need for this example." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "f2fHLYxnVrPF" - }, - "outputs": [], - "source": [ - "def query(q):\n", - " \"\"\"Query with embeddings, adding first the \"query: \" instruction for E5.\"\"\"\n", - "\n", - " return client.search(index=\"passages\", knn={\n", - " \"field\": \"passage_embedding.predicted_value\",\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": MODEL_ID,\n", - " \"model_text\": f\"query: {q}\",\n", - " }\n", - " },\n", - " \"k\": 2, # for the demo, we're always just searching for pairs of passages\n", - " \"num_candidates\": 5\n", - " })\n", - "\n", - "def pretty_response(response):\n", - " \"\"\"Pretty print search responses.\"\"\"\n", - "\n", - " for hit in response[\"hits\"][\"hits\"]:\n", - " score = hit[\"_score\"]\n", - " id = hit[\"_source\"][\"id\"]\n", - " language = hit[\"_source\"][\"language\"]\n", - " passage = hit[\"_source\"][\"passage\"]\n", - " print()\n", - " print(f\"ID: {id}\")\n", - " print(f\"Language: {language}\")\n", - " print(f\"Passage: {passage}\")\n", - " print(f\"Score: {score}\")" - ] + "id": "K9Q1p2C9-wce", + "outputId": "9745cf6b-d8ae-4c85-9992-3b096645e52c" + }, + "outputs": [], + "source": [ + "!pip install elasticsearch eland[pytorch]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gEzq2Z1wBs3M" + }, + "source": [ + "Next we need to import the `elasticsearch` module and the `getpass` module.\n", + "`getpass` is part of the Python standard library and is used to securely prompt for credentials." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "uP_GTVRi-d96" + }, + "outputs": [], + "source": [ + "import getpass\n", + "\n", + "from elasticsearch import Elasticsearch" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AMSePFiZCRqX" + }, + "source": [ + "Now we can instantiate the Python Elasticsearch client.\n", + "First we prompt the user for their password and Cloud ID.\n", + "\n", + "🔐 NOTE: `getpass` enables us to securely prompt the user for credentials without echoing them to the terminal, or storing it in memory.\n", + "\n", + "Then we create a `client` object that instantiates an instance of the `Elasticsearch` class." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "e6ssY6dfVrPG", - "outputId": "01625e8c-bef8-485e-e5b8-118f7386d79a" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: doc1\n", - "Language: en\n", - "Passage: passage: I sat on the bank of the river today.\n", - "Score: 0.88001645\n", - "\n", - "ID: doc2\n", - "Language: de\n", - "Passage: passage: Ich bin heute zum Flussufer gegangen.\n", - "Score: 0.87662137\n" - ] - } - ], - "source": [ - "# Example 1\n", - "pretty_response(query(\"riverside\"))" - ] + "id": "h0MdAZ53CdKL", + "outputId": "eac211ff-8172-45af-898c-993f7389d557" + }, + "outputs": [], + "source": [ + "# Found in the \"Manage Deployment\" page\n", + "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "\n", + "# Password for the \"elastic\" user generated by Elasticsearch\n", + "ELASTIC_PASSWORD = getpass.getpass(\"Enter Elastic password: \")\n", + "\n", + "# Create the client instance\n", + "client = Elasticsearch(cloud_id=CLOUD_ID, basic_auth=(\"elastic\", ELASTIC_PASSWORD))\n", + "\n", + "client.info()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rw80JKiZVrPE" + }, + "source": [ + "# Setup emebdding model\n", + "\n", + "Next we upload the E5 multilingual embedding model into Elasticsearch and create an ingest pipeline to automatically create embeddings when ingesting documents. For more details on this process, please see the blog post: [How to deploy NLP: Text Embeddings and Vector Search](https://www.elastic.co/blog/how-to-deploy-nlp-text-embeddings-and-vector-search)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "I2MQhlQKVrPF", + "outputId": "fd2e7798-2be6-4e36-9999-a7a29bd1c537" + }, + "outputs": [], + "source": [ + "MODEL_ID = \"multilingual-e5-base\"\n", + "\n", + "!eland_import_hub_model \\\n", + " --cloud-id $CLOUD_ID \\\n", + " --es-username elastic \\\n", + " --es-password $ELASTIC_PASSWORD \\\n", + " --hub-model-id intfloat/$MODEL_ID \\\n", + " --es-model-id $MODEL_ID \\\n", + " --task-type text_embedding \\\n", + " --start" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "bMil5myQVrPF" + }, + "outputs": [], + "source": [ + "client.ingest.put_pipeline(\n", + " id=\"pipeline\",\n", + " processors=[\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": MODEL_ID,\n", + " \"field_map\": {\"passage\": \"text_field\"}, # field to embed: passage\n", + " \"target_field\": \"passage_embedding\", # embedded field: passage_embedding\n", + " }\n", + " }\n", + " ],\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TF_wxIAhD07a" + }, + "source": [ + "# Index documents\n", + "\n", + "We need to add a field to support dense vector storage and search.\n", + "Note the `passage_embedding.predicted_value` field below, which is used to store the dense vector representation of the `passage` field, and will be automatically populated by the inference processor in the pipeline created above. The `passage_embedding` field will also store metadata from the inference process." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "cvYECABJJs_2" + }, + "outputs": [], + "source": [ + "# Define the mapping and settings\n", + "mapping = {\n", + " \"properties\": {\n", + " \"id\": {\"type\": \"keyword\"},\n", + " \"language\": {\"type\": \"keyword\"},\n", + " \"passage\": {\"type\": \"text\"},\n", + " \"passage_embedding.predicted_value\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 768,\n", + " \"index\": \"true\",\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " },\n", + " \"_source\": {\"excludes\": [\"passage_embedding.predicted_value\"]},\n", + "}\n", + "\n", + "settings = {\n", + " \"index\": {\n", + " \"number_of_replicas\": \"1\",\n", + " \"number_of_shards\": \"1\",\n", + " \"default_pipeline\": \"pipeline\",\n", + " }\n", + "}\n", + "\n", + "# Create the index (deleting any existing index)\n", + "client.indices.delete(index=\"passages\", ignore_unavailable=True)\n", + "client.indices.create(index=\"passages\", mappings=mapping, settings=settings)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_QUZr2gwVrPF" + }, + "source": [ + "Now that we have the pipeline and mappings ready, we can index our documents. This is of course just a demo so we only index the few toy examples from the blog post." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "48GUdoH1VrPF" + }, + "outputs": [], + "source": [ + "passages = [\n", + " {\n", + " \"id\": \"doc1\",\n", + " \"language\": \"en\",\n", + " \"passage\": \"\"\"I sat on the bank of the river today.\"\"\",\n", + " },\n", + " {\n", + " \"id\": \"doc2\",\n", + " \"language\": \"de\",\n", + " \"passage\": \"\"\"Ich bin heute zum Flussufer gegangen.\"\"\",\n", + " },\n", + " {\n", + " \"id\": \"doc3\",\n", + " \"language\": \"en\",\n", + " \"passage\": \"\"\"I walked to the bank today to deposit money.\"\"\",\n", + " },\n", + " {\n", + " \"id\": \"doc4\",\n", + " \"language\": \"de\",\n", + " \"passage\": \"\"\"Ich saß heute bei der Bank und wartete auf mein Geld.\"\"\",\n", + " },\n", + "]\n", + "\n", + "# Index passages, adding first the \"passage: \" instruction for E5\n", + "for doc in passages:\n", + " doc[\"passage\"] = f\"\"\"passage: {doc[\"passage\"]}\"\"\"\n", + " client.index(index=\"passages\", document=doc)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MrBCHdH1u8Wd" + }, + "source": [ + "# Multilingual semantic search" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "f2fHLYxnVrPF" + }, + "outputs": [], + "source": [ + "def query(q):\n", + " \"\"\"Query with embeddings, adding first the \"query: \" instruction for E5.\"\"\"\n", + "\n", + " return client.search(\n", + " index=\"passages\",\n", + " knn={\n", + " \"field\": \"passage_embedding.predicted_value\",\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": MODEL_ID,\n", + " \"model_text\": f\"query: {q}\",\n", + " }\n", + " },\n", + " \"k\": 2, # for the demo, we're always just searching for pairs of passages\n", + " \"num_candidates\": 5,\n", + " },\n", + " )\n", + "\n", + "\n", + "def pretty_response(response):\n", + " \"\"\"Pretty print search responses.\"\"\"\n", + "\n", + " for hit in response[\"hits\"][\"hits\"]:\n", + " score = hit[\"_score\"]\n", + " id = hit[\"_source\"][\"id\"]\n", + " language = hit[\"_source\"][\"language\"]\n", + " passage = hit[\"_source\"][\"passage\"]\n", + " print()\n", + " print(f\"ID: {id}\")\n", + " print(f\"Language: {language}\")\n", + " print(f\"Passage: {passage}\")\n", + " print(f\"Score: {score}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "e6ssY6dfVrPG", + "outputId": "01625e8c-bef8-485e-e5b8-118f7386d79a" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "ifFbSGkSVrPG", - "outputId": "a14f0ff6-62a2-4ed2-cec3-2dc2bb22e969" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: doc4\n", - "Language: de\n", - "Passage: passage: Ich saß heute bei der Bank und wartete auf mein Geld.\n", - "Score: 0.8967148\n", - "\n", - "ID: doc3\n", - "Language: en\n", - "Passage: passage: I walked to the bank today to deposit money.\n", - "Score: 0.8863925\n" - ] - } - ], - "source": [ - "# Example 2\n", - "pretty_response(query(\"Geldautomat\"))" - ] - }, + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: doc1\n", + "Language: en\n", + "Passage: passage: I sat on the bank of the river today.\n", + "Score: 0.88001645\n", + "\n", + "ID: doc2\n", + "Language: de\n", + "Passage: passage: Ich bin heute zum Flussufer gegangen.\n", + "Score: 0.87662137\n" + ] + } + ], + "source": [ + "# Example 1\n", + "pretty_response(query(\"riverside\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ifFbSGkSVrPG", + "outputId": "a14f0ff6-62a2-4ed2-cec3-2dc2bb22e969" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "YqcLx5fSVrPH", - "outputId": "5a0e2b19-24dd-4ee6-c887-fad26cb24538" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: doc3\n", - "Language: en\n", - "Passage: passage: I walked to the bank today to deposit money.\n", - "Score: 0.87475425\n", - "\n", - "ID: doc2\n", - "Language: de\n", - "Passage: passage: Ich bin heute zum Flussufer gegangen.\n", - "Score: 0.8741033\n" - ] - } - ], - "source": [ - "# Example 3a\n", - "pretty_response(query(\"movement\"))" - ] - }, + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: doc4\n", + "Language: de\n", + "Passage: passage: Ich saß heute bei der Bank und wartete auf mein Geld.\n", + "Score: 0.8967148\n", + "\n", + "ID: doc3\n", + "Language: en\n", + "Passage: passage: I walked to the bank today to deposit money.\n", + "Score: 0.8863925\n" + ] + } + ], + "source": [ + "# Example 2\n", + "pretty_response(query(\"Geldautomat\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "YqcLx5fSVrPH", + "outputId": "5a0e2b19-24dd-4ee6-c887-fad26cb24538" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "SoIXRY-jVrPH", - "outputId": "2285cd2f-7d79-4553-dbea-dc8844841622" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "ID: doc4\n", - "Language: de\n", - "Passage: passage: Ich saß heute bei der Bank und wartete auf mein Geld.\n", - "Score: 0.85991657\n", - "\n", - "ID: doc1\n", - "Language: en\n", - "Passage: passage: I sat on the bank of the river today.\n", - "Score: 0.8561436\n" - ] - } - ], - "source": [ - "# Example 3b\n", - "pretty_response(query(\"stillness\"))" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: doc3\n", + "Language: en\n", + "Passage: passage: I walked to the bank today to deposit money.\n", + "Score: 0.87475425\n", + "\n", + "ID: doc2\n", + "Language: de\n", + "Passage: passage: Ich bin heute zum Flussufer gegangen.\n", + "Score: 0.8741033\n" + ] } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3.11.4 64-bit", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.4" - }, - "vscode": { - "interpreter": { - "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" - } + ], + "source": [ + "# Example 3a\n", + "pretty_response(query(\"movement\"))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "SoIXRY-jVrPH", + "outputId": "2285cd2f-7d79-4553-dbea-dc8844841622" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "ID: doc4\n", + "Language: de\n", + "Passage: passage: Ich saß heute bei der Bank und wartete auf mein Geld.\n", + "Score: 0.85991657\n", + "\n", + "ID: doc1\n", + "Language: en\n", + "Passage: passage: I sat on the bank of the river today.\n", + "Score: 0.8561436\n" + ] } + ], + "source": [ + "# Example 3b\n", + "pretty_response(query(\"stillness\"))" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3.11.4 64-bit", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" }, - "nbformat": 4, - "nbformat_minor": 0 + "vscode": { + "interpreter": { + "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/supporting-blog-content/music-search/elastic_music_search.ipynb b/supporting-blog-content/music-search/elastic_music_search.ipynb index 5373e570..5c8ed02c 100644 --- a/supporting-blog-content/music-search/elastic_music_search.ipynb +++ b/supporting-blog-content/music-search/elastic_music_search.ipynb @@ -1,736 +1,722 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "n6jBQq5ePGYS" - }, - "source": [ - "# Humming search\n", - "# Author: Alex Salgado\n", - "## Obs: Code from blog 'Searching by Music: Leveraging Vector Search for Music Information Retrieval'" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "WVB15gN4cvUP" - }, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/salgado/music-search/blob/main/elastic_music_search.ipynb)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "id": "pZwFi6xBcvUP", - "outputId": "cdc5030f-974f-42f9-f6fd-633b225b5716", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Cloning into 'music-search'...\n", - "remote: Enumerating objects: 40, done.\u001b[K\n", - "remote: Counting objects: 100% (40/40), done.\u001b[K\n", - "remote: Compressing objects: 100% (36/36), done.\u001b[K\n", - "remote: Total 40 (delta 10), reused 27 (delta 4), pack-reused 0\u001b[K\n", - "Receiving objects: 100% (40/40), 8.38 MiB | 27.51 MiB/s, done.\n", - "Resolving deltas: 100% (10/10), done.\n" - ] - } - ], - "source": [ - "!git clone https://github.com/salgado/music-search.git" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "_kHUvq5UBjsa", - "outputId": "27bdfccf-9b4e-4bc5-d1d7-ce7fd585474d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Collecting elasticsearch\n", - " Downloading elasticsearch-8.9.0-py3-none-any.whl (395 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.5/395.5 kB\u001b[0m \u001b[31m6.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting elastic-transport<9,>=8 (from elasticsearch)\n", - " Downloading elastic_transport-8.4.0-py3-none-any.whl (59 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59.5/59.5 kB\u001b[0m \u001b[31m6.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting urllib3<2,>=1.26.2 (from elastic-transport<9,>=8->elasticsearch)\n", - " Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m143.1/143.1 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from elastic-transport<9,>=8->elasticsearch) (2023.7.22)\n", - "Installing collected packages: urllib3, elastic-transport, elasticsearch\n", - " Attempting uninstall: urllib3\n", - " Found existing installation: urllib3 2.0.4\n", - " Uninstalling urllib3-2.0.4:\n", - " Successfully uninstalled urllib3-2.0.4\n", - "Successfully installed elastic-transport-8.4.0 elasticsearch-8.9.0 urllib3-1.26.16\n" - ] - } - ], - "source": [ - "!pip install elasticsearch" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "SBB742d6FbqL", - "outputId": "02d87089-906b-472e-b756-19080b37e2c9" - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Enter Elastic Cloud ID: ··········\n", - "Enter cluster username: ··········\n", - "Enter cluster password: ··········\n" - ] - }, - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "ObjectApiResponse({'name': 'instance-0000000007', 'cluster_name': 'df2380a9e6b0425f9d4bc01639e59cf5', 'cluster_uuid': 'FvCTlZHYQqasErU8cbn4_A', 'version': {'number': '8.8.1', 'build_flavor': 'default', 'build_type': 'docker', 'build_hash': 'f8edfccba429b6477927a7c1ce1bc6729521305e', 'build_date': '2023-06-05T21:32:25.188464208Z', 'build_snapshot': False, 'lucene_version': '9.6.0', 'minimum_wire_compatibility_version': '7.17.0', 'minimum_index_compatibility_version': '7.0.0'}, 'tagline': 'You Know, for Search'})" - ] - }, - "metadata": {}, - "execution_count": 3 - } - ], - "source": [ - "#index data in elasticsearch\n", - "from elasticsearch import Elasticsearch\n", - "import getpass\n", - "\n", - "es_cloud_id = getpass.getpass('Enter Elastic Cloud ID: ')\n", - "es_user = getpass.getpass('Enter cluster username: ')\n", - "es_pass = getpass.getpass('Enter cluster password: ')\n", - "es = Elasticsearch(cloud_id=es_cloud_id,\n", - " basic_auth=(es_user, es_pass)\n", - " )\n", - "es.info() # should return cluster info" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "e55hlxlCFePb" - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "CpDhPsFsFhY4" - }, - "source": [ - "## create index" - ] - }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "n6jBQq5ePGYS" + }, + "source": [ + "# Humming search\n", + "# Author: Alex Salgado\n", + "## Obs: Code from blog 'Searching by Music: Leveraging Vector Search for Music Information Retrieval'" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WVB15gN4cvUP" + }, + "source": [ + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/salgado/music-search/blob/main/elastic_music_search.ipynb)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "pZwFi6xBcvUP", + "outputId": "cdc5030f-974f-42f9-f6fd-633b225b5716", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "id": "JBQgk_q6cvUR" - }, - "outputs": [], - "source": [ - "index_name = \"my-audio-index\"\n" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "Cloning into 'music-search'...\n", + "remote: Enumerating objects: 40, done.\u001b[K\n", + "remote: Counting objects: 100% (40/40), done.\u001b[K\n", + "remote: Compressing objects: 100% (36/36), done.\u001b[K\n", + "remote: Total 40 (delta 10), reused 27 (delta 4), pack-reused 0\u001b[K\n", + "Receiving objects: 100% (40/40), 8.38 MiB | 27.51 MiB/s, done.\n", + "Resolving deltas: 100% (10/10), done.\n" + ] + } + ], + "source": [ + "!git clone https://github.com/salgado/music-search.git" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "_kHUvq5UBjsa", + "outputId": "27bdfccf-9b4e-4bc5-d1d7-ce7fd585474d" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "inRCoHOMBe7r", - "outputId": "f5481309-8b10-4780-a0b0-e71fd89c71ad" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "index created: {'acknowledged': True, 'shards_acknowledged': True, 'index': 'my-audio-index'}\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - ":41: DeprecationWarning: Passing transport options in the API method is deprecated. Use 'Elasticsearch.options()' instead.\n", - " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n", - ":41: DeprecationWarning: The 'body' parameter is deprecated and will be removed in a future version. Instead use individual parameters.\n", - " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n" - ] - } - ], - "source": [ - "from elasticsearch import Elasticsearch\n", - "\n", - "\n", - "# Specify index configuration\n", - "index_config = {\n", - " \"mappings\": {\n", - " \"_source\": {\n", - " \"excludes\": [\"audio-embedding\"]\n", - " },\n", - " \"properties\": {\n", - " \"audio-embedding\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 2048,\n", - " \"index\": True,\n", - " \"similarity\": \"cosine\"\n", - " },\n", - " \"path\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\",\n", - " \"ignore_above\": 256\n", - " }\n", - " }\n", - " },\n", - " \"timestamp\": {\n", - " \"type\": \"date\"\n", - " },\n", - " \"title\": {\n", - " \"type\": \"text\"\n", - " },\n", - " \"genre\": {\n", - " \"type\": \"text\"\n", - " }\n", - " }\n", - " }\n", - "}\n", - "\n", - "# Create index\n", - "if not es.indices.exists(index=index_name):\n", - " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n", - " print(\"index created: \", index_creation)\n", - "else:\n", - " print(\"Index already exists.\")\n" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "Collecting elasticsearch\n", + " Downloading elasticsearch-8.9.0-py3-none-any.whl (395 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.5/395.5 kB\u001b[0m \u001b[31m6.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting elastic-transport<9,>=8 (from elasticsearch)\n", + " Downloading elastic_transport-8.4.0-py3-none-any.whl (59 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59.5/59.5 kB\u001b[0m \u001b[31m6.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting urllib3<2,>=1.26.2 (from elastic-transport<9,>=8->elasticsearch)\n", + " Downloading urllib3-1.26.16-py2.py3-none-any.whl (143 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m143.1/143.1 kB\u001b[0m \u001b[31m15.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from elastic-transport<9,>=8->elasticsearch) (2023.7.22)\n", + "Installing collected packages: urllib3, elastic-transport, elasticsearch\n", + " Attempting uninstall: urllib3\n", + " Found existing installation: urllib3 2.0.4\n", + " Uninstalling urllib3-2.0.4:\n", + " Successfully uninstalled urllib3-2.0.4\n", + "Successfully installed elastic-transport-8.4.0 elasticsearch-8.9.0 urllib3-1.26.16\n" + ] + } + ], + "source": [ + "!pip install elasticsearch" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "SBB742d6FbqL", + "outputId": "02d87089-906b-472e-b756-19080b37e2c9" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "oxJdxHLFF1QX", - "outputId": "0cabd7eb-ff9b-43e9-9dfa-3cd6f951a044" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "mozart_symphony25_guitar-solo\n", - "mozart_symphony25_string-quartet\n", - "mozart_symphony25_jazz-with-saxophone\n", - "bella_ciao_jazz-with-saxophone\n", - "bella_ciao_guitar-solo\n", - "mozart_symphony25_opera-singer\n", - "bella_ciao_string-quartet\n", - "mozart_symphony25_electronic-synth-lead\n", - "a-cappella-chorus\n", - "bella_ciao_piano-solo\n", - "bella_ciao_electronic-synth-lead\n", - "bella_ciao_humming\n", - "mozart_symphony25_tribal-drums-and-flute\n", - "bella_ciao_opera-singer\n", - "mozart_symphony25_piano-solo\n", - "bella_ciao_a-cappella-chorus\n", - "mozart_symphony25_prompt\n", - "bella_ciao_tribal-drums-and-flute\n" - ] - } - ], - "source": [ - "import os\n", - "\n", - "def list_audio_files(directory):\n", - " # The list to store the names of .wav files\n", - " audio_files = []\n", - "\n", - " # Check if the path exists\n", - " if os.path.exists(directory):\n", - " # Walk the directory\n", - " for root, dirs, files in os.walk(directory):\n", - " for file in files:\n", - " # Check if the file is a .wav file\n", - " if file.endswith('.wav'):\n", - " # Extract the filename from the path\n", - " filename = os.path.splitext(file)[0]\n", - " print(filename)\n", - "\n", - " # Add the file to the list\n", - " audio_files.append(file)\n", - " else:\n", - " print(f\"The directory '{directory}' does not exist.\")\n", - "\n", - " # Return the list of .mp3 files\n", - " return audio_files\n", - "\n", - "# Use the function\n", - "audio_path = \"/content/music-search/dataset/\"\n", - "audio_files = list_audio_files(audio_path)\n", - "\n", - "\n" - ] + "name": "stdout", + "output_type": "stream", + "text": [ + "Enter Elastic Cloud ID: ··········\n", + "Enter cluster username: ··········\n", + "Enter cluster password: ··········\n" + ] }, { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "id": "fCQYEOQDAXVm" - }, - "outputs": [], - "source": [ - "!pip install -qU panns-inference librosa" + "output_type": "execute_result", + "data": { + "text/plain": [ + "ObjectApiResponse({'name': 'instance-0000000007', 'cluster_name': 'df2380a9e6b0425f9d4bc01639e59cf5', 'cluster_uuid': 'FvCTlZHYQqasErU8cbn4_A', 'version': {'number': '8.8.1', 'build_flavor': 'default', 'build_type': 'docker', 'build_hash': 'f8edfccba429b6477927a7c1ce1bc6729521305e', 'build_date': '2023-06-05T21:32:25.188464208Z', 'build_snapshot': False, 'lucene_version': '9.6.0', 'minimum_wire_compatibility_version': '7.17.0', 'minimum_index_compatibility_version': '7.0.0'}, 'tagline': 'You Know, for Search'})" ] + }, + "metadata": {}, + "execution_count": 3 + } + ], + "source": [ + "# index data in elasticsearch\n", + "from elasticsearch import Elasticsearch\n", + "import getpass\n", + "\n", + "es_cloud_id = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "es_user = getpass.getpass(\"Enter cluster username: \")\n", + "es_pass = getpass.getpass(\"Enter cluster password: \")\n", + "es = Elasticsearch(cloud_id=es_cloud_id, basic_auth=(es_user, es_pass))\n", + "es.info() # should return cluster info" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "e55hlxlCFePb" + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "CpDhPsFsFhY4" + }, + "source": [ + "## create index" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "JBQgk_q6cvUR" + }, + "outputs": [], + "source": [ + "index_name = \"my-audio-index\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "inRCoHOMBe7r", + "outputId": "f5481309-8b10-4780-a0b0-e71fd89c71ad" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "sCI7uIqXCmsZ", - "outputId": "9aa4f3e2-c0bd-49da-9697-fa06bd909c61" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Checkpoint path: /root/panns_data/Cnn14_mAP=0.431.pth\n", - "Using CPU.\n" - ] - } - ], - "source": [ - "from panns_inference import AudioTagging\n", - "\n", - "# load the default model into the gpu.\n", - "model = AudioTagging(checkpoint_path=None, device='cuda') # change device to cpu if a gpu is not available" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "index created: {'acknowledged': True, 'shards_acknowledged': True, 'index': 'my-audio-index'}\n" + ] }, { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "id": "IiUwmLueCqIf" - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "import librosa\n", - "\n", - "# Function to normalize a vector. Normalizing a vector means adjusting the values measured in different scales to a common scale.\n", - "def normalize(v):\n", - " # np.linalg.norm computes the vector's norm (magnitude). The norm is the total length of all vectors in a space.\n", - " norm = np.linalg.norm(v)\n", - " if norm == 0:\n", - " return v\n", - "\n", - " # Return the normalized vector.\n", - " return v / norm\n", - "\n", - "# Function to get an embedding of an audio file. An embedding is a reduced-dimensionality representation of the file.\n", - "def get_embedding (audio_file):\n", - "\n", - " # Load the audio file using librosa's load function, which returns an audio time series and its corresponding sample rate.\n", - " a, _ = librosa.load(audio_file, sr=44100)\n", - "\n", - " # Reshape the audio time series to have an extra dimension, which is required by the model's inference function.\n", - " query_audio = a[None, :]\n", - "\n", - " # Perform inference on the reshaped audio using the model. This returns an embedding of the audio.\n", - " _, emb = model.inference(query_audio)\n", - "\n", - " # Normalize the embedding. This scales the embedding to have a length (magnitude) of 1, while maintaining its direction.\n", - " normalized_v = normalize(emb[0])\n", - "\n", - " # Return the normalized embedding required for dot_product elastic similarity dense vector\n", - " return normalized_v" - ] + "output_type": "stream", + "name": "stderr", + "text": [ + ":41: DeprecationWarning: Passing transport options in the API method is deprecated. Use 'Elasticsearch.options()' instead.\n", + " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n", + ":41: DeprecationWarning: The 'body' parameter is deprecated and will be removed in a future version. Instead use individual parameters.\n", + " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n" + ] + } + ], + "source": [ + "from elasticsearch import Elasticsearch\n", + "\n", + "\n", + "# Specify index configuration\n", + "index_config = {\n", + " \"mappings\": {\n", + " \"_source\": {\"excludes\": [\"audio-embedding\"]},\n", + " \"properties\": {\n", + " \"audio-embedding\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 2048,\n", + " \"index\": True,\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " \"path\": {\n", + " \"type\": \"text\",\n", + " \"fields\": {\"keyword\": {\"type\": \"keyword\", \"ignore_above\": 256}},\n", + " },\n", + " \"timestamp\": {\"type\": \"date\"},\n", + " \"title\": {\"type\": \"text\"},\n", + " \"genre\": {\"type\": \"text\"},\n", + " },\n", + " }\n", + "}\n", + "\n", + "# Create index\n", + "if not es.indices.exists(index=index_name):\n", + " index_creation = es.indices.create(index=index_name, ignore=400, body=index_config)\n", + " print(\"index created: \", index_creation)\n", + "else:\n", + " print(\"Index already exists.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "oxJdxHLFF1QX", + "outputId": "0cabd7eb-ff9b-43e9-9dfa-3cd6f951a044" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "id": "PvUiFaqIJPE2" - }, - "outputs": [], - "source": [ - "from datetime import datetime\n", - "\n", - "#Storing Songs in Elasticsearch with Vector Embeddings:\n", - "def store_in_elasticsearch(song, embedding, path, index_name, genre, vec_field):\n", - " body = {\n", - " 'audio-embedding' : embedding,\n", - " 'title': song,\n", - " 'timestamp': datetime.now(),\n", - " 'path' : path,\n", - " 'genre' : genre\n", - "\n", - " }\n", - "\n", - " es.index(index=index_name, document=body)\n", - " print (\"stored...\",song, embedding, path, genre, index_name)\n", - "\n" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "mozart_symphony25_guitar-solo\n", + "mozart_symphony25_string-quartet\n", + "mozart_symphony25_jazz-with-saxophone\n", + "bella_ciao_jazz-with-saxophone\n", + "bella_ciao_guitar-solo\n", + "mozart_symphony25_opera-singer\n", + "bella_ciao_string-quartet\n", + "mozart_symphony25_electronic-synth-lead\n", + "a-cappella-chorus\n", + "bella_ciao_piano-solo\n", + "bella_ciao_electronic-synth-lead\n", + "bella_ciao_humming\n", + "mozart_symphony25_tribal-drums-and-flute\n", + "bella_ciao_opera-singer\n", + "mozart_symphony25_piano-solo\n", + "bella_ciao_a-cappella-chorus\n", + "mozart_symphony25_prompt\n", + "bella_ciao_tribal-drums-and-flute\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "\n", + "def list_audio_files(directory):\n", + " # The list to store the names of .wav files\n", + " audio_files = []\n", + "\n", + " # Check if the path exists\n", + " if os.path.exists(directory):\n", + " # Walk the directory\n", + " for root, dirs, files in os.walk(directory):\n", + " for file in files:\n", + " # Check if the file is a .wav file\n", + " if file.endswith(\".wav\"):\n", + " # Extract the filename from the path\n", + " filename = os.path.splitext(file)[0]\n", + " print(filename)\n", + "\n", + " # Add the file to the list\n", + " audio_files.append(file)\n", + " else:\n", + " print(f\"The directory '{directory}' does not exist.\")\n", + "\n", + " # Return the list of .mp3 files\n", + " return audio_files\n", + "\n", + "\n", + "# Use the function\n", + "audio_path = \"/content/music-search/dataset/\"\n", + "audio_files = list_audio_files(audio_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "fCQYEOQDAXVm" + }, + "outputs": [], + "source": [ + "!pip install -qU panns-inference librosa" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "sCI7uIqXCmsZ", + "outputId": "9aa4f3e2-c0bd-49da-9697-fa06bd909c61" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "N2m1ViF3Cw7t", - "outputId": "72e69712-60af-4a5e-c4b3-21b9e754401b" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "stored... mozart_symphony25_guitar-solo.wav [0. 0.03304292 0. ... 0.00757442 0. 0. ] /content/music-search/dataset//mozart_symphony25_guitar-solo.wav guitar my-audio-index\n", - "stored... mozart_symphony25_string-quartet.wav [0. 0. 0. ... 0.02552068 0. 0. ] /content/music-search/dataset//mozart_symphony25_string-quartet.wav string my-audio-index\n", - "stored... mozart_symphony25_jazz-with-saxophone.wav [0. 0. 0. ... 0.0032542 0. 0. ] /content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav jazz my-audio-index\n", - "stored... bella_ciao_jazz-with-saxophone.wav [0. 0.00063776 0. ... 0.00766881 0.00809752 0. ] /content/music-search/dataset//bella_ciao_jazz-with-saxophone.wav jazz my-audio-index\n", - "stored... bella_ciao_guitar-solo.wav [0. 0.0221919 0. ... 0.00023983 0. 0. ] /content/music-search/dataset//bella_ciao_guitar-solo.wav guitar my-audio-index\n", - "stored... mozart_symphony25_opera-singer.wav [0. 0. 0. ... 0.02008585 0. 0. ] /content/music-search/dataset//mozart_symphony25_opera-singer.wav opera my-audio-index\n", - "stored... bella_ciao_string-quartet.wav [0. 0. 0. ... 0.02983136 0. 0. ] /content/music-search/dataset//bella_ciao_string-quartet.wav string my-audio-index\n", - "stored... mozart_symphony25_electronic-synth-lead.wav [0. 0.00024901 0. ... 0.04454654 0.0603435 0. ] /content/music-search/dataset//mozart_symphony25_electronic-synth-lead.wav generic my-audio-index\n", - "stored... a-cappella-chorus.wav [0. 0.02836778 0. ... 0.02595067 0.02352854 0. ] /content/music-search/dataset//a-cappella-chorus.wav generic my-audio-index\n", - "stored... bella_ciao_piano-solo.wav [0. 0. 0. ... 0.01568016 0.04890013 0. ] /content/music-search/dataset//bella_ciao_piano-solo.wav piano my-audio-index\n", - "stored... bella_ciao_electronic-synth-lead.wav [0. 0. 0. ... 0.02660546 0.03412616 0. ] /content/music-search/dataset//bella_ciao_electronic-synth-lead.wav generic my-audio-index\n", - "stored... bella_ciao_humming.wav [0. 0.01029461 0. ... 0.07024138 0.00545542 0. ] /content/music-search/dataset//bella_ciao_humming.wav humming my-audio-index\n", - "stored... mozart_symphony25_tribal-drums-and-flute.wav [0. 0. 0. ... 0.03785052 0.03278063 0. ] /content/music-search/dataset//mozart_symphony25_tribal-drums-and-flute.wav generic my-audio-index\n", - "stored... bella_ciao_opera-singer.wav [0. 0. 0. ... 0.03254001 0. 0. ] /content/music-search/dataset//bella_ciao_opera-singer.wav opera my-audio-index\n", - "stored... mozart_symphony25_piano-solo.wav [0. 0.00863423 0. ... 0.00270792 0.02372581 0. ] /content/music-search/dataset//mozart_symphony25_piano-solo.wav piano my-audio-index\n", - "stored... bella_ciao_a-cappella-chorus.wav [0. 0.03191019 0. ... 0.03001107 0.00014891 0. ] /content/music-search/dataset//bella_ciao_a-cappella-chorus.wav generic my-audio-index\n", - "stored... mozart_symphony25_prompt.wav [0. 0. 0. ... 0.03432674 0.01389641 0. ] /content/music-search/dataset//mozart_symphony25_prompt.wav prompt my-audio-index\n", - "stored... bella_ciao_tribal-drums-and-flute.wav [0. 0.01298603 0. ... 0.03869031 0.02441213 0. ] /content/music-search/dataset//bella_ciao_tribal-drums-and-flute.wav generic my-audio-index\n" - ] - } - ], - "source": [ - "\n", - "# Initialize a list genre for test\n", - "genre_lst = ['jazz', 'opera', 'piano','prompt', 'humming', 'string', 'capella', 'eletronic', 'guitar']\n", - "\n", - "for filename in audio_files:\n", - " audio_file = audio_path + \"/\" + filename\n", - "\n", - " emb = get_embedding(audio_file)\n", - "\n", - " song = filename.lower()\n", - "\n", - " # Compare if genre list exists inside the song\n", - " genre = next((g for g in genre_lst if g in song), \"generic\")\n", - "\n", - " store_in_elasticsearch(song, emb, audio_file, index_name, genre, 2 )\n" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "Checkpoint path: /root/panns_data/Cnn14_mAP=0.431.pth\n", + "Using CPU.\n" + ] + } + ], + "source": [ + "from panns_inference import AudioTagging\n", + "\n", + "# load the default model into the gpu.\n", + "model = AudioTagging(\n", + " checkpoint_path=None, device=\"cuda\"\n", + ") # change device to cpu if a gpu is not available" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "id": "IiUwmLueCqIf" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import librosa\n", + "\n", + "\n", + "# Function to normalize a vector. Normalizing a vector means adjusting the values measured in different scales to a common scale.\n", + "def normalize(v):\n", + " # np.linalg.norm computes the vector's norm (magnitude). The norm is the total length of all vectors in a space.\n", + " norm = np.linalg.norm(v)\n", + " if norm == 0:\n", + " return v\n", + "\n", + " # Return the normalized vector.\n", + " return v / norm\n", + "\n", + "\n", + "# Function to get an embedding of an audio file. An embedding is a reduced-dimensionality representation of the file.\n", + "def get_embedding(audio_file):\n", + "\n", + " # Load the audio file using librosa's load function, which returns an audio time series and its corresponding sample rate.\n", + " a, _ = librosa.load(audio_file, sr=44100)\n", + "\n", + " # Reshape the audio time series to have an extra dimension, which is required by the model's inference function.\n", + " query_audio = a[None, :]\n", + "\n", + " # Perform inference on the reshaped audio using the model. This returns an embedding of the audio.\n", + " _, emb = model.inference(query_audio)\n", + "\n", + " # Normalize the embedding. This scales the embedding to have a length (magnitude) of 1, while maintaining its direction.\n", + " normalized_v = normalize(emb[0])\n", + "\n", + " # Return the normalized embedding required for dot_product elastic similarity dense vector\n", + " return normalized_v" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "id": "PvUiFaqIJPE2" + }, + "outputs": [], + "source": [ + "from datetime import datetime\n", + "\n", + "\n", + "# Storing Songs in Elasticsearch with Vector Embeddings:\n", + "def store_in_elasticsearch(song, embedding, path, index_name, genre, vec_field):\n", + " body = {\n", + " \"audio-embedding\": embedding,\n", + " \"title\": song,\n", + " \"timestamp\": datetime.now(),\n", + " \"path\": path,\n", + " \"genre\": genre,\n", + " }\n", + "\n", + " es.index(index=index_name, document=body)\n", + " print(\"stored...\", song, embedding, path, genre, index_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "N2m1ViF3Cw7t", + "outputId": "72e69712-60af-4a5e-c4b3-21b9e754401b" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "id": "saGfzIfsDmEa" - }, - "outputs": [], - "source": [ - "# Define a function to query audio vector in Elasticsearch\n", - "def query_audio_vector(es, emb, field_key, index_name):\n", - " # Initialize the query structure\n", - " # It's a bool filter query that checks if the field exists\n", - " query = {\n", - " \"bool\": {\n", - " \"filter\": [{\n", - " \"exists\": {\n", - " \"field\": field_key\n", - " }\n", - " }]\n", - " }\n", - " }\n", - "\n", - " # KNN search parameters\n", - " # field is the name of the field to perform the search on\n", - " # k is the number of nearest neighbors to find\n", - " # num_candidates is the number of candidates to consider (more means slower but potentially more accurate results)\n", - " # query_vector is the vector to find nearest neighbors for\n", - " # boost is the multiplier for scores (higher means this match is considered more important)\n", - " knn = {\n", - " \"field\": field_key,\n", - " \"k\": 2,\n", - " \"num_candidates\": 100,\n", - " \"query_vector\": emb,\n", - " \"boost\": 100\n", - " }\n", - "\n", - " # The fields to retrieve from the matching documents\n", - " fields = [\"title\", \"path\", \"genre\", \"body_content\", \"url\"]\n", - "\n", - " # The name of the index to search\n", - " index = index_name\n", - "\n", - " # Perform the search\n", - " # index is the name of the index to search\n", - " # query is the query to use to find matching documents\n", - " # knn is the parameters for KNN search\n", - " # fields is the fields to retrieve from the matching documents\n", - " # size is the maximum number of matches to return\n", - " # source is whether to include the source document in the results\n", - " resp = es.search(index=index,\n", - " query=query,\n", - " knn=knn,\n", - " fields=fields,\n", - " size=5,\n", - " source=False)\n", - "\n", - " # Return the search results\n", - " return resp\n" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "stored... mozart_symphony25_guitar-solo.wav [0. 0.03304292 0. ... 0.00757442 0. 0. ] /content/music-search/dataset//mozart_symphony25_guitar-solo.wav guitar my-audio-index\n", + "stored... mozart_symphony25_string-quartet.wav [0. 0. 0. ... 0.02552068 0. 0. ] /content/music-search/dataset//mozart_symphony25_string-quartet.wav string my-audio-index\n", + "stored... mozart_symphony25_jazz-with-saxophone.wav [0. 0. 0. ... 0.0032542 0. 0. ] /content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav jazz my-audio-index\n", + "stored... bella_ciao_jazz-with-saxophone.wav [0. 0.00063776 0. ... 0.00766881 0.00809752 0. ] /content/music-search/dataset//bella_ciao_jazz-with-saxophone.wav jazz my-audio-index\n", + "stored... bella_ciao_guitar-solo.wav [0. 0.0221919 0. ... 0.00023983 0. 0. ] /content/music-search/dataset//bella_ciao_guitar-solo.wav guitar my-audio-index\n", + "stored... mozart_symphony25_opera-singer.wav [0. 0. 0. ... 0.02008585 0. 0. ] /content/music-search/dataset//mozart_symphony25_opera-singer.wav opera my-audio-index\n", + "stored... bella_ciao_string-quartet.wav [0. 0. 0. ... 0.02983136 0. 0. ] /content/music-search/dataset//bella_ciao_string-quartet.wav string my-audio-index\n", + "stored... mozart_symphony25_electronic-synth-lead.wav [0. 0.00024901 0. ... 0.04454654 0.0603435 0. ] /content/music-search/dataset//mozart_symphony25_electronic-synth-lead.wav generic my-audio-index\n", + "stored... a-cappella-chorus.wav [0. 0.02836778 0. ... 0.02595067 0.02352854 0. ] /content/music-search/dataset//a-cappella-chorus.wav generic my-audio-index\n", + "stored... bella_ciao_piano-solo.wav [0. 0. 0. ... 0.01568016 0.04890013 0. ] /content/music-search/dataset//bella_ciao_piano-solo.wav piano my-audio-index\n", + "stored... bella_ciao_electronic-synth-lead.wav [0. 0. 0. ... 0.02660546 0.03412616 0. ] /content/music-search/dataset//bella_ciao_electronic-synth-lead.wav generic my-audio-index\n", + "stored... bella_ciao_humming.wav [0. 0.01029461 0. ... 0.07024138 0.00545542 0. ] /content/music-search/dataset//bella_ciao_humming.wav humming my-audio-index\n", + "stored... mozart_symphony25_tribal-drums-and-flute.wav [0. 0. 0. ... 0.03785052 0.03278063 0. ] /content/music-search/dataset//mozart_symphony25_tribal-drums-and-flute.wav generic my-audio-index\n", + "stored... bella_ciao_opera-singer.wav [0. 0. 0. ... 0.03254001 0. 0. ] /content/music-search/dataset//bella_ciao_opera-singer.wav opera my-audio-index\n", + "stored... mozart_symphony25_piano-solo.wav [0. 0.00863423 0. ... 0.00270792 0.02372581 0. ] /content/music-search/dataset//mozart_symphony25_piano-solo.wav piano my-audio-index\n", + "stored... bella_ciao_a-cappella-chorus.wav [0. 0.03191019 0. ... 0.03001107 0.00014891 0. ] /content/music-search/dataset//bella_ciao_a-cappella-chorus.wav generic my-audio-index\n", + "stored... mozart_symphony25_prompt.wav [0. 0. 0. ... 0.03432674 0.01389641 0. ] /content/music-search/dataset//mozart_symphony25_prompt.wav prompt my-audio-index\n", + "stored... bella_ciao_tribal-drums-and-flute.wav [0. 0.01298603 0. ... 0.03869031 0.02441213 0. ] /content/music-search/dataset//bella_ciao_tribal-drums-and-flute.wav generic my-audio-index\n" + ] + } + ], + "source": [ + "# Initialize a list genre for test\n", + "genre_lst = [\n", + " \"jazz\",\n", + " \"opera\",\n", + " \"piano\",\n", + " \"prompt\",\n", + " \"humming\",\n", + " \"string\",\n", + " \"capella\",\n", + " \"eletronic\",\n", + " \"guitar\",\n", + "]\n", + "\n", + "for filename in audio_files:\n", + " audio_file = audio_path + \"/\" + filename\n", + "\n", + " emb = get_embedding(audio_file)\n", + "\n", + " song = filename.lower()\n", + "\n", + " # Compare if genre list exists inside the song\n", + " genre = next((g for g in genre_lst if g in song), \"generic\")\n", + "\n", + " store_in_elasticsearch(song, emb, audio_file, index_name, genre, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "id": "saGfzIfsDmEa" + }, + "outputs": [], + "source": [ + "# Define a function to query audio vector in Elasticsearch\n", + "def query_audio_vector(es, emb, field_key, index_name):\n", + " # Initialize the query structure\n", + " # It's a bool filter query that checks if the field exists\n", + " query = {\"bool\": {\"filter\": [{\"exists\": {\"field\": field_key}}]}}\n", + "\n", + " # KNN search parameters\n", + " # field is the name of the field to perform the search on\n", + " # k is the number of nearest neighbors to find\n", + " # num_candidates is the number of candidates to consider (more means slower but potentially more accurate results)\n", + " # query_vector is the vector to find nearest neighbors for\n", + " # boost is the multiplier for scores (higher means this match is considered more important)\n", + " knn = {\n", + " \"field\": field_key,\n", + " \"k\": 2,\n", + " \"num_candidates\": 100,\n", + " \"query_vector\": emb,\n", + " \"boost\": 100,\n", + " }\n", + "\n", + " # The fields to retrieve from the matching documents\n", + " fields = [\"title\", \"path\", \"genre\", \"body_content\", \"url\"]\n", + "\n", + " # The name of the index to search\n", + " index = index_name\n", + "\n", + " # Perform the search\n", + " # index is the name of the index to search\n", + " # query is the query to use to find matching documents\n", + " # knn is the parameters for KNN search\n", + " # fields is the fields to retrieve from the matching documents\n", + " # size is the maximum number of matches to return\n", + " # source is whether to include the source document in the results\n", + " resp = es.search(\n", + " index=index, query=query, knn=knn, fields=fields, size=5, source=False\n", + " )\n", + "\n", + " # Return the search results\n", + " return resp" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 76 }, + "id": "MCNIaA3_EGIH", + "outputId": "3da1c5ea-e5b6-4c6c-c640-5f4d612857ef" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 76 - }, - "id": "MCNIaA3_EGIH", - "outputId": "3da1c5ea-e5b6-4c6c-c640-5f4d612857ef" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {}, - "execution_count": 13 - } + "output_type": "execute_result", + "data": { + "text/plain": [ + "" ], - "source": [ - "# Import necessary modules for audio display from IPython\n", - "from IPython.display import Audio, display\n", - "\n", - "# Provide the URL of the audio file\n", - "my_audio = \"/content/music-search/dataset/bella_ciao_humming.wav\"\n", - "\n", - "# Display the audio file in the notebook\n", - "Audio(my_audio)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "id": "Vws3Aow4EV9W" - }, - "outputs": [], - "source": [ - "audio_file = \"/content/music-search/dataset/bella_ciao_humming.wav\"\n", - "# Generate the embedding vector from the provided audio file\n", - "# 'get_embedding' is a function that presumably converts the audio file into a numerical vector\n", - "emb = get_embedding(audio_file)\n", - "\n", - "# Query the Elasticsearch instance 'es' with the embedding vector 'emb', field key 'audio-embedding',\n", - "# and index name 'my-audio-index'\n", - "# 'query_audio_vector' is a function that performs a search in Elasticsearch using a vector embedding.\n", - "# 'tolist()' method is used to convert numpy array to python list if 'emb' is a numpy array.\n", - "resp = query_audio_vector (es, emb.tolist(), \"audio-embedding\",\"my-audio-index\")\n" + "text/html": [ + "\n", + " \n", + " " ] + }, + "metadata": {}, + "execution_count": 13 + } + ], + "source": [ + "# Import necessary modules for audio display from IPython\n", + "from IPython.display import Audio, display\n", + "\n", + "# Provide the URL of the audio file\n", + "my_audio = \"/content/music-search/dataset/bella_ciao_humming.wav\"\n", + "\n", + "# Display the audio file in the notebook\n", + "Audio(my_audio)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "Vws3Aow4EV9W" + }, + "outputs": [], + "source": [ + "audio_file = \"/content/music-search/dataset/bella_ciao_humming.wav\"\n", + "# Generate the embedding vector from the provided audio file\n", + "# 'get_embedding' is a function that presumably converts the audio file into a numerical vector\n", + "emb = get_embedding(audio_file)\n", + "\n", + "# Query the Elasticsearch instance 'es' with the embedding vector 'emb', field key 'audio-embedding',\n", + "# and index name 'my-audio-index'\n", + "# 'query_audio_vector' is a function that performs a search in Elasticsearch using a vector embedding.\n", + "# 'tolist()' method is used to convert numpy array to python list if 'emb' is a numpy array.\n", + "resp = query_audio_vector(es, emb.tolist(), \"audio-embedding\", \"my-audio-index\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "qz5bCtu2FlKx", + "outputId": "a14b9201-4dd1-49b5-c9eb-c099ddd780f3" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "qz5bCtu2FlKx", - "outputId": "a14b9201-4dd1-49b5-c9eb-c099ddd780f3" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "{'total': {'value': 18, 'relation': 'eq'},\n", - " 'max_score': 100.0,\n", - " 'hits': [{'_index': 'my-audio-index',\n", - " '_id': 'b-FjHYoBwzxpWbqUtJsw',\n", - " '_score': 100.0,\n", - " 'fields': {'genre': ['humming'],\n", - " 'title': ['bella_ciao_humming.wav'],\n", - " 'path': ['/content/music-search/dataset//bella_ciao_humming.wav']}},\n", - " {'_index': 'my-audio-index',\n", - " '_id': 'I_5jHYoBSIrryGYbvxS_',\n", - " '_score': 86.1148,\n", - " 'fields': {'genre': ['opera'],\n", - " 'title': ['bella_ciao_opera-singer.wav'],\n", - " 'path': ['/content/music-search/dataset//bella_ciao_opera-singer.wav']}},\n", - " {'_index': 'my-audio-index',\n", - " '_id': 'auFjHYoBwzxpWbqUapvZ',\n", - " '_score': 0.0,\n", - " 'fields': {'genre': ['guitar'],\n", - " 'title': ['mozart_symphony25_guitar-solo.wav'],\n", - " 'path': ['/content/music-search/dataset//mozart_symphony25_guitar-solo.wav']}},\n", - " {'_index': 'my-audio-index',\n", - " '_id': 'Hf5jHYoBSIrryGYbcBSS',\n", - " '_score': 0.0,\n", - " 'fields': {'genre': ['string'],\n", - " 'title': ['mozart_symphony25_string-quartet.wav'],\n", - " 'path': ['/content/music-search/dataset//mozart_symphony25_string-quartet.wav']}},\n", - " {'_index': 'my-audio-index',\n", - " '_id': 'Hv5jHYoBSIrryGYbdhRb',\n", - " '_score': 0.0,\n", - " 'fields': {'genre': ['jazz'],\n", - " 'title': ['mozart_symphony25_jazz-with-saxophone.wav'],\n", - " 'path': ['/content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav']}}]}" - ] - }, - "metadata": {}, - "execution_count": 15 - } - ], - "source": [ - "resp['hits']\n" + "output_type": "execute_result", + "data": { + "text/plain": [ + "{'total': {'value': 18, 'relation': 'eq'},\n", + " 'max_score': 100.0,\n", + " 'hits': [{'_index': 'my-audio-index',\n", + " '_id': 'b-FjHYoBwzxpWbqUtJsw',\n", + " '_score': 100.0,\n", + " 'fields': {'genre': ['humming'],\n", + " 'title': ['bella_ciao_humming.wav'],\n", + " 'path': ['/content/music-search/dataset//bella_ciao_humming.wav']}},\n", + " {'_index': 'my-audio-index',\n", + " '_id': 'I_5jHYoBSIrryGYbvxS_',\n", + " '_score': 86.1148,\n", + " 'fields': {'genre': ['opera'],\n", + " 'title': ['bella_ciao_opera-singer.wav'],\n", + " 'path': ['/content/music-search/dataset//bella_ciao_opera-singer.wav']}},\n", + " {'_index': 'my-audio-index',\n", + " '_id': 'auFjHYoBwzxpWbqUapvZ',\n", + " '_score': 0.0,\n", + " 'fields': {'genre': ['guitar'],\n", + " 'title': ['mozart_symphony25_guitar-solo.wav'],\n", + " 'path': ['/content/music-search/dataset//mozart_symphony25_guitar-solo.wav']}},\n", + " {'_index': 'my-audio-index',\n", + " '_id': 'Hf5jHYoBSIrryGYbcBSS',\n", + " '_score': 0.0,\n", + " 'fields': {'genre': ['string'],\n", + " 'title': ['mozart_symphony25_string-quartet.wav'],\n", + " 'path': ['/content/music-search/dataset//mozart_symphony25_string-quartet.wav']}},\n", + " {'_index': 'my-audio-index',\n", + " '_id': 'Hv5jHYoBSIrryGYbdhRb',\n", + " '_score': 0.0,\n", + " 'fields': {'genre': ['jazz'],\n", + " 'title': ['mozart_symphony25_jazz-with-saxophone.wav'],\n", + " 'path': ['/content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav']}}]}" ] + }, + "metadata": {}, + "execution_count": 15 + } + ], + "source": [ + "resp[\"hits\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "uEgpWT60FpOx", + "outputId": "0baea339-861a-4586-97ce-31d3450bca4d" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "uEgpWT60FpOx", - "outputId": "0baea339-861a-4586-97ce-31d3450bca4d" - }, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content/music-search/dataset//bella_ciao_humming.wav\n", - "/content/music-search/dataset//bella_ciao_opera-singer.wav\n", - "/content/music-search/dataset//mozart_symphony25_guitar-solo.wav\n", - "/content/music-search/dataset//mozart_symphony25_string-quartet.wav\n", - "/content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav\n" - ] - } - ], - "source": [ - "NUM_MUSIC = 5 # example value\n", - "\n", - "for i in range(NUM_MUSIC):\n", - " path = resp['hits']['hits'][i]['fields']['path'][0]\n", - " print(path)" - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/music-search/dataset//bella_ciao_humming.wav\n", + "/content/music-search/dataset//bella_ciao_opera-singer.wav\n", + "/content/music-search/dataset//mozart_symphony25_guitar-solo.wav\n", + "/content/music-search/dataset//mozart_symphony25_string-quartet.wav\n", + "/content/music-search/dataset//mozart_symphony25_jazz-with-saxophone.wav\n" + ] + } + ], + "source": [ + "NUM_MUSIC = 5 # example value\n", + "\n", + "for i in range(NUM_MUSIC):\n", + " path = resp[\"hits\"][\"hits\"][i][\"fields\"][\"path\"][0]\n", + " print(path)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 76 }, + "id": "mBu7mqUZFtt_", + "outputId": "8615fdd6-b5c4-452f-8039-ce5e16f300d0" + }, + "outputs": [ { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/", - "height": 76 - }, - "id": "mBu7mqUZFtt_", - "outputId": "8615fdd6-b5c4-452f-8039-ce5e16f300d0" - }, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "" - ], - "text/html": [ - "\n", - " \n", - " " - ] - }, - "metadata": {}, - "execution_count": 17 - } + "output_type": "execute_result", + "data": { + "text/plain": [ + "" ], - "source": [ - "Audio(\"/content/music-search/dataset/bella_ciao_opera-singer.wav\")" + "text/html": [ + "\n", + " \n", + " " ] + }, + "metadata": {}, + "execution_count": 17 } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.12" - } + ], + "source": [ + "Audio(\"/content/music-search/dataset/bella_ciao_opera-singer.wav\")" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3", + "name": "python3" }, - "nbformat": 4, - "nbformat_minor": 0 + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 0 } \ No newline at end of file diff --git a/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb b/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb index 12a0ba5a..8ad9c31d 100644 --- a/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb +++ b/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb @@ -1,558 +1,565 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "f96b815e" - }, - "source": [ - "# Build a Generative AI application using Elasticsearch and OpenAI" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "e0f537af" - }, - "source": [ - "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "349e0e74" - }, - "source": [ - "This notebook demonstrates how to:\n", - "- Index the OpenAI Wikipedia vector dataset into Elasticsearch\n", - "- Build a simple Gen AI application with Streamlit that retrieves context using Elasticsearch and formulate answers using OpenAI\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "8nGNmWM3idlK" - }, - "source": [ - "![Screenshot 2023-08-16 at 3.27.07 PM.png](data:image/png;base64,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hYWFYn8VFRdKUVGxlBSXmBe5eaRS2H4olhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE6qyAVvZyuaLEFeWS6OgoiY6KkZiY/V919sK5MAQQQACBOiugATApMbFlDYBRAazO3mcuDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEaqFAampnU7PS/EcFsFp49zhlBBBAAAEEEEAAgf9n7356JVnS+zBnjba2REoguNC95Cw5kNBdklYk4e5p4J4LCPaCXHAhQX8AfwRCo4W0oSDvBuAX4YL8DLZnZlvnwAbHgCRTBjcEYQ4JCVoI0KSisuqXFZmVlZVVdbpPdZ/ncDBvRWbEG288GafuuSMFkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBL1rAAbAv+vFaHAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECn7PA937t15q2/F/3BrDtq8D++Kc//ZzXo3YCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8MQL9G8D+2T//X9vy0/z0p//PF7M4CyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDnLLA9ALb96d4Atv3gANhWwQ8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgReXuB73/u1Zvvir5U3gL38w1ABAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaoHBG8BWzar545/+tL7vMwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi8kEB/AOz3/s3/Vt4E9vPmP/7H/++FSjEtAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg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HWh6H3UoN04I5wDY+w8P2x7NZvOYLCIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKDAev22m33lANgLPgVTEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYELAAbAJFJcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwDwIOgN3DU1ADAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJgS6A2Bt26zef3hom/Jh8/g00c0lAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjUAtUbwL5pm2bVbDaPn7oG8xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAhEB1AKy8Aaz8OAA2oeQSAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXkCgOgBW3gBWjoBtHp9eoAxTEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBYoDoA5g1gYxxtAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKSAyaDzggAAQABJREFUA2AvqW9uAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAgcDoB9/5u2Wa2azeZxprtbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCpBLoDYG05+vX+w0O7ndQBsE9Fbx4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMCxzeAOYA2LyUuwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjEAg6AfWJw0xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCpQHcArG2b1XtvAFtqph8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+icDoDWBts9k8fZKJTUKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC8wKjA2BNOQD2OD/CXQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4JALdAbC2bVbvPzy0TeMNYJ9E3SQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYIOANYAuQdCFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBLCKzfvmma1SpvAGuazebxJeowJwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMBIYHwNq22Tw+jbpoEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBLCKzXb7tpV+8/PLTbT94A9hKPwZwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4FnAA7NjEFQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNyFwPrtm6ZZrZrdG8Dattk8Pt1FYYogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAaxfwBrDXvgOsnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBuxWo3gD2TVveBdZsNo93W6zCCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8JoERm8Aa8sBsKfXtH5rJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwN0KOAB2t49GYQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvHaB6gDYN23TrMobwB5fu4n1EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4C4EqgNgD+UAWOMA2F08FkUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgaXYHwNpm9f6DA2A2BAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECX77Ab/7Gr3eL/NGPf3L3ix29AawtbwB7uvuiFUiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFLBbYHv/7oD/+gH7Y9APbDH/5+c88HwUYHwJpyAOyxX4APBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+FIEtoe/8vavek2/9Mtf1c27+uwA2F09DsUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAxBMZv/6rn+K3f/p27fQuYA2D1k/KZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEvUsABsC/ysVoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfisCf/9mfHi3lRz/+SbN9A9i9/nRvAGvbZvX+w0PblA+bx6d7rVVdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuFpg+xawH/zgd5ttzM/28Nf2ENi9/nQHwEpx5QDYN20JzWbzeK+1qosAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI3C+QA2D0f/MoiqwNg5Q1g5ccBsNCIBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeFmB6gBYeQNYOQK2eXx62YrMToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdQHUAzBvA7AkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBL58gd/8jV/vFvmjH//k7hfrANjdPyIFEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwHALbg19/9Id/0KfaHgD74Q9/v7nng2CHA2Df/6ZtVqtms3nsF+ADAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvhSB7eGvvP2rXtMv/fJXdfOuPncHwNpy9Ov9h4d2W5kDYHf1fBRDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAzCIzf/lWn/K3f/p27fQvY4Q1gDoDVz8xnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+IAEHwL6gh2kpBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8eQJ//md/erSoH/34J832DWD3+tO9Aaxtm9V7bwC712ekLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnkFg+xawH/zgd5ttzM/28Nf2ENi9/nQHwEpx+wNgbbPZPN1rreoiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAzQI5AHbPB7+yyNEBsKYcAHvMPZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXlCgOwDWtt4A9oLPwNQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYFPAGsEkWFwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+FIFfvM3fr1b2o9+/JO7X+L67ZumWa3yBrCm2Wwe775oBRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBSge3Brz/6wz/oh20PgP3wh7/f3PNBsOEBsLZtNo9P/QJ8IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwJcisD38lbd/1Wv6pV/+qm7e1ef1+m1Xz+r9h4d2+8kbwO7q+SiGAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFnEBi//atO+Vu//Tt3+xYwB8DqJ+UzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfpMBnewDs7ZumWa2a3RvA2rbZPD59kQ/IoggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeN0Cf/5nf3oE8KMf/6TZvgHsXn+8Aexen4y6CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4VoHtW8B+8IPfbbYxP9vDX9tDYPf6sz68AeybtrwLrNlsHu+1VnURIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgZoEcALvng19Z5OgNYG05APaUeyIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKCAA2AviG9qAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAlUB8C+aZtmVd4A9jjX3z0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+EQC1QGwh3IArHEA7BPBm4YAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLnBHYHwNpm9f6DA2DnsNwnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxQYvQGsLW8Ae/qU85uLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBE4IjA6ANeUA2OOJri4TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwKcUcADsU2qbiwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhcIOAB2AZauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+JQCDoB9Sm1zESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4AKB7gBY2zar9x8e2qZ82Dw+XTBcVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4WALVG8C+aZtm1Ww2jx9rLnkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4AKB6gBYeQNY+XEA7AI9XQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPARBaoDYOUNYOUI2Obx6SNOJzUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILBWoDoB5A9hSNP0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwKQQcAPsUyuYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAFQKHA2Df/6ZtVqtms3m8Io0hBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPDcAt0BsLYc/Xr/4aHdJncA7LmJ5SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMB1Aoc3gDkAdp2gUQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhIAg6AfSRYaQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHCrQHcArG2b1XtvALvV0ngCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8q8DoDWBts9k8PesEkhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdQKjA2BNOQD2eF0mowgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgWQW6A2Bt26zef3hom8YbwJ5VVzICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjcIOANYDfgGUqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGPKbB++6ZpVqu8AaxpNpvHjzmf3AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwUGB4AKxtm83j08KhuhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAxxRYr9926VfvPzy020/eAPYxueUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAcgEHwJZb6UmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFPKrB++6ZpVqtm9wawtm02j0+ftACTESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMC0QP8GsHcfvm2bphwA2zgANk3lKgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJ5H4J//03+8KNFXX/3t8gKw8gawdx8eygGwxgGwRWw6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4HqBpQfAvv76q26ScgDMG8Cu5zaSAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECywWWHgD7lV/5umnb1hvAltPqSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdsElh4A270BbJUDYKtms3m8bWajCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBWYOkBMG8Am2V0kwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAs8vsPQAWPcGsLbxBrDnfwQyEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYFpg6QEwbwCb9nOVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECH03AAbCPRisxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEbhNYegDs66+/6iZavfvw0G4/bTZPt81sNAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMCjgANsvjJgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF5OYOkBsF/5la+btrz6q7wB7NsSWm8Ae7lnZmYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF6JwNIDYF9//VUOgD205fxXs3l8eiVElkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGXEVh+AOzrUmC7fQNYOQDWrMobwB5fpmKzEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4JUILD8A9lWzWq22B8C+LQfA2nIAzBvAXskesUwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF5IYPkBsPoNYOUI2ObRAbAXemamJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDglQgsPwD2VSdS3gD2UI5/lQNg3gD2SraIZRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8FIClx0AWzX7A2CrcgDs8aVqNi8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRehcDyA2Bfdx6rd98vbwBbeQPYq9gdFkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIsKLD8A9lXTtI03gL3o0zI5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKvSuCiA2DlzV+rdx/KG8DKz2bz9KqgLJYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKfWuCSA2Cr1XccAPvUD8h8BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi8XoF/+k/+UfOd1eoswNdff9X8/Oc/3x4A+7a8Aaz1BrCzZDoQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgNoH/5X/+h83f+pu/eDbJ9gDYX/3Vf/IGsLNSOhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCZBP7u3/le8w/+/t87m+3rr79u/vinP3UA7KyUDgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHhGgSVvAfsbf+MXmv/9//g/HQB7RnepCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcFbgr/+P/0Pz7t3/1Pytv/mLk33//7/4WfOXP/tZ85//y39xAGxSyEUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8ZIG/+3e+13z3u99tfvEXf6Gb6Wc/+8vmT/7kT5r/6//+42b99k3TrMp/3n14aLd3N5unj1yO9AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwRGB3AGy1PwBWjoBtHh0AWwKnDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD62wHr9tkzRegPYx4aWnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApcKrNdvuiGrdx++Le//apvNxhvALkXUnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAh9DYP22HABblf+8+/DQlvNfzebRAbCPAS0nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIELhVYr9+WIe32AJg3gF2Kpz8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+psDwDWBlps3GG8A+JrjcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWCqwXr/punoD2FIx/QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCJBNbrt2WmtikHwB7a7ZzeAPaJ5E1DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMwLVG8C2B8BW5QDY45khbhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxDwBrBPoWwOAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIXCHgDWBXoBlCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBTyHgDWCfQtkcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuELAAbAr0AwhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxBYr99006zefXhot582m6dPMa85CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCMgANgZ4DcJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEsJrNdvy9RtU94A9m15A1jrDWAv9STMS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZFA9wawcvKrHAB7aMv5r2bz+DTqokmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLyHQHQArE+8OgDWr8gawx5eow5wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBLYHQBbbQ+AfVve/9WWA2DeADYy0iRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCLCAzfAFaOgG0eHQB7kSdhUgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEhgfAyk1vABsJaRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCFBEYHwFblANjjC5ViWgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoBQ4HwL7/0DYrbwCrcXwmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASwp0B8Daplm9+1AOgJUTYN4A9pKPw9wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4CBzeANYdAPMGsAONTwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHhZgd0BsFXeAOYA2Ms+DrMTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgINAdAGub7QGwb0tom83m6XDXJwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4MYHdG8C6A2AP5QCYN4C92JMwMQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEYCDoCNQDQJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwLwLr9dumadtm9e6DN4Ddy0NRBwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLYC3QGwxgEwu4EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ3J7B++6ZpVuU/3gB2d89GQQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvHKB3QGw1f4AWNs0m8enV05i+QQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELgPgfX6bSmk9Qaw+3gcqiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBBYL1+0zVW7z58W97/1TabjTeAHXh8IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwMsJrN+WA2Cr8p93Hx7acv6r2Tw6APZyj8PMBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQOAis129Lo90eAPMGsAOLTwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHh5geEbwEo9m403gL38Y1EBAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmma9ftMxeAOY3UCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7E1iv35aK2qYcAHtot7V5A9idPSHlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwagWqN4BtD4CtygGwx1eLYeEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4JwFvALunp6EWAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVALeAFZh+EiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF7EvAGsHt6GmohQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJeAAWIXhIwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBO5JYL1+05Wzevfhod1+2mye7qk+tRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODVCjgA9mofvYUTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHDvAuv121Ji25Q3gH1b3gDWegPYvT8x9REgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8GoEujeAlZNf5QDYQ1vOfzWbx6dXs3gLJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwD0LdAfASoG7A2DNqrwB7PGe61UbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXo3A7gDYansA7Nvy/q+2HADzBrBX8/QtlAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBuxYYvgGsHAHbPDoAdtdPTHEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLwageEBsLJsbwB7Nc/eQgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuHOB0QGwVTkA9njnJSuPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECr0PgcADs+w9ts/IGsNfx2K2SAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHPQaA7ANY2zerdh3IArJwA8wawz+GxqZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdcgcHgDWHcAzBvAXsNDt0YCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD4Pgd0BsFXeAOYA2Ofx2FRJgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBrEOgOgLXN9gDYtyW0zWbz9BrWbY0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4e4HdG8C6A2AP5QCYN4Dd/RNTIAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECr0bAAbBX86gtlAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBz01gvX7bNG3brN598Aawz+3hqZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgS9boDsA1jgA9mU/ZasjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCzFFi/fdM0q/IfbwD7LJ+fogkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+IIFdgfAVvsDYG3TbB6fvuDlWhoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+H4H1+m0ptvUGsM/nkamUAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHXIrBev+mWunr34dvy/q+22Wy8Aey1PHzrJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgvgXWb8sBsFX5z7sPD205/9VsHh0Au+9HpjoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF6LwHr9tiy13R4A8waw1/LQrZMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgc9DYPgGsFLzZuMNYJ/Ho1MlAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfusB6/aZbojeAfelP2voIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjsBNbrt6XmtikHwB7abfXeAPbZPUMFEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwhQpUbwDbHgBblQNgj1/oUi2LAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECn5eAN4B9Xs9LtQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvCIBbwB7RQ/bUgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+LwEvAHs83peqiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BUJOAD2ih62pRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8HkJrNdvuoJX7z48tNtPm83T57UC1RIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOALFXAA7At9sJZFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDnL7Bevy2LaJvyBrBvyxvAWm8A+/yfqRUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCFCHRvACsnv8oBsIe2nP9qNo9PX8jSLIMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKft0B3AKwsYXcArFmVN4A9ft4rUj0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI/Hf27gO8qXr/4/g3Zf1FtkjZe9PFElkV0IKIgIADBQcyRRQURFFUVEQERVBUQERAlmwEZO8tqwVk0yIbZAoXLqPt/5xwU9I2OTnnNEmT9J3n3ifJ7/zOb7xO2ua593z4IoAAAggggAACCCCAAAIIIIAAAgEicDcAZlEDYI2V+l+JSgCMCmABcm3ZBgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII+LlA8gpgSgQsOoYAmJ9fU5aPAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIBIpA8AKZsigpgAXJl2QYCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCPi9QIoAmEUJgMX4/abYAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAIAvcCYA2iEsVCBbBAuKjsAQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEAkPAGgBLFLFENlQCYEoCjApggXFh2QUCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCPi/wL0KYNYAGBXA/P+SsgMEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEAgUgbsBMIutAhgBsEC5sOwDAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQT8X8AaAEsUNQDWWHlKlOjoXf6/K3aAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIBIDA3Qpg1gBYlBIAowJYAFxTtoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgEiQAAsQC4k20AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgcATiIgIF0lMFEtkQyqABd7lZUcIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIODPAtYAmBAA8+dryNoRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBABSLCw0Qsyn+oABagV5htIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIICA3wrcDYBZ/hcASxSJjtnlt5th4QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEAgCUREhCvbSaQCWCBdVPaCAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKBIRAREWbdiCWyYWOl/leiREdTASwwLi27QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABfxeICFcCYBblP5ENoxKV/JdExxAA8/eLyvoRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCAwBCIiwpWNJKoBMCqABcYlZRcIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAoAskrgCm7io6mAligXFz2gQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC/i0QERFm3QAVwPz7OrJ6BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAIQIGIiHBlV4miBMCiEtX9UQEsAK8yW0IAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAb8UsKsApgbALEoALMYvN8KiEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgUAToAJYoF1R9oMAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgEjQAWwgLmUbAQBBBBAAAEEEEAAAQQQQDO2Gh8AAEAASURBVAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAJNgApggXZF2Q8CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCASMAAGwgLmUbAQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAJNICIizLolS2TDqET1VXT0rkDbI/tBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE/FKAAJhfXjYWjQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACGUEgIiJc2WaiKBXAGisVwBKpAJYRrjp7RAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABvxCwVgBTkl9KACwqUcl/SXTMLr9YOItEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEAl3AGgBTNnk3ACYWpQJYTKDvmf0hgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACfiFwNwBmUQNgjZX6X4lKAIwKYH5x5VgkAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggEvEDyCmBKBCw6hgBYwF91NogAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAn4hkDwApiyZCmB+cd1YJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIZACBFAEwixIAi8kA22aLCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAgO8L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XxonnfzHhk43uq05AbBPP/0sZp11luiaVFJqje2LL76MgRv9X4wY+UlrdBdrrbl63HXHrc0OTA197fWsElndwTR33VsaAEvHkf59eWcSvOrWrVvdYbXacfquH5NU37vq6mlX+JprrjnjwX/dHUsvvVSrPDv9fX/gQYfHLbf9M5oa2m1uACwd+LZbbxUXXnB2k/+cmtakp1aVc2a+O13mmD3uvvO26N17pWkNvUXn0j/bdt5tj1p/Tjanw/b6b5XmWLmHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIwSqK7unXWdBMAGJd8pkRMAm1HS+iVAgAABAgQIECBAgAABAiUosOQSi8dZf/tLrL3Wmq36jdjFFGlY4uGHH40DDzmsRdUpivtsaP8XCy8U555zZvRbd51Wn8uIESPjoosvi8uuuKqhR0+zrb1+U/UHw95sVuWT9QYMitffeHOaps09+drgl2KBBXo0+fbPPx8VK/TuU+++thgA23+/38bJJx5Xb6zTa3gjMU++fji9y5p1fovNN4vLL2texb+6oY7mhjl22Gm36DLHHNmfEbPPPnuz5pHe9PHHI2LHnXdvlUo0zQmApX8Wrbn2enHTjdfEOn37NnseaSXGiy65rMUhtoYGMHDD9eP6a//erBDY6NGjY6ll64dlmrvurREAy89xj913ieOOOybmmnPOfFOLP9O/H596+pkkhHVYk0J4hx1yYBx15GHNMs4P+vEnnoz099c3o8dkTZ07doxPRn6QPz3dz5YEwNLO0/fksqQiaWtVyLrp5lvjgAMPrTfutvDurLvOWnHO2WfGoj171htfcxvSColptbzWqorVXv+t0lx/9xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYEQLVVUkArCL5L6sAlkTAagarADYjoPVJgAABAgQIECBAgAABAgRKWSANT+25x29io0EbxJJLLhEdOnRo0XTSqiJvvvlW3H7HXXHd9TcWvsG8RZ028uZ0Lmf8+Y+x1tprtugby3/44Yd44omn4tQ//jnefufdRj69/mXN+abq1G7d/gPrdzaNlosuOCe23WaraVzR8Kl119uw1b6BPP+EWWbpHCM+fK/JQbzx48fHQossme+m1T+vTEJImydhpKZuaXWeHgstVu+2iy88N7bZest67dNrWCiptDU++T0yI7a/X3Fp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AQJlISAAJgBWFi+ySRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgToC1dVVSUsukgpgg5IKYDkVwOoAOSRAgAABAgQIECBAgAABAgQIECBAoDQEBMAEwErjTTVKAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQNIGsAliS/EoCYANzSf4ragYPaVoPriZAgAABAgQIECBAgAABAgQIECBAgEAbEBAAEwBrA6+hIRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVYXyAJgSa9TAmBRkVQAG9zqD9EhAQIECBAgQIAAAQIECBAgQIAAAQIEZrSAAJgA2Ix+x/RPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmhsCUAFhFGgAblNT/yiUBMBXAZsZCeCYBAgQIECBAgAABAgQIECBAgAABAi0TEAATAGvZG+RuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQNgVqVwBLImA1gwXA2uZSGRUBAgQIECBAgAABAgQIECBAgAABAtMSaG4A7PobboqDDjliWl3/7OcefuCeWHnl6iY9d/LkydF9wUWbdI+LCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbYvUDsAloxXBbC2v2hGSIAAAQIECBAgQIAAAQIECBAgQIBAfYHOHTvGBhuuX//EdFqef/6F+Gb0mOlc9fOeXmH5XtGz5yJNeuioUaPi5VdqmnSPiwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG2L1AnAFaRBMAGt/1RGyEBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTagcD/AmD9B+aiQgWwdrDmpkiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIkIZAGwXERFvwFJACxJgKkAViIrZ5gECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS9wP8qgGUBMBXAyn7FTZAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIRmBIAq8hXABMAK5mVM1ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpeIAuA5SINgA1KPnJRUzOk7CdtggQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgFgSkVwLIA2MAkAKYCWCksmjESIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINA+BATA2sc6myUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUoUF1dFZHLRUW/ASqAleD6GTIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUskAXAQgCsjJfY1AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKFWB6qreERXJfyqAleoSGjcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuUqMCUAVvHfAFguombwkHKdq3kRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgpASqq6uS8eZUACupVTNYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTahUB1de9snhX9BgxK6n/loqZGBbB2sfImSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAmxeorkoCYBXJf/0GDMwl+a+oGSwA1uZXzQAJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgXAtXVVck8c2kATAWwdrHiJkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMkI1K4Algy7pkYFsJJZPQMlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCsBaqre2fzUwGsrJfZ5AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKEWB6uqqZNi5SAJgA3PpBFQAK8VlNGYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpRoKgCWBoAq0gCYIPLcZ7mRIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZITUAGs5JbMgAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaC8CKoC1l5U2TwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESk5ABbCSWzIDJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgvQgIgLWXlTZPAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKTqC6unc25op+Awbm0r2amiElNwkDJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQDkKCICV46qaEwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZSFQXV2VzCMXSQWwQUkFsJwKYGWxrCZBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEA5CGQVwJLkVxIAG5hL8l9RM3hIOczLHAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFDyAlkALJnFlABYVCQVwAaX/KRMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuUgMCUAVpEGwAYl9b9ySQBMBbByWFhzIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg9AVqVwBLImA1gwXASn9ZzYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgXIQqB0AS2akAlg5LKs5ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQDgJ1AmAVSQBscDnMyxwIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ8gL/C4D1H5iLChXASn5FTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbIRyAJguYiKfgOSAFiSAFMBrGzW1kQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEChxgf9VAMsCYCqAlfh6Gj4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUkMCUAVpGvACYAVkZrayoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS4QBYAy0UaABuUfOSipmZIiU/J8AkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAeAlMqgGUBsIFJAEwFsPJYVrMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAcBATAymEVzYEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbIUqK6uisjloqLfABXAynKFTYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIVyAJgIQBWsgto4AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlK9AdVXviIrkPxXAyneRzYwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdIUmBIAq/hvACwXUTN4SGnOxKgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQZgLV1VXJjHIqgJXZupoOAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJlIFBd3TubRUW/AYOS+l+5qKlRAawM1tUUCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoA4HqqiQAVpH812/AwFyS/4qawQJgZbCupkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBkIVFdXJbPIpQEwFcDKYD1NgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMhKoXQEsmVhNjQpgZbS+pkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQAkLVFf3zkavAlgJL6KhEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQngLV1VXJxHKRBMAG5tIpqgBWngttVgQIECBAgAABAgQIECBAgACB9iaw6847xP77/y7ee/e92Pu3+8e4H35obwTmS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAYCRRXA0gBYRRIAG1wG0zIFAgQIECBAgAABAgQIECBAIBW49OLzY801V28UxhFHHhsPPfxoo651EYG2LtC5Y8cY8fGwqKyszIZ6xl/PijPOPLutD9v4CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTUAGsHokGAgQIECBAgAABAgQIECBQPgIvPPdkLLnE4o2a0FHHHBdXXnVNo66d3kWL9vxFPPTAvdllO+y0W7zyqh84Mz0z55smsOceu8WRhx8SP/74Y1Stsma9mysrK2LkR8OiU6dO2bk/HHdSXHr5lfWu00CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrQuoANbWV8j4CBAgQIAAAQIECBAgQIBACwSKA2BDh742zZ72O+DgePOtt6d5TWNPrj9gvbjlpuuyy7fdfuf492NPNPZW1xFolMD55/4tdth+28jlcjH/Aj0bvKf/euvEfr/bN9566604+dTTY9KkyQ1ep5EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWxZQAawtr46xESBAgAABAgQIECBAgACBFgoUB8C6L9gzJk/OtbDHxt2+807bxzln/TW7WACscWauaprATTf8IzbcYMA0A2BN69HVBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNqmgABY21wXoyJAgAABAgQIECBAgAABAq0i0NoBsFlnmSU22XhQjBkzJp557vn46afxDY7ziMMOjqOOPCw719gA2IIL9Ij+/fvFO++8Gy+/UtNgv1NrXKBHjxgwoF88++xz8eFHI6Z2Wau0z9u1a/asb77+Jp5++tkYP3Fiq/Tb2E6qq1aKxRdbLB5/4sn4ZvSYxt4Wa6y+Wizas2c88eQT8fmoLxt9X0svrKysiH7r9o155503Hn/8qfj6m2+m2+USyfz6rLpKjB49Op566pn48aef6t3z4L/ujj59Vm61AFhrrOt8880bAzfcIN568+0YPHTozxa4rIejgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoKwEqqt7Z/Op6DdgYPYjwGtqhpTVBE2GAAECBAgQIECAAAECBAi0Z4HmBsB6LbdsPPn4wxndr369dcwyS+e44LxzokeP7lFRUVEgveYf18VhRxxTOD7zjD/FTjtuFx07dixcl8v9r+rYd99/H4sv2atwfbqz5x67xSknHZ88Y5ZCe3rP0888G9ttt3O9gNVHH7wds802W1x+xVVx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89uggRvE9UmlvLSiXt2qb/lrfBIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFsgCYEnDlABYVCQ/PXpw8Xn7BAgQIECAAAECBAgQIECAQAkLNCYAlk5vvh6L1JplcQDsiSefiq222bHW+fTguacfi6WXnhLMWnrZFeOb0WMK10wvAFYcArrs8ivj2ONOKtyb3zn04N/HscccmR32XGyZGPfDD9l+cQBsi622jaeefi5/yzQ/09DZR8PfyUJGaXBs6eX+VwErvfGTj4dlgbRRo76I5VdaJeureJzDhr0fa6y9Xr1nzJtUunrrjZqs37phutYKgE1MqmQttsRy8WMShmvMdsWlF8avf/2r7NK777439tj7d/Vu22nH7eLcs8/M2lszAJYP7qXBqF8sulSt0FZ+EB998HbMPvvsWdW2rbfdKWvOt6WBta222X6669qS4CdubwAAQABJREFUAFhL17U4AJZWH7vyqmvyUyt8fjbygywg+e1338XiS/YqtKc76TuzaM9F4lU/iKmWiwMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGGBaYEwCrSANigpP5XLgmAqQDWMJVWAgQIECBAgAABAgQIECBQegLFAbDzzr8ocrnJ9SaRVlU6/c9/rdVeHAD792NPRFrFq+521x23RN+118qa+667frz9zruFS6YXAPvL6afGnnvunl3/p+TZHwwfnu0X/5L2vduuU5672eZbxXPP/yc7nQ+AjRkzJpZcZsXiW6a7f+ftN8U6fftm1w3a+JfxyqtTfhDO+v37xS03X5+1X3bFVXHsH07M9ovHWbcKWvHDisNwK1WtGp9+9nl2urUCYE8+9XRsufUOxY+c5n5x5au6a5O/cUYFwD7/ZHhSsatDfPXVV3HMH07IP67W5zln/TULgL3/wfBYfc11s3NXXX5x/OpXvyxcl1bHOuvsc+Oee+8vtBXvtCQA1tJ1LQ6AHXb4UXHNtTcUDy3b/2DYmzFnly4xfvz4WGiRJeud10CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgsQK1K4AlEbAaP3m4sXauI0CAAAECBAgQIECAAAECbV6gOADWfcGeMXly8v/8N2JrTADs9ttujH7rrpP1VjdkNL0A2L/uvSNWX23VRoxk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IECAAAECBAgQIECAAAECBEpOoLq6KhlzTgWwkls5AyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoOwFqqt7Z3Os6DdgUFL/Kxc1NSqAlf2qmyABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUhUF2VBMAqkv/6DRiYS/JfUTNYAKwkVs4gCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoe4Hq6qpkjrk0AKYCWNmvtgkSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBSArUrgCVDr6lRAaykVtBgCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoW4Hq6t7Z3FQAK9slNjECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEpVoLq6Khl6LpIA2MBcOgkVwEp1KY2bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFyEyiqAJYGwCqSANjgcpuj+RAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAkBVQAK8llM2gCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNqDgApg7WGVzZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIUUAGsJJfNoAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaA8CAmDtYZXNkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkhSoru6djbui34CBuXSvpmZISU7EoAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBuAgJg5bai5kOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkIVFdXJXPJRVIBbFBSASynAljZLK2JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ6gJZBbAk+ZUEwAbmkvxX1AweUupzMn4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUhUAWAEtmMiUAFhVJBbDBZTExkyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECpC0wJgFWkAbBBSf2vXBIAUwGs1BfV+AkQIECAAAECBAgQIECAQGMFKisqYtZZZo2OnTtHpw4do0Pyv8rKisbe7joCBAgQIECAAAECBAgQIECAAAECBAgQaIbA5Mm5mDRpYkxI/jdx/Pj48acfY3Iu+fYtGwECBAgQIECAAAECBAgQIECgAYHaFcCSryHUDBYAa8BJEwECBAgQIECAAAECBAgQKCuBTh07xmyzzxGzzzpbWc3LZAgQIECAAAECBAgQIECAAAECBAgQIFCqAuN+/CF+GPd9TJg4sVSnYNwECBAgQIAAAQIECBAgQIDADBKoHQBLHqIC2AyS1i0BAgQIECBAgAABAgQIEGgjAnPNMWfMPscchdFMnDAh+cmyk6OiskNSAawyKisqC+fsECBAgAABAgQIECBAgAABAgQIECBAgEDrC6Rfk500aXLkJk/KvibbsVOnwkPGff99jP3+28KxHQIECBAgQIAAAQIECBAgQIBAnQBYRRIAG0yFAAECBAgQIECAAAECBAgQKEOBtOrXXHPOHZ3++40E4yeMjw5Z6KtDGc7WlAgQIECAAAECBAgQIECAAAECBAgQIFA6ApMmTYpJSRisc6fO2aAnJD+4a+y3Y1QDK50lNFICBAgQIECAAAECBAgQIDBDBf4XAOs/MBcVKoDNUG2dEyBAgAABAgQIECBAgACBmSTQOQl9zTP3vFFZWRETJ06MXDKONBBmI0CAAAECBAgQIECAAAECBAgQIECAAIG2IzAh+fpt8i1c0TH5+u3kybkYPebrGJ+EwWwECBAgQIAAAQIECBAgQIBA+xbIAmDJN31V9BuQBMCSLx+oANa+XwizJ0CAAAECBAgQIECAAIHyE0iDXl3n6ZaFv9KqX/mfIFt+MzUjAgQIECBAgAABAgQIECBAgAABAgQIlIdA/mu5aQjsm9FfqQRWHstqFgQIECBAgAABAgQIECBAoNkC/6sAlgXAVABrtqQbCRAgQIAAAQIECBAgQIBAGxXo1rVbdEoqgOW/YaCNDtOwCBAgQIAAAQIECBAgQIAAAQIECBAgQKBIIP813QlJBbCvvvmq6IxdAgQIECBAgAABAgQIECBAoL0JTAmAVeQrgAmAtbcXwHwJECBAgAABAgQIECBAoLwF5ppjzph9jjli4sSJ0TGpBGYjQIAAAQIECBAgQIAAAQIECBAgQIAAgdIRyH9td9z338fY778tnYEbKQECBAgQIECAAAECBAgQINCqAlkALBdpAGxQ8pGLmpohrfoAnREgQIAAAQIECBAgQIAAAQIzR6BTEvjqNu982cMnJAGw9NhGgAABAgQIECBAgAABAgQIECBAgAABAqUjUPy13a++/jLSYxsBAgQIECBAgAABAgQIECDQ/gSmVADLAmADkwCYCmDt7xUwYwIECBAgQIAAAQIECBAoV4G55po7Zp91thg/YXx07tS5XKdpXgQIECBAgAABAgQIECBAgAABAgQIEChrgfzXeMf9+EOMHTumrOdqcgQIECBAgAABAgQIECBAgEDDAgJgDbtoJUCAAAECBAgQIECAAAECJS1QWVER3efvkc1h0qRJ0aFDh5Kej8ETIECAAAECBAgQIECAAAECBAgQIECgvQoUf4131Befx+Rc9nO+2yuHeRMgQIAAAQIECBAgQIAAgXYpUF1dFZF8TaCi3wAVwNrlG2DSBAgQIECAAAECBAgQIFCWAmnlr7QC2MQJE6Jjp05lOUeTIkCAAAECBAgQIECAAAECBAgQIECAQHsRyH+tN60AllYCsxEgQIAAAQIECBAgQIAAAQLtSyALgIUAWPtadbMlQIAAAQIECBAgQIAAgbIXSMNfaQhs/PifonPnWcp+viZIgAABAgQIECBAgAABAgQIECBAgACBchbIf603DX+lITAbAQIECBAgQIAAAQIECBAg0L4Eqqt6R1Qk/6kA1r4W3mwJECBAgAABAgQIECBAoLwFunXtFp2Syl8TJk6MTh07lvdkzY4AAQIECBAgQIAAAQIECBAgQIAAAQJlLpD/Wu+ECRPiq2++KvPZmh4BAgQIECBAgAABAgQIECBQV2BKAKzivwGwXETN4CF1r3FMgAABAgQIECBAgAABAgQIlJhA9/l6RGVlRUzOTY7KisoSG73hEiBAgAABAgQIECBAgAABAgQIECBAgECxQP5rvZMn52LUl58Xn7JPgAABAgQIECBAgAABAgQItAOB6uqqZJY5FcDawVqbIgECBAgQIECAAAECBAi0I4EFui/QjmZrqgQIECBAgAABAgQIECBAgAABAgQIEGg/Ap+N+qz9TNZMCRAgQIAAAQIECBAgQIAAgUygurp39lnRb8CgpP5XLmpqVADzbhAgQIAAAQIECBAgQIAAgVIXEAAr9RU0fgIECBAgQIAAAQIECBAgQIAAAQIECDQsIADWsItWAgQIECBAgAABAgQIECBQzgLVVUkArCL5r9+Agbkk/xU1gwXAynnBzY0AAQIECBAgQIAAAQIE2oeAAFj7WGezJECAAAECBAgQIECAAAECBAgQIECg/QkIgLW/NTdjAgQIECBAgAABAgQIECBQXV2VIOTSAJgKYF4HAgQIECBAgAABAgQIECBQLgICYOWykuZBgAABAgQIECBAgAABAgQIECBAgACB2gICYLU9HBEgQIAAAQIECBAgQIAAgfYgULsCWDLjmhoVwNrDwpsjAQIECBAgQIAAAQIECJS3gABYea+v2REgQIAAAQIECBAgQIAAAQIECBAg0H4FBMDa79qbOQECBAgQIECAAAECBAi0X4Hq6t7Z5FUAa7/vgJkTIECAAAECBAgQIECAQBkKCICV4aKaEgECBAgQIECAAAECBAgQIECAAAECBBIBATCvAQECBAgQIECAAAECBAgQaH8C1dVVyaRzkQTABubS6asA1v5eAjMmQIAAAQIECBAgQIAAgfITEAArvzU1IwIECBAgQIAAAQIECBAgQIAAAQIECKQCAmDeAwIECBAgQIAAAQIECBAg0P4EiiqApQGwiiQANrj9KZgxAQIECBAgQIAAAQIECBAoMwEBsDJbUNMhQIAAAQIECBAgQIAAAQIECBAgQIDAfwUEwLwKBAgQIECAAAECBAgQIECg/QmoANb+1tyMCRAgQIAAAQIECBAgQKAdCAiAtYNFNkUCBAgQIECAAAECBAgQIECAAAECBNqlgABYu1x2kyZAgAABAgQIECBAgACBdi6gAlg7fwFMnwABAgQIECBAgAABAgTKU0AArDzX1awIECBAgAABAgQIECBAgAABAgQIECAgAOYdIECAAAECBAgQIECAAAEC7U9ABbD2t+ZmTIAAAQIECBAgQIAAAQLtQEAArB0ssikSIECAAAECBAgQIECAAAECBAgQINAuBQTA2uWymzQBAgQIECBAgAABAgQItHMBAbB2/gKYPgECBAgQIECAAAECBAiUp4AAWHmuq1kRIECAAAECBAgQIECAAAECBAgQIEBAAMw7QIAAAQIECBAgQIAAAQIE2p9AdXXvbNIV/QYMzKV7NTVD2p+CGRMgQIAAAQIECBAgQIAAgTITKMUAWNeu88SSSy6RrcSY0WPi3feGldmqmE5jBHr2XCS6d58/u/Tjj0fE55+PasxtriFAgAABAgQIECBAgAABAgQIECDQbgQEwNrNUpsoAQIECBAgQIAAAQIECBAoCAiAFSjsECBAgAABAgQIECBAgACB8hEoxQDY3nv/Jg46cL9sET799LMYOGizNrcgs846a+zxm11iiSUWj6v+fm288cabbW6MpT6g66+7KqqqVsqmce+998fRx5xQ6lNqE+Pv0mWOSL8Q+M4778WoUV+0iTEZBAECBAgQIECAAAECBAgQIECAQPMEBMCa5+YuAgQIECBAgAABAgQIECBQygLV1VXJ8HORVAAblFQAy6kAVsqraewECBAgQIAAAQIECBAgQOC/Aq0VAFtjjdVi3XXXznr96KMRccst/5yq8e677xzzzdctO3/JJVfEd9993+C1q6xSHeuvv1527uGH/x2DBw/N9kshAHbJxefFOuuslY138uTJsfoa68WPP/7Y4Dxbo3GZZZaOX/1q0wa7Gv/T+Bgx8pMYPvzDeOutd2LcuHENXldqjQJgrbdi888/X5x++smxwvLLxVxzzVXoOH13H3nksTjm2BPip+Q9shEgQIAAAQIECBAgQIAAAQIECJSWgABYaa2X0RIgQIAAAQIECBAgQIAAgdYQyCqAJcmvJAA2MJfkv6Jm8JDW6FcfBAgQIECAAAECBAgQIECAwEwUaK0A2IG//13ss88e2UzGjx8fq/Tp2+Cs0spYL734VOHcKaf+eaphsauuvDhWX33V7No0AHbIoUdl+6UQAHvwwbtj4YUWLMzzwAMPj38/9kThuLV39tpz9zj44P2n220ul4vXXnsj/nbWefHSS69M9/qZcUGvXsvGKqusnD36vvvuj9GjxzQ4DAGwBlma3LjWmqvHRRedE506dZrqveka9FtvUKSBMBsBAgQIECBAgAABAgQIECBAgEDpCAiAlc5aGSkBAgQIECBAgAABAgQIEGgtgSwAlnQ2JQAWFUkFsMGt1bd+CBAgQIAAAQIECBAgQIAAgZkk0FoBsJVWWiFuvOHqwizWWXfDBoM7m2/+y/jjaScWrnvu+f/E3ns3HFx6/LEHCpXCioNipRAAO+ig/WPvvXbP5jl27NhYZ92BMzQ809gAWB4+DYIddNARMzSUln9WUz/PPfevscH6/bPb9txrv3jhhRcb7EIArEGWJjUuv3yvuPmma6KioiK7L63y9dZbb8dnn30eq622Ssw777yF/u65519JJbD//d4tnLBDgAABAgQIECBAgAABAgQIECDQZgUEwNrs0hgYAQIECBAgQIAAAQIECBCYYQJTAmAVaQBsUFL/K5cEwFQAm2HaOiZAgAABAgQIECBAgAABAj+TQGsFwNLhDhn8QlRWVmYjP/qYE+Lee++vN4sLLzgr1ltv3UL7t99+G2utvX7huHinuL8B628SX3zxZXa6FAJg6UDTCmA9FugRr7xSUzytGbJfHAAbM2Zs7LX3ftlz0vVYcMEFYpFFfhGbbrJRLLfcMoWwT1rNafU11osff/xxhoypuZ1ec81l0ee/FcAEwJqr2Pj78r8n06Dd3vscUCuo+OADd8XCCy+UdZa+V33X2aDxHbuSAAECBAgQIECAAAECBAgQIEBgpgsIgM30JTAAAgQIECBAgAABAgQIECDwswvUrgCWRMBqBguA/eyr4IEECBAgQIAAAQIECBAgQKCVBVozAPbYv++P+eefLxvhHXfeE8cff0q90T791CMxzzxz12pvqFrY0kstGXfccVN23fjx42OVPn0L95RKAKww4J9hpzgA9uWXX0X/ARs3+NSNNx4YZ/719MK5o446Pu771wOF47awk657uv7pJgD286zICiv0itdff7Pew3baafs45ujDsva0atxKvVevd40GAgQIECBAgAABAgQIECBAgACBtisgANZ218bICBAgQIAAAQIECBAgQIDAjBKoHQBLnqIC2Iyi1i8BAgQIECBAgAABAgQIEPj5BFozAHbxxefGuuusnQ3+3Xffiy223KHWRLp0mSOef+7xrG3ChAnRqVOnbP8vZ5wV1157Y61r99xjtzjkkAOytuHDP4xfbrZ14XxxAOyTTz6NQRv9qnAurbq1/gb944MPhseLL74cP/00vnBuejvp+PquvVbM261rPPnkMzFy5CfTu6VVzqcVulZeuSrmnbdrvPD8i/Hue8Oa3G9jA2Bpxw89eHcslDilWxr+SkNg09o6d+6crWuPHt3j2Wefj+EffjSty+uda+r9jzx8byyQVE5Lt8YGwO666974w3EnF57du/eKUVW1Uvb1qzTYlFY7a+w2s96D/Pi6dp0n+vfvl435ySefjm++GZ0/1aTPlvxeyD+oW7d544nHH8wOBcDyKj4JECBAgAABAgQIECBAgAABAqUjIABWOmtlpAQIECBAgAABAgQIECBAoLUE6gTAKpJvoBncWn3rhwABAgQIECBAgAABAgQIEJhJAq0ZANtllx3iqCMPzWbyww8/xGqr96s1q2223iJOPPHYrO3OJLDz681/me2nQa3f7LFvrWsvuvDs6Ndvnaztnnv+Fccce2LhfHEA7MMPP47NfrV1VtVq3XXXjtlmm61wXbrz4IOPxGGHH1Orre7BlltuHkcfdWjMPvvstU5NnDgxnnzqmTj00KMj3W/KtuuuO8YRhx+c3ZKG0X61+bb1bt88mf8xRx8eaeCoeEvDSm+99XYSgDsqRiYBt8ZsTQmA3XrLddGr17JZt7fcenuccsqfGnxEGqI679wzY775utU6P2nSpLj//ofi6GNOqNVe96Ap96+00gpx1ZUXZ6HAjh07FrpKQ0fF28WXXBEXXXRZ1nT9dVdlIa/0IJ3HpZdeGeefd2Yss8zSUdxH6vnnP/8tbrjxluKu6u039T2YZZbO8Z8XnozKysqsr9/td1A8/fRz9frNN9x4w9Wx4orLZ4eXXnZlXHDBpflT2ecOO2wThx7y+3rvcBpiTEOSt9zyz1rXpwfF79mpp/0lbrvtjjj7rL/E2muvUa+fxvxeqPuA4gpgY8aMjb7rbFD3EscECBAgQIAAAQIECBAgQIAAAQJtWEAArA0vjqERIECAAAECBAgQIECAAIEZJPC/AFj/gbmoUAFsBjnrlgABAgQIECBAgAABAgQI/KwCrRkASysOPZhUl8pvq662bvz444/5w7js0vOTYMqa2fH6G2wajz5yX1RUVMT334+LNdZcr3BdulNcBSqtUJVWqspvxQGwUaO+iA4dOkRaqWhq26OPPh4HHXxEvdNpSOiKyy+MVVddpd654oaxY8fGXnsfEG+88WZx8zT3i8f46aefxcBBm9W6frvtto7jjzuqVlvdgzT8tNfe+8cLL7xY91S948YGwNJqXM8+82jMOuusWR/bbb9rpBWy6m4HHbR/7LXnbtn61D2XP06rr6Xhu4aqrDX1/rXWXD0uT9Zietvf/35t/O2s87LLigNgg4cMjRWW71Ur+FW3rzREmIYJ627/z959h9lV1XsD/500QjoJRaWHHiBzCDWUSJCEIhYUUUSsF1EsV+T6CjZEFLAgXtCriCCKioIIIooFQSAhlBBmAgRiIBRpoaYT0s671w7ncGbSJpnJ5Mycz37CnF3WXnutz9rzB/PMd35teQ/+9tc/xuabvynvcsKEO+PEjy+rWtfyGcn9nonjKp7V7un56Xtjn332anlbs+O//T0LM57aPMxY/Z6lUN7ee++5XGCvupOVfS9Utynvp3Gld6UcjGxNtbjyvT4JECBAgAABAgQIECBAgAABAgRqQ0AArDbWwSgIECBAgAABAgQIECBAgEBHCuQBsOxvLhdGjc4CYFkCTAWwjuT3LAIECBAgQIAAAQIECBAgsG4E2jMAlkZ476Tb8ypOaf+zn/2fuOnmW9JuvqUwyYABA/LA0J57HRA333RDbLLJxvm10YccEc8//8JrLbM/PHPvhEqYZ7+RB8fcufMq16pDL5WT2c7LL8+Me7OK5b032CBGjty3ErZJFaD2Gzk65s+fX908vvudb8URR4ytnEsVjsaNvz1mZv2kMM4OO2xfuZaev/8Bh0TqqzVb9RhXFABrarwjD66lvlLALAVz7rxrYozYoyHe+tYjom/fPpHG8+aDD2tV9bHWBMA22mijPPC200475FNYuHBhjNjzgOWmc+iho+MH53+ncv6FF16Mq6++Np586unYd9+9461HHlaxvSqrOHXmmWdX2qadtbk/je1HP/x+/u6Uq5Olvp544j95QDDtp+2SS38Rf/3rP/L96gBYfiL7kkJzT2eBu8lN98U222xdqXSWrj/77Iw4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D7bZequ4/vqr86HOmzc/vvLVM+P87387P64O2VXPJbVP96WtuhJbdZtV7bf2PVvTAFj6Hk6hNRsBAgQIECBAgAABAgQIECBAgEDnFhAA69zrZ/QECBAgQIAAAQIECBAgQGBtBIrFhuy2kgpga4PnHgIECBAgQIAAAQIECBAgUKsC6yIAluZ6263/iI02GtRs2ldeeXV846xzm51LB6lqUgpaVW+pGliqFraiEEp7hF72HLFH/OIXP6088l//ui0+/ZnPV47TzpFHHhbfPvesSvWvf/zjpjjl819s1mZlB6sa43bbbRtX/Oay+NWvfhsp4NRyS9XTUhW1tD311NNx2OHvaNlkuePWBsAOPvigOPtbX49Uaay8pepfKaCUtj59+sS42/5RCYel57/3fR+MmTNnlZtXPg89dHRMnDip2bW23p86v+Vff4shQwbnz7n33qY44YP/VXlm9U57BMDa+z24+aYbKgHG6dMfjaFDt82HfPqXzog//ekv1cPP9/faa0Rc9vOLKuf//vd/xv984UvLvfcpkJW+T/74x+srbdPOqt6z6oatDYCdcMJxccrnPh09evSIa6/9U3ztjG9Wd2OfAAECBAgQIECAAAECBAgQIECgkwkIgHWyBTNcAgQIECBAgAABAgQIECDQDgLF4vC8l8Ko0WOz+l+laGxUAawdXHVBgAABAgQIECBAgAABAgTWq8C6CoBdesmPY5999mo2tw9/5KQ8MNTsZHawwQa98qpP1edfeumlGPXmw6pPVfbbK/Ry0U8uiAMOGFnp99lnZ0QK4Ly6cGE0DN+t2fhT1a/9DxjdqupfqcOVjTEFeW695e8xaNDA/LkvvPBi3HjjzTFu/O0xaODAeOc73xZ77rlHJXR25VV/iG9845zKGFe2Ux0AS1XXxo2bUGnar1/fPJSUKn+lgFb1dtFFl8SFP/xJ9al4zzFHxxlnfKlyLvV33XV/zqrB3xdpf/fdhmXhuMPzgN+tt46Lkz91SqVt2mnr/T+/9Cex99575n2mIODll18R9zY2xcj99om77r4n/vrXf+TX2iMAljpqz/fglFM+HR/76Ify8ZW/LF68OEbsecByoa7y9ZbPT+/+H//453jooX/Hhn16x1577RljxxySh/K++rWz4pprrivfutL3rNLgtZ3WBsDuvOOW6Nt32TuS7A8aNaZZwK9lv44JECBA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AAECBFYgIAC2AhSnCBAgQIAAAQIECBAgQIBAFxfIK4Blya8sADamlOW/orFpchefsukRIECAAAECBAgQIECAAIGuLyAA1vXX2AwJECBAgAABAgQIECBAgAABAgQIEKhPAQGw+lx3syZAgAABAgQIECBAgACB+hbIA2AZwbIAWBSyCmBN9S1i9gQIECBAgAABAgQIECBAoAsICIB1gUU0BQIECBAgQIAAAQIECBAgQIAAAQIECKxAQABsBShOESBAgAABAgQIECBAgACBLi6wLABWSAGwsVn9r1IWAFMBrIuvuekRIECAAAECBAgQIECAQB0ICIDVwSKbIgECBAgQIECAAAECBAgQIECAAAECdSkgAFaXy27SBAgQIECAAAECBAgQIFDnAs0rgGURsMYmAbA6fydMnwABAgQIECBAgAABAgS6gMCmG28W3boVYmlpaXQrdOsCMzIFAgQIECBAgAABAgQIECBAgAABAgQI1K9A+We9S5eW4rkXZtQvhJkTIECAAAECBAgQIECAAIE6FWgeAMsQVACr0zfBtAkQIECAAAECBAgQIECgSwkM2WhI9OzZMxYtXhw9e/ToUnMzGQIECBAgQIAAAQIECBAgQIAAAQIECNSbQPlnvYsWLYoXX36x3qZvvgQIECBAgAABAgQIECBAoO4FWgTAClkArKnuUQAQIECAAAECBAgQIECAAIHOLjBgwMDo03vDWLjw1ejVa4POPh3jJ0CAAAECBAgQIECAAAECBAgQIECAQF0LlH/WO3/BKzF79qy6tjB5AgQIECBAgAABAgQIECBQjwKvB8AOHlOKggpg9fgSmDMBAgQIECBAgAABAgQIdD2BFP5KIbDF2V+D7ZFVArMRIECAAAECBAgQIECAAAECBAgQIECAQOcVKP+sN4W/UgjMRoAAAQIECBAgQIAAAQIECNSXQB4AK0UURo3OAmBZAkwFsPp6AcyWAAECBAgQIECAAAECBLqmQLdCITbdZLN8ckuWLInu3bt3zYmaFQECBAgQIECAAAECBAgQIECAAAECBLq4QPXPeJ97fkYsLWW/5mUjQIAAAQIECBAgQIAAAQIE6krg9QpgeQBMBbC6Wn2TJUCAAAECBAgQIECAAIEuLZAqgKVKYAsXLYxePXt16bmaHAECBAgQIECAAAECBAgQIECAAAECBLqqQPlnvKnyV6oAZiNAgAABAgQIECBAgAABAgTqT2BZAKxQrgAmAFZ/r4AZEyBAgAABAgQIECBAgEBXFejZo0cMGbxxPr1FixdHOrYRIECAAAECBAgQIECAAAECBAgQIECAQOcRqP7Z7osvvRDp2EaAAAECBAgQIECAAAECBAjUn0AeAMuKghdGjR6bfZSisXFy/SmYMQECBAgQIECAAAECBAgQ6KICA/r2jz59+8bi7JcCegiAddFVNi0CBAgQIECAAAECBAgQIECAAAECBLqqQPlnu/PnzYvZ8+Z01WmaFwECBAgQIECAAAECBAgQILAagWUVwPIA2JgsAKYC2Gq8XCZAgAABAgQIECBAgAABAp1OYMhGQ6Jnz56xcNHC6NWzV6cbvwETIECAAAECBAgQIECAAAECBAgQIECgHgXKP9NdtGhRvPjyi/VIYM4ECBAgQIAAAQIECBAgQIDAawICYF4FAgQIECBAgAABAgQIECDQxQV6ZpW/Nho0JLp1KwiBdfG1Nj0CBAgQIECAAAECBAgQIECAAAECBLqGQDn8tXRpKV6e+WIsWry4a0zMLAgQIECAAAECBAgQIECAAIG1EigWGyJKpSiMGq0C2FoJuokAAQIECBAgQIAAAQIECHQCgV5ZBbBBAwfnIbDF2S8KpDLgKRhmI0CAAAECBAgQIECAAAECBAgQIECAAIHaEUhBr0I2nB7Zz29T+GvmrJeyP+y1qHYGaCQECBAgQIAAAQIECBAgQIDAehHIA2DZb30JgK0Xfg8lQIAAAQIECBAgQIAAAQIdJ5ACXwP6D4yeWRgsbekvyHbv1j26d+/ecYPwJAIECBAgQIAAAQIECBAgQIAAAQIECBBYTmDJkiWxZOmS6NWzV35tURb6mj1nlspfy0k5QYAAAQIECBAgQIAAAQIE6lOg2DA80l+NEQCrz/U3awIECBAgQIAAAQIECBCoQ4EBfftHn759KzNfnP0iwdLS0ijkYbBu0a3QrXLNDgECBAgQIECAAAECBAgQIECAAAECBAi0v0D6meySJUujlIW+0s9ke7z2h7vSk+bPmxez581p/4fqkQABAgQIECBAgAABAgQIEOi0AssCYIXXAmCliMamyZ12MgZOgAABAgQIECBAgAABAgQItE4gVQPbsE/f6NN7w9bdoBUBAgQIECBAgAABAgQIECBAgAABAgQIrFOB+QteiVfmz1P1a50q65wAAQIECBAgQIAAAQIECHROgWKxIRt4SQWwzrl8Rk2AAAECBAgQIECAAAECBNom0K1QiN4b9I4evXpFz+49onv2X7duWa1wGwECBAgQIECAAAECBAgQIECAAAECBAisM4GlS0tZBbDFsSj7b/HChbHg1QWxtJT99W4bAQIECBAgQIAAAQIECBAgQGAFAsXi8PxsYdTosdlPEErR2KgC2AqcnCJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECHCxQbsgBY9ne9swDYmFKW/4rGJgGwDl8FDyRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAKBIrFhuxsKQXAVABbgY9TBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWG8CzSuAZcNobFQBbL2thgcTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgSqBYHJ4fqQBWhWKXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECtSBQLDZkwyhFFgAbU0oDUgGsFpbFGAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIBBRVQEsBcAKWQCsiQsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1ICACmA1sAiGQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRUJqAC2IhXnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAMCKoDVwCIYAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFYkIAC2IhXnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAMCxeLwfBSFUaPHlNJeY+PkGhiWIRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAJh3gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAjUqUCw2ZCMrRVYBbGxWAaykAliNLpRhESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQfwJ5BbAs+ZUFwMaUsvxXNDZNrj8FMyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEANCuQBsGxcywJgUcgqgDXV4DANiQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvUnsCwAVkgBsLFZ/a9SFgBTAaz+XgMzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgFgWaVwDLImCNTQJgtbhQxkSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQP0JNA+AZfNXAaz+XgIzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgNgVaBMAKWQCsqTZHalQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoM4HXA2AHjylFQQWwOlt/0yVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIYF8gBYKaIwanQWAMsSYCqA1fBqGRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnUl8HoFsDwApgJYXa2+yRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUNMCywJghXIFMAGwml4tgyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4E8gBYKVIAbGz2UYrGxsl1BWCyBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqFWBZRXA8gDYmCwApgJYrS6UcREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUH8CAmD1t+ZmTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJxEoFhsiSqUojBqtAlgnWTPDJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgTgTyAFgIgNXJcpsmAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdSaDYMDyikP1TAawzLZuxEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQDwLLAmCF1wJgpYjGpsn1MG9zJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQM0LFIsN2RhLKoDV/EoZIAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdSdQLA7P51wYNXpsVv+rFI2NKoDV3VtgwgQIECBAgAABAgQIECBQtwL9e3SLQzfdOPYdMjCGDegTW/TeMAb07B7dCoW6NensE19aKsXsRUviyQWvxJTZ8+POF2fFjc+9EHMWL+3sUzN+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnUpUGzIAmDZr3RlAbAxpSz/FY1NAmB1+SaYNAECBAgQIECAAAECBAjUlcBO/fvER7bZPI7ZfFNhrzpY+RQK+/1Tz8XPH3sqps6ZXwczNkUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXUegWGzIJlNKATAVwLrOspoJAQIECBAgQIAAAQIECBBYucDpO20bJw7dvNLg9pdmx61ZlajJs+bFY68siJmLFsfS7I/E2DqnQLfsL/0M6tkjttmwdwwf2DdGZdXd9h88oDKZi6c/FedMfbRybIcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdoWaF4BLBtrY6MKYLW9ZEZHgAABAgQIECBAgAABAgTWTiBV/fru8B1itwH98w6uePL5uPw/M2L6/AVr16G7Oo3A0D6944QtN4vjttgkH/P9s+fEFyZPUw2s06yggRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNSzQLE4PJ++CmD1/BaYOwECBAgQIECAAAECBAh0eYG9NxoQF40YFoN69YgH5syPb019IibNmtvl522CzQVGDOwXX95pq9g1CwPOXLg4Tpo0Je5+eXbzRo4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKgpgWKxIRtPKbIA2JhSGpkKYDW1PgZDgAABAgQIECBAgAABAgTaLJAqf12xz/A8/HXDjJfi1Aemx9L8pwBt7loHnVCgWyHivF2HxhGbDc5DYMfdNVklsE64joZMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQPwJVFcBSAKyQBcCa6mf2ZkqAAAECBAgQIECAAAECBOpA4LoDGmK3Af0jhb9OuX96HczYFFsjcP5uy0Jg98+eE28f7+dBrTHThgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD6EFABbH2oeyYBAgQIECBAgAABAgQIEOgggdN32jZOHLp5PDBnfrzn7ikqf3WQe2d4TKoEdtXew2LXrELcxdOfinOmPtoZhm2MBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOpOQAWwultyEyZAgAABAgQIECBAgACBehHYKQv23HDgiHy675/4UEyaNbdepm6erRQYMbBf/GavnfPWR4ybFFOzoKCNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHaElABrLbWw2gIECBAgAABAgQIECBAgEC7CZy7+w5x7BabxRVPPh9nTn283frVUdcSOGOnreO4LTaJK5+cEafdN61rTc5sCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHQBAQGwLrCIpkCAAAECBAgQIECAAAECBFoK9O/RLe49dGR0KxTiyAn3x/T5C1o2cUwgFxjap3f8ZeRusbRUij1unBBzFi8lQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBADQkUi8Pz0RRGjR5TSnuNjZNraHiGQoAAAQIECBAgQIAAAQIECKyNwNFv2jTOa9gxbn9pdnz03n+vTRfuqSOBS/fYMfYfPCBObfp3XPP0c3U0c1MlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUPsCAmC1v0ZGSIAAAQIECBAgQIAAAQIE1ljg3N13iGO32CzOnfafuOyJGWt8vxvqS+DDW20Wp+2wZVz55Iw47b5p9TV5syVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ4wLFYkM2wlJkFcDGZhXASiqA1fiCGR4BAgQIECBAgAABAgQIEGiNwHUHNMRuA/rH+yc+FJNmzW3NLdrUscCIgf3iN3vtHPfPnhNvH99UxxKmToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKD2BPIKYFnyKwuAjSll+a9obJpce6M0IgIECBAgQIAAAQIECBAgQGCNBCa9Zb8Y1KtH7H9bY7y0cPEa3atx/QkMzt6V2w8qxszsXRnxzzvqD8CMCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNSwQB4Ay8a3LAAWhawCmL/yXMPrZWgECBAgQIAAAQIECBAgQKBVAg8ffkB0KxRi2E0TY2n2B19sBFYl0K0QMeWQvbJ3pRTb/3X8qpq6RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBABwssC4AVUgBsbPbrYKUsAKYCWAevgccRIECAAAECBAgQIECAAIF2F5h+xIF5nzv/c2K7963Drinw0Fv2yic29IZxXXOCZkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkwo0rwCWRcAamwTAOulaGjYBAgQIECBAgAABAgQIEKgICIBVKOy0UkAArJVQmhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDoYIHmAbDs4SqAdfAKeBwBAgQIECBAgAABAgQIEFgHAgJg6wC1i3cpANbFF9j0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEOq1AiwBYIQuANXXayRg4AQIECBAgQIAAAQIECBAgsExAAMybsKYCAmBrKqY9AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgY4ReD0AdvCYUhRUAOsYdk8hQIAAAQIECBAgQIAAAQLrVkAAbN36dsXeBcC64qqaEwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQFcQyANgpYjCqNFZACxLgKkA1hWW1RwIECBAgAABAgQIECBAoN4FBMDq/Q1Y8/kLgK25mTsIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdITA6xXA8gCYCmAdge4ZBAgQIECAAAECBAgQIEBgXQsIgK1r4a7XvwBY11tTMyJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEOgaAssCYIVyBTABsK6xrGZBgAABAgQIECBAgAABAvUuIABW72/Ams9fAGzNzdxBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCME8gBYKVIAbGz2UYrGxskd8VzPIECAAAECBAgQIECAAAECBNahgADYOsTtol0LgHXRhTUtAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBTi+wrAJYHgAbkwXAVADr9CtqAgQIECBAgAABAgQIECBAIBMQAKvN12BIr54xqGf3fHAvLFwcsxYtrpmBCoDVzFIYCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFmAgJgzTgcECBAgAABAgQIECBAgACBriEgAFab6/iNnbeOYzffJB/ceQ8/GRc//mzNDFQArGaWwkAIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINBMoFhsiSqUojBqtAlgzGQcECBAgQIAAAQIECBAgQKATC6zPAFi/Ht3jqM0Gx479Nsz+6xMLly6NSTPnxr2z5sZ9s+fF7MVLOrFs24YuANY2P3cTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqEeBPAAWAmD1uPbmTIAAAQIECBAgQIAAAQJdWGB9BcA+tOVm8fntN48NunVbqe73sspXl2SVr0orbdF1LwiAdd21NTMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC60qg2DA8opD9UwFsXRHrlwABAgQIECBAgAABAgQIdLzA+giAnbztG+OzQzdv1WQfmDM/Ptk0LZ57dVGr2neVRgJgXWUlzYMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAxwksC4AVXguAZX96u7Fpcsc93ZMIECBAgAABAgQIECBAgACBdSLQ0QGwhoF943d77VKZS+OsuZEqfU3Jgl79e/SI4dn1QzcZFO94w5C8zZJSKd525wMxfd6Cyj31sCMAVg+rbI4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE2legWGzIOiypANa+rHojQIAAAQIECBAgQIAAAQLrV6CjA2Cn77hlfGjLzfJJ3zd7Xrx34oOxNPtDMy23fTbqH+ftOjS+PvXx+OfzM1te7vLHAmBdfolNkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEC7CxSLw/M+C6NGj81+LasUjY0qgLW7sg4JECBAgAABAgQIECBAgEAHC3R0AOwP+wyLYf375LP8yoOPxe+ffqFdZrxNn96xbfbfI/Neif+88mr2k4vWbwN79sjHlKqNPZRVIpu9eEnrb36tZa9uhdglm9dGWV9T574SzyxYuMI+smYxtM+GseWGG+RjfSIb64q26gDYd6Y9GZc+8Wyl2VbZvUP79s6roq3pXCudtGHnobfsld899IZxbejFrQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItLdAsSELgGW/o5QFwMaU0m9RNTYJgLU3sv4IECBAgAABAgQIECBAgEBHC3R0AOy6fXeNHfttmE/z+488GT997PVg05rOvU/3bnHmzlvHkZsNju6F7KcWr20pyPXX516O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MAue7ZK13za77z9Z4Ktx1txYuCYPXVnHqzk/pFeP2K1/39go+3xozisxLZvvqsa5mu7Wy2UBsPXC7qEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEVivQPACWNVcBbLVmGhAgQIAAAQIECBAgQIAAgZoXWJ8BsJrHMcAVCgiArZDFSQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLrXaBFAKyQBcCa1vugDIAAAQIECBAgQIAAAQIECBBom4AAWNv86vFuAbB6XHVzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6AwCrwfADh5TioIKYJ1h0YyRAAECBAgQIECAAAECBAisTkAAbHVCrrcUEABrKeKYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQG0I5AGwUkRh1OgsAJYlwFQAq42FMQoCBAgQIECAAAECBAgQINAWAQGwtujV570CYPW57mZNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ+wKvVwDLA2AqgNX+khkhAQIECBAgQIAAAQIECBBYvYAA2OqNtGguIADW3MMRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVoRWBYAK5QrgAmA1crCGAcBAgQIECBAgAABAgQIEGiLgABYW/Tq814BsPpcd7MmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCofYE8AFaKFAAbm32UorFxcu2P2ggJECBAgAABAgQIECBAgACBVQoIgK2Sx8UVCAiArQDFKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1ILCsAlgeABuTBcBUAKuBNTEEAgQIECBAgAABAgQIECDQZgEBsDYT1l0HAmB1t+QmTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EkEBMA6yUIZJgECBAgQIECAAAECBAgQWBMBAbA10dI2CQiAeQ8IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1KZAsdgQUSpFYdRoFcBqc4mMigABAgQIECBAgAABAgQIrLmAANiam9X7HQJg9f4GmD8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECtCuQBsBAAq9X1MS4CBAgQIECAAAECBAgQILBWAgJga8VW1zcJgNX18ps8AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBADQsUG4ZHFLJ/KoDV8CoZGgECBAgQIECAAAECBAgQWEOBhw8/ILoVCjHspomxtLSGN2tedwLdsh8OTTlkr+xdKcX2fx1fd/M3YQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK1LLAsAFZ4LQCW/UJYY9PkWh6vsREgQIAAAQIECBAgQIAAAQKtEJj0lv1iUK8esf9tjfHSwsWtuEOTehYYnL0rtx9UjJnZuzLin3fUM4W5EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKg5gWKxIRtTSQWwmlsZAyJAgAABAgQIECBAgAABAm0QuO6AhthtQP94/8SHYtKsuW3oya31IDBiYL/4zV47x/2z58TbxzfVw5TNkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECnESgWh+djLYwaPTar/1WKxkYVwDrN6hkoAQIECBAgQIAAAQIECBBYicC5u+8Qx26xWZw77T9x2RMzVtLKaQLLBD681WZx2g5bxpVPzojT7puGhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBGhIoNmQBsEL2b9ToMaUs/xWNTQJgNbQ+hkKAAAECBAgQIECAAAECBNZK4Og3bRrnNewYt780Oz5677/Xqg831Y/ApXvsGPsPHhCnNv07rnn6ufqZuJkSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6AQCxWJDNspSCoCpANYJ1ssQCRAgQIAAAQIECBAgQIBAqwT69+gW9x46MroVCnHkhPtj+vwFrbpPo/oTGNqnd/xl5G6xtFSKPW6cEHMWL60/BDMmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUMMCzSuAZQNtbFQBrIbXy9AIECBAgAABAgQIECBAgECrBc7dfYc4dovN4oonn48zpz7e6vs0rC+BM3baOo7bYpO48skZcdp90+pr8mZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBMIFIvD81GqANYJFssQCRAgQIAAAQIECBAgQIDAmgjs1L9P3HDgiPyW9098KCbNmrsmt2tbBwIjBvaL3+y1cz7TI8ZNiqlz5tfBrE2RAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQOcSKBYbsgGXIguAjSmloasA1rkW0GgJECBAgAABAgQIECBAgMCqBE7fads4cejm8UAW7HnP3VNiaf5//6u6w7V6EehWiLhq72GxaxYUvHj6U3HO1EfrZermSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBTCVRVAEsBsEIWAGvqVBMwWAIECBAgQIAAAQIECBAgQGDVAtcd0BC7DegfN8x4KU65f/qqG7taNwLn7zY0jthscNw/e068fbyfB9XNwpsoAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBApxNQAazTLZkBEyBAgAABAgQIECBAgACBNRPYKavwdMU+w2NQrx55COzUB6arBLZmhF2qdar8dd6uy8JfMxcujuPumhxTswpxNgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEalNABbDaXBejIkCAAAECBAgQIECAAAEC7Sqw90YD4qIRw/IQ2ANZ2OdbU5+ISbPmtuszdFb7AiMG9osv77RV7JqFAlP466RJU+Lul2fX/sCNkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAdC6gAVseLb+oECBAgQIAAAQIECBAgUF8CqRLYd4fvELsN6J9P/Ionn4/L/zMjps9fUF8QdTjboX16xwlbbhbHbbFJPvv7Z8+JL0yepvJXHb4LpkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIND5BATAOt+aGTEBAgQIECBAgAABAgQIEGiTwOk7bRsnDt280sftL82OW1+cFZNnzYvHXlkQMxctjqWlymU7nUygWyFiUM8esc2GvWP4wL4xasjA2H/wgMosLp7+VJwz9dHKsR0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGpboFgcng+wMGr0mPxXuxobJ9f2iI2OAAECBAgQIECAAAECBAgQaLNAqgb2kW02j2M23zS6FbLEkK1LCywtleL3Tz0XP3/sKVW/uvRKmxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBXFBAA64qrak4ECBAgQIAAAQIECBAgQKCVAv17dItDN9049s2qRA0b0Ce26L1hDOjZXSislX612CyFvWYvWhJPLnglpsyeH3dm1d1ufO6FmLN4aS0O15gIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFiNQLHYkLUoRVYBbGxWAawUKoCtRsxlAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdJBAXgEsS35lAbAxpSz/FY1Nkzvo0R5DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAqsSyANgWYNlAbAoZBXAmlbV3jUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6CCBZQGwQgqAjc3qf5WyAJgKYB1k7zEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYpUDzCmBZBKyxSQBslWIuEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIMEmgfAsoeqANZB8h5DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB1Qi0CIAVsgBY02pucZkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK/M8x3AABAAElEQVQECBAgQIAAAQIEOkLg9QDYwWNKUVABrCPQPYMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtEcgDYKWIwqjRWQAsS4CpANYaNm0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCw7gVerwCWB8BUAFv35J5AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB1gksC4AVyhXABMBax6YVAQIECBAgQIAAgf/P3n3AWVGdfQB+FwvRaCyxo4hil7IqVhRFBXsFscTeu372nhhbYjeWxN67Yu9dASu4IDYUOyoaWzQasew3Z9Y73l12YRcWXNhnfmbvmZkzZ+Y8M/dq9rf/+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMOkF8gBYdaQAWO/spTqqqoZN+rM6AwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMV6CmAlgeAOuVBcBUABuvmA4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYTAICYJMJ2mkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQVIHKyq4R1dVR0aOnCmBNxdOfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECk1IgD4CFANikNDY2AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJkigsmuXiIrsHxXAJsjPQQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhkAjUBsIpfAmDVEVVDh02ykxmYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBovUFnZNetcrQJY48n0JECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwOQRqKzskp+ookfP3ln9r+qoqlIBbPLQOwsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGLVDZNQuAVWT/9OjZqzrLf0XVUAGwcZPZS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgckjUFnZNTtRdQqAqQA2ecidhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAo0TqF0BLDumqkoFsMbR6UWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFJK1BZ2SU/gQpgk9bZ6AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiyQGVl1+yY6sgCYL2q09EqgDXZ0AEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYJAJlFcBSAKwiC4ANnSQnMigBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINE1ABbCmeelNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBySagAthko3YiAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINE1ABbCmeelNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBySYgADbZqJ2IAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECTROorOySH1DRo2ev6tSqqhrWtBH0JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFJIiAANklYDUqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGJF6is7JoNUh1ZBbDeWQWwahXAJt7UCAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgWgbwCWJb8ygJgvaqz/FdUDR3WLAMbhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQmTiAPgGVD1ATAoiKrADZ04kZ0NAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0i0BNAKwiBcB6Z/W/qrMAmApgzSJrEAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEykQO0KYFkErGqoANhEmjqcAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzSJQOwCWDakCWLO4GoQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLVAnAFaRBcCGTvSgBiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBiRf4NQC2Rq/qqFABbOJJjUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHmEcgDYNURFT16ZgGwLAGmAljzwBqFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEyvwawWwPACmAtjEgjqeAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzSVQEwCrKFUAEwBrLljjECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYGIF8gBYdaQAWO/spTqqqoZN7JiOJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFmEKipAJYHwHplATAVwJrB1BAECBAgQIAAAQIECBAgQIDAFCawcIcOMe988+RX/fbb78SHH308hc2geS938cUWjc032yS6du0S1T//HK+9/kZcceWV8e57HzTviaaC0Tw7U8FNbIYpeA6aAdEQBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIMCAmAN0thBgAABAgQIECBAgAABAgQItBaB++6+PZZffrl8ujff0j/22ueACZr6Vv36xoYbrBc339o/7rjzngka47c+6KgjDo3/O3C/qKioqHUpQ4cOi7V6b1Brm5WI5np2JqXljDPMEPvus2cstugicd4F/4qqoS9NytO1yrGnhOdgSrwx87ebLxZZZOEYMqQq/vP1N1PiFFwzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoFoHKyq4R1dVR0aOnCmDNImoQAgQIECBAgAABAgQIECDQQgXmnmuOOOjAA2KppZeMDgsuGD/++GMeBHnqqafi3vsejI9Hj26hVz7pL6s5wht77blbnHD8ccXFbrPtjvHgQ48U61NCo0vnpePRh++v91JPPuXUOPPsc+vd19I29lhtlVh7rTXzy0oV3S6/8poGL3HfvfeMubL3RlpOP+PsBkMmK624fKy/3jp5v7vuvi+ef2Fw3m6OZycfaBL+uPH6q2OtNdfIz/BzVtGtw8JLxLfffTfJzrj0UkvGlv361Dv+//73fbz3/vvx5psjY/jwl+Ob/35bb78pbeOU8BxMKabp/fvnY4+OxbJKhDNk4cXS8v3338cZZ56dfQ6dV9rklQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItBqBPAAWAmCt5oabKAECBAgQIECAAAECBAi0ToFzzjw1tt56y2jTpk2DADfdfGvsu///xc8/VzfYZ2rd0RzhjRuuuyoLHfUsiG648ebM86BifUpo3H3nrbHSiivkl5oCgudn1aJuv+OuLDzUM666+rr4/IsvpoRpRKpidtD/7Z9f65gxY2K+BTrWe92pMtZ774wo9h162JENhsVu739DrNq9e943BcB22mX3vN0cz05xAZOo8eILT8cCC8xfjL7dDrvEffc/WKw3d+PA/feJY44+YrzDVmffSvXii1Vx/Aknx8BBz4y3/2/RIYUiV1pxxfzUt9x6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9FnFyd133zVGvPFGPJh9hlkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBrFqgdAMskVABrzY+DuRMgQIAAAQIECBAgQIAAAQItWeDZQU9Ex44L55fYqUu3+Hh0wxXbLjjv7Oi3RZ+879vvvBPLr1h/xbGWPF/XRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARJ0AWEUWABvKhQABAgQIECBAgAABAgQIECBAoAUKfPrxe3n1r2+//TbaL7T4OK/w8ksujI02Wj/vM6kqgI3zAuwkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBZBH4NgK3RqzoqVABrFlWDECBAgAABAgQIECBAgAABAgQmgcBHH7wV0003XT7ydjvsEvfd/2C9Z+m19ppx3TVX5GGx1GGPvfaNW/vfUW9fGwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaNkCeQCsOqKiR88sAJYlwFQAa9k3zNURIECAAAECBAgQIECAAAECrVfgofvvimWWqcwBqqurY8DAQXHZ5VfGiBFvxowzzBBdunSKHXfYLjp37lQgPf3Ms7HRJn2LdQ0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBKYsgV8rgOUBMBXApqzb52oJECBAgAABAgQIECBAgACB1iQw+2yzxbNPPxGzZa+NWQYOejo267Nl/Pxz9r0/FgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpkiBmgBYRakCmADYFHkXXTQBAgQIECBAgAABAgQIECDQagRm+v2MccThh8RWW24Rs846a615p6pg3333XbxYNTQOO/zoeH3EG7X2WyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYMoTyANg2XdAV/To2Tt7qY6qqmFT3ixcMQECBAgQIECAAAECBAgQIECglQrM326+mGOOP8Znn38e778/qpUqmDYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBqVegpgJYHgDrlQXAVACbem+1mREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMKUJCIBNaXfM9RIgQIAAAQIECBAgQIAAyYB2oAAAQABJREFUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0GoEKiu7RlRXR0WPniqAtZq7bqIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEwRAnkALATApoib5SIJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGhdApVdu0RUZP+oANa6brzZEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ8gVqAmAVvwTAqiOqhg5r+VftCgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAKBCoru2azrFYBrBXca1MkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAKE6is7JJfcUWPnr2z+l/VUVWlAtgUdg9dLgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECU6lAZdcsAFaR/dOjZ6/qLP8VVUMFwKbSe21aBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMYQKVlV2zK65OATAVwKawe+dyCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYygVqVwDLJltVpQLYVH7PTY8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSlEoLKyS36lKoBNITfMZRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0HoEKiu7ZpOtjiwA1qs6TVsFsNZz882UAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGWLVBWASwFwCqyANjQln3Fro4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtREAFsFZyo02TAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEpT0AFsCnvnrliAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRaiYAKYK3kRpsmAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTnoAA2JR3z1wxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtRKCysks+04oePXtVp1ZV1bBWMnXTJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMsWEABr2ffH1REgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0IoFKiu7ZrOvjqwCWO+sAli1CmCt+GEwdQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWpZAXgEsS35lAbBe1Vn+K6qGDmtZV+hqCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EoF8gBYNveaAFhUZBXAhrZSCtMmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAyxKoCYBVpABY76z+V3UWAFMBrGXdIldDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBrFahdASyLgFUNFQBrrQ+DeRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0LIEagfAsmtTAaxl3SBXQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA6xWoEwCryAJgQ1uvhpkTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgBQn8GgBbo1d1VKgA1oLujUshQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCVC+QBsOqIih49swBYlgBTAayVPxGmT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAixH4tQJYHgBTAazF3BkXQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAqxeoCYBVlCqACYC1+icCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLUYgD4BVRwqA9c5eqqOqaliLuTgXQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdYsUFMBLA+A9coCYCqAteaHwdwJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGhZAgJgLet+uBoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUApWVXSOqq6OiR08VwAoVDQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLQAgTwAFgJgLeBWuAQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjUFqjs2iWiIvtHBbDaMNYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwWwvUBMAqfgmAVUdUDR32W1+T8xMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJlBZ2TX7Wa0CmKeBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLU2gsrJLfkkVPXr2zup/VUdVlQpgLe0muR4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFqnQGXXLABWkf3To2ev6iz/FVVDBcBa56Ng1gQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItDSBysqu2SVVpwCYCmAt7ea4HgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWrdA7QpgmUVVlQpgrfuRMHsCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFqKQGVll/xSVABrKXfEdRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAXgcrKrlmrOrIAWK/qtE0FsF9kvBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOA3FiirAJYCYBVZAGzob3xJTk+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSUAFMM8BAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWqiACmAt9Ma4LAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKgA5hkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBACxUQAGuhN8ZlESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB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WL92BeXLm0de/ejRY1SmfOVYqgku64vAT9cuSKHenTt3KGPmnF6TTxg3mmrWfEmmeRgewLxWBidBAARAAARA4BEmAAHYI3zzUHUQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIFYIQAPYLGCHRcFARAAARAAARAAARAAARAAARAAgUeXAARgj+69Q81jjsCzzySlv/78ixImSkRfD+5PDRvUMy5Wr0Fj2rhpq3GMnbhF4OqlM/TEE0/ISr3aoiUtW77SsoKVK1Wg6VMnGl7d2rRtT3PnLbRMi0gQAAEQAAEQAAHvBCAA884HZ0EABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDATAAewMxEcAwCIAACIAACIAACIAACIAACIAACIOCVAARgXvHg5GNKYPb30yiqfFmP1s9fsJBatWnvEY+IuENg1fLFVLBghKzQvXv3aPOWrTR+wiQ6ceIUJXnqKQoPz0evt3iV8ufPZ1R62/YdVLN2A+MYOyAAAiAAAiAAAv4RgADMP15IDQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALwAIY+AAIgAAIgAAIgAAIgAAIgAAIgAAIg4BcBCMD8woXEjwmBk8cOULJkydxau3LlanqlxZv077/33OJxELcIJBf3bce2DR73z66WW7Zuo7r1G+O+2gFCPAiAAAiAAAg4IAABmANISAICIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGgEIwDQY2AUBEAABEAABEAABEAABEAABEAABEPBNoEhkYfrk4z4y4dZt2+jTfl/5zoQUIBDPCXw7YihFRhaSoqCDBw7S9JmzaO26DfG81fGneUmfTkI9unehJo0b0vPPP+/WMPYK9ueff9K+6P3UrfsHdPzESbfzOAABEAABEAABEPCfQJtWLalO7Zoy46gxY2nhoiX+F4IcIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPAYEYiICJetTVA2qrJcijg6+sBj1Hw0FQRAAARAAARAAARAAARAAARAAARAAARAAARAAATcCaRPl5ZSpkxBN27epIsXL7ufxBEIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPGQCEIA9ZOC4HAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAg4JRARUUAkvUfCA1gV4QHsHsEDmFN0SAcCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMUtAegATyi8hAKt8T+i/KHr/gZi9IkoHARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwREAKwERKlwCMEggPYPsdZUQiEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBmCXgEoAlYAFYFeH/654QgMEDWMwiR+kgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4IyAuwcwIQGL3g8BmDN0SAUCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMUvAXQAmrgUPYDELHKWDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgFMCJgFYAiEA2+80L9KBAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEIIEHArDyle9RAngAi0HWKBoEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE/CIgBWD3iBKUjRICMKEAgwcwv/ghMQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiA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566LXNZJEIBZc0HsYwIL5s+miiHlH0eIvYuXLtHrNevTtevXHeJxED8IwNjcs3Zq0rgRHQiPoBMnT3l2InKDgAcEfJnLPbgMsoJAnCXwtL5DYk6Os10SFQMBEAABEAABEAABEAABEAABEAABEAABEIgHBCIFYAkeCcAeEoVHHIwH1UYVQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCBuEciSORMNHNCPKleqSIkSJXKoHIu+7ty5QytXraG+/frTH3/ccUjHAQiAQMwR+Hr0l5QzRw55wXfbtKOrwqsTAgjoBNq3a0OtWjSjxM8nplOnztDadevpu6kz9CzYj2cEgosWoYH9+8la79i5kz4fPCye3QGqCwIgAAIg8CQSeBrfITEnP4k9GfcEAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQUwSCggLFpR7CA1hMAcd1QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEnnwCzzyTkLJly0ovPP88Xb58lW7dvv3k3zTuEARAAARAAARAAARAAARAAARAwCsCeIf0ChtOAgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGnikBQUIC83wTlQqoK/18PKTwcHsCeqh6AmwUBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIizBIIChQAsgfivXEiVh0L/ReEREIDF2dZCxUAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABJ4qAkFBgeJ+H7IADB7AnqqWx82CAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEeQKOHsBEdcPD4QEszrcaKggCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPBUEAgKCpD3CQ9gT0Vz4yZBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAATiE4GgoEBR3YckBGBVHnLF4QEsPjUf6goCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPAkE9A8gLEALIEQgEU8yfeLewMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBeEMAHsDiTVOhoiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAk8bAXgAe9paHPcLAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQbwjAA1i8aSpUFARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA4GkjAAHY09biuF8QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIF4QyAoKEDWNUG5kCoPeS88/GC8qTwqCgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJPMgEIwJ7k1sW9gQAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIxGsCQUGBov4PSXgAqyo8gD2EB7B43ZyoPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwJNEQHoAE8ovIQCr8lDovyg84uCTdH+4FxAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCItwSkAEzUPlIARgmEB7CIeHszqDgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPEkEIgVgCVgAVlX4/3ooBGDwAPYkNTDuBQRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAIP4ScPQAJiRg4REQgMXf5kTNQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEniQCjgIwcWfwAPYkNS/uBQRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAID4TMAnAEggBWER8vh/UHQRAAARAAARAAARAAARAAARAAARAAARAAARAIJoJ5M6VkxrUr0uBgQH08MEDOn7iFE2fMYMuXLzs9MrZsmShtOnSyPRz587T1Z+vOc2LhPhLoGJIeapSuRLlzp2Tfv/9DoWFhdGMmbPpjzt34+9NoeZxjsBrryanPHlyy3rduHGTTpw8FefqGJcqVEiM1UleTCKrFBFxkO7++VesVS9D+nSUOXMmef1jx07Qrdu3Y60uuLAjAczTjjxw5J6APhbfunWbjh0/4f6kpyRHXBp3fUEeX9s4JuaaV5Mnp2ZN36QiRQpTsmQv0sWLl2jBwsW0a/de28gTJkwgyyheLJgyZEhP16//QuvWb6ClPyynBw8e2irnSelrtm7WT5kw39kH+VKypFSwYAF5wpUrV+n8hYv2T34Cc8bXMfEJbArcEgiAAAiAAAiAAAiAAAiAAAiAAAg81QQeC8AqVHlICeAB7KnuDbh5EAABEAABEAABEAABEAABEACBJ45Axozp6cMunejff/+jUV99TdeuX3/i7hE3BAIgELME+vTqQR927UQJEog/JmqBRQWVqtbUYhx3V/34AwUHF5GRCxctofYfdHHMYPOoSeNGVKtmDVq4eAktW/6T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ARAAARAAARAAARDwlkC0ACye8gAGAZi3IJEPBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABPxNQArAHhALwKqLwwM6dOiIv5+B8kAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwgEO0BTArAqgkBGDyAecEQWUAABEAABEAABEAABEAABEAABEAABMKAQNbMmSltujSypufPX6Br12+EQa1RRU8IFC5UkBI/lVhmOXz4CN39/Q9PsiMtCMQpAgkSxKdSJUvINt2/f5927d4bp9oXqMZkSJ+OMmXKKIs/efI03b5zJ1CPQrmPOIF8efPQs88+Iyns3LWb/v1X/icat1SeS56McufOJdPdvn2HTp467TYPEoBAOBDA2PZvL4XKezHeR+z1a6j0l73aBjaVt/tjYGuF0kHg0SCANfvR6Ge0EgRAAARAAARAAARAAARAAARAAARAILwJQAAW3v2H2oMACIAACIAACIAACIAACIAACIBAwAnEjx+P2rRqQVeuXqP1GzY5PK9B/TqUMGEimjtvgUN8KF6sXLaIihcvKqvG9e3SradDNRM/+SR179aZcubIThMmTqJDh4863MdF6BO4dP40JU4cLQBr2botrVm7PvQrjRqCQIAIpEmdmo4d2SdLf/DgAaVMEy1qCtDj4kyxX06eSA0a1JPt2bV7D9Wt3ziobYuISE+v9exB//xzn8Z89DHduHkzqM+3+7DmzZpQ3Tq1aO78BbR4yXK72ZBOI3Ds8D5Kkya1jBkydDiN/2SSdtf5ae9e3WnAm6/LBFevXqVCRUo5T4w7IBBGBDC2ify5B4TKe3Fceh8J5O/FUOmvUFgyvN0fA9k/ocAFdQCBYBCIzTXbn3tgMFjhGSAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQWwQiIwsRif/+H69CFDyAxVYn4LkgAAIgAAIgAAIgAAIgAAIgAAIgECgC/PXsF5rZN17/88+/aNSoj+jeP/8YVdq4fhUVyJ9PXo8YOYZGiPscxo8bTS2aN5PnGzZupmbNW8vzQPzzRKJEwti5n0dFfznlK7p46YqRx50A7NtZ06hK5Uoy/b///kuZs+amP/73PyN/uJ2wYX6J/wRv5rr/8suvdP7CBTp37jwdOXrMttcRczmhdg3DyVDrEdQnNgnEpvFebLbb12frArD9+w9Sjdr1fS3So/znz56kpEmSyDyhKu7p0rkDvTtkkNEuCG4NFB6d6AbuH44YTSNHj7WVHyIZW5iQKAwJYGwT+XMPCJX34rj0PhLI34uh0l+hsHR4uz8Gsn9CgQvqAALBIBCba7Y/98BgsMIzQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCC2CEgBGEEAFlv88VwQAAEQAAEQAAEQAAEQAAEQAAEQCCiBXq92o7ffesOjZzRq8gJt2brDyHP9yjl6/PHH5fVRIRaKqlpLnh8+sIvSp08vz3/55RfKljO/kcffJ6lTpaDjRw96VOyMGbOoZ+/+Rh53ArCD+3aKr+5nMNK3eak9rVy1xrgOt5MVyxYKAVgxt9X++++/af36jfTGgIHSy5vbDLGQoHq1KpQ5Uyb688//0TfTZzmtAQwnnaLBjRAjULBAPipVsqSs1bz5C+n2nTt+r2FsGu952hi7c9zTcr1JH5sCMPZccenCGaPaoeq5bfbMb6hqlSijnrO/nUvdX+1tXHt7Eox54W3dApHPWwN3iGQC0RsoMxQIPOpj2+4eYHfPDPR78XPJk1HjRg3l0Nm5axcdPXbCchiF0/uIZQO0yED+Xgx0f2nNCPlTb/fHQPZPyEPzYwVfatOSEiV6Qn4wZu26DX4s2f9F2V2H/P/kuFtibK3ZdvfAuEseLQMBEAABEAABEAABEAABEAABEAABEAAB+wQiCxUkiif+Bw9g9qEhJQiAAAiAAAiAAAiAAAiAAAiAAAiECwF/CMB0Q+9+/d+kqV9Pl81/8/W+1Kd3T3luFlv5m08wBGBvD+hPvXr2kFX/+eefKWeegmHtGcuuAEz11f+Et7MSpcrT9Rs3VVTIHE8cPUCpUqUU/fEvpUqbyWm9YDjpFA1uhBiBaV9/QbVq1pC1Motu/VXV2DLe86b+due4N2V7mic2BWBc19UrllDRooVltbdu204NGzf3tAkBT1+8WFHiPSZevHhyXS5dthKdFR4lfQ3BmBe+1tGf+b01cH/URTL+7AOUFVoEMLbt7QF298xAvxc3btSAPvt0ghxErn4LhtP7iLsZEcjfi4HuL3dtC6X73u6PgeyfUOIT6LrcunlZPuLipUtUtHjZQD/Op/LtrkM+PeQRyxyba3Y4/A56xIYDmgsCIAACIAACIAACIAACIAACIAACIBCiBKIFYPH+E4A9IDp0+EiIVhXVAgEQAAEQAAEQAAEQAAEQAAEQAAEQ8JSALgD77e5dGjhoiNsili9fSXd+/sUhXbasWYgFQteu33CIz5QxgzAAj08XLl5yiPf3hVkA1qt3P7eP2Lt3P50+852Rzp0HME4YEZGe0qdLR7t27zXyheuJLgDbvn0HDRw8VDaFv+adUfRb3jy5qUmTRrK9qo1Xr12jQoWjvRKpuFA4nj97kpImSQIBWCh0BurgFwJLF8+j0qWi5xoEYER257hf4LspJLYFYFy9AvnzSgHy8RMn3dQ29m4neSoxlSxZgraJ/eWvv+75pSLBmBd+qaifCvHWwB0iGT91AIoJOQIY29Fd4m4PsLtnBlpQ1L1rZ3pn8Fuy0o+KAIwbG6jfi4Hur+jRFR7/ers/BrJ/woOc77VMniwZnTkVbSsSDgIwu+uQ72QenRJiUwDGlN3tgY9OT6ClIAACIAACIAACIAACIAACIAACIAACIOCcQGRkIXHzATyAOUeEOyAAAiAAAiAAAiAAAiAAAiAAAiAQvgR0AdjNmz9QvoJFw7IxZgFYitQRHrfDjgDM40JDOIMuAFuxchW92LaDZW0nfDyGmr/Q1LiXPmM2vxnzG4X6eHLj6nl67LHHIADzkSOyhw6BbZvXUe7cuWSFIAAjsjvHg9GDoSAAC0Y7Q/EZwZgXodRubw3cIZIJpV5EXfxJAGPbHk27e2agBUXDhg6izp2if188SgIwe73keapA95fnNYq9HN7uj7FX47jz5IIF8tGGdatkg8JBAGZ3HYo7PRT4lsS2ACzwLcQTQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCD8CURGFpSNiFchqrrw//WADh2CB7Dw71a0AARAAARAAARAAARAAARAAARAAASiCYSqAIw9h1SpEkVpUqeR3kPceTkJJQFY/PjxKFfOnFSieFH65/592rBhE12/cdP2kHsueTKqWbM63f/nPq1dt55+un3Hdl5PEtoVgHGZP964JDy5xZPFt3mpPa1ctcblo3xtg6f5Vf3+/fdfSpU2k9O66YaTL7RoQ+tF33BIkCA+1apZg1KmeI42b95G5y5ckPF2/0mbJjVVq1qZ/vfnX7RO9JnZQ57dcrxNlzVzZqpWrYrwtHdR1H8r/fnXX14VVbRIJBUvVoz27N1Lhw4fkR6GvCooSJmeTpqEoqIqin5LSdt37KSTp07benKiRAmpsPjqVWShQnTl6lXatGkz3f39D1t5XSVKlzYNVRXr1t///CPK3OLRvDeXe/jgbsP7nicCMP4ietkyZejS5cu0bdt2+vW3u+aijWtvjPc8nZvGw0wnTz+dlJ6vX1dw/12OWXfrnN05bnoM+To3IgsVoNKlS9GBA4do7759ck5MmvgxNWncUD5q//6DVKN2ffNjPb4uXaoEFSxQgDZt3uLgmdLjgiwyJBTi2FKlS1C+fPnoyJGjtHfPPronxqg3IRBrRLJnn6HixYtRjhzZxX97OCw8bO6h+/f/tayet/PCsrD/Iv01bz0d03qdeA+qVLECZcuaVexLG+nsufPytt7eD0eMppGjx+rZnJ7rIpkrV65SZNFSRtry5UoLD595ad36DcZzjJs2TkqWKE5FxF6xb98B2n/ggMf7RL68eahc2TJ07vx52izWSTtj0Z9jmNufNUsWWrhoieX6yH1RsXw5yiPqeUrsKdu37/RoT+X9pUrlKEqXNi1tFHuL6ksbaG0l4fJr1qhGzzz9NK1es5Zu/nDLVj6ViNtXtkwpuR7sFnPtwMHD6pZXx0CuXVYV0sf2VbF/FyrycGxbpec4f8xxfs/j3yUc1q/f6NP+LgsJ8D9298xAvRer5n326Xhq3Oh5eemtAIzf9Z5vUM/2+4J6Nh8DPR8rVSz33956hHbs3O1079LrZHWuxuiff94Tv/3WOf0dEej+MtdN1cvX99pQ2h/NbbR7zftQ3Xq16e+//6blK1ZZ7n3czqhKFSid8BbO66u3v6X4XbtunVp0+84dsd5soj+El3VPgvp9lCJFCvm79OKlK55kN9I6+3tMLfF3imlffynTeSIA8+de7sn7qN11yGi4Bye+9pWvv6v81dfcZE/a4s1vyECvx+66zde/97grH/dBAARAAARAAARAAARAAARAAARAAARAINQIRBYSAjBh3iMEYNUeCP2X/INlqFUS9QEBEAABEAABEAABEAABEAABEAABEPCOgC8CsFnTv6KqQvTCYcmSZdS+Y1fLShw/sp9SpUop773cvhMtW77SId2Zk4cpWbJkxB7I8hcqRt26dqJBb78pRDkJjHQlS1dwaUQbDAFYl84daOg7A2Wdvv/+LJUuF20IqirJRiXvDhlE7du1dag73/9HGNsvFoxe7dXHqfes9u1eosEDB1DixIlVkfL4lxDzvD3wHZr69XSHeF8vPBGAXbt8lhImTCgfWa9BY9q5a4/l431tgyf5+/d9jXp07yLrpY+VBw/EH7C0UK5CFUNQoRtOcjuefOIJGj3qQ8qQIb0hcOOsd+/+Tiy6cWcYPW7MCGrWrAk9/vjj2hOJ/icM9UaPGUdjP/7EIb5xowY0aeJ4GcdjIlPmnC6N3y+cPUVPCTEktymqSk3ShZAsNJw4YZw0imXvZ3r48cdb1LLVS3RQiLjMYf7cmVRBGLdzyJItNz0tjMinfzOF8gpjd70cFtMNeGswfTHlK5nW3T8D3uhHr/XqIZPdEILHApHFY2Rhw7KTxw8ZrGvUqmfJeOnieVSqZAmZv0/f1+mb6bOMsooULkSjR35AOXPmEIa9iYx4PmFOEz75jIa8O9whXl3w8yd9OkEaZ6o4deQ+HyXEFRMmTlJRto4tmjel/n17U1oh/tL5cWaeu6+IddGdYFI9iNu2aMEcOab1ssxjeuSoj2iE+D8HNqZ8++03qGmTxpRCCBiVUFOVyX1Rp97zZGX86YnxnidzUz2b1+VjRw7Iy7Vr11PLNi9Tn9depY4d2tFzzz2nkskjiyRqivGgiye9meNcmLdzQ1WImc6a9Y0UqZjXlq1CVHf16jVq0byZTO6JAEzfQ94cMEgKcNiANleunKLO8dXjhQH5fVqxcg293L6jEaef6HP4m2kzqE+/N/Xb8pzZfzR6pBB+laSnkyaNcZ9FVo2btrDcj/TyvV0j9L7ntS5thqwx6lBY/IeHzz77RIhxMse4x+O2+6u9hCBuG3kzL2IUaIrwdt7q7fJmTJuqQRER6WnBvNmUOVMmh7nLzD6d9AXVrl1DiMKyyGzeCsDOC0Fzw0Yv0PRpU4XwK7fDWFPvJp26RK/d5vqp6+TiHY3HRf78+RzqyWsT70sNGzVzmLsqnzpyO+fMmk7ZsmV1eD7f575+pWMXIfzbq5LLoy9jWJ9r/V8fQN/OmU+zZnxFJcW+oq+t/N7ZT9xfsXK1fOYr4v1t6JCBxvuOqtDCRYupQ6fu6tLyyMbo33z1JaVOncrhPs/nBQsXU5duPR3i3V3o8zBn7gJUQgjveO/j8vV1nveZoe++T599Hm2M76xcFrNO+3oKpRFCJj0/9+F3330v1wNnHyvQefqydp04eoBSpkwhq9i5aw+av2BxjOomfvJJung+WszN7yGp02V2SGNXAOaPOb5mzTpq9WI70a+fU+1aNY163Lt3j9JFZDOu9ZNgvAvpY0PfA7zZM/39XqxYcF8nS/asnG/m8abSsIi0Vt1ocZj+PqI+5tBbvFN26tje1vuCKlMdAzkfIzLloEJi/5o182uH/XXMRx/Tex+MJH2+WP1eVHVkMcTULz6jypUrOaxLfP+PP/6g4e+NiDGvA9Vf/EwV/DF3Qnl/dNc/+vzid6CIiAj6aurn8l1FjWUeo+cvXKTnGzY1xKD8cQAWO6o0zJPTvfHm2zTlq2kKr8NR/Q3k1q2fKE/+wvRG/z7UqdMrlDRJEod0t2/fphbid91+8TECV6F1q+Y0bOg7lCTJUw7JeK9ft24DtRN/h3EmulZ1cfX3GJ6zBQvml7979Xbqv1P4ww5ZsuUxnu/LXm7uC09/s3q6DhmVtjhRfPzVV978rtKr5Y++9qUt+prN/Z8yTUa9eg7ngVyP9T1QPVT11Q8//Ej5ChalyuJjMWPE33vSp0/nMD/t/r1HlYsjCIAACIAACIAACIAACIAACIAACIAACIQbgUjxMVx2/AUPYOHWc6gvCIAACIAACIAACIAACIAACIAACNgg4IsAbPGCb6ms8OLAgY0k2bjfKpw9c4yeeeYZeatj527CEHaJQzJlzMYGlR07d6evpkx2uM/Gs2YDUIcE4oKNi44fPWhEp0gdYZzbPVm5bJHwQlJUJp87b0EMY113RqdzZk+XBiaunseGuhmz5HT4QjyLDebMmS7EBmVdZZUiu3YdurhM48lNuwKwXEJos33rBlk0G5ClSR9tjK4/y9c2eJN/3EcjqVXL5no1LM/LV6xqeIZSY40Trly1Wnr9sswkItloL2+BwnTr1u0YSTJnykjLliyQhtQxbmoRx46foPrPN6Fff/1NxnI7rwgxnRJ7sGG6M6NA/evqZu6ZMmag5UsXuXw+G2O9MWAgfTnla61Got3aOB82/AN6XRgbmgVseoau3XrRnHnz9SjLcxZzrF2z3LiXNUdeo90qsnvXzvTO4LfUJbHRVu++bxjX6uTqpe8NcVfFqOpSYMBfOF+8aB4VEAIEd2HpspUxxDMs0GRDQLPwyFwWe0iqXK22OTrGNRuzsTG9ErfGSKBF9Ordj6bPmK3FWJ+yJ4l5cx6K3axTEY2fMEmK3Nh4kEWnSpzpLD2voSVKlYshArNjvOfN3FT10Ms/e/acMJK97nKdY6NTNtRTwZs57svc4OfmyJGNVixdKEXJqh6ujp4IwPQ9hEUvPHbUWmD1DGbG49/s0U+fw1Z71cQJY4UgsJGDkaNV+VwHFl2bg16+t2uE3vdWhqHMefuWDS7bz/Xisb55y2aP5oW5Pfq1r/NWb5c3Y1qvS0Ph0WaS8I6jiwz1++ZzbwVgvJdxcDXWzpz5jqKq1rQUBNaoXpWmfvmZy3WG321q1WlAR44eN1ebevboSm8NeN3l8znTG28ONATHvo5hfa7xBwoqVChHzz77bIy6cQS/e+bOF0lvD3iD2r38omUajrTaV1Titwf0p56vdnc559gTW6kyFWPMZ1WG+ajPQxbIKiGgOZ26njV7DvXo2UddOhz5owosmNcN9h0SiAveJ/r1f9NBcK3S6Dx9WbvOnz1pCBt69OxNs2bPVY8wjiwAu3ThjHFtfp/X62LlAcyfc/zoseN0RAjpW7VqYdSHT3julxR9aRUC/S7Ez9THhr4HeLNn+uu92Mzih+sX3c75E0I8WkHscRz0tZXH4t59+40PAZjL5mvz+4KeJtDzkT8QMXvmtBhrYq06z8t6uxujXNcK5csIYeGUGEIdvR18bv59Haj+4mf5c+6Ey/5otYbo82vEyDHUp3dPp/s0i2crVqom+mk55c+XlzFaBhYA81w1B9Wf/J50+coVyijEZs4Cp+nxam+aPWdejCT8rj5XiLTLlikd4/+ekGcAAEAASURBVJ4e8fPPP1OTZi3Fh36P6tHyXNXF1d9jrl675rKOXBB7SFOif1/3cr0vvHkf9XQdigFFi1B8/NFXvvzdx5997Utb9DWby3EmAAv0eqzvgaq7VF/x30/GjptAffv0UrdiHF39vSdGYkSAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQJgRcPQAJip/6FDMLweHWZtQXRAAARAAARAAARAAARAAARAAARAAgf8IhJIAjKvERn9sDM3GGGxY//sfv0tvSm1eesVln8W2AKxsmVK0eOFDQ1b2uLFQCN2uCGOuShUrUJ06tWS7Nm/ZKrwstHRoC38xvEnjhkbcwYOHaMGiJXT/n/tUv34dBwPIJs1aSI8oRmIfTuwIwNhjxELhkUh9iZyNYdkTlTn42gZv8lepXEkYbL8ujbojIjIYVTp69JhxzictW7c1vs6uDIL0BDzmTp46TadPn5GGc+wdQ4V58xdS566vqkvjePTQXunxSUWwcfaWLdvoiScSCRFgJQcPINt37KQGDaO9BXF63ZiN6xpVtZYqxuG4cP5sKl8uWhRoHjeHD+6m9OnSyfRsdMVitnXiy+4pU6akF19sZdxjw6es2fPSH8IjmQr681Ucl8HG6fv276fs2bJRgQL51S1iY79ChUsa165OdE9xVuI287MvX75ChYs5GiuykfvunVvkY3QvG+wp4fz3Jw2D2zt37ghh2Am5TqRPn57q1a1tiMa4PQWFBzLdm8moEe9T25day3L5/gHxFf35CxbJ8mrWrGbMM/Z6NvmLKa6aKe8VL1aUVi5fZKRjI9KjQvzA3nAKCn7sHVEZ27PBZfZcBYy0zk5SpEhOM775StTpcYc+4PXk7m93jWwfj59ICxcvlWI6FtVx4DWTDW4PHjosPepUqlhefKX/4TM3bd4ijD5bGWXwiR3jPW/mpnqIXr6K4yN7tuB17vadX6hqlUr0pDD4V6GVEBKvFoJiDt7McV/mBj+TRYK6qI+/Hs/zjw1a2XuQWYThrQCMn8WBx+K5c+dp2/YdwhNhBiojPHbpPKYKrxHsoUgP+jyyMnzcumkt5RGenjjwHDouhKg83uMJL2O1a9VwEI7amadcDtfTkzVC73vOazYM5TmuWDLbTZu2SC+Z2bNnpYYNG1CmjBnlmGYB70+3f/JoXnB9nQVf563eLv0Zdse0ypNW7DOHD+5xEEicOfMdbd+xS3jySyH2opKUPHlylVwevRWAqUK4H77//qx8Bu+Z5rH2+RdT6c23Bqnk8sheE08cO2gYv/N4YjHrgQMHhTewvPRy2xeNdZfXqeIlyzvkN4tauQ48Fnfv2SPmWSqqJtZJ/kAA78O6SNXXMawLMPQK8X62d88+KiDWRjX++D63SwlpWczGHvL+/vsfKepXwjleY7PnzEe/amsx560r3u/0DxewMGX6jFl06fJluYfrHmGciZ65HHPQ57m6x3v6YWG4f1gIlZl/saJFHMZQA+GNhseQHurVrSUEfJONKJ5vW7Zul+tC0aKFqXSpkkYZ3D+611SVyYonpz13zrO1KxgCMH/Oce5z1f/s2XXP3n2U+MnEtHbdOhozdoLCE+MYyHchfpg+NvQ9wJs901/vxWYI077+gjKId7N8QhSjGPJ7G+8jKrCHR+Wx1V9razDmI89D5UmQBUDnz1+gjBkjqJzYrzjo88VKYPT000np9InDDh9fOCfK2CF+L/C6U6lSecqSObMsy/wRhkD1Fz/Mn3NHVv6/f0J5f7TqH31+qXbwWnBK/Fbk/q5UqYLxYRu+r+8f7Klr+w7+jZaGihQprLLT9es3LD0jW/UneyXavWev8DZ7lUoUL0a5c+cyyuGxlylrrhhi7c8/m0ANn29gpOO5tmHjZvH+dJvKi4/1qHdCTvDrb7/Jvezffx09Zut1cfb3GP6dwx8oySa8eSqP5bynMBsVfhTezJo1j/695etebtUXvPfYfR/1dB1SbbA66nzUfW/6ypffVfxcf/e1t23R12zuE/N7PpcbjPVY3wNVW6z6ypu/96jycAQBEAABEAABEAABEAABEAABEAABEACBcCUQGVlQVh0ewMK1B1FvEAABEAABEAABEAABEAABEAABEHBBQBeAsaF74WKlnKZ+cP9fuicMj1TwtwcwVe4vv/xCZctXoRs3b6oot0ezAGzb9u1O8/z55z1q3jKmlwfdyMjKmMSVQd/ID98ThtBt5DPZ+CtnHnap/jCwsGPAG/3pjTfedmDI3rW2bVlvCEV0Dxgq95uv95VfH+drK8GMSufpUReA/fjjLSEsixbdPPHEk8TG6RkypHcQCrDhTI1a9WJ8NdzXNviav4Awgt64frVsPhvopUqbySkKs0EQG6xVrV7HwSPHnl1bKWuWzLIMNqDLkTv6j2OqUH0ccByLcYYOe1/dlseZ06ZSdeE1RQU2hGNDPA66MRTXN0NENocxofJcv3LOMA7VhX89unWmwYOivWg565P14kv0hYRHLg5mryD6OOf7v929S9Vr1hVGjWf5UoYxoz6gF9s8FAtlyJjdgZFKZz6uXrGE2KCcg1m0xnGXhVcPXdzCBmNp0md28Iinj3cWGVSvVZ+zysBt7/lqN3pn6PAYHrV4zB7Yt9NgZp7DuuBk/YZN9EKL6Pmqyi5SuBDVqF6N3v9wlIpye2SRHs+Tzl160H4hatCD7sGN41sKIeKatev1JC7P9f5nbxNbtu6IkT5+/Hh0/MgBIWA8RV269qCbP9xySMNf3m/WtLGMY9ap02USopqHBp/ujPd8nZt6+apiLIzo1bu/uqTkyZIJ7437jX7bKIRATV94OPY4od057uvc0PdDfu6KlavoxbYd+NQIjRrWpwkff2SIRXwRgPFe10QIgg8KDzMqMA/eE5QIjQ1rM2TK7jBH9DlsHudcDvfbOrEGzJz5LQ0YONghL3vC27d7OynRrB3jZ2/WCL3vrQxDb167YIiKevfpH8PrUKuWL9Cff/4pRJqLFRp5tDMvHDJYXPgyb/V2qaK9GdP6/st83hwwyPB+pcp9b/gQ6tD+ZeP9wBcBGI+1xk1bOOzf5rHGRuwRmXM4jJeli+dJgRDXiYVN5SpUpjs//6KqKOfv/n07DJF4i1YvCXHMBnmf16fvTh01DOW5/BdatKat23Ya+Xk8jh83RoqY2cOWCr6OYfM+zXttm5faG+JSfo7+Dqueu3XbdslJrZOlShaX3j7VfbNAmOv//ZnjRvt5n1eG7yoPe9VZJfZGFgTznp0jV/4YIjKVVj/q85zjT548JT2K6vy5fouESF+JUThNeeGNRgWu39kzJwwvQ/xOwyL+K1evqSTS68/SxfONNc1KyGfm6e3aFQwBGDfM33Oc1/l69RtZvqsZILWTQL8L6WPDag+wu2dylf3xXqw1PcapLgCZIfb/ntr+ryf2x9oazPnIa0pz8R65QbyzmIM+X6z22EULZhveUHn9f/+DETEEhV06d5Afk3hnyHCH4gPdX/6eO6G+P1r1jz6/GD5/xKFS5RrGuskfpOCPBSjv5qqD3nuf+3G8uqT3hw+lDq+8bFxnzZ4nxtpv7s/Z386l7sLLlx7Yi+ZA4cVRhQkTJ5E+LvLlzUObNqw23hV4vapd73mHvbxzx1fo3aGDjDRWYmRzXVz9PWboO29T1y6dZJUuXrpERYuXVdVzOPq6l5v7wpv3Ua6Q3XXIofKmCzMfb/rK199Vgeprb9qir9lW7/nBWo+t9kBzX3nz9x5T9+MSBEAABEAABEAABEAABEAABEAABEAABMKSQGQk2ys9ICEAqyatA+ABLCz7EZUGARAAARAAARAAARAAARAAARAAAUsCZoN3y0T/RbLxb76CRY0kuvHsGuGxpaXw3GIVzp45ZhhJdezcjRYIz1h60I002KAuskhJuia+lO1JMAvAXOW1MlLh9LqRkZUxiSuDPl3ws2/fAapZ5+FXuF3VZcPaFYaXHhatPd+ouWXyc9+foKeTJpX30mfMFuPL35aZ3ETqBuhukkqj5ecbNaOdu/bESOprG3zN762hq5UIiBvXtEkj+vSTcbKd/KX1NOmzOLRZ9+zgSvyhexIye9HSy7DywKOLh/jL+RmzPPz6+9VL3xseV94eOIQmTf7CoX58kSljBtq/N9rI3ixI1Mf5jRs3qUz5KPr1198cykjyVGI6f/aUYShYuWpNOiK++u4udOvaiYYMflsmY8PBbDkfehJjo7ftW6OFAd8LLzTZs2eT6Tp07Cq9WamyN65baXi/eu/9D2MYxap0Vkf+0nutmjXkLbN3tZPCi03KlCnkPbORplVZ/ojTx8DYceNp2HsjbBfrD6HL00mT0NnvThj9WLpcJQehnzvjPV/npl4+N9xK4Mrx07/+kmoKjwIc2EhPedGQEeIfu3Pc17mh53cltv1y8kRq0KCerJ6rNUDVXx31PYQNink//euve+q2cSwsxJtrhYBLhT59X6evp81Ul273KiOhk5PGjRrQZ59Ge69hUU46IULVgz/WCL3vzXsuG4XevHbReGT+gsVsC779MS+MBzs5cTVv9XZxdm/GtL4WchlmkS7HqXDs8D5DiO2tAMzbsZZHeB3ZunmdrAr3oZVnKL7JhuXD3h0s061bv9EQ2L/Rvw/17dNLxvM/LMBauWqNce3LibsxrM813sdZ5Gzew9iQevPGh/WZM3c+de3+sL6qfnofTJn6DfV/I1qAzfd1wTLveTnzFHQwuldl6IKPXr37xRAwq3T6UZ+H24WHwAaNXtBvG+fDhFF/504Phaq6yGDgW68L0XR3I23Z8pXp9JnvjGt10qxJY5r4yVh1GaOvdJ7ejicuPFgCMKMhTk48meP8cYz8hYo6iKedFGtEB/pdSB8bVr9X7O6ZXGH9N5i378VGwy1O7Aov/LG2Bms+cjO793iNZs+ZZ9Fi1x7AzOu/M0/DlgWLyED3l7PnqnhP5k447I/uBGDyd5J4dzZ7fnxn8FukPPAyG6u/bzyRKBFdvvid8Q5eq87ztHfffoVSHvX+HDh4KH066XOH++pim9iLlScw88dJNq5fJd6T88mk7KmQPYQpEbPKz0f9XZv39PQZsjqIWvW6uPt7jF0BmP58q3N3e7m+1vnym9XuOmRVRxWn8/G2r3z9XRWIvva2LfqabX7PZ2bBWo+t9kC9rwKxr6kxgSMIgAAIgAAIgAAIgAAIgAAIgAAIgAAIhDoBzQMYC8Di0aFDh0O9zqgfCIAACIAACIAACIAACIAACIAACICATQKhJgBbuGgxdej00FjVZjMotgVgr7RrSx+8/65R3clfTKGBg4ZYGgIbicTJBSGySZLkKRnlzDCXb86bM4MqVawg07EXLrO3IXnDw388EYCpolmk9kKLFx1EC762wdf83hq6tmxt7ZFJF09xu1OkjlDNJ93YiSOjqtSgo8dOGPf1k5dfak0jR7wvo9iQTvdMNuObKVSjRrSXDrNQiTPwF/jLl4v+mvqSJcuoXYcushx9nFsJN2Si//75/vRRevbZZ6V4L3W6zMYt3ZjOymhKJdTFMJ26dI/hiUel04/sUebMqYfejHIJY/ifbt+RSXRjSfa+9e2saTJ+9eq11OrFdkYxujguX4HCMbxaGQlNJ9w3gwcNkAI+vmUWrC6YN4sqlC8nc7EXlq7de9pqk+kxti+zZc1Cs2Z+Y3iTs/Im5aowfwhdcuTIRls2rjW8a5kNVPXxbGW85+vcdFe+an//vq9R/37RHg/Y2D5vgSLqljzameO+zg3z2G0mvJBZefbgCvlDAGZldKw3+vSJQ/Tcc8/JqK+/mU59+j30/mB3DuvlqXMWBUZFVaQvP5+kohzWOI60W76rNcJd3+vC8J9++omaNGvpdC01KipO/DEv9PLM5+7mrbt2qfJcjWldHMJrUbYceenu73+orA5HXXzkrQDM27Gmex05euy49BzlULn/LtjI/YoQJnNgcW+pspXkue497NLly1SkWBkZ7+s/dsawLlhy1f5bNy8b1alavbaDhzR1Q39X0gVufH/50gVUskRxmXTcxxPo3eEfqmwOx3bCQ+wI4SmWw5dffkWvDxjocN/qwu48fPrppMLL13FDZFCvQWNDrK/X/djxE9KLjdWzOO47sXcnE3s4B/OaY5cn53W1doWCAMyTOc7taduuIy1b/tA7Hce5C+b9xN/vQu7Ghp09U7VBN5T35r1YlePsaFd44Y+1NVjz8br4SEmByOh5b9VuV/OFRUP8PszB3fpvVXag+8vqmSrOk7lj9U6pygn1/dHd/OJ2NBQfAfhcfAyAg9XHQuQN8Y/eX1biX/2+s/nHZbVo3lR6y+Rz829KvQwrr9SchwPPsaOH91ruFXxfL8fd32P8IQCzs5fb6Quuu6v3Ub5vdx3itM6CzsfbvvL1d5VeB3/1tbdtcbdmB2s9tvpbhs7JWftc/b3H2RhAPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiEGwF4AAu3HkN9QQAEQAAEQAAEQAAEQAAEQAAEQMADAroAjA3RTpw46TT3cXGv+6vRRvqcKBAewJwZaTit1H83dON/jqoYFe1NxiofG2pZeUBwZ2TkyqCPPSYdPbKfkiZJYjySBTqrhLeLYcIg+NyFC0a8OjF7Qfnq6+nqVoxjxYrlKEvmzDJ+wFuDiQVmvgbdMNgsTkmRIjllz5ZNCmZebNPK8EDCz9y1ew/Vrd9YPt7XNvianyvhb0PX+PHj0Q/XL8n28T+p02UyhHy6d7C///6b0oqvpzsLiZ98ki5dOGPcZs92V65ek9e6hx825MsgPPDcE+NSBV3kwGOZ5x4H/UvpPI6nz5itssQ4NmvaiBInTizjdY8g7sa5KujMycOUPHlyedmv/5s01cX4VHn4qHva0r8qvnPbRsqRIzvx1+kjMuc0hBz6l+x1zwhmD2L6M/i8cqUK1KJFMypatAilT5eOEiRI4JDkt7t3KUu2PEZc8WJFicd8vHjxjDj2jjZz9hwaM2ZcjK/7G4lsnPCYadOqBdWuXUt+hZ89jenP4SK279hJDRo2s1FadBJ9DDRq8gJt2brDZd6Ejz1GXbp0pDq1a1LmzJmk+C9+/PgOeQYPGUafTPzMiHNlvOePuemqfKMS4qR1q+Y0dsxIGaWPB5XGzhz3dW7Uq1uLpn45WT7SbFyr6qGOwRCArVm5hIoUKSwfuWXrNmrUpIV6vG2BFmdgg232DlSqZHHKKs4TCbGOOeTIlZ/u/PyLEe2PNcJd3/cTnqFeFx6i9HDu/AWaNGkyfSUEb1beKzitp/NCL9987s28ddcu9QxXY1ofP+fFu0HxkuVVthjHYAjA9LG2ddt2atg42hOp7lGRPW+sEmJdZ6GtEDxz0Nft4+KdKHXqVDJ+6lfTqN/rA+S5p/94M4Zdva/pz7957YKxdzgTgOkczJ5adW847AnXmffajBkjqLIQXnLQGet1MZ/bnYec77J413hSvHNw0L3u6PUbP2ESDXl3uExj9Y/+oQGzZ0O7PLlcfTyZ165gC8ACOcetGOpxgXwXcjc27OyZqq52DOVdvRercpwd7Qov/LG26uM9Nuejq/nyzVefU+1aNSWus+fOU8nS0R/3cMbPHB/o/lLPC+TcCfX90d38YkZFi0TS6pVLJS5XAjB9TFp5bbbTn/yQiIj0dHDfLvk8/iez8PLFwnF+97929bwRX75iVTopPOk6C+rjIHzfLCq3WxfO640AzJu93E5fcH3c/Wa1uw5xWc6CXT7O+srX31Wx0dfO2sKM3K3Z+tgP9npsp6982decjRHEgwAIgAAIgAAIgAAIgAAIgAAIgAAIgECoEYAHsFDrEdQHBEAABEAABEAABEAABEAABEAABPxIQBeAmT3muHtMKAvAdK9N7tqh7rszMnJl0MdlZBUCrWXCG0SqVClVkcaRjfw6de7m4F2CDfKXLVlgpLF7MlqIVd7/cJTd5E7TuRKAmTNN+HgMNX+hqRGtDKV9bYOv+blC/jZ05TJ1ryCp0mY0xAijhEcvZehu5amI8+pBNy7v0bM3zZo917itG+H1F4bxU4SBPIdaNavTtK+/lOcsUMqZp5A853/05xuRNk5KCIGBEiG6G+eqON14uU/f1+nraTPVLZfHKZ9/SvXr15Vpdu7aTfUaNJHnioUyLNeN8ZR3jIFvvU49X432ALhh42Zq1jxaVKA/sFOH9tSn96uGOE2/p5+bBWB8j7/YP/GTcYZHLJWePRWwoXrHTt0Mj2XqnqsjG/ONGfWh9DqWMGFCV0kDJgBLmyY1TRj/EZUrW8YQMjiriCcCMH/MTXfGgaqezZs1kW3ga28FYL7OjWFDB0mhFNfh559/puy5CvCpZdAFPGo8WyY0RbrbQ/TkM6dNperVq8oo3asSR9iZw+XLlaZRIz+UAjC9XKtzbwVgrtYIO33/3vAh1KH9yzHEkiyunfr1NHp74DvG2qvq7Q8BmC/z1k67uK6uxvS2zesod+5cskmbt2ylxk1bqubFOAZDAKaPtbNnz1HJMtFCpd07t9gaP3ql//rrL0qfMbuMUms+X/R8rS/NmPmtntTtuS9j2O5cuyEM5x8TBvQc1HuNuWJTv/iM6tWrLaPNAjC9jeZ8zq6PHDlKlatFl+csDcfbmecqv+51S/cwptevS7eexJ4ynIUP33uX2rdvK2+zV75ceSPlOf9jlyen1ceTee0KlgAsGHOc2+oqBPJdyN3YCOZ7sSsGfE9/15sxYxb17N3fMos/1lZ9vFs+xCIyEPPR1XzR19W1a9dTC+GN2JNgR9jA5Tn7HePuWcGYO6G+P7qbX8wwslABWrdmhcTpSgCm7+G+CMDMYhXlDdz8rq7/ZrXq613bN1H27NnkLRbltGzzspHM7tjiDJ4IwHzZy+30BdfH1fso37e7DnFaZ8EuH7t95ew55nj1d5/Y6GtnbeE6uluzY3M9tttX3q6T5j7CNQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiEKgF4AAvVnkG9QAAEQAAEQAAEQAAEQAAEQAAEQMAPBCAAewjRnZGRK4O+h6UQ9ejWWQoJlOcL/Z7uEamS8Oo1b84s4zYbvdsJb7z5tm0xjqvyPBGAcTkXzp6iJEmekkWqr4b72gZf83NlgmnoOu6jkdSqZbR3FPaIkr9QMcnD2T+6cbnZi9aYUR8Qe1fjcPToMYqqWkueL5w/m8qXKyvP2StcX+F9SwX9+Rxnd8zkyluIfv31N1mMu3GunuXOmE6lMx+rVa1Ms2Z8LaPv3v2dMmfLLTzJlaEF86KN/4cN/4DGfvwJ6WKvd4YMpwkTJ9HG9aukBy3ObBbMcZxuWM7XHE6JL92v27CRtmzZRhEZ0tNoIcjiYCUA43j21jd82BBq+Hx9w0Max3NgL4jVatShI0ePR0e4+PcJ4Ulp357tDt7xOP8uIXrbLOqyafMW6tu7lyHiCYQHMPYkt2L5IgdB2x9//EHrN2wmFiqsX7+RVi5fTOyRjIMnAjB/zE13xoEKrytjYE5jZ477Ojd0AdmPP96iPPmjvW+pOurHYAjAli6eR6VLlZSPPXz4CFWpXseogrs53LnjK/SuELTpXuhY4L123XopdNy0aSudOXXEKC+2BGBcAfYIMeLD4ZYCRhbZFilWmv4UoiIVfBWA+Tpv/TGmdQGA2QBbtVMddeNxte+qe66Odt9XuAx9rB08eIiq1awniz6wbwdljIgwHmNnv/nhhx+oUJFSMs8P1y+S8kLYUQjgFyxcYpTl7sTXMWy3/foe7Y0ATG8jr//sPdBd4Hn4YtsO7pJ5JADThVWjRo+lD0aMluXr9evQsSstXBztscbq4boI1izEtcuTy9XHk3nt0utptcdzfrP3VPMHHdzVJVhznOvqKgTyXcjdHmBnz1R1D7ShvF3hhT/WVn28x+Z8dDVG9XXV7H1Z9YmrYyD7K1hzx9U7Xyjsj+7mF/dPsAVgyZMlc3hvK1aiLF24eInM7+rm9dI8lnQB+sZNW6jpC9G/Qzmd3bHFae0KwHzdy+30BdfH3W9Wu+sQl+Us2OVjt6/svFNxXdTffWKjr521hevlbs2OzfXYbl9BAMY9iQACIAACIAACIAACIAACIAACIAACIBCXCUAAFpd7F20DARAAARAAARAAARAAARAAARB45An4SwC2TggNmrd80ZLn2TPH6JlnnpH3rIyA7RppWBb+X2TqVCno+NGDRhJ3BlBGQu3EnZGRK4M+rRjjlI3D3hn8ljBsjxbz8A32NFSuQhU6feY7ByNXjk+TPrMQoLg3HjYe4OOJpwKwnds2Uo4c0Z49Fi1aQq8Ib0m6oa43bfA1PyMIpqFr61bNaeyYkZL8vXv3KF1E9FfUrboi4WOP0TXhXUSFkqUrEHuCUyFd2jR05NBeeclG42kzZJH9f+3yWVLepApGFqdr12+oLPRSm5aGwMmOAM3IqJ24G+cqqTtjOpXO6qgbfeXOV4gGD3yLWjRvJpPmL1iMbty8KT3m7dm9Vcbt3bufatV9nlTbeSxFZMrhIPxo0bwpjR83xngcC5xeEQbtt27dNuJ0o1JnAjAjsThhj2ADBvSnLMJ7nwpKtKaunR3NYrSPx0+kDz4YSff++cfIoqcJhABM7yP2QNCl66sxDPz1NJ4IwPwxN90ZBypQer+ZhQecxs4c93VudHylHbFHKg7u5nYwBGAH9+2kiIgMsj6zv51L3V/tLc/5H1dzmNeVQwd2G8IbFn41b9mGjh47YeTnE93oMTYFYKpSiRIlpG5dOlH37l3o6aRJVTTt3rOX6tRrZFz7KgDT5yQX6um89ceY1kW+uvjXaKR2EgwBmD7WZs2eI8S3fWQN5syeTpWjor2BLVmyjNp16KLVzP3pd0JkmEwYrXNggS8Lfe0Ef4xhu+9rvgrA9Da279CZFi9ZbqeJttK4mufmAn68cckQfL7Qoo0QAW+SSc6cPGx4yxzz0cf0ntijnIXZM7+hqlWi5G3zuLTLkzPr48m8dukCsF69+9H0GbNjVEffe/im+X3eXV2CNcdjVNwiIhDvQvwYd2PDzp6pqmv3N5i+Z7jzMqTK5qNd4YU/1tZQmY+uxujcb2dQVKUKEtHJk6eofKVqOi6354Hsr2DNHVfvfKGwP7qbX9xJwRaA8V7MezIH/o2UMk1Gec6ivSuXvpfn/I/5t6Zx478TV3uC3bHFRdkRgPljL7fTF1wf/beOlddqu+sQl+Us2OXjrK/0vc2bv5nERl87awszcrdmx+Z6bLevvN3XnI0RxIMACIAACIAACIAACIAACIAACIAACIBAqBGIjCwoqxSvQlS1B3x26NDDr4OGWmVRHxAAARAAARAAARAAARAAARAAARAAAc8I+CIA043YDhw4SNVr1bd8+KMqAFMwihcrSsuWzKcECRLIqImffkaD3hkmz68Ko61EwniLQ8vWbWnN2vXyPBj/eCoA043GdA8TvrbB1/zBNHTNlDED7d+70+ieosVL08VLV4xr/YTFRZ9PniijWOCVKm0m/bY8P7R/F2UQXqs4dO3Wiy5dviTGygJ5ffXaNSpUONoDkIwQ/2QVQiUlmuIyMwgBmi44UulcHf1lTOfqGbpYkD2fvdqjmxSz/Prbb5Q1e14jqzLQ+t///ieNFpUgzkrcpo9XZ+uNblRqRwCmKtK9a2cp1lTXUVVqxBDMqHvqqOrO1yNGjqERoz5St4yjbkzriwCsSbMWwqPYNqNcPtEN7/i6fMWqdFJ4QzMH3SjSEwEYl+Pr3NTrqBusmuuo95u3AjBf50bpUiWE55r5RtXyFShMN3+4ZVzrJ4EWgLGR58Xzp409Y8Bbg2nyF1OMKriaw/qezmLG3ML7n+5BSxWiGz2GggBM1YuPC+bNEl4Dy8ko9pCQNkNW47YuALOaF0ZCJye+zlt/jOnRI9+nl15sLWv4yy+/ULac+Z3UlijQAjDzWHvjzYH0xZSvZH3efL0v9endU55fvXrV8OzltLKmG7pHR7OgyJTU4dIfY9iVAEN/mK8CsA1rV1DBggVkkXPnLaAu3aJ56c/w9tzVPNfL1D1scnzW7Hno19/uyiRrVi6hIkWivRnu2buPatdtqGd1ONfH2sxZ39Krvfoa9+3yNI8n89qlG4Q72zd1I3mugKcCsGDNcQOOi5NAvAvx49yNjWC+F7tovrzlILyYOZt6vtbPMos/1tZQmI/cOFfzRfd++5fwbhmROYfwHCj/07slF3OkPr5d/W7U93i7gj29bGfz09V7rT/6MBT2R3fzi/sk2AKwcWNGUKtWLeRwML83XL5whp588kl5T3lZlhemf55+OimdPXPcEAs3E96/NggvYCro/e9qbHF6XQB26fJl4a21jCrGOPpjL7fTF/xA/beOWwGYi3XIqLzFiV0+rvrK199Vwe5rV21xN99jcz2221ferJMWQwNRIAACIAACIAACIAACIAACIAACIAACIBCyBCAAC9muQcVAAARAAARAAARAAARAAARAAARAwHcCunEOewrJV7Co7ULHCmOk1v8ZI1kJNrigxo0a0KSJ4w1jo0fJA5gO8ttZ06hK5UoyatfuPVS3fmN5vnvnFsqWNYs8d8ZQ3nTzT4IE8T32HqYLalasXEUvtu3g9Cm1alanaV9/adyvXLUmHTl6XF772gZf85tFWZFFStKVq9eMuuon/jAIunntgiHM2LptOzVs3Fx/hHGui7t++OFHylugiHFPnfTr04te7x/tbWXnrt30g5iDDYRwjIMuslPp+ag/f/HipdReeMHyJPjLmM7VM3UD19Wr11K1alWkR6ItW7dRoybRBoycf+nieVS6VLTIjT3EsBCLw7z5C6mz8GalB924Txcp6Glefqk1jRzxvozyRADGGXSB45Chw2n8J5P0oh3Oeb7dvHbRiMuYOSf9IURs5qB70PFUAKYbCb73/ggaM3a8Q/G6aMpsDKon1A3uPRWA+To33RkHqnrqbbESgNmd477MjSRPJaYL5x4K6JSXQ1VH/ah7qNi//yDVqG0tftbz8Lkro3A97fvDh1KHV142okqXq0TffXfWuHY1h3XjbPN8UwWYvQiEmgDMXL9ceQrST7fvyOq7mxeqjVZHf8xbf4xp3Vsd17Ntu460bPnKGFWOHz+eWJeO0LPPPivvfThiNI0cPTZGOqsIb8ea7j2kVMnihiCZn9FB7DULxZ5jN4z7aCS1avlwf6xavTYdOnzUbXZ/jGG77fdVADZK7Ddtxb7D4f79+1QwsphT4ajbhpsSuJrnelJdZMRi6gixH6nw4XvvUvv2beUli3ALFy1l+X5UXezRM6d/JdPxPyxkY0GbCnZ5ulu79gqvn8rjpjOvchM+HkPNX2iqHu2RACyYc9yooIuTQLwL8ePcjQ27eyaX5Y/3Yi7HWVi7aikVLhwpb+/bd4Bq1mlgmdQfa2sozEdunKv5UqliOZo3Z5bBYOy48TTsvRHGtbuTQPVXMOeOq3e+UNgf3c0v7qNgCsDYo/RFIfJ6/PHH5fAwfwRj1/ZNlD17tEdqV78HJk4YS82aNjaGWIaM2R0+EGB3bHEB/fu+Rv37RXum/eOPPyhjllxGuerEH3u5nb7g5+m/Ea0EYHbXIVV3q6MdPu76ytffVcHsa3dtcbdmx+Z6bKevuI8hALMa6YgDARAAARAAARAAARAAARAAARAAARCISwQiIwuJ5jwg4QGsuvgM2QN4AItLvYu2gAAIgAAIgAAIgAAIgAAIgAAIPPIEfBGA9ejWmQYPestgaPaa06rlCzR2zEhD/MUJw0UAtnDRYurQqbvRNj5xZdDX8ZV2QsjTm3r07EMrVq52yMcXughjhvbl6bJlStHihXON9EuXrhCCns4xvgbPhnlNGzei2XPmGWn5hI1vVq9cTOnTp6crV65S5aq16PadaEN5h4QWF3YEYPzcLp060qCBb0oBDxfDX6xPL4zGVPC1Db7mZyP5H65fUtWhd4e9T+PGR3veMiL/O/GHQdB7w96hjh3aG0W/9fY79NnnD8VxfEP/gj1fd+rSneYvWMynDoFFJ+fPnpJzhD3d/P7779LYnw21s+XMR7/++ptDer54b/gQ4vGmgpWhG99LkSI5FS9WjFauWqOSyqO/jOkcCjVd6MbH9+7do4QJE8oU7A1s6tfTjdTcDm4PBzZcV1+wN3+Vnu/rgrrpM2ZRr979OdoILP768IPhxjg1C8Bmz/yGsmXLQs1bvEhnz5038vEJz6Ojh/caa5Udz0I/3rhkpG/YuBlt3fbQMxyX+ekn46hpk0Z8KoOnArATRw9QqlQpZd7de/ZSnXoPy+LIKpUrEQtLOfzzzz/Ss5ouQkv27DPSo1Xu3A+NMj0VgPk6N90ZB8rKi39cGQNzGrtz3Ne5sXHdSipQINobE3vYa/NSe1q9Zp2qpjxO+fxTql+/rhHnrQCMyx856qMYgp7atWrQV1MmG+PYbOjLD3Y1h3XxxPkLF6h4yfJGXfmkcKGCNH/+bHo6aVIjPtgCMDYqPSC8Hx4/cZJeFuInfdxypXQhp9l7ort5YTTKyYmv89YfY5r31UvnzxjeP9kzYgXhwU8XLrOnjk0bVlPGiAijJd4KwJgh5x390cdGWXxiHmtWY1kXF/HeX69BYzpw8LBDOXzBxvAcdIEXr0Enjx+ix0R/c2DD9GrV69I5MS710K5tG2rRvBlVqxktfvbHGHb1vqY/21cBGO/hZ04dNfY49oRStVody/ewunVq0Y4duyzv6XVS5/o8Z29+/P5s9hI7bOgg6tzpoXjf7LXHXL/r129QhUpV6c7Pv6jHyI8QrF+7kpIkeUrGWX0MQufpy9rF3nBLlSwhn8N7fvZc+cU75T2jLp99Ol58OOJ545pPXHkA4/YUiCzukD5Yc9zhoU4uAvEuxI/Sx4aV5zm7eyaX5Y/3Yi7HWZj29RdUq2YNeZvHceZsuS2T+mNtNY/3QM1HK+Z6o/T5YuU98cC+HcbazvOpQ6eutHjJcr0IKlokkiZOGEeNm7Zw2BsC2V/Bmjuu3vmCvT9a9Y+7+cUdFQgBGL+zNW3Wii5cfPiblt+XVglPjsrTJD/b/PcWswfbNeK9tWWblzmpERo1rE+ffTrB+N2ydNlKerl9R+M+n9gdW5yWP/DD5amQv2AxunHzprqUR3/s5Xb6gh/mTgBmdx1yaIDpQufjbV/5+rsqEH3tbVvcrdmxuR7rfeXKmx0EYKZBjksQAAEQAAEQAAEQAAEQAAEQAAEQAIE4R0B6ABPKLyEAq/ZA6L/Ef8Q7EucaiQaBAAiAAAiAAAiAAAiAAAiAAAiAwKNKwBcBWOpUKejYkQOGMRF7P2CjuPtCjFCpUgUpSjJzDZYAzCzwMNeDr7cJ7019+r1p3Jo1/SvpqYgj2GNT1+6v0qbN24z7zgz6cuTIRtu3bDAM9o8ePSaNdLdt3y4EOEWFCKQx5cjxUDBlFpfoXoL4YT/+eItmfzuPjh0/Rk8lTkxlypSm+vXqSAPjnq/1pRkzvzXqpHth48jJQog0QAiS7ARdAMbtPXjwkMwWL148SpYsGaVOk4rSpU1rGG/zTRYm1X++Ce3ctcfhEb60gQvyNf/5sycpaZIksk5sVDxs+If0460fqV7duvTOkKF08dIVec9fBkG6tygumA3nd+zcLYR7/1DdunUMr2587+ix48JYryafWgY28s+fL6/Dve+++55Kl4tyiNMvzM/nZyxduozOn79I6dKno8pRFalC+XIyS0FhHH39xkOjPH8Z0+n1sTrX+0Tdz5o9D/362111SSxyOPfdCeOaT8yCD3VT96LH45C9Gy1ctIQiMmSgOrVrki504jy6AKx9u5fow/eHyaI478ZNW8T/N9ORI0epQf169HyDupQ8eXJ5n9exdBFZ3XrU0/uAxXtLli6ndes3CuP24kJYUZNSpkwhy1P/eCoAW7zgWypbtoxR588mf0EsBKtYoQJt375DCpMuCY8AKvz0009y/WVRTfWqValGjaqGKEGlMQvA2NBW92Q2esw4mvrVNAcjTl/mpjvjQFUvV8bAKo0+nlzNcb1fOK8ncyNf3jy0eeNDwSSPlc1btkrRBntXiKpUMUa/WolmVJ3NR30PUfdYbLF6zVop4K1QoSyVK1tW3ZLrbbESZYz1S91wNYdfbN2Cxox+6E3k5MlTNGfufLp372+qVasalS1TxtizVXnBFoDN/XaGYFlBPp5FRez9auPGzcLL121q2fwFqlmzmuHp4tz5C1Si1EMRm7t54c5DlT4+vJm3/hrTbwjPj3379FJdQFyXFStWyfFaSnhFLF+ujCEQU4m8FYCp/OxllMfaVeEh0+5YYwHLvj07jDHDc2Lt2vW0fuMmYm99OXPkIBY28frLa1CuvNGeftQzdS+XHMfrK+fftn0nZcqUkapWjSLlEerzL6bSm28NIn+MYX2uWRn4q/r5KgDjcswea7gvvxVi/b379st5V7hwIWrcsAE999xzsu0tWrdVj3d51Oe5SnhCrO+8z3Bgz6z6u+XPP/8sBFXRQjyVno+6oJKv2VsL71cXhcggb548Yl2o7vCeV6NWPdp/IPp9kNNz0HlGxwhvpF6sXea+5TG0cNFSSiPeN9kbKL97moNZAMYflxj30SiZjN8X+L141uyHH1II1hw319PZtb53qTS+vAtxGfrYcCZG0p/ras/013uxapv52KVzB3p3yCAjev2GTTRz1my5diRKlNDwfuWvtTUY89EZc9VIfb5YrT8F8ueljesdPxbC3qF5H0yQIIF4h69ExYoVkcWZfw8Esr+CNXfcvfMFc3+06h878ysQAjDucPX7ZrvYIzNmjJBCbfX7hO878+xqfle/eu2a+F24nP788085lvR3S37vypYjn4P3Ly7b7tjitOnSpqEjh/byqQwsthwxYgwlTvykeM8sLb1Tm9f72Hof5QraXYeiW2P9r86HU/irrzz5uw8/19997W1b7PyGjK31WO+rluKdyyye5zZzgAAsmgP+BQEQAAEQAAEQAAEQAAEQAAEQAAEQiLsEpABMNC9aAEbxhAewmF94jLvNR8tAAARAAARAAARAAARAAARAAARAIG4T8EUAxmSWLp4njTadUeKvCn935nuqXr2qTBIsAZiz+ujxbHCTJ39hI6p/39eof7/exjV71UmTPotx7cygjwVgC+bOprTCGMpdsPoqN38heemSBVQgfz532aXnopKlow3nOfGiBbMdBANsWPlCizZuy+EEugDMTgY2GOvT940YXsg4ry9t8Ef+AW/0o96vvWrZ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gAAIgAAIgAAIhC0BKQB7QCwAqy4OD+jQoSNh2xhUHARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAATiEoFoD2BSAFZNCMDgASwudS7aAgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEN4EIAAL7/5D7UEABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABOIwgcjIQkQPHlC8ClHwABaH+xlNAwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCEMCUgBGEICFYdehyiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAnGdQGShgkTxxP/gASyudzXaBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEG4EogVg8f4TgD0gOnT4SLi1AfUFARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgThJIDKykGjXA3gAi5O9i0aBAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiENYHIyIKy/vEqRFUX/r8e0KFD8AAW1j2KyoMACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQZApGFhAAsnvhfhahqD4T+iw4dhgAszvQuGgICIAACIAACIAACIAACIAACIAACIAAC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BQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiO0EYAAW2+8Q5AMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEHhkCYSF5RN9v0fCA1hl4QHsHsED2CP7LKDjIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACsYyA9AAmLL+EAVj4PWH/RRF798UyESEOCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACDyaBKQBmOi6xwCM4gkPYHsfTRLoNQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEMgIeA7B4bABWWfj/uicMwOABLJbdI4gDAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDwiBLw9gAmTMAi9sIA7BF9FtBtEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBWEbA2wBMCAcPYLHsDkEcEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBR5aAyQAsnjAA2/vIwkDHQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCA2EbhvAFYu/B7Fgwew2HRzIAsIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMCjTUAagN0jilemvDAAExZg8AD2aD8Q6D0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEDsIXDfA5g0AIMHsNhzayAJCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIDAo07AYwAWT3kAgwHYo/5AoP8gAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKxh4A0ALtHbABWWRzuUUTEvtgjHSQBARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgUeYgMcDmDQACxcGYPAA9gg/C+g6CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBALCMAA7BYdkMgDgiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAgoAmFh+Yju3aN4ZcrDA5iCgiMIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIxAYC0gCMYAAWG+4FZAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwJh+fISxRP/wQOYFxecgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMADJ+AxAIv3nwHYPaKIvfseuFAQAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA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AAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgBsCkYWEACyB+K9CVLXrQv9FMbEQgLkBimtBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwCsCkZGFRFbXWQAGD2BeQUU+IAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIOAFAbMHMJFjTAw8gHkBFnmAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgFsCkZERMgt4AHNLEteDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgMcEIiMLiRyvkxCAVbvOecMDmMeEkR0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIOCSgeQBjAVgCIQCLdZgVLgMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEPCSADyAeUkTeYEACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACICAhwTgAcxDmMgKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwkAA9gXtJEXiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDgIQEIwDyEiaxA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AEAASURBVDUrgCWzrKhQAayxPizzIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3hIoFNpnC1YBbN567lZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEATECgUypNZVkUSAOtelc5XBbAm8NRMkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeUKgpAJYGgArSwJglfPEwi2SAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECjV1ABbDG/oTMjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeVZABbB59tFbOAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECjV1ABbDG/oTMjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeVZAAGyeffQWToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAYxcoFNpnUyzr2q17VdqqqBjR2OdsfgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJgnBATA5onHbJEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRFgUKhPJl2VSQVwHokFcCqVABrik/RnAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJYCWQWwJPmVBMC6VyX5r6ioHNEsF2pRBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaGoCWQAsmXR1ACzKkgpglU1tDeZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBZilQHQArSwNgPZL6X1VJAEwFsGb5pC2KAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEmJ1CzAlgSAauoFABrck/RhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJYCNQNgyRJVAGuWz9miCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoggK1AmBlSQCssgkuw5QJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ/AR+CIBt3b0qylQAa36P2IoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiqAlkArCqirGu3JACWJMBUAGuqj9K8CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBobgI/VADLAmAqgDW3B2w9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0XYHqAFhZsQKYAFjTfZRmToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAcxPIAmBVkQbAeiQfVVFRMaK5rdF6CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0CQFqiuAZQGw7kkATAWwJvkUTZoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWYpIADWLB+rRREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0BwECoXyiKqqKOvaTQWw5vBArYEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgeYjkAXAQgCs+TxRKyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoNkIFMrbR5Qlv1QAazbP1EIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgmAtUBsLL/BcCqIioqRzSTpVkGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmrZAoVCeLKBKBbCm/RjNngABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB5ihQKLTPllXWtVuPpP5XVVRUqADWHB+0NREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0PQECuVJAKws+dW1W/eqJP8VFZUCYE3vMZoxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLNUaBQKE+WVZUGwFQAa44P2JoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGi6AjUrgCXrqKhQAazpPk4zJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgOQkUCu2z5agA1pyeqrUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAsBAqF8mQdVZEEwLpXpStSAaxZPFeLIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgGQiUVABLA2BlSQCsshksyxIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ9AVUAGv6z9AKCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBopgIqgDXTB2tZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0fQEVwJr+M7QCAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaqYAAWDN9sJZFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDTFygU2meLKOvarXtV2qqoGNH0V2UFBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaAYCAmDN4CFaAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzVOgUChPFlYVSQWwHkkFsCoVwJrnc7YqAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaoEBWASxJfiUBsO5VSf4rKipHNMFlmDIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSan0AWAEuWVR0Ai7KkAlhl81ulFREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAJClQHwMrSAFiPpP5XVRIAUwGsCT5HUyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBkK1KwAlkTAKioFwJrhc7YkAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaoEDNAFiyABXAmuBTNGUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJqlQK0AWFkSAKtslgu1KAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQ1gR8CYFt3r4oyFcCa2gM0XwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmq9AFgCriijr2i0JgCUJMBXAmu/DtjICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJqWwA8VwLIAmApgTevxmS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAs1ZoDoAVlasACYA1pwftrURIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINC0BLIAWFWkAbAeyUdVVFSMaForMFsCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0U4HqCmBZAKx7EgBTAayZPmfLIkCAAAECBAgQIECAAAECjV5gs86bRosWLeLrr7+OESNfafTzNUECpQLLLL1UrLvuOtmhzz//Il57/Y3Sbm0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECsywgADbLdE4kQIAAAQIECBAgQIAAAQIEZqfApx+Nyy/XbsMO8dHHn+b7P3Wj9x67x0479oy77ukX/e978Ke+nes3Q4Hj+x4dp592Sray8ePHR/lGnZvhKi2JAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgbggUCuURVVVR1rWbCmBz4wG4JwECBAgQIECAAAECBAgQ+CkF2q2/Xuy5R6/sFs89/2I8/MiAn/J2P+rapQGwwkad4v3xE37U9Rp68hGHHxJnn3VmPrzPPgfEgIGP5/saMy9Q+t7VPvu//50U740bF2+/PTpGjXolJn7zbe0hTXJfAKxJPjaTJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0CYEsABYCYE3iYZkkAQIECBAgQIAAAQIECBCYWYG+xxwVZ/zm1Oy0jz76ONq133hmLzHHxs+tANjtt94Y223bLV/n7XfcFUcfc3y+rzHzAqXv3fTOrkr+VqLhwyvirLPPjSHPPj+9oXOtr/2G7aJzp07Z/e++5974/Isv6pyLAFidLA4SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMBoFCefuIsuSXCmCzQdMlCBAgQIAAAQIECBAgQIBAIxMoDeIIgNX9cDpusnE89MC9UVZWFlOnTo3Numwdo98ZU/dgRxskUPreNeSENAi23wEHN8oKdTf989roucP22TJ2233PeOrpZ+tckgBYnSwOEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAaB6gBY2f8CYFURFZUjZsNlXYIAAQIECBAgQIAAAQIECBBoDAKlQRwBsPqfyKI/WyQ6ddo0nhnybEyaNLn+gXoaJFD63n2RVMzq9cu9svPmazFfrLzKyrHG6qvFbrvuEhts0C4L3qWdafhu9TXXjW//858G3WNODbq//92xWefqCmACYHNK3X0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBQqF8mS3SgWwUhRtAgQIECBAgAABAgQIECDQXARKgzgCYM3lqTb+dTT0vdt1l53j79dcmS/osCOOjnv69c/3G0PjmScfi3XXXSebigBYY3gi5kCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmPcECoX22aLLunbrkdT/qoqKChXA5r3XwIoJECBAgAABAgQIECBAoLkKNDSIMyfXv/hii8YO228f883fIgYMeCw++/yL7PaffPheXg2qsFGneH/8hDk5rQbfa8UVWsWWW2wRSy+9VLz51lsx+MmnkupVyR+rzMVtwfnnj86bbRrt2rWLESNGxksvvhyTv/9+lma06qorx449e8Zbb78dQ4Y8F/+dNGmmrzMz713F0OdjlaQqWLrd0+9fcdgRv57h/Tpt2jE22qgQL788LIYOGzZT/i1bLhjbbtMtVlpxxRg0+MkY/c6Y6d6vcvgLsfJKK2VjGhoAe//98VHYuHN+3R9jmn6/dOu2VSy77LLx2GOPx7vvvZ9fd040lkne8x126BFTvp8SA5P7F79fZ/beiy++WPzfL3aKid98E08++fQsX2dm72s8AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKA5CBTKkwBYWfKra7fuVUn+KyoqBcCaw4O1BgIECBAg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IECAAAECBAgQIECAAAECBAgQIECAAAECBBomIADWMCejCBAgQIAAAQIECBAgQIBAkxQoDQullaLata8OQjVkMZdcfH7ss/de2dAPP/woNijfZJrTeu22S1x15eV5EKV2AKy0glManlq7bbv499cTp7nOsssuHa+/UpkfrysAlnZOGDc6FlxwwWzc3ffcG7v32jVrt123fXyehMLSrTSEMnTo8GjTdu1YfLHFor6qRqXj0zHLrdA6u07xS6lh3+NPiptvuT3SaknzLzB//PvfXxeHzfLnWmuuES8891R2/tcTJyZhsuPjhuuuyfZLw1DFG5QGiJ56+pnYbffqZ1TsTz9rV5NqzAGwFVdoFUNfejZ/rldd/fc448w/ZMvp3KljPHBfv3xphxx6ZNzb//58f0aNC8//U1IBrjpgNWXKlGhf2CQ++vjTGZ1Wo780FHXun86Piy+5vEZ/cWd2BMCeHzI41l57reySX331VazVtroKXPEexc/ScFd6bJXWa08TApzZ9yq9TvoepuelW33f81lnPV9m9L1UPE0ArCjhkwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQMIFCoTwZWBVJBbAeSQWwKhXAGuZmFAECBAgQIECAAAECBAgQaBICpeGlmQ2A/fqow+N3Z/4mX2e3bbePkaNezff37rNnXHLxBXn4K+2oHQBrv2G7eOKxR/JzRo4cFdttv2NMmTI1P5ZW9rqv/9155aO0o74A2KMP3Rcbb9whO3fy5MlZaCitBtYmCYCVbsWqZMUxad9748bFRptsXjosa88otPLIg/1jk002ysYedsTRcU+//tNc48ceGFX5cqyQBKHS7a233o42bdbO2kce1TfuvPuerF38csVlF0fvPX+Z7Y4ZOzY6dtqy2JV9pp733HN7FnordjTWANj2SSWsv17+l1hyySWLU43tevw8KipH5vvPPTMo95iUVDrbeZdeMWz4D2HB4sBCeXWlr9JzF/3ZIvHm6yPzcFn6DmzXfcc8LFg8N/3cacee8eyzz0/T9+rIYbH88stlQ9MqbzvuvFvpaXl7dgTANuu8adzf/4fnPWDAY9Fn31/l90gbu+36i7j6b1fk33dpRbu0sl1d28y8V+n5XTbvHP3vvSu/1P33PxQHHXp4Uoku+WPDkm2++VrEL3vtFrffeXfJ0Zrhy7rC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8exzLyTrnvoT3rHmpdPg3XbbbRvrtG0Tr776ehaUm/DBhzUH2SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhJBWoGwJJbqQD2k3q7OAECBAgQIECAAAECBAgQINCEBDpt2jEevL9fNuM0KLRrr971zj6tOvbe2DfzKlG79tqj3mpU9V5EBwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGoJ1AqAlSUBsMpaQ+wSIECAAAECBAgQIECAAAECBOZNgb/99dL45e67ZYs/90/nxcWXXFEvRBoAG/fuW3llsNXXXCcmfvNtveN1ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCECPwTAtu5eFWUqgDUEzRgCBAgQIECAAAECBAgQIEBg3hD4/e9+E0cfeXi22DFjx0bnzbeKKVOmTrP4Fi3K4onHHokN2q2f9X388Sex/oYbTTPOAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECMysQBYAq4oo69otCYAlCTAVwGaW0HgCBAgQIECAAAECBAgQIECguQqs07ZNDHn6iXx5n3/+eVx/w40xaPBT8emnn8Zaa60Z23bbOvr02TMWXnjhbNzUqVNjx513i5deHpqfp0GAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFZFfihAlgWAFMBbFYhnUeAAAECBAgQIECAAAECBAg0T4ETjjsmTjv1pAYtbtKkSfGrgw6LAQMfb9B4gwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAjgeoAWFmxApgA2IzA9BMgQIAAAQIECBAgQIAAAQLznsDWW20Rp51ycnToUB4tWrSoAfD999/HZ599Hn+/9vq47IorY+rUpMi6jQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABArNJIAuAJT+WVNa1W4/koyoqKkbMpku7DAECBAgQIECAAAECBAgQIECg+QkssvDCsfbaa8akSZPj3Xffi/8mVb9sBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+KkEqiuAZQGw7tlfTy0A9lNRuy4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmTkAAbOa8jCZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAcEygUyiOqqqKsazcVwOaYuhsRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgAQJZACwEwBpAZQgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTmrEChvH1EWfJLBbA5C+9uBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmJFAdQCs7H8BsKqIisoRMzpHPwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMAYFCoTy5S5UKYHPA2i0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwUwKFQvtsfFnXbj2S+l9VUVGhAthMCRpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBn0igUJ4EwMqSX127da9K8l9RUSkA9hNZuywBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmSqBQKE/GV6UBMBXAZkrOYAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPzEAjUrgCU3q6hQAewnNnd5AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEigUGifjVMBrEFcBhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDOCRQK5cnNqiIJgHWvSm+rAticw3cnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQITE+gpAJYGgArSwJgldMbr48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE5pCACmBzCNptCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMLMCKoDNrJjxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmEMCKoDNIWi3IUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwMwKCIDNrJjxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmEMChUL77E5lXbt1r0pbFRUj5tCt3YYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpicgADY9HX0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYiwKFQnly96pIKoD1SCqAVakANhcfhlsTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgVCCrAJYkv5IAWPeqJP8VFZUjSvu1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAuCWQBsOTe1QGwKEsqgFXOpam4LQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUClQHwMrSAFiPpP5XVRIAUwGsFEibAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECc0ugZgWwJAJWUSkANrcehvsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgVKBmACzpUQGslEebAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECc0+gVgCsLAmAVc692bgzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOQCPwTAtu5eFWUqgOUyGgQIECBAgAA2qh00AABAAElEQVQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJjLAlkArCqirGu3JACWJMBUAJvLT8TtCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8D+BHyqAZQEwFcC8GQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgsAtUBsLJiBTABsMbyYMyDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECWQCsKtIAWI/koyoqKkZQIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFGIFBdASwLgHVPAmAqgDWCZ2IKBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyAQEwLwIBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaKQChUJ5RFVVlHXtpgJYI31GpkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwDwqkAXAQgBsHn38lk2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQGMWKJS3jyhLfqkA1pgfk7kRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAvClQHwMr+FwCriqioHDEvOlgzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGp1AoVCezKlKBbBG92RMiAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeV6gUGifGZR17dYjqf9VFRUVKoDN828FAAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGoVAoTwJgJUlv7p2616V5L+iolIArFE8GZMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCeFygUyhODqjQApgLYPP82ACBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFEJ1KwAlkytokIFsEb1hEyGAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF5VqBQaJ+tXQWwefYVsHACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBqrQKFQnkytKpIAWPeqdJIqgDXWR2VeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMawIlFcDSAFhZEgCrnNcMrJcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKNUkAFsEb5WEyKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECESqAeQsIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQSAVUAGukD8a0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIADmHSBAgAABAgQI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AAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhEiIC3AEwVCg9gESKLYkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAgTAI2AVgsJQA7HGaRyA4CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBAJAlECsNIV7lIseACLBFSUAQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKRIKAFYHeJYpUsowRgSgEGD2CRwIoyQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCB8AlEewLQADB7AwkeKEkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAgMgQ8ArBYxgMYBGCRwYpSQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCB8AloAdpdYAFZRbe7SoUNHwi8VJYAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIRNwOMBTAvAKigBGDyAhU0UBYAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBAhAhAABYhkCgGBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAA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c6nQURAAARAAARAAARAAARAAARAAARCIOQRu37hETz31lOxQoyYtaM3a9badK1O6JM2ZNV2KxThDm3YdadHiZbZ5kQgCIPB4ElDev/755x9Knyk7/fjjT4/nieKsQAAEQkIAArCQYEQlIAACIAACIBDrCEAA5t8lmyv+1lKmTClZiD0tlypTkU6eOu1fJcgNAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQqwiEh+cgun+f4hSLgAewWHXl0FkQAAEQAAEQAAEQAAEQAAEQAAEQeIQENqxdQTlzhsse3Bd/WNi5azdNnTaDzp27QM8+8wyFhWWjpk0aUfbs2XQv9+zdR1Wq1dL7iIAACDz+BPLmyU1rVi2VJzpt+kzq0avv43/SOEMQAIGgCEAAFhQ+FAYBEAABEACBWEsAAjD/Lt34cWOoTu2a9N1331Htug3p6LHj/lWA3CAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAArGOgBSAEQRgse7CocMgAAIgAAIgAAIgAAIgAAIgAAIg8CgJvPzSS7RvzzZ6SWydhF2791D1mnXp33/vO8mOPCAAAo8RgSqVK1CTxm9QgwZN6E/xZXoEEAABEPBGAAIwb3RwDARAAARAAAQeXwIQgPl3bRO9moCqVa1Kk6ZM9a8gcoMACIAACIAACIAACIAACIAACIAACIAACIAACMRaAuE5wojiiP/gASzWXkN0HARAAARAAARAAARAAARAAARAAAQeCYH4/3uWevd6i+rVrU0vvviiWx/YK9hvv/1GR44eo569+tHZc+fdjmMHBEAABEAABEAABOwIsOfAdwYPkId279lD7w79wC4b0kAABEAABEAABB4zAvHiPU0L58+hJ594Unq1atCo2WN2hjgdEAABEAABEAABEAABEAABEAABEAABEAABEAABEAiOgEsAFueBAEx8hPvosS+DqxGlQQAEQAAEQAAEQAAEQAAEQAAEQAAE/pMEkidLSgkSvELffPstXb9+8z/JACcNAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAqEmEB6eQ1R5Hx7AQg0W9YEACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAA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gAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMCjQ0AKwO4TC8Aqis192r//4KNzdjgTEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIjFBDwewKQArIIQgMEDWCy+lug6CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIDAI0YAArBH7ILidEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABB4dApGRuYnu36eIkmXgAezRuaw4ExAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgUeBgBSAEQRgj8K1xDmAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAg8YgQic+ciihD/wQPYI3ZlcTogAAIgAAIgAAL/z95ZwFlRvX38Qf7Kq2KgdHfDLt3d3Z2CSAiCICAoCkgJgiAhqKR0d3d3d3cogopiIu95znqGc2fnzp177+yyu/7OR+7Uye+cOXNmfX7nAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiPYEwgRgsf4VgD0mOnzkaLRvFBoAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjGBQGhoiGjGY3gAiwk3E20AARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIWQRCQ3PKBsUqXqq88P/1mA4fhgewmHWL0RoQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIHoSiA0RAjAYon/ipcq91jov+jwEQjAouvNRL1BAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARiFoHQ0BDRoMcsAIMHsJh1a9EaEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACB6E7A0wOYaM3hw/AAFt1vKuoPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMwiEhuaUDYEHsJhxP9EKEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBGEQgNDREtOYxCQFYucfcLngAi0F3F00BARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCI1gQ0D2AsAIslBGBHonWDUHkQAAEQAAEQAAEQAAEQAAEQAAEQAIGYTyBXSE564cUXZEOPHDlKv/z6MMIanSRxIlq/diXNmDmbPh02nB49+sfVsmLHfoYKFsgv83z06BHt3rPP1fyjambe7mGcOM/RB716UO1aNalYiTJ0/8efomoTonW9/qv9LlrfNC+Vf/21eJQ5cyZ59d69+3Tq9BkvMXHaioC3scgqrhvn0qZOTUmSJpZZXbp0mW7euu1Gtl7z2LV9E506dZp69PqA7t695zVeVL4Q2fcoKrOIKnXjudFnQwdTkiSJqXS5ylGlWhFaj2xZs9Crr74iy9i1ew/9849cU9GvMjNlzCDmNzUoRMxjH//zD50+c46mTJ1KV65e9ysfRI7aBCJ7jhXR3ypRm7Y7tYvse2ZV68h81zVt0pC6v/cu9er9Ea1ctcaqOjgHAiAAApFO4JlnYlHjRg2oQP58lDx5Mrpz5ztat34D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CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCEQokB0AVuCfALCdIkuXLY8we7JCAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEMhUICurhtl0Jz2AZQrIdggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBuCWRlVXeyLtCwSUvT/9dOWbqUHsByC5t8EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXQEsmqYALAC5n8Nm7TYaeK/ZOkyAsDSASQtAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkFsCWVk1TNY7NQCMHsByC5l8EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgUwEYnsAMzksXUoPYJlAsg0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQtUBWVnUnS3oAi1qW/BBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIGQAllZNUwOO8UEgLXYqXnRA1hIUTZHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhKwegDTALACJgBsWURZkw0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBgBegALo8e2CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQC4K0ANYLuKSNQIIIIAAAggggAAC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t5BQ6C3UAQRAAARAAARAAARAAARAAARAAARAAARin4CzApioDyyAxX6noAYgAAIgAAIgAAIgAAIgAAIgAAIgAAIgENcIbN20lnLnziWr7U0BzFPbvAk3QujJEz080wkEakzqecLvH4Eh775NHTu0l4mhAOZgGAoCyebehAKYmQjuQQAEQMAeAW/7Wnu5I3UoEAgrkI/Wr10pqwIFMKJQ2/OF4n4rFMZtsOsQE/PCrACWMnUGl81i5bZd2zdTwoQJ5fMVK1dRqzavuIwbW4FW5w1+C4mtHkK5IAACIAACIAACIAACIAACIAACIAACIBBaBEwKYPGEAtih0KohagMCIAACIAACIAACIAACIAACIAACIBBwAokSJaTq1arQM8mS0arVa+jWdz8EtIxkSZNQZGR5ej7l87Rt+w46cfKUX/knSBCfoqpXE/mkoE2bttL5ixd9yifNC6mpSuWK9Psff9Latevozk8/+5Q+tiL7y4/7tWBEOEWEh9PVa9do48ZNdPe3e343I/mzz1DRokUoR47s8jejnbt207//3neZ36EDu6RVL34YVxTA/OXsEoCbQBY4qxEVRWfOnqVt23bQH3/+6SZm9GDuz0oVIyltmjS0QfTlufMXokeKwyGFC0VQ0SJFaPeePXTw0GG6f/+B19bE5JjMlzcPlS5Vkm7cvCHWny30y693vdbPbgQ+Lb9evdpyvu3bf9BldjymypUtQ4mEEOPGjVt8XhezZs5MVapUoouXLsl2+TIm9Qr50n8TPh9DDerXlcljSgEs4RNPUImSxShfvnx0+PAR2rN7L/31zz96Eyz77cxjXmeqV6tGCZ6IT6tXr6Ufb9+R5X5/8zLFixdP+kPRAliTZq1o3fqNsn5238WxMeZkxV380ZUxZn8zl7p062nE8mVMG4n+8wSqjeZ8g3lfIH9escaVostXrtDWrdssr3G+rMO+1N/f+vhShq9x1T4hZcqUch956fJVX7MIeHx/1yNeEwsVLkiFCxein376Sa7/V69dD3j92NJN1ixZaOG3i12OKV5Pyot3WB7xjj0pvg983RsFcm23M+etgsOa85CUv3M8fbq0VKxYEflduXnLVr+/Kx/WxOHztz7mfKKqV6VpU76Swb4ogKn1xer3sj6W5s5bQJ1e626uSrT74sWKUiGx3967dz/t27/f0l47WiYiwJe54u+ez+53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AAiECAH8jhIiHYFqgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIRCMAC2DRkCAABEAABEAABEAABEAABEAABEAABB4dAhBcenT6Ei0BARAAgUedwMF9Oyl9+nR04sRJiqpRh+7+du9RbzLaBwIgECACyZIlpfNnjtODBw8MZSbO+t9//6WIQsXphlAqfZzcmpVLqGDBCNlkZrJ123aaNHkKnT59lhI//TSFheWntm1aUYEC+Q0sO3buolp1Ghr38JBkdfH8STmm2Cplp9e6AwsIgMBjQAC/ozwGnYwmggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEAcJQALYHG041BtEAABEAABEAABEAABEAABEAABELBCAIJLVighDgiAAAiAQCgQKFqkMKVOnYqWLlsRCtVBHUAABOIQgZfatKThw4Y61fjevXvUsvVLtHnLdqfwx+GGraHt2rGJkourFbdt+w6q16AJ3b//wEr0xypO08YN6cDBQ3Tq9JnHqt1oLAg8zgTwO8rj3PtoOwiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiENgEogIV2/6B2IAACIAACIAACIAACIAACIAACIGCLQIf27ahunVoyj/FffEmLFi+zlR8SgwAIgAAIgAAIgAAIgECoEShXthQNfmegVHi6dv067RTWrEaM/JTu/f57qFU1xuqT5H+JqX+/3tS0SSN69tlnncplq2C/Czas2NS335tQbnKigxsQAIHHnQB+R3ncRwDaDwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKhSyAiIkxWLl65yCryWL+DBw+Hbm1RMxAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAZ8IpE+XllKmTEE/3r5NV65c8yktIoMACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQ+ASiAxX4foAYgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4JJARES4CH9AwgJYVWEB7AHBAphLTggEARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgRgnIC2ACc0voQBW5YHQ/6KDhw7HeCVQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQHQCUgFMBDsUwCiesAB2KHoshIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQ4AYcCWDxWAKsq7H89EApgsAAW472AAkEABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDABQFnC2BCBezgISiAueCEIBAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIcQLOCmCieFgAi/E+QIEgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4JKASQEsnlAAO+QyIgJBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARilsBDBbAKVR5QPFgAi1n8KA0EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE3BOQCmAPiOKVixQKYEIDDBbA3MPCExAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCISQIPLYBJBTBYAItJ+CgLBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABDwRcCiAxVMWwKAA5gkWnoEACIAACIAACIAACIAACIAACIAACIAACIAA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AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIMYG0tFRTd4YGgJEBLMeUqRgBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIQyAwA5ipID2dDGBxOLIKAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHSBtLRqTp1kAEs6LRUigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACiQmkpaWaCjLEBIC1zNCqyACWGChrI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAskSsDKAaQBYigkAW5msuqkHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCABATKAJYDHqggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBOCpABLCd1qRsBBExSCMoAAEAASURBVBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBIQIAMYAngsSoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQkwIEgOWkLnUjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCQikpVVz1k5p0qxlho6lp69KoDpWRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBIlgABYMmSpB4EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB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AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIEcEAjOAmU2kp5MBLEekqRQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIUSAtrZqzBhnAYoSjOAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJDTAmlpqWYTGWICwFpm6MbIAJbT5NSPAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIRCdgZQDTALAUEwC2Mro1KYUAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkKMCZADLUV4qRwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBOIXIANY/HasiQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCOSoABnAcpSXyhFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIH4BQgAi9+ONRFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEcFUhLq+bUn9KkWcsMHUtPX5WjG6RyBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIHoBAgAi86JUggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECuC6SlpZptZojJANbKZADLIANYrp8CNogAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4CzgZwEzklwkAa5lh4r8kfeUq/5LMRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIVQEnAMxsMTMATFJMBrCVuboDbAwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwF8gMwAsRQPAWpn8XxkmAIwMYP5UzEUAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQRyVyAwA5gJAUtfSQBY7p4CtoYAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4CwQGgJkyZADzh2IuAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkNsCQQFgKSYAbGVu7wPbQwABBBBAAAEEEEAAAQQQQAABBBBAAAEfgdKlSknhIoWcJdu2bZe93+zzKXXkZlVPrSb5/57f2YGVK1fJwf8dOnI7w5ZzVOB4PNd5/f7zO+FH4z77HQfzji+Bf5x+mlStWsU56D179sr2HTvzJMAJJ6RIt6uulLp1akuxYkVl//5vZfqMmTL+k4ny558ZeXKfj8ROHY/PiyPhzDYRQODoEODd7Og4T+xloMCx8iw/Vo4j8OwwhQACCCCAAAIIIIAAAggggAACx7tAVgBY05YZkkIGsOP9guD4EUAAAQQQQAABBBBAAAEEEEDg2BTIf+qpclufXlK+XFl55bXXJX3l6mPzQI+xo5r86SdSu3ZN56g+HjNObu3TN08d4c5tGyR//swAsG5XXyfTps/MU/vHziRP4Hg818m4/3K77U3GPifvqsn5mooXLyp39r1d/vjjsAx+4WXZt39/zm/0KN9Cvbq15ZaeN5n3gJXy+ptvy6+//nbEj6j9JW1l6DtvOvtx8OD/pFSZikd8n4J3oFjRIjLl84lSqFDB4EVSq07DPBu0lm1nc2HG8fi8yAVWNoEAAkepwPH2bnaUniZ2O0jgWHmWHyvHEXR6mEQAAQQQQAABBBBAAAEEEEAAgeNcwAkAM79LmNKkmQkAMxFgZAA7zq8IDh8BBBBAAAEEEEAAAQQQQOCYEqhc6QK5sktn55gWffmVTJ4yLeLx3XNXPzndZGL4v//7VZ577gX57Y8/Iq5Dgbwv8NHID+Si5k2dHf3zzz+lVOmKcuiXX/L+jofZwwrly4kGV6xas0YOH/4zTEn/ReXKlZHDvx+Wrdu3+xfIA3PzeodBOlTlgYskl3bheDzXybj/crvtTcY+59IllZTNbNuyXk4/7TSnrj179khqjXpJqTevVJLs97hSJUvI0q8WeIeXVwKL7QCwX8y7SfFS5b19zCsjs2dM9rKU2ft06NAhKXF+BXvWcT9+PD4vjvuTDkBSBP52yiky8P57fOvSQOe9e7+Rrdu2ydq1a2X/t9/7ljvaZib6fe5oON7j7d3saDgn7GNkgWPlWX6sHEfkM0YJBBBAAAEEEEAAAQQQQAABBBA4ngSyMoA5AWBkADueTj7HigACCCCAAAIIIIAAAgggcOwL9Lujjwx64D7nQPfv/1YqV8vMJBTuyPfv3S758uVzinS5srvMmjM3XHGWHSUCK5YukuLFi3l7e02PG6MKCPRWSPLI9T2ulv539pXTTLChDmXKVZI//zS/TxRhaNyovrwy5EUpUriwpKSYdPZ/DT/9/LM88eTT8s67w9xZvp/VqlaWV836ZcuWkZNOOskp89tvv8mGDRvluht6yo6du33Xs2dq58yHHhooV3TuKCeaOrZv3yHNLmpjF0naeF7vMEiHqqSd6rAV9bimm5xyyt9kmwlWnD5jVtiyObXweDzXybj/crvtTcY+59Q1lOx6NQB45/aNXrUZGRlybqES3vSxMJLs97iru3eVFwc/69Hs2btXUqvX9aaP1EheDwDT7F/pyxd7POvXfy33DXxQzjnnbOededz4id4yRkSOx+cF5x2BZAgUPO8cWbt6RVRV7dq1W4a88pq8+94HUZXPiUJH6vucHkss38e07Pp16TETfPzxOBlw3wMxrxe8wvH0bhZ87EwfvQI5/Sw/u8BZ0rlTRwdo0Zdfyuo163IEK6ePI0d2mkoRQAABBBBAAAEEEEAAAQQQQACBCAKZAWApbgYwAsAieLEYAQQQQAABBBBAAAEEEEAAgaNKINkdh4+qg2dnAwQGDRwg/fre7sz78ccfpfwF1aIKuAqoJMEJ7SR4zdXdpGLFCnLyyScH1FawSMmIWbwefvABuf22XgHrBU/MX7BALuvUNXi2M12jeqp8/ukncuKJJ/ou16wjFzZtFTIj2NNP/lOaX9RUSpYoISeccIJXx4EDB6RcxWredDJH8nqHQTpUJfNsh67r+/27nIU7du6UmrUbhi6Yg0uOx3OdjPsvt9veZOxzDl5GSa966ucTpWbN6k698+YvkI6d/dv/pG84lypM9ntcvnwnyLbN6yV//vzOEfzz8afkpSGv5dLRhN5MXg8A69TxUnnz9Ve9AyhhMpQd7VlUvYPJgZHj8XmRA4xUeRwKxBIA5vK8O/T9pAQpufVF+jzS3+fi+T522t/zy/atGyIdWrbl06fPlKuuvi7b/FhnHG/vZrH6UD5vCuT0s7xzpw7yxr9fcQ7+ww9HSt/+A3IEIqePI0d2mkoRQAABBBBAAAEEEEAAAQQQQACBCAJOAJj5beWUJs1amY8MSU9fFWEVFiOAAAIIIIAAAggggAACCCCAwNEikOyOw0fLcbOf/gLFixeVokWKyJeLl/gXyOG5q9OXSOHChXy3EikATDN/jR872lt38+Ytoh0e//zzT7nssvZSr24db9k9A+6XocOGe9M6otk7li1Z6GW306xfCxZ+abKA5TPr1vWCwn799VcpV6Gqb8fu7/btDMg65m6AALDMQIJupoPkNNNRkiG5AgXOOks2fp35b7YEgCXXNlJtyeqwm5ttb7L2OZJNXlpetUpmBsm169bnpd1Kyr7k1HucPlM3bdoq+/bvT8p+JlpJXg8Au//eu+Wu/n2dw/zhhx9MEH1qood8TK9PZ+tj+vRycDkoEBwA1rxFZoZh/eGJs88+W0qVKimtWraQphc29r7T6O5cd8PN8ulnk3Nwz7KqPpLf53Qv4vk+phlDt2xam3UQIcY0u7T9QyEPP/q4vPraGyFKRz/7eHw3i16HknlVIKef5bf17iWPPJyZYY8AsLx6FbBfCCCAAAIIIIAAAggggAACCCCQVwUyM4A5AWAtTQAYGcDy6olivxBAAAEEEEAAAQQQQAABBBCIRyCnOg7Hsy+sg8CnE8dKpUoXeBD/OP10bzxSANhnk8ZJ3Tq1nfJfLv5KLrm0s7eujmjnIe1EpMP+/d9K5Wo1nXH3z79ffUmuuLyTM6nBX7XqNJS93+xzpi8wGcm+mD3Ny+r1/OCX5Kmnn3NX9T43rEuXk/7KXHaK+TzllFOcZQSAEQDmXSQ5MFKtamWZNWOKUzMBYDkAHKbKo7HD7tG4z2FOwXG/6Hh5j8vrAWCPPTJIet96i3M9btq0Weo3anbcX5vhAHK603i4bbMMgaNZIDgA7JyCxX0PRwPLFy+c62VUnjxlqlzT4ybfssmeeSS/z+mx5OT3sREfDJVWrVo4ZPpjI/UaNnXGE/3Du1migqx/JARy+ln++GMPSa9bejqHRgDYkTjDbBMBBBBAAAEEEEAAAQQQQAABBI5mAQLAjuazx74jgAACCCCAAAIIIIAAAgggEEHA7ji8b99+qZJaK8IaJnhm73bvF8W7XNldZs2ZG3adfPlOkIYN6knlypVlsQnMWb5iZdjyR2KhBg7VqJEmS5cul2XLl5usUc7v4OT4rpxyyslyUfNmUqRwYZk95wvZsnVbzNs87e/55aKLmkmhgoVk/oKFciQynGgnw3Zt28qmzZtlwYJF8n8mS1Yyhu/37/KqiRQAtnH9SilQoIBTvk7dxrJ1+3ZvXXdkz87NTlCWZgU7r3BJd7bzuWv7RjnV/Pq7Djf27CUTJn7mjLt/7Hvl22+/k0pVa7iLfD+7drlcXhnygrMsJ7OB2B0GR330sdx2R39vf2qaa7p2rVry1ZIlkr5yVUzX9dkFzpI2bVrJ4T8Oy/QZM+U/Pxzw6o1lxO4YdlX3HqauWc7q55xTQNq3u1j2G8tZs+bEfM0ksn8a0NfAtEk6LFu23Nisdsaj/VPEZKlrYe653//4Q+aY9u8b03bGM2jb2LZNazn3nLPliy/m+16z0dTb1pynD4a94xSNNQCssgm4bNyooWl7tsrcefPl119/i2aTvmXscx1ttrdEtq9Z++rUqWX8znX2ff3XG3z3y29mMtperTen7j+/fdZ5iRyzW2dO7XMi9+Q/Tj9NmjW70DmXCxYukljOpXtc+tn0wkbOu8aqVatk4aLFcvjwn/bimMfjbUP1eOrXryflypaVPXv2OG3owf8dinn70axgP5ty6j0u1H7ofVQ9LVXSUlNltznOOeY9JhnHqdd5m9atZM/evTJ79hfO86G16XD/oel4r8Mvv/wixUuVD7Vb3vzSpUpJy5YXyfYdO0wbOy+m50ys12SiAWCJvEfF256ddeYZUrt2LSlXrqykp6802V+/injPnHBCilQoX17q1K4pfxw+7Dy/43kG2s+LvPJuoBeOe97POeccmWHefXbs3O1dT+FGkvVeoBk9O3a81Dkfy5an+25Sr5UmjRuJ/tDAnDnzYn53SOS+8N2hXJhZuFBBadmiufzyf7865+XAj/+Na6uRvjMl2qblxvfJaAPAFOi1V16ULldk/iCGPotSa2S++8aFl8BKufl9Lng3k/l9TM+v/uCIDodN+1e9Zj3vx0KCtxvrdF58N4v1GJJVXrO2NmzQQHbu2iXz5y+Qn34+GFXV8TzToqk43udCstot3ccypc833z2by+dTpsiuXXt8dzsttap5Ntc239n/Y54Nc+P67q5tYJvWLeWMf/xDpk6bbr6nf++7LXem/SyP9rtfLO3kG/8eIp07XeZsLtYAsFi2E89xuAZ8IoAAAggggAACCCCAAAIIIIAAAnlVIM38/zvJyJCUJs3IAJZXTxL7hQACCCCAAAIIIIAAAggggEC8AjnZcVg7obz/3jtS2ARLpKSkeLuYYf6hQbMjdL7iqmyBEwPvu0fu7He7U/Ybk32pWvU63nruiHYyX7823auzddv2vkFlkyaMkXp1M9e/6+575f3hI90qnE/tZDn24xFSpUplry5doPunQVQdO3URu4PhyuVfSpEiRZx1PxwxSvr1H+CM+/2xj2PZshXSpl2HgGLaqXzY0LelkOnQaA/amWzc+Alya5++9mxvXH/RXIOctJN31bTa0qf3LfLQoPu9gDwtWLd+k7gCyW7t1VMee+RBZ1v6i+bB2Svs5QPuHWg8R8jQd94wHe6bSP78mRme3B2dMGGS3Hhzb3cy7s9YOgx+s3urnHTSSc62ylesJj8cyB6wtGrFV+YcFnbKlDCdxw+ZTuQ6dOzQXt568zVn/A8T1FOo6PnOuP0nvwkO27Ftg3ettGzVTlaYoKpQQzI7HIbahs63OwwOe3+4aHYyDQaqXLmSnHjiid6qGvQ28IGH5e133/Pm+Y3ceEMPefjBgdnO6a8mqG/Qg4/I0GHD/VYLOc/uUNWxcxcTkFZTbrutt+lknZXdTVfWoLpuV/eIGIwV7/5pp/XHH3tYbrzhuoD7Rbet93zw8NWSpdKufSdv9lVdr5ABd/d32jPbVQuozU3mep88ZZpX3h5x71vNPKdBts1NoMvg556WoibIwW4bfzYdHDtf0dW3PbPrc8fHjx3lZL3T696uxz6enw8elNJlK7mrOJ/aQXLUiA+kevVUL6udW+D777+Xm3v1MQFVC91Z/8/eWcBrUbRt/Abfz+AFFZTuOHQcSjoODdIhndLdDdIp3aKgdLeUdBwaDt2d+io2JvLNPQ+zzLNnn95TeM1Pz87Ozk78d3d29uG+5vZ6q1/rBo2a0favdlqeG2j9/GyNHDlUGifqFfA9fvbsOWr2YWuXxpH+jr16PXrcjudPH1utxl6uL5A+6+3luB1t1sv095nMI+6/CePHUMaMQYa3RFUu38PTZ8yhocNHqiSnLb+7WQDBIWXqIMqVKyctWfy50z0xcdJUGjVmvHzPq7wLFi6mHr36yfPUH72stOkz05vC6HXRgnnSG6X+rHszhrI3vs/nz6VUKcN7ZNGfS66b90NKVwhYtB0R8zg1ZnE769ZrFE7oz/Ow2bOmU0jJ4pzFKfA4xu+h6TNnO6V7szOwf2/pRetVIWzRAxuBj/94Ek2bMlEmuxOA8Vg/c/oUqi7e6/r14xP5PdNQjE2u3t3+3JOjRgyhpk0aSS87VuOwPgbrz7od8yh/x7Pc4nmZM2cGpUubRlBxDjz37tSlG+0RomQ9sGB5+NDBlu9Qnjet37CJOnft4bWIWH9fROXcQPWxV4+u1LlTe2MhAJWu+ta+Y5dw4jg75wU8xg8S8/nEiROpqumvv/4SQtbDYl7QQKbxu3PNqmWUI0d2Iw9Hfvr5Z6pVq57L+5rzBPJc8Pl6uHntIsWN+1+ZxNd86bKV+mEZX7rocyojBFsczp07TyFlKsq4/oeFaIcP7ZXzFzU/0o9zfMrEcfSBYKPm9+o4jwE8zkyeOkMlhduqccybb6ZAxjRfvyfDNdTHBF8EYDymdu3i+K6+cfMWvVewGL0uvBPz90zs2LFlzU2atXQ5f+UM69euoMJC0MyB36tWHpDlQTd/Iut7zqoJdn6PXTh7khIlSiirGTJ0pF/vOas2clp0mZuZ27dt8wa5SI5so/Ai16SZwxuTnq9Fs8Y0doxjvvb777+7FGhfu3yW3nrrLbEgyT+UNXtuQ6D0qvheHTiwL9WuVZMSJnzX6ZuG6+H3UuWqNVwKcv15p+ntdxX3573AZfk7bvGzfe7MSdmcr8Q3VIPGzWmc4MoeyuOJhQVU4DF//vwvaPjIsTKJ5wL8m5v+/uAD/E1RUfwGpf+epcrQ574ZMwvhmBA3fjxutPxtSp/L8DfusOGjac5cx0Ij6ny11d/l7r79fB0nz585IX7zii/ncXp79Lk0L9xUsbJDHKba42s96jxX/Qg7cVh+r3M+XminU5ce6pRw2+5dO1K/vo7fB08KAXf5SlXD5UECCIAACIAACIAACIAACIAACIAACIAACEQmASkAIwjAIpM56gIBEAABEAABEAABEAABEAABEACBSCMQEYbD3HgWJXXq2C6cAY/eMRY79erdz0mYxQY8X21/4XkpXVBW+umnn/XTqGP7tjTkowFGGht0d+/Z19hXEeXtifdLhJRzMrJmTxIsXjIbGatzecsGL2w0c+bseZk8dfLH1KB+XRn/XoiLgoTIyFVgsVjy5Mnl4U+EwUz/gUOMrGyM16VzR7ds7t27TwULlwjnrUIZp/z5559CpNGRPp/3iVEuR5hp4mRpnNK83WGjlf79+sjsVqvE68fXrltPhQoWDCdg0+vavGWrpZGYnsdT3BeDQd0ob/iI0TRlmkPQpdehvNeZObGhVsOG9WVWNiYyC/ZUGSeOHaTUqVLJ3VGjx9HEydPUoXBbOw0OwxWuJegGg9z24OCc4YzetezUvkNXWrFqtZ4k42x8t2LFIipapEi4Y3rCBmHk3aJVOz3JbVzds5zphx9+oLfffttlfjYI7NCpG61ctSZcnkDbd+zIfkorjI29DXfv3qPc+QqRK6M6q3K6du9FixYvC3dIMWBD8slTplNPYWjuKkijyBy56dtvH7vKYqSfPB5qKTQxMogIG5AnTZHOSKpUsTx9KsSO7sY+zrx02Qq3Rm5GgVpE9ZOTXBkBBlo/G5mOGztKqzV8lI0DWUhnFrEFMvaGr8WRYsfzp4+tVmNvIH22arcdbeZy/X0m2ZPC+nWrKIcQX3sKGzdtoeZC0GcOeh9q1q4rBY3me7ri+9Xp2PETTkbVPLaYBdZ6WSNGjqE+vXuEExvo9bsaQ/neXvD5p3pWj/EPWFwlPFwFEiJiHufuWWYhEBvmsockd+HMmbNUqmwld1mMYyxIYNF+7tzBRpq7iCsBWOpUKWjThrVSqOvqfB4f+vYfRJ/N+8LIEsg9ufCLT6UnR6MwU4TrS5jEMW/Qn/VA51H+jmdBQenp4L5dhvjD1Fxjd9r02U4CzBXLFknxspHBIsLz5lRpM4YTSllkJf0ei8q5QZLEiWmDuPesxHB6u3XPr3bPC+YJQ/7WrT7Uq3OKz/10Ps355FPatXNrOPG8yuhu7uDvc6HKNm9D9++Swl1O5/GLxzFzuHHtgtFWbpvZ6y7n7yvGWjUfunjxEhUrWdYoJk3qVGJMWO32WebM585foKrVa4f7VuRj6h7z9M0UyJjmz/ckty2Q4IsAbPeOLYZg8JNP58mFILjuQwd2S89/HHf33cPCwYf3bhoLJ5SrUNnrRQq4bBUi63tO1adv7foe48VdunfrLItmj9284IqdQZ+LRKfvORY5q/HJlUdrfn8XKljAwFGtRh06GHrY2OcICz6Pim8xDvq3CS8iwOJi8xxOZtT+8Lf7ewWLhhOB+ftO04oOF/XnvcCFBDpucb3nzhyX7eF77Kcff3Q7L+L5b3yxoNHcOTNdvtNdeYbV7zeuiz2MuQuuvgvVOMvnNnCx+Ic/4+Q3D2+77JNq5wWxYFNx8RufCv7Uo8511Y/RI4dRq5bNZbYnT56IOU4mdUq47ZFD+wyO/N7uN2BwuDxIAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIHIJBAs7K4olvgPHsAiEzvqAgEQAAEQAAEQAAEQAAEQAAEQAIHIIcCGwwP6O0Q/rlZfN7fk0f0XhmBWniGqVK5I8z6dY5zGRj77D4TSeWGkx0aTBYWBkFp1nA1ji5UoQ5evXDXys3BLGQH16TuA5n2+0DjGkc0b11L+/HmNNBZLsVBDD2zEcjh0r0xiw7/kqTIYh3mV9/NiBe9XXnnFOL54yXI6efKU8AaWlZo1bWx4I7l1+zblL1BM5mOjnmNHXnhEKFq8tFO7VQX66s2cliV7sCHmqPx+RSk8U3mZOXsTY+8WxYoWoZo1qhnCsIXCw5ZZ2Hb7xiXDMxMbQnEf2LCSvYw9+e0JsVF046YtVfE+bdkwWa1a/ODBA8qVx7HauypEP67SePvdd99J48HXXn+dShQvarSf25VeCPh++fWJnt2n+P8e3THyJ0mexq1R8dhRw6mFMCLjwHVXFx7cDh0+apxfrer7QvgyS+6zoaluMMSGzcqTyRcLFlNPIUy0CksWzqeyZUvLQ568wLHB4bSpE2VeFgxmzJLLqsiA08zPAxfIz9X9+w/o+IkTwhApnWH8ycesri2nz545lWrVfLGK9qlTYbR2/UZ6+vdTqlKlkuFNj/PWqdsgnHcQTrcK+j2rjrNHlKNHj8u2vJc/H2XKlFEdIhZJpRbe2f4UWz0E0j5e0bxpk4ayOGbDK3hPEV4j3hbeNNiwSxcdbPpyKwOks+fOSYEfeyzbvGmt0RTmd1aIQtlLYE7hhaN06RDjnmcjdithqBUDfn4vXrpCV65ckZ4VdG+Aq9eso7btHUamRsUWkd49u1GF8mUpffp0xrjA4+2lS5eN3N9+99gwzn733QR07vQJY+xjFmxkekRci6AM6ai4eH7fEJ7uVBgybCTNmPliLFfprrZ6PxuKVevNHsDsqF9//zDvzVu20YGDh6QntJo1q1G8uHGJn7fsOfI63UOBjr2u+mzH86ePrVbPp799jsg2c9n+PpOvvfYq3bh6wXjP8/W6cPGifI+xcJqv1WtCEMSB79FcwhPoQ+H1Ug86dx4zlKena9eu082btyhVqpRUVMwtOOh5V61eG04Aph9Xdfg6hrLHgbOnjxl94vdiz9795byCx9X+/XobbWRjXH7uOAwZNjycMbNqg7fbiJjHuXuWzeMpezlgz6U8bytfvozxrhgghO8sOPAmLBJeK8uLsUwFFhLt33+Q7ty5Szlz5qC8eXMb4yzn4bmOlRGu7qmVr+HWbdtpx45dwqNIQmrSuIHhxZXvmfRB2QwvoIHck+xBlBc80MdhnndevnxFdudXYTBcpVptGdefdZnw/I+v86hAxjM2UE6XNo2smd8Xe/ful967Moh3QA0xB2XvdTyHKi7EOGpuXqRwQVq3ZsXz1hLx3Hjt2g1079496QW2UqUK8r2yb/8Bw1uVkdlFRL/HVJbInhtwvToP3ufx6ID4Zrl95564l/NTvnx5OJk2sRi1ZRsZj6h5AV+Po8eO0a+/PKFSpUoaYwZXqo9zdwX3EydOEs+flGdizrNu/QZq1aYjR52Cv8+FUyHajhIfcpLVvCeF8G56SnhN0UPd+o3DiV13igU/+PnmMGXqdBoxapxxCnvsZQ/SKtwQ4/q+fQfo9ddfE/P1Ek6ebkJDD1G1mnVVVmOr32Puvpn8HdP8/Z40GuhnxPydqQSmenEs0B49ergY9xxzXz6mf7eyR6GZ0yfLU/h5Z+HmH3/8qRch4zVrVKU5wtsjB/Y6xOOmPyGyvues2mbX95ju+c7qfraq25c0O+YiXJ+/czNXbc0kvLQe2PfCo2/6jNnCCS71Z43LsfKU1K9PT0NAx956lUCcF/Xp0M4xtvK9eOPGTToVdlp6O+ffFdQYweXu3befan/w4p7mNH0M9/adxue5C3qZnM+b9wLnC3TcYgEYzyXNgcfZw0eOSu9putBOjWucn9mxt8U74t1VqlQJ47uQjzVt3kp+L3FcBav7jd8zp0+fFYsfnROexLNQvrx5jN/s+Dz+bcUs7NOvvdW3n7/jJIvrkydLJj2aq98N+Trw734q7N130BCq+1uPKstVP9jz5uWLZ4w5aAMhcvtqxy51mrFlT/G3xO90yltZjlz56dHXzt8uRmZEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCCSCDgEYLGeC8CeEYWdPhNJVaMaEAABEAABEAABEAABEAABEAABEACBiCagGw6zsSwLiTwF3RDXLADjVdSvXT5PceP+VxbDhhqlylSke0KMogKLwDYI7x9K5KWLrDjP1i/XS2NfjlsZk/IKvbpIgdudNEVaJ3GQbmR08uQpKl+pGhcnw4Z1K41VqlmAVaxEafr+hx/VYWJD7uPC0xMLCTjohh66YQ97EmnfMbwnn48GDaCOHRyGTGykmSdfYVkOs7l6+ZxR7u49+wxhhswg/jCbLaL/bDzCRj0ZM+cQBne/qMOkG6dw4o9iZeiixcvYYmCiGyZbiRD041w3Gxq179iFVq9Zz7sylCxRlFYuX6J2qXef/jT/i0XGvq8RXwwG2YD72OEDTgajbPzdpWsvYQT1Bh09vN/w6lKhUlU6IYzWVdjFK+Q/90YzbvxEGj/BYRSpjqvtlEnjDS9wVtdP5eOtXQaHeplWcbMBFxtQl69Yha5evW5kn/jxGGrcqIGxnzJ1kJN3OTbu2793h2G01K//YPp03udGfo7oz5SV6NIps7ZjvmeXr1hFHTt313IQdenUngYO6GukTZ8xxzDo4sRA26ePGTNmzaEhQ0cadXFk/56vKHPmTDJt0uRpNGrMeKfja1cvoxQpklPbdp2c7hvOVLFCOSevP1bGb2YGLAwoU+59p2vA92faNKllvTxu+iIYHDZkILVr21qey2LSvPmLyLj5j36v8PjSpFlLJ5EWG7nt2bXNMChnQ8BMWXOFM/Q0l6v29X5acQi0/gLv5RfefRze63jcz5ErL339zbeqeiFAiE2DhPfJpUtXGMIFPmjH2GtUYorofeJD/jx/+thqHnv97bOpmU67drQ50GeyU4e21Fk890OHjwrnNS9pksR04lioMV57I9ri91H9Bk1ol3ivmoPeX2/K8uca9urRlXr3coxrLF7KmDmnIS7i9rCQhL3ZcDCL0mViAH/snsdxU9w9y7phNHv/YUN4PeTJnYvKlytLo8d+rCe7jJuNy1m8LBYjdBp3sojxmYXaSihrJQDje2rwoP6yHh7f+D0fJgyZ9bBj2ybKxSseimA2UA/0ntTH4WtCiFioaIhetYzrzzon+DOPCnQ80wWlPXr2cfLCy21q2KAu/f77705zu/HC62Kzpg4vT+wBJlPWYM5qBBb39u/bm/r2HegkvDUyWET0e4wPR8XcoI3wujVi+EdG63heV69BY3FdxD+EPg+FCr5HnTu2p/qNmqkkubV7XsCi+4qVqxvfMryQxaGDe4x5GVfK7+QP6jUUi2ocMtrCnpwyZEgv9/mbIEMmh6BKZQj0uVDl6Fv2KHb8aKiRxN8q+ncUi9N7if/1wCLRNmIOpYd7t68aYt/8BYoKYaFj0QfzczJt+iwaJjz76kFfkIHTrQQ55nvM1TeTv2NaIN+Tel98jZsFYPxe48Dfju+++w4lTpRI3hNKGM3H9gihZ526zsIZnf8w8S6eNmM2Z3UKeh+t3p9Omd3sRNb3nFUT7PgeqyUWGJg90+H12WoMtKrX1zR9rsLn+jMXCXRu5qrN+neU2YOmeYEcLsM8l+U0XfA5/uNJNE78z4G9zPHiFJcuX6Z27Ts5zev5OAsVWbDIgef+vCCMPkb7806Thbn44+97wY5xy0oAZv5ubde2FQ0bMsip9eyhskSpssaCQ2++GY8unjtl/NZ24GAo1ahVz+kc8/3Gi4ewN0V9LOe569rVyw0xMufRPTVygfo4a/Xtp48hvv7uxuXr3+hLxKJJXbr35uRwIdB63PVj+5YNxmIxLMRTon69ER3bt6WPBjvmoFb3v54XcRAAARAAARAAARAAARAAARAAARAAARCILALBwblEVc/gASyygKMeEAABEAABEAABEAABEAABEAABEIhMArrhsD/1mgVggwb0EUbdHYyi9NXGjUQR+aB2LZox3WH4w+ksRNiydbvM0qF9GxoyeICMm40ZdUNhNrBVRo+t23SQ3orkSeLPrq82G16PRo8ZJzz5OFYvZyPifULswYGNiMzex+QB8adt65Y0fNhgubtz1x5hENpExvv37UXdujoMGK1WvedMYScPyxWLOa7XrQtouF8srHj69B/O5hTWrVlGRQoXlmndevR2Mo7XjVPYcDh33oL04OEjp/P93dENl+7fv0/BeZ29qunH2Qi10vvV6ZTFQkHnz5ygRIkSymbM+eRTGjh4mL9NIl8MBrmS14XXmMOhe4i9yKjA15lZKY9vVoakurCva/dewivbcnW601a//mfFKtssbnQV7DA4dFW2nq4bcLFnmSLFSzkZznPeuP+NQzeuXTQMiUuXrShW9z5vFKMb5R0MDRUrfDsbiamM16+epzfjxZO7KVJnsPQWoPKqrX7PDhL3wmxxT1gF3cDLLIAKpH1sBHf9iqOvfC8kSuoQWeltKF+uDC1aME8m6avS63ncxfV73uzFgs/TGVgJJjiP7o2Bn6+kKdJxsldBFx7cvnOH8r1XNNx5OYR3w107thrproSOvIL6xfNhxr3irTcyLljvp9kI0I769WfqifCqkzpdZqM/7iJ2jL2uyrfj+dPHVvPY62+fXbWX0+1ocyDPpLu2qWO88n+F8uXkrtUzqfeBM3USotJlQlxqFfS8VsJt/bi/Y+iaVUulF0+u36oOTtfnBgULl6DrN25ycsDB7nkcN8jds3xBeFBNmPBd2e7RQiw7UYhmAwm6YS0Lt8zCd1W27l3WSgCmixlcvWt04YqvRvye7kl9HL569RoVLlZKNd3Y6s+6v/OoQMYzFo89un/LaI+3Hip0sQ17r2OhUqBBv8dcXS+uI6LmBly2fs/cF949g02ebzmPv8GXecFXX+2kBsJrpjns272dsmRxvOdYWFoipFy4cUN/Lvj5SZI8rVMxeh9dcfbnubhx7YKxoMWAgc7e/tQ3GL+nWZTEi3bw2JojOL/RtqCg9BS6f7fcN7/PdU/QvDBJhferGefpEZ2x1fXT7zF330z+jGmBfk/q/fA1bhaAeTqfv2ObNm8Zbs4+bcoEqle3jjzd1eIBD+5eN8TYhYuFOC0u4ale/Xhkfc/pdaq4Po8yf1+oPJ627FWcRZkcdPGSp/N8OW7HXCSi5mbr1yynwoUdvwuYxUS6R0Ce1zAn/t5KmSbI6Z7Tn2v27Ort7xdvxotL18R3nPKspN+H/r7T3F0Xfcy0Gldcnav3z99xyywAc7WQjv5c8ndfETHfMHvw+3TODKomPJRyuH79BhUsUlLG1R/9fgsV3/7VXHz7jxC/h7URv4upwN7dXS1OZP72s2Oc1N+DS5YsFQKwPqopxtaOevT3hbkfZcuUoiWLPpf18bskZaoM4cTuejsnTJxCY8ZNMNqHCAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhEFYHgYMeCiLGKh5R7xkqwsDB4AIuqi4F6QQAEQAAEQAAEQAAEQAAEQAAEQMBuAnYbDn+5cQ29lz+fbOa58xcopHQFl02+cvE0xRfetjgsWLiYevTqJ+PsgeuyOKZCZiGU+u7x93J3yEcDqEM7h3ctFmUtW7JApm/fvoMaNmmhTiHdCCd7zjzGatK6pyF3Ah4WEt0VK9Nz0D05sJjkmvDipYyQzAI33SiPjZ/SCIHCk99+k+Ww5xr25sJh6rQZNHzkWBk3/2nRrDGNHePwUDRv3hfUp/+LVZ5145S169ZT67YOMZq5DH/2dcNkswiBy/N0XNWpG3OzB67GTV8YDak83m59NRhkD2TzPvvEMEo11/O//31LufMVDGckdfXSGXr77bdl9kbiPtom7ieroK+6ffeu8O6W3yHUs8prh8GhVbnmNN2Ay5XwgM/RDdraihXWdc9tN4U4THntM9/Ten2rViymEsWLySSzFzU9nx7X71mzQZWer369OjR1ssNYio2rEidLYxwOpH265x02oE4hvJ+Zg26IzPdI1hx5zFlc7rOh45LFX1C6tGlkni1btwlBayun/N4w0A2w+eSESVI5leFuRxceuBKA6WM9eyBiw0x9BX29/JXLF1PJEo7rfOPmLSpQqLh+2GXcXT/tqJ89lF259MKjz7FjJ8T40sJ4P7hqmB1jr6uy7Xj+3I2t/vbZVXs53Y42B/JMumsbH2MD2MGD+hkeH9hjQPZcjnmFOlfvw0Mhgs4pjIldBT2v1Rjp6bgq190YqhuHT5w01dL7lRJFcHkdOnajFatWq6ID2urPlj8FmYX8XIa7Z1kXu7HgpEOnrk7vE1/boAtJlixdTl269bIsQhe6mAVg+tzLk4c19b63EstYViwSvbkn9XHYGwGY1TxL1e9uHhXoeHbt8ll66623ZFXfffed9Ap09twFVbXltmWLZjR61DDj2NzP5tOgwUMtFzEwMnmIuLvH9FMjam7AXssungszqrJ6DoyDPkbsmhfMmzuHqlRxLDRw5cpVIfAvHa4l+r3PB5ML8fifQkTOQT9m93OhzwfNCwcoccJpsUhE7NixjQU5UqfNZHwT6aKR0NBDQnxQV7bZLIAoVaYCubo/mwuvdOOEdzoO5nkjp+n3mLtvJn/GtEC/J7l9/gb9unpbBl//5h+2cfL6yt42z4QdM4rIKQR6D4VQTwV9cQRf58aqDLWNrO85VZ++DfR7LF2aNHTk8D5ZJL83UqfLFO47Uq/P37gdc5GImpvpv0389PPPlD4om9FNJXzhb6yZsz4xFsrR5zn6dxZ7NkuXIatxvqcIn7t313ZDiNimXUdas3aDcZo/7zTjZFPE3/eCXeOWXo6rRUu4yWfFc6s8os79dB71FyJcc9DnhlaCd2/vN/NvX+wl7NDho0Z1+jhr/s63Y5xU9xdX6EoAZkc97vrBdeuL4AweMpxmzZ7LyTKwF/q7t67K3wf5umXIlD3cYjwqL7YgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEJkEgnMJAVgs8V/xkLLPhP6LwixWdo7MBqEuEAABEAABEAABEAABEAABEAABEAAB+wh07dyeBvTvKwtk45Catet7LHzXji3SoI8zmg0m9dXYp02fQ8NGOIRMVoWuXL5IiAwcwgLzSsn6auy6kUXo/l0UFJSBlPGvMjLUV/TWvYSZPYgt+HwuVaxQXjaHV6N3JfThDE2bNJT5zGUc3LeTMmZ0iEhWrFwtjJ+7yXz8Z/DAAdSpo0OgZhbA6WxYsKYb2RkFiEjKlCmoVEgJmbT/wEGna+LJOEUvx9d49y4dqF8/x6rKVobJno6r+pYKMUyZ0iFyd/eeffRBvUbqkM9bXwwGK79fkeZ9OtsQ57GRUMaMmShv3txGGjeAPbcVFV6yvv7mW6M9uiGVO08yfXp1p549usrzLly4SCVKOe4loyAtEqjBoVaU26i3BlyXL4RRggQJZFn6iuLm1dO/WLDYZX3FixehtMIQkoPZ44NMtPjj7T2bMmVyOnnskFFC2vSZ6ZdfnwjPbc4eS3xtH5//8N5N4x5IKQRgvwsjRT3oBuZnzpyl0uXe1w8b8dixY1HjhvWpYsUKlCN7NukFR4lBVaaDwpC5+nNDZpXmDQMu++sHt9UpwotHGq+N63XhgSsB2MLPhUelCg6PSp7uXd3QU421RsPcRNz10676t2xaR/nyvRDosaHdseMnhEeGibRn7wHL1tkx9loWLBIDff64XE9jqz99dtVeTg+0zYE+k+a2lSpZnOoJAWjevHmk90zlrVHlszIW9rYP3vTX27JcjaFcx+yZU6lWTYdXpG3bvqJGTT9UzTe2l86fonfeeUfuFyhYnG7cumUcCyRi9zyO2+LuWc6fLy+x2F8f+3j+uGT5SpokvB7oniE89YvHPfZIpcqqWbsu7T/w4j2gn+9OAFarZjVxDRyeyNizlisvnlxendo1KE6cOLJosycLVZ8/96Q+DrsUgHmYZ6n63c2jAh3PenbvQn1691BVyS0LfefMmUufL1hkKQxmL6JnTh93EtezoGSr8Nw7ctQ4v+5ld/eY3riImhvUrFGV5sxyeAf2RQyot43jETkvGDtqOLVo0VRW6UoAxgf1ubJ+T9v9XMiGPP+jz3H1MTq3+Afl7ds2yVzsafT1198QnqHbyf2evfrSFwuXyLguiNXnk7o31L/++ouSpUz/vMbwmzjCs9jtm5eNA+wV+d79B8a+t/eYP2OaHd+TRkN9jJgFYPqCASxESJM6tfj+yUBNGjeUninVO5XnS2bP1+q7mpuwcNES6t7T8ZsA7+vf6fM/X0i9+w7gZL+Cfo96mt8G8j1n1Tj9XtV/L7DKa5U2aEA/4x72NH+2Ot/btEDnInbPzfR28zvg5vVLRlKW7MH07beP5f7DezfoP//5D508eYo6d+1JB8TvJBx0j8cD+vWirl0ci9aYf9uQmZ//eVWU065dK6okvrPSpEktF2dhEakehgwbSTNmzjGS/HmnGSebIv6+F+wat7wVgB06sJsyZHCMja4EYPr4bxbtcbe9vd847x0xzrInRw79+g+mT+d9LuP8x904a8c46Y0AzI563PWD+zlq5FBq9WFzjtJNMX9/T8zjVdC/m628ral82IIACIAACIAACIAACIAACIAACIAACIBAZBMIDs4lqnzGAjB4AIts+KgPBEAABEAABEAABEAABEAABEAABCKagG44bOVlw6r+R/dvClHGK/KQWQCmH2vfsSuxtw1XQTdsZC8EmbPlNrJ+9slMqlq1stw/dPgIVa1eR8ZV+UowphuFKE9h+qryuvERF6B76ZAFevHH7DVIN/JgMVFQZof7dC4q7ORhacDO8W6x1/snAABAAElEQVQ9etOixcs4KoNqu9r3ZmsWo3gyTvGmTFd5PIkQPB1X5S5eMI/KlSsjd838VR5vt94aDLKXnIvnw4z7sq/wmvaZ8J7GgVe4nzljMhUtUsSo1ny/6ffRyFFjaPLUmUZePTJ54lhq2MAhktyzd5/wnOFa3BaowaFer7u4twZcuqhSN8LVPWS5q8d8bIIw9B8zzuGxy3xM3/f2njULoCpVriGFPXa0T38uN27cTC1atdWbSOeEYXvixIlkmpWRKxtVThw/hmrXrkmvvvqq07nmHX8FYFyOfr8nTpba0hDfXB/v68IDVwIwfexjo/3GzVx75subJ5i2bn6xun6K1Bm88nbg7lrbVT9fi03r1ziJwBQTNuwd/NFwWrZilUqSWzvGXqcCtZ1Anz8uytPY6k+ftSaGiwbaZjueSW5Um1YfUvdunQxhariGPk/QxQUqj7d94Pye8no6rup0NYby8YpCXLlAiCw5sCeaXLkL0KOvX3hS0Q1xAxGbyApMf+yex3Hx7p5lPl6jWhWaMX2y4ZGD0ziwwGDf/gPUpm1Hj575OH/OHNlo51dbOCqD7iFIpamtOwHYx+NGG6J9ld+brVmIF8g9qY/DgQrA3M2j7BjP2JCZvXop4Z1ixYIbFoENHDQk3PuHveBsFJ5sEyVKqLIb2+s3blJb4ZUl7PQLD43GQRcRT/eYOi2i5gb6PWOeE6q63W0jY14wasQQatWyhWyGPwIwvY/u+mI+Zn4uzMd5X/d4wvvK27JeZ578hejNeG/Snl3bOIsQd75Y1EL31Jw+YzbDW4p+/jff/I+y5cwrz3X1R38eOnftQUuXrTSyenuP8Qm+jmn6nMao0EPE/D3pIbvLw+4EYOaT0qRORQfF4ilq7mpenEQXrpgXPNG9XuYSXjYfCG+b/gZ9futOABbo95xV+wL9HtPFirrHcqu6AkkLdC5i19zMVR/0xVKGDhtF02fOJr3O0WPG08TJ00gtzqPfT7x4EC+cwUH/BlV18bf6tKkTxbd6YeNbXh0zb80CMD7uzzvNXC7v6+OPL+8F/bxAxi1vBWD6YkSuBGA8pn0yZ4bsZqACMH0BA3fe6c0ewOwYJ/XfaFx5ALOjHk/vCx6bLl88Y8yb1DuPAe/c/iXlzJlDsra6P+UB/AEBEAABEAABEAABEAABEAABEAABEACBKCDg7AFMNCAs7EwUNANVggAIgAAIgAAIgAAIgAAIgAAIgAAIRAQBuw2Hv35wy/AO1rpNB1q7fqPLZg8fOojatmklj5tX5C5bphQtWfS5PPbLL79S2gxZqHixwrR6pUNQpUQ6uthLGSPpRkZmY8ATxw5SqpQpjTaxsaun8M0331Bw3kJGNjb6vH/numGgVLR4abp85SrpBnls4J0sZTonA1qdDR9nI3FP4asdO6lp89ZGNk/GKUZGPyKeRAiejqsq3Rkuqzzebr01GJw3dzZVqVJJFmv2yqbqatKoPk34eKzapbFCvPSxEDFx0Fe5/+TTedK7lZFRi+h9W7J0OXXp1ks76hwN1ODQuTTXe4EaDJYsUVT03+GRgWvx5pngfP2EyE55cuB9V8HbezZB/PjCsOq0UUy+9wrT7Tv3hJfAwNunG7hyBQcOHhQCwQVyNfNBA/pS0qRJZL3s0SS7MDb+/ocfjXa8/tprdOzIAUoijBNV4Of3sBCm7tt3gPbs2089unUxRI9RIQAb+tEAat+ujWyeKwGYPvZZieBU33jriyhDP8/dtba7/nJlSxNfu8yZM+lNkPGdu/ZQvQZNjHQ7xl6jMFMk0OePi/N2bPWlz6ZmOu0G2mY7nkl9LFWNu3TpMu3YtZv27z9IKVMkp4+F6JJDTBCAsUgl7MQRYyxhQ/8xYyfQxUuXpDiMPbEosc28+QuoT7+BqtsBb+2ex3GD3D3LqsHsEWTE8CFUo3pVw6OWOsZjZLkKlenM2fMqyXKrG49zBnfCV3cCsMkTxwlxdj2jDm/fY5mzBRvCk0DvSX0cjkgBmF3jWfp0aWnsmBGWBvdswJ43f+Fw3jIZcKcObalN65aGaNqALiK6x1493SruzT3G50XU3GDKpPHUoH5d2TRvF8BQ/YisecHI4R9RayGU5eCPAMyO50L12Wp76vghSiHGag7Dho+iaTNm0/GjByh1qlT05MkTSp0uszymxF5qLNc9NZtFFnqb2VNzjuD8sgxXf5T3IT6ue7flfW/vMc7LwZcxTZ/T8LnejDnm70k+z5+gf2/y+boHMKvy+JkdPKi/PGTl1VX37lO5ai06cvSY8BxWiNasWi7Puf/gAQXnKWhVtNdpkfU9Z9WgQL/HdD6NmrRw6z3cqn5v06LD3MxdW2dMm0Qf1Kklsxw+cpSqVKtNkyeIhVGEZ2QOSiSo/w6TI1d+KYZXYwDnUx6eOc6BvQZ+uWmtk6Ccx4+du/bSwdBQ2rlzN20W3n8TJnxX5nclsPH3nSYLff7H3/eCXeOWPwKwT+Z+RgMGDdW7IeN2CsBuXLtgeAD9eMJkGiu8O6rgbpy1Y5zUBWCLFy+lrj0c3upV/by1ox53/VB1bdu8nvLkcSxYpebyPP9nT+PsqY4XQUiVJqPl3EmVgS0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIRCaB4GDHItbwABaZ1FEXCIAACIAACIAACIAACIAACIAACEQSAbsNhy9fCDO8eUycNJVGj/3YZU+WLv6CypQOkcfPnj1Hpco6BDzqBN3INUv2YBo8sD/Vr/eBPKwMitgjwZHD+2TasWMnqFKVGkKcdU2udG5lhLF86UIqFVJC5t+wYRN92Lq9qs6n7bo1y6lIYYcoTAmB+vXpKbyZdJblWIlArghxS3whcuHQsnU7Wr/hSxn35Y83xim+lKfn9SRC8HRclaUbUUeWBzB9VfKMmXM4CXhUu3irt+3sufNUqkxFeVg3+GLvJbXqNNBPM+KhYhX9oKAMcl8XkBkZtEigBodaUW6jgRoMxnnjDbp987Ksg5+ZpCnS0tOnnsWJbhulHfT2nuXnkp9PDtyORElTy7hd7VuxbBGFlCwuy7T6w4LMZi1a0xbhHUsP+j3D6VOnzaSxYlz78++/jWx6Hqtn31sGuoGsOyGEUfHziC48cCUA8zTe6mU2aliPJk0YJ5NYFJc8leOe1/NYxd31M6LqZ0Po/v36UN0PahuiXG7biJGjacq0WbKZdoy9Vv3ltECfPy7D27GV83Lwps+OnNZ/A21zoM9k/Xp1aOrkF94DWZDZSgjGv/32sdFgffxUogHjoIh42wc+x1NeT8dVve48gHEeNtw9E3bUEHqp8/St2fuKfszfuN3zOG6Hu2fZqp1saNyvXy9KK+ZkKijxvtq32rLg4ub1S8ahwsVC6OrV68a+HnEnAGvauIEhGPRGNKKXy3E77kl9HI5IAZjd4xl7curQtjV16NhOeGuKZ6BhEQiLQVyF4Fw56KPB/Z28q/K7u1iJMnJRBFfnqXRv77GImhs0b9qIxo0dJZvD4p1kKdOrpnnc6u98zhxR84JABWCBPheeQEwYP5pY3MqB5z41a9czDOF1783bt2yg3LmDZT4WiTRt0sj4Xtq8ZavTQhe+zD9e/c9/6P69G7Jc/lOwcAlib3QqeHuPqfz61tOYZtf3pF6nt3FfBWAssNm+bZMsXp9fq/qmTZlA9erWkbvbt++ghkLkpHvinjxlGo0cPV5l92urz2/deQAL9HvOqnH6fMK84IxVfj0tmVgg4vSpo0aStx5xjRN8iAQ6Fwl0buapqUUKF6R1a1bIbGpedvJYKKVMmcJJqN+rR1fq3au7zDd69FhaLzwvs4cmDlZiW31u9bf4tmrfoUu4BYT0PK4EYLIC8cffdxqf7+97wa5xK7oKwL55eNuY2/ICG7zQhgruxlk7xklvBGB21OOuH6qvpUuVpGVLFshdJV6uVvV9+vQTx/em1e+Z6lxsQQAEQAAEQAAEQAAEQAAEQAAEQAAEQCAqCAQH5xLVPiMhACv7jBsAD2BRcRlQJwiAAAiAAAiAAAiAAAiAAAiAAAhEDIEundrTQOFFhYOVUY5VrY/u3zQM7evWa0S79jgEWJxXXxn36LHj9H6VmlZFyDTdyEuJqPTMutimd59+1KljB2lk9NPPP1P6oGxGVmWwwauas/GfMtSyMgLu27sH9ejeRZ57//59J89eRoFeRHQPZf/737eUNUceadzEq09zsFohfOf2Lylnzhzy+MpVa6h9x64y7ssf1Vc+p2Hj5rT9q52+nO42b7cuHaSQgjNZsfF0XBWuG8ZGlgDswd3rxsrh7oQzDRvUpckTHUaMjx8/pkxZHQapuuEWe25JkTpIdcfYsqHpXSEu5BWeOVSv+YEweD1sHDdHAjE4NJflbt8/g8E+wnvXUqPYe7evCoO51+S+3feVt/esvor8jz/+SBkyOZ4VblSg7WOjxbWrl0vjNRY0/UdcS3Udedw4eSqM2rTtQF9/863BREX09o8TK56PFyufm4N+z0e1AOzO3bvCc0sRcxNJN8j0JMzQPeq5Ki9cBSJBZ2W+jyK6/vhvv0UH9+82PARcvHiJioeUk820Y+y16i+n2fH8eTu2mtvgrs/mvPq+HW0O5Jn8cuMaei9/PtmkkydPUflK1fTmybg+fipDYz2Tt33gczzl9XRc1asbIPfs5TyGch59/sPzFCWmYXHpt99+RxMmTKJ5XyxSxdm2tXsexw1z9yy7a3gH4YlwiPBIqEKpMhXo7LkLatdyq4v9+w/4iOZ+Nt8ynzsBmL4YAPNOKUSrukjXskAt0Y570hsBmLfPuv5OMc+jInI8W71yifC2W1SS8VYUlT9fXtq4fpXxXTBz1hz6aOhIja511Nt7LKLmBroXKm5h8ZJlhcc+hxjeusUvUvW2R+S8IFABWKDPxYseW8d0YRELa9q272wI+QcKjzRzhGcaDt26dBTfF71lfPSY8WLxj1KUP39eud+iZRvauGmLjPOf1KlSCC9ioca+8gZrJGgR3cMNP/eJk6XRjvo/jumFuBrT7Pqe1OvyNu6rAEz3gGz1jZNUeLg9E3ZMVq+O60JTdwtreNtmbwVggX7PWbVHn0/4KgBr0bwJjR09QhZr/v3Bqq5A0uyYiwQyN/Om7brHvfQZs9HVS2fl9xQL+WvUcngCS5E8GZ064fg+PnHilPCYtt34fWG98AzfUgj+VdAFT5zmahzW518fDR1BM2d9oopwu/X1nebve8GucUvnYSXWVJ09uG8nZczo+K0ioj2AFS9WmFavXKaqFr/BZaWffv7F2Nffh+ZvPzvGSScB2JJl1LW7411iNEBE7KjHXT/0uq5dPktvvfWWTCpavDQNHTKIWBjGoVuP3rRo8QtWMhF/QAAEQAAEQAAEQAAEQAAEQAAEQAAEQCAKCWgewFgAFksIwE5HYXNQNQiAAAiAAAiAAAiAAAiAAAiAAAiAgJ0E7DYcHjNyGH34YTPZRDZcyZOvEN27/0Du63/KlS1Nixe+MPJlMRSLovQwsH9v6tK5o0zatu0rKivOYdGG2UPThnUrqVDBAjLf9JmzqWP7tjK+avVaatfBIfZS5RYskF8Yqq5Wu9RaGCGtFcZI/oQ7wmvSG8J7Eof8BYrS0cP7pcBEGc+ZyxwvPA00Ex4HODx9+pRy5c5vKTgxn6fve2ucwufEjh2L/vlHruejF+Ey7skw2dNxVbA7w2WVx9uttwaDupiwbv3GxAbTVqF7107Ur28veejmrVv0XkGHRyhmdf/OdSkM4oNVqtWiw0ccxpCqHF085o0RoD8Gh75eM26bHQaDvDK7Ei9aCScVA3+23tyzLK67JZ6n//u//5NVsMFghfdfiEICbZ8y7ucxKUu2YPru8feUQHjj+/XJr/THH3+67NYrr8SmR/dvGcdTp81ET4RgzBz0lcejQgCmi6uePHlCqdNlNjeR2Eh/86a1RrorocWb8eLS1cvnDIHcVuERrXGzlsZ57iLurnVk1K8bOesiNzvGXlf9tuP583ZstWqDqz5b5VVpdrQ5kGdSN+Tt228QfTb/C9U0Y9u8aUPhnWe03I8JAjDd4HnHzt1Uv2FTIYiJLbx+vu3k2czooIsIn+OrB0a753HcNHfPsoumG8m6J9ihw0bS9JlzjGNWEV1o8PDhI8opPARZhVYfNqdRI4fKQyzcTSXGYz3oixOYjcz1fFZxO+7JyBKAReR49roQgt8VgnAVMmfNJd+Xat/Vlj1iKAPow0eOijlUbVdZjXRv7rGInhvo4kNvPXdE5rwgUAEYww7kuTAulpuI8rrMWfi7q3atGjJ3piy56PH338u4Lmrg+V1QxgxSIMtzMiuvs3qb9x84KDyLOYQlsjDtz6njhyhFiuQy5Ztv/kfZcjpEZSqLN/eYyutuazWm2fU9yfN+Dr58r/kiAOPy+X2dNk0aWc8lIXIsJsSO5hCqeTju0bMPTfh4rMxy4+YtKlDItfdcczmu9iPre86qfn++x1Q5+jN47959yi1+1/AmvIzfc9zvXTu2UI7s2SSCLxYskt78eMc8l7tx7QLFixuX+F194uRJw1OkeYEc/dqYF/+QlTz/o88TfBGA+fNO8+e9wM20Y9zSx8roIgDTxwaruZe7cdaOcVL3IHn8+EmqWLm6fmvIuB31uOuHXuHIEUOodcsWMmnFytVUqWIFihv3v/K3veSp0vs8h9fLRhwEQAAEQAAEQAAEQAAEQAAEQAAEQAAE7CYAD2B2E0V5IAACIAACIAACIAACIAACIAACIBCNCNhtOBz3v3Ho8sUz9Oqrr8pesjFviZCy9P0PPxq9ZqHJju2bpbEEJ7ryPKavpsxee1SZvXr3o88XLDbKMxsFK1GW2TuZOkE3ZGGxVtXqtYUHoPAL3gTncnggCjt9Vp3qtNW95Fy9eo2CgjLI4yxWa9T0Q6e8vGNmw551yparbBhI6idUfr8ihQrvUsp4Uh3zxjiFRU49e3SVYppDh4+I/tVRp7vdehIheDquCo8KAdiiLz6j8uUdBo0//PADZc+VL5ywh43ALpw/JQ3SuK3Llq+kTl16qGaT3m5eIT44T0FD7MNiobCThw3B3/zPF1Lvvi+8nBiFaJG6dWrT9GkTZYo3K86zAXWpkBLEBl+TJk+jMeMmaKW5jvoj5mDjzgWLlhqFsoesdWtWGPsbN24WK7S3C2eQyobPtWvWpOUrVxl5PUX0e5YNST+o24Bu37lnnMYG3ls2rze84/GBkqXK0/kLF408gbZPtYHZZsqS02k8MipxEfnm4W0p7OTDNWvXpf0HDjnlnDl9MtWp/cLTYVQIwGrWqEpzZk032pUjV3569PXXxr6K6CvGs3cXFjqeOBmmDhM/Izu/2mysKs8eNXLlLmBZlnGSFlGcOalp81a0ecs27ShRoPXzyvxbN28gXu1+9NiPncrmnRXLFlFISYehsu65zI6xN1xlzxPseP7cja3+9tlVezndjjYH8kzqRvuLFi8VK+b3cWpusyYNaeyYkYYIMToKwMxjqO7hxtUcwKmTph02+t26eR0lT56c2Mi8dNlK4d7/plOMXbvncVyw/iybPTosXfwFpU+fluo3aErXb9w02sER7seZsKPGmFlHjPd79h5wymPe6denJ3Xv1tlInjZ9Ng0bMcrY5wh7YRkzarhRrpURsm6Uy+eYrxGncXj33QRCEJuPtghxqwp23JORJQALZDzj9+0JIZrh92uLD9sYcxzFgZ+98eMcwkvdoxLPs/v07k6du/YMN67zubpx/mIXHjpUHWqr32NRNTeYMmk8NahfVzWJPvl0Hg0YOMTY58g7CeLTogXzad78hbRytWMBiciaF+jikytXrlIR4W3EKujiGrN3lkCeC6u6zGlbv1xPefPmlsnqW81qzqu8pqg8fIL+ntbL1fvN6XxN+Nro4eNxowzxCae3adeR1qzdoGdxO47pGf0d0wL9nhw0oC+1b9daNmXipKmWHmb1dqq4twIwnj/MmjnVEOzw+RMmTrH8vtDnkX///bexIMbwEaNp6vRZqmq/t/o9miR5GpciCTu+58yN9PV7TD9/3qdziL1Pcjh77jyVKuOI63nM8Zf1e4772VN4Ue8jvKlz0J9l9gb2008/y3T+s2bVUipWtIjc599a2Ms0v1NY8KmLHUuXKknMiwPfd+zhXV9ogz3dbli3ijJnfiH41gVg/r7TZIUu/vj7XrBj3LJXAFaZPpkzU/bSauEa/VuAF83gMdTsWX740EHUtk0rg5SVx0v9XW717RfoOLng87lUsUJ52QZ9cQ+jUc8jgdbjqR+qvjffjEfXxEIpsWLFkvcsexXncOToMapctZbKhi0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIRAsC8AAWLS4DGgECIAACIAACIAACIAACIAACIAACEUMgIgyHdQNSbjV7pNmw8Uu6ffsOZc2ShSpWLGcYlvHxCpWqOokQOE0FtYK02uet2biRDTGuXzmvZ5FGRomTpXFKUzssLDt25KBhSMyikK++2kk7d++hH4TwJygoiFiAxcZG3333HWXO5jBsVOerbbasWWjPLmeBAx8rX7GKpaCMj+neWnifRRjLV6yi4ydOCMHS35Q7d06qVaMavfPOO7JNDRo352xG0I1TzEbZKtODu9cNT0qcZhbTqHzmrTsRAuf1dFyVpwup2BMXe+TyJnw0uD/ly5vHKWvBAi88gbBhDV8rFQYPHkanTp+RuywqPChWr3/llVfkPt9zLBBhLyC///47la9QjkYMHUxvvfWWPM4e2AoWLkG3xD2pAl/P3Tu3GvcFCxM/mzdflPkfatWyOSVIkEBmZQO2rNlzh/OKwQakvAK0CokTJ6K0adLIXa7v2PET6hA9FUZu1WvVM/ZZbPjVti+Nfb4vkqVMb+y7i+gGXOxFj73pWQXdw4mVYbzuxYrP/9//vhUiuVV07vw5ihsnDhUqXIiqVnlfCjG7du9Ji5e8EIxZ1afS9HuW0/ga7t23XwocU6VKKVbOLm+w5eN8rPYHDTnqFAJp34ljBylVypSyPPYSsX7DJnr06BH9La4Lh6d/P5XX8/SZ03T16nWZpv7onh/4uvBYtmPnHipYIJ9c9TthwndVVrmNCgFYsqRJ6PSpo0Y72Kh63LhJFCfO61REXLeWwtMhB/PYx/fyjh27KEw8R0mSJJbX9+233zbKmTJ1Oo0YNc7Y9xS5JASWPHZxOHDwIA3+aLgwmL1gnBZI/exN4eK5U8a9ws/nl5u3Cm9/eyi+MNBnLwKFCxU0nl/2TNCzd3+j7kDHXqMgU8SO58/V2Bpon01NNXbtaDMX5u8zqXsL4vGAvXquW7+BUiRPQe9XquBk6Mv1xAQBWCkhPFwuBIgcuE/8XJ0+c1a2XSaKP09+/ZUePvqadu/aQ3+Kd4AeJk0YS40a1jeSWOQ4YNBQY99dJCLmcfq4rc81WIg1dvQI2Rzu5+49+8T/e4m9J1WtUpmqV6tsPKP83vPGGwLf57euXzIE1lz4xYuXhCHyDpkWUrKEIbBXHKwEYHxMH695nw32N27cRLdu3aakyZJJkXXxYkX5kBC3vievB8ftuCcjSwDG7fV3PNNFsmyUv+nLLbR79z4hNnxM9et+QBUqlDXmjzduOjz/BAWlpwN7dxqCTL7WbCR+MDRUztnq1K7ldH28Ef1xH/R7jPejYm7A4oGrV86Jd2UcboIM7B1227av6P6Dh1SieDEqWaKY/GZhsQN7EP3p51+c7rOInBfogoIrV/wTgHGn/H0uHETc/+3Qrg0N+WiAUyblBVFP1O89lb5g4WLq0auf2nXamtvMnsNCDx0R33d/U+XK7xtea/kkV8Ic/R7TxzG9okDGNPOchu9hb78n+d67I7ztqe8WFr/weKmLY/R26nGzAIzvVxVee/01SpwokRC6vkvm+elpMdcrU76yyhpuq3u25oPcnzTCo6wuyAl3kkVCVH/PBfI9Zu7Olk3rKF8+x7epq+8T/ZyX+XuO+6kLlFS/Hz9+TJmyBqtduTX/FsSJuudtlTmO8KR+W3iAVoF/d+Fv2fNiDlCudGmxuEsZYwEglUcXgOnjirfvNFWOq62/7wUuL9BxS+fLz1+ipKktm6kvqOFqvlhDzMe8FYCpSi4IcTiP3xwqit9O1OJGvM8L7ARlzslRp+Drt58v4yRX1LZNSxoufsNRYaeYQy9dtoyCMgQJYeGrNHL0eHkokPGYC/DUD1U/b7eJhWvy5HH+fbBFyza0cdMWPRviIAACIAACIAACIAACIAACIAACIAACIBDlBOABLMovARoAAiAAAiAAAiAAAiAAAiAAAiAAAhFHICIMh7m1Zq84Vj1gA5AxQqQzUXg7chVWrVgsDTDVcRalZM3hLBLiY7rRBu9fu3adChUN4ahlaFD/A5owfoyTEM0yo0hkD2GHDr8QV+j5zPX++OOPlCGTw3OYnk+PT544jho2eCH+0Y/pcTaeTpI8rZ7kZDDrypjx4b0bTv2aPWcuDRJCDE/BlQhBnefpuMrnrwDs6OF9pARTqix32/YdugpvDGuMLLVr1aBZM6YY++4ibdp2oDXrNobLUqdWTZoxfZIhIjFnYMFM/QZNaJcwejeHrx/cMgykzces9hMmSWUk580TLD0bGQkiUrpsRTpz1lnYqB9XcbvEHOxVZMP61U6eAlQd5i17fWEBnTdBN8BlfrFjx3Z5GguXygjPN7rHQJU5kPbpXgJVea62bOC2ZOly+mjoSJmFx4opk8J7m9LPZ6NGde9GhQCM27JLeO7KkSO73iwjXrhYiCFsY6NM3buSkckU2bN3H9Wp28iU6n7XbBBnZbDub/3sfY69ALyXP5/7Roij/J7InitvOEPqQMZeV5Xa8fy5Glvt6LNVu+1oM5fr7zPJRppHDx/wOBYo0WZMEIAxD7PhL6dZBR4H2QNTu/ad6bIQdXBYu3opFS1SxMjOBq71xLvGmxAR8zh93NbnGmxQPG3qJOnNw1PbuvfoTQsXL/OUTR7ncmcLL4bu3g88NiuBqisBWI7sWWn1yqUUX3jt9BR0T5523JORKQDjvvkznrGgqFXLFi7nOIoZ36OFCpekG+LdxgKw1SuWUlIhNPYUtm/fQQ2btPCUTR7X77GomhtwQ4oXKyw9fCnvwa4az+KCskI8c/HSZeE1LHLmBXYJwPx9Llyx0NPZQ+7li6f1JOrYqZvwFOvwlqYO1Ktbm6ZNcXjFVWnuFgBhIc2a1csNr73qHPP2/oMHVKFiNUtPpfo9po9jehmBjmn+fk+aRVzcJrMXJb2detzqXP24VfyMECRXrFQtnPhYzzt18sdUv94HRhKLQUoIj7y+hqj+ngvke8zc1+NHD4jFExzfa6tWr6V2HbqYszjtv8zfc6qjVy+dMd7FnGY17vP88KYQduvhs88+p74DXgh51DH9dwOVpm/5/cDzel5YhYMuAPPnnaaX7Sruz3uBywp03IpqAZgrHjznqlWngdNiNiqvN99+/o6TXAcvEnDn5hXLeScLs5OnyqCaIt/N/v6+500/VEWlS5UQCwcsVLtyQSdvF+4xTkIEBEAABEAABEAABEAABEAABEAABEAABCKBAARgkQAZVYAACIAACIAACIAACIAACIAACIBAVBH4sHlTGjPaIQ5ijyrZc3k2rn90/6axYnndeo0sxTDcHzaO4JWH34wXL1z3Hj58JD1DsSGlu1C3Ti2aPm2SkWXr1u3UuFlLY19Fvpj/ifTGo/a9ET2xAd2ypYuIPT/FihVLnWpsr1+/Qb369KP9Bw4ZaebImJHD6MMPmxnJLBzp0q2Xse8qUrBAfpr36Zxwq7NzfhbGsUeUrqKce/cfOBVx7fJZw4uVK2Ha4IH9qX27VsY1slqJ36nQ5zuthVHwyBFD5N6Nmw7PD88PyY2n4yqvbsjliwcwfTVrVZa7bfMP20jvFXqeTBmDaO6cGZQlS2Y92YizIKVl6/bSgNdINEVYSDZh/GgnjxCchUUILVu2dXm/m4V3pmKddq1W9d64fpXwKvXC41nX7r2El63lTudZ7axZtZSKFXUIB8xej/T8njyAqbwsluLV+1977TWVZGzZ0IrbNPijYfS7MIb2Jqh7lld1L1uhMq1cvsTJcwOXwTxWr1nn0bCS8/rTPjbuPxy6z0kYyWW5C9Omz6ZhI0bJLP369KSuXTqGEyewQSJfJ/aIcibsmMxrJQBTDDiDq+eWj/3v0QuPdImTpQ4nYOI8rgJ7Qtz65Xqn1dpV3t59+tP8LxzeiTgtZcrktEoY9KdLm4Z3nQIb+XGf1qzd4JTuzQ6Pa+vXrjQ4/fLLr5Q2Q5ZwpwZSPxtlThVG5MmSJrUct9n7RodOXS1FhNwQf8fecJ14nmDH8+dpbA20z+a229FmvUx/nkn2/Ddj2mQnr4lcJt9/06bPovETJhuCZysBmLd94DI95fV0nMvg4GkMnTt7OlWvXtWR2Yu/3Feec/3008/SMxV7VFOhSrVadPiIY0xRaa62ETGPczdmsceFSRPGCW9fVQxvUXrbWAjfq3c/Wrt+k57sMc5Co3WrV1CiRAmd8rLxN88lmjb9kC4Jw/N4cePK+yRV2kxO+dQOCyf53qohroWVoOx74el1zLgJNG/+AnWK3AZ6T/bq0ZV69+ouy+J3QikhZjYHT8+6yu/tPMqf8SxF8mT02dxZxP/wZ8WHF1DgeRKLFPXAXji4f8zfHNh70cxZnwhPHGO9fm+peywq5waqH+yFZvGiecJjZuFw7xWen7CHpVbCk6Y+74mMeUHf3j2oR3eH4MRKUK3a/83D20a7U6YOcmqnyuPvc6HOd7fVx0bOZ9WG18Wc8s6tK0Y7+Z5JmiKdu2Kld5f54lupTJlSxnnqBB4X5otn2EpQovKoe4z33c29Ah3T/P2ePBy615gPs9fD4iHlVNPdbq08X+sn8D3L3o9//PEnYuHXIOExmcWcnkJS4QlWzWU5L4/jny9Y7Om0cMej+nsu0O8xvUPnTh83hEfTZ86mocMc3wV6HnP8Zf2eU/3U30+cxqI4FseZg86Oj7la2IQ9bi1e/LnwtlicsxmB72N+HzVo1Ey+z/v36y2P6QIwTvD3nWZU5CLiz3uBi+LxxN9xK/7bb9GVS2dli3iMc+XNfuf2LylnTseCQ648gOkiJSsvbfpiECuEYJe9BpYKCb+4C49N1WrUcftd5c23n7/jJMNwJazje4Q9c373+HvJjP/4W4+337CqohvXLhjzIfaG+4H4TRQBBEAABEAABEAABEAABEAABEAABEAABKIbgeBgh0f3WMVDyj7jxoWFnYlubUR7QAAEQAAEQAAEQAAEQAAEQAAEQAAEojGBdxLEpzKlS1HWrJnlysF7hJHEL78+iTYt5pWF2asMi2jY69ahw0foxPGTbldJt6vxbFxUvERRKvBefnpw/yEdOBjqVpzkbb1s6Pnw3k1pMOnKMMjbsmJivjfjxaV8+fJSntzBksEp8XvW0aNH6aeff/G6O2xQVqtmdfr776fCsG01ff3Nt16f62/GcmVL0+KF8+XpZcu/T2GnHUZg/pYXyHlsQFVaPLcsqrtw4ZIQQh6kB0K4aUdg49VqVd6n1KlTERtN8TP3zz/yp0evi/e2fbyaOnsjYO8ebEzXpm1HiiWeed2IPSgogzSGz5c3jyESY6P0zNlyG+1ho7ySJYtLg7vLl6/Qpk2bo9U4phrK16t06RBhAJeQbgoh5zbhkeXho6/VYactG2QXL15UiKIK0K1bN2n7V7ssvWg4neRhh8VdNapVleLWk6fCaK2Fpz1VRCD187idP18+4b3FIX48cfIUHT9+wutnPKLGXtW3iNgG2ueIaJNeprfPpDqH31MlihcT1zEvsVhw7br1to0xqo7I2o4bM5KaN2ssqzsu5g+jx46lFClS0n9eeUWmxRVC+LzifZRb/J8yZQqjWV269RQeB1fIfRaqflCnNi1bsZLu3r1v5InOkXffTSDndyykZ4HK0WMnDK9m/rabPQqVLhVCWbNlpt27dwtBvGsRvqc61HiYIP7bdFyMEaGhh6XgztV5MfWe9Hc8Y9Eds04oDL9ZtHbk6DGX7wvFTNX1Xr789O1339Ixcc1Ph522Zc4cmXMD1R99y2NscK6cUojA4rhdu/fQyVPO3q30/DFlXqC3meO+Phfm8yN7n69L3jx5xHUpRrwQwXYh9Pa0gIi/bQxkTON2+vo9yZ7Rnon5r9ljmr/tD+S8NGJOfuzIAVkEz5eTpUwnvov/CaTIgM+143su4Eb4UcC/5XvODzQuT+E5UEjJEpQ6TWo6ePCw+D7c4/P95887zWWDnh/w9b2gyovMcUvV6ctWF4AtXbaCOnftKcVrZcW3f958eejEiZO0Y8duS0GxuR5fvv38GSe5Pv28V1/9P/kO2Lr1K3oiFlOwCnp+b3/f86Ufd25elr8tcN216tQNaK5q1X6kgQAIgAAIgAAIgAAIgAAIgAAIgAAIgIAdBCAAs4MiygABEAABEAABEAABEAABEAABEAABEACBSCTQU3gMUJ4oPqjXgPbsPRiJtaMqfwmwB6c8eYKlUCl5qvQ+G775W+/LfN7Y0SMMYcaAgUNo7mcOgZ1Vn8sI4dSSRZ/LQ2z8miR5WqtsSAMBEAABgwAbmd6/c1163WTvV0GZHSvqGRlMkVPHD1FyITDmsHjJMurWo48pB3ZBAARAAARAIHIJsOcqXpCEQ+ihw1S9Zt3IbcBLVBu+516ii/mSdoUFYPmE0IsDe3Br37HrS9pT+7vVsX0bGjyovyyYvRSnD8pmfyUoEQRAAARAAARAAARAAARAAARAAARAAARsIBAcnEuU8oyEB7ByYhneZ/AAZgNUFAECIAACIAACIAACIAACIAACIAACIAACEUVg8MD+1LFDG1n8g4cPKThPwYiqCuXaROC1116lVSuWGIaXq9eso3YduthU+r+7mLAThyhZMofYImuO3PTtt49dAqletTJ9MmeGPM4ewLJkdxjGuTwBB0AABP71BMqWKWV4bmTvX5Wq1HDL5Mypo5QkSWKZp2v3XoYHMLcn4SAIgAAIgAAIRBCBPLlz0tbNG43Sy1WoHKVeiI2GxLAIvudi2AX7FzcXAjD/Lj4/49cunxPe0l6TBcyYNYeGDhvlX2E4CwRAAARAAARAAARAAARAAARAAARAAAQimID0ACaUX0IAVvaZ0H+JH33PRHCVKB4EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMAfAksWzqcywhidw99//01ly1em8xcu+lMUzolEAhfPnaR33nlH1vjo0ddUsHAJevLbb5HYgpe3qn27t1PmzJlkB5csXU5du/e27GySxInp4IFdFC9uXHl867bt1KRZK8u8SAQBEAABRSBb1iy0e+dWufvnn3/K8fve/QfqsNN26EcDqF3b1jLt2bNnlDZ9Foz1ToSwAwIgAAIgEBkEEsSPT4+//54KFMgnvN9+Ycx/r127ToWLOb4lI6MdL1Md+J57ma7my92XLzesofz588pOwgOY+2utxkr+rWD1yiUUFJRBnvDXX39RUKYcmMe7x4ejIAACIAACIAACIAACIAACIAACIAACUUhACsBE/Q4BGMUSHsBOR2FzUDUIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIArAjOmTaI6tWvS98Kgr279RmIhn3OusiI9GhE4eSyUUqRIThcvXqL3hfeYX359Eo1aF7Ob0qtHV+rVs5vRiatXr9Gnn82nEydP0h9//EVZs2amWjWqS+Fk7NixZT5+fvIXKEo//fyLcR4iIAACIOCKwN1bVwxvAGwQumbtelojPDneuXuPEiZ8lwoVfI+aN2tqeP7ickaPGUeTpjg8DroqF+kgAAIgAAIgYDeBN9+MJ73YsBA5VqxYRvFPnz6lPPkK0UOxGAWC7wTwPec7M5wRNQQgAPOe++ULYfT22287jZV8dus2HWjdhk3eF4ScIAACIAACIAACIAACIAACIAACIAACIBDJBBwCsFgsACsn/H89EwIweACL5GuA6kAABEAABEAABEAABEAABEAABEAABEDAKwKJE71LVatUoblC4IIQcwjky5uHEidORF9udniRiTktjxkt3bBuJRUs8J5XjWUPbOUqVKFHX8P41StgyAQCICDGl/y0bs0KUiJSd0j++ecfmjFzDg0fOcZdNhwDARAAARAAgQgh0KxJQxo3dpRT2U+ePKHGTVvQ/gOHnNKx4z0BfM95zwo5o5YABGDe8X8zXly6duW8U2aex48eM56mTJvplI4dEAABEAABEAABEAABEAABEAABEAABEIhuBJw9gAkJWNhpCMCi20VCe0AABEAABEAABEAABEAABEAABEAABEAABEAABFwTaNG8CbVv15pSpkgRbgXvP//8k+7eu08fDRlO27/a6boQHAEBEAABFwTSpE5FQ4cMoNKlStGrr77qlIuNRX/++WfasnUbDRw8jH766Wen49gBARAAARAAgcgiUKxoIRoyeCDFjx+f7j94QEeOHKWJk6bRk99+i6wmoB4QAIEoJNC6ZQuqVrWybMGcuZ/Sho2bo7A10bfqdxLEp0/nzqJUKVPSDz/+SKdOhdGs2XPp+o2b0bfRaBkIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPCfgLAATifAAhnsDBEAABEAABEAABEAABEAABEAABEAABEAABEAgphJIIAxekyRJTM+EKOPy1av0zz9i1SsEEAABELCJwCuvxKZ06dLQ66+9TvfvP6TH339vU8koBgRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARcEzAJwGIJAdhp17lxBARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAINIIvBCAlSz7jGLBA1ikkUdFIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIOCBgBSAPSOKVTxECMCEAgwewDwQw2EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiCQCLzyASQEYPIBFEndUAwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIeCTgEYLGUBzAIwDwSQwYQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiCQCUgD2jFgAVk5snlFY2JlIqhrVgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIuCPg8AAmBWBlhQAMHsDcwcIxEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIhMAhCARSZt1AUCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACPhAIDs5F9OwZxSoeAg9gPnBDVhAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIcAJSAEYQgEU4aFQAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAr4SCM6VkyiW+A8ewHxFh/wgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgELEEHAKwWM8FYM+Iwk6fidgaUToIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIBXBIKDc4l8z+ABzCtayAQCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACkUggODinrC1W8ZBywv/XMwoLgwewSOSPqkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDAJYHgXEIAFkv8Vzyk7DOh/6Kw0xCAuaSFAyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQiQSCg3OJ2p6xAAwewCKRO6oCARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAY8EnD2AiexhYfAA5pEaMoAACIAACICAzwSEm00EEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEPjXEYj1r+sxOgwCIAACIAACdhMIDs4pi4QHMLvJojwQAAEQAIEYTgCCrRh+AdF8EAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBGEkAgrEYednQaBAAARAAgQglEBycS5T/jIQArKy0dIcHsAjljcJBAARAAASiBQGIu6LFZUAjQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMAvAhCJ+YUNJ4EACIAACMRYApoHMBaAxaKwsNMxtjNoOAiAAAiAAAi8IACR1wsWiIEACIAACIAACICAZwJZMmemt99+S2Y8cuQo/fMses6nMgZloGpVq1DOnDno2T//0OUr12jhokV05+49z52MoBy5cuSgOP+NI0s/c+Ys/frkid812VmW342IRiemTZ2GkiRNLFt069Ztevjoka2ti+jybW1sDCwsQfz4lClTRtny7x9/T5euXPGrF/HixqXs2bPJcx88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)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "aa9576ca" - }, - "source": [ - "## Install packages and import modules" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "8c304b93" - }, - "outputs": [], - "source": [ - "# install packages\n", - "\n", - "!python3 -m pip install -qU openai pandas==1.5.3 wget elasticsearch streamlit tqdm\n", - "\n", - "# import modules\n", - "\n", - "import os\n", - "from getpass import getpass\n", - "from elasticsearch import Elasticsearch, helpers\n", - "import wget, zipfile, pandas as pd, json, openai\n", - "import streamlit as st\n", - "from tqdm.notebook import tqdm" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "de32a789" - }, - "source": [ - "## Connect to Elasticsearch\n", - "\n", - "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook.\n", - "If you don't already have an Elastic deployment, you can sign up for a free [Elastic Cloud trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook).\n", - "\n", - "To connect to Elasticsearch, you need to create a client instance with the Cloud ID and password for your deployment.\n", - "\n", - "Find the Cloud ID for your deployment by going to https://cloud.elastic.co/deployments and selecting your deployment." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "3a57b6a8" - }, - "outputs": [], - "source": [ - "os.environ['es_cloud_id'] = getpass(\"Elastic deployment Cloud ID\")\n", - "os.environ['es_password'] = getpass(\"Elastic deployment Password\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "cb2ng640_o2n" - }, - "source": [ - "Test the connection with Elasticsearch." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "NJkflYkGHnGL" - }, - "outputs": [], - "source": [ - "es_cloud_id = os.environ['es_cloud_id']\n", - "es_password = os.environ['es_password']\n", - "\n", - "client = Elasticsearch(\n", - " cloud_id = es_cloud_id,\n", - " basic_auth=(\"elastic\", es_password) # Alternatively use `api_key` instead of `basic_auth`\n", - ")\n", - "\n", - "# Test connection to Elasticsearch\n", - "print(client.info())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "JiA-4-Kb-C3K" - }, - "source": [ - "## Configure OpenAI connection\n", - "\n", - "Our example will use OpenAI to formulate an answer, so please provide a valid OpenAI Api Key here.\n", - "\n", - "You can follow [this guide](https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key) to retrieve your API Key.\n", - "\n", - "Then test the connection with OpenAI and check the model used in this notebook is available." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "imKyf8sm-caV" - }, - "outputs": [], - "source": [ - "os.environ['openai_api_key'] = getpass(\"OpenAI Api Key\")\n", - "openai.api_key = os.environ['openai_api_key']\n", - "openai.Model.retrieve(\"text-embedding-ada-002\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "80b55952" - }, - "source": [ - "## Download the dataset\n", - "\n", - "In this step we download the OpenAI Wikipedia embeddings dataset, and extract the zip file." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "c584f15c" - }, - "outputs": [], - "source": [ - "embeddings_url = 'https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip'\n", - "wget.download(embeddings_url)\n", - "\n", - "with zipfile.ZipFile(\"vector_database_wikipedia_articles_embedded.zip\",\n", - "\"r\") as zip_ref:\n", - " zip_ref.extractall(\"data\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "9654ac08" - }, - "source": [ - "## Read CSV file into a Pandas DataFrame\n", - "\n", - "Next we use the Pandas library to read the unzipped CSV file into a DataFrame. This step makes it easier to index the data into Elasticsearch in bulk." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "76347d10" - }, - "outputs": [], - "source": [ - "\n", - "wikipedia_dataframe = pd.read_csv(\"data/vector_database_wikipedia_articles_embedded.csv\")" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "6af9f5ad" - }, - "source": [ - "## Create index with mapping\n", - "\n", - "Now we need to create an Elasticsearch index with the necessary mappings. This will enable us to index the data into Elasticsearch.\n", - "\n", - "We use the `dense_vector` field type for the `title_vector` and `content_vector` fields. This is a special field type that allows us to store dense vectors in Elasticsearch.\n", - "\n", - "Later, we'll need to target the `dense_vector` field for kNN search.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "681989b3" - }, - "outputs": [], - "source": [ - "index_mapping= {\n", - " \"properties\": {\n", - " \"title_vector\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 1536,\n", - " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " },\n", - " \"content_vector\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 1536,\n", - " \"index\": \"true\",\n", - " \"similarity\": \"cosine\"\n", - " },\n", - " \"text\": {\"type\": \"text\"},\n", - " \"title\": {\"type\": \"text\"},\n", - " \"url\": { \"type\": \"keyword\"},\n", - " \"vector_id\": {\"type\": \"long\"}\n", - "\n", - " }\n", - "}\n", - "client.indices.create(index=\"wikipedia_vector_index\", mappings=index_mapping)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "c2fb582e" - }, - "source": [ - "## Index data into Elasticsearch\n", - "\n", - "The following function generates the required bulk actions that can be passed to Elasticsearch's Bulk API, so we can index multiple documents efficiently in a single request.\n", - "\n", - "For each row in the DataFrame, the function yields a dictionary representing a single document to be indexed." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "efee9b97" - }, - "outputs": [], - "source": [ - "def dataframe_to_bulk_actions(df):\n", - " for index, row in df.iterrows():\n", - " yield {\n", - " \"_index\": 'wikipedia_vector_index',\n", - " \"_id\": row['id'],\n", - " \"_source\": {\n", - " 'url' : row[\"url\"],\n", - " 'title' : row[\"title\"],\n", - " 'text' : row[\"text\"],\n", - " 'title_vector' : json.loads(row[\"title_vector\"]),\n", - " 'content_vector' : json.loads(row[\"content_vector\"]),\n", - " 'vector_id' : row[\"vector_id\"]\n", - " }\n", - " }" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "b8164b38" - }, - "source": [ - "As the dataframe is large, we will index data in batches of `100`. We index the data into Elasticsearch using the Python client's [helpers](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/client-helpers.html#bulk-helpers) for the bulk API." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "aacb5e9c" - }, - "outputs": [], - "source": [ - "total_documents = len(wikipedia_dataframe)\n", - "\n", - "progress_bar = tqdm(total=total_documents, unit=\"documents\")\n", - "success_count = 0\n", - "\n", - "for ok, info in helpers.streaming_bulk(client, actions=dataframe_to_bulk_actions(wikipedia_dataframe), raise_on_error=False, chunk_size=100):\n", - " if ok:\n", - " success_count += 1\n", - " else:\n", - " print(f\"Unable to index {info['index']['_id']}: {info['index']['error']}\")\n", - " progress_bar.update(1)\n", - " progress_bar.set_postfix(success=success_count)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "rnJbAQdgbXSm" - }, - "source": [ - "## Build application with Streamlit\n", - "\n", - "In the following section, you will build a simple interface using streamlit.\n", - "\n", - "This application will display a simple search bar where an user can ask a question. Elasticsearch is used to retrieve the relevant documents (context) matching the question then OpenAI formulate an answer using the context." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "I55fQHW589RP" - }, - "source": [ - "Install the dependency to access the application once running." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "LnL-wOdRct5O" - }, - "outputs": [], - "source": [ - "!npm install localtunnel" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "LkEHb4VMevcc" - }, - "source": [ - "Create application" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "_J7keMUAewy1" - }, - "outputs": [], - "source": [ - "%%writefile app.py\n", - "\n", - "import os\n", - "import streamlit as st\n", - "import openai\n", - "from elasticsearch import Elasticsearch\n", - "\n", - "\n", - "# Elastic Cloud\n", - "es_cloud_id = os.environ['es_cloud_id']\n", - "es_password = os.environ['es_password']\n", - "\n", - "# OpenAI\n", - "openai.api_key = os.environ['openai_api_key']\n", - "\n", - "# Define model\n", - "EMBEDDING_MODEL = \"text-embedding-ada-002\"\n", - "\n", - "# Connect to Elasticsearch\n", - "client = Elasticsearch(\n", - " cloud_id = es_cloud_id,\n", - " basic_auth=(\"elastic\", es_password) # Alternatively use `api_key` instead of `basic_auth`\n", - ")\n", - "\n", - "def openai_summarize(query, response):\n", - " context = response['hits']['hits'][0]['_source']['text']\n", - " summary = openai.ChatCompletion.create(\n", - " model=\"gpt-3.5-turbo\",\n", - " messages=[\n", - " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", - " {\"role\": \"user\", \"content\": \"Answer the following question:\" + query + \"by using the following text: \" + context},\n", - " ]\n", - " )\n", - " return summary.choices[0].message.content\n", - "\n", - "\n", - "def search_es(query):\n", - " # Create embedding\n", - " question_embedding = openai.Embedding.create(input=query, model=EMBEDDING_MODEL)\n", - "\n", - " # Define Elasticsearch query\n", - " response = client.search(\n", - " index = \"wikipedia_vector_index\",\n", - " knn={\n", - " \"field\": \"content_vector\",\n", - " \"query_vector\": question_embedding[\"data\"][0][\"embedding\"],\n", - " \"k\": 10,\n", - " \"num_candidates\": 100\n", - " }\n", - " )\n", - " return response\n", - "\n", - "\n", - "def main():\n", - " st.title(\"Gen AI Application\")\n", - "\n", - " # Input for user search query\n", - " user_query = st.text_input(\"Enter your question:\")\n", - "\n", - " if st.button(\"Search\"):\n", - " if user_query:\n", - "\n", - " st.write(f\"Searching for: {user_query}\")\n", - " result = search_es(user_query)\n", - "\n", - " # print(result)\n", - " openai_summary = openai_summarize(user_query, result)\n", - " st.write(f\"OpenAI Summary: {openai_summary}\")\n", - "\n", - " # Display search results\n", - " if result['hits']['total']['value'] > 0:\n", - " st.write(\"Search Results:\")\n", - " for hit in result['hits']['hits']:\n", - " st.write(hit['_source']['title'])\n", - " st.write(hit['_source']['text'])\n", - " else:\n", - " st.write(\"No results found.\")\n", - "\n", - "if __name__ == \"__main__\":\n", - " main()\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "BU1WKBVGe5ZY" - }, - "source": [ - "### Run the application\n", - "\n", - "Run the application and check your IP for the tunneling" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "-oQa-VV6e40J" - }, - "outputs": [], - "source": [ - "!streamlit run app.py &> /content/app.log & curl ipv4.icanhazip.com" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "ZXLKpEvMe-D2" - }, - "source": [ - "### Create the tunnel to access it from anywhere\n", - "\n", - "Run the tunnel and use the link below to connect to the tunnel.\n", - "\n", - "Use the IP from the previous step to connect to the application" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "colab": { - "background_save": true - }, - "id": "ertvvtnifAZy" - }, - "outputs": [], - "source": [ - "!npx localtunnel --port 8501" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AcvvIMxxGIun" - }, - "source": [ - "Success you build your first Gen AI Application.\n", - "\n", - "You can try it by asking question such as \"Who is Beethoven?\" or \"What is football?\" and see the answers." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "WHBfQus1TfRG" - }, - "source": [ - "## Next steps\n", - "\n", - "Now you know how to quickly put together an interface that allows you to ask questions and get answer from a specific dataset, in this notebook example, wikipedia.\n", - "\n", - "You can adapt this example to use your own dataset, and use the streamlit application as a blueprint for integrating with your own application." - ] - } - ], - "metadata": { + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "f96b815e" + }, + "source": [ + "# Build a Generative AI application using Elasticsearch and OpenAI" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "e0f537af" + }, + "source": [ + "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/supporting-blog-content/openai-rag-streamlit/openai_rag_streamlit.ipynb)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "349e0e74" + }, + "source": [ + "This notebook demonstrates how to:\n", + "- Index the OpenAI Wikipedia vector dataset into Elasticsearch\n", + "- Build a simple Gen AI application with Streamlit that retrieves context using Elasticsearch and formulate answers using OpenAI\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8nGNmWM3idlK" + }, + "source": [ + "![Screenshot 2023-08-16 at 3.27.07 PM.png](data:image/png;base64,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hYWFYn8VFRdKUVGxlBSXmBe5eaRS2H4olhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE6qyAVvZyuaLEFeWS6OgoiY6KkZiY/V919sK5MAQQQACBOiugATApMbFlDYBRAazO3mcuDAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEaqFAampnU7PS/EcFsFp49zhlBBBAAAEEEEAAgf9n7356JVnS+zBnjba2REoguNC95Cw5kNBdklYk4e5p4J4LCPaCXHAhQX8AfwRCo4W0oSDvBuAX4YL8DLZnZlvnwAbHgCRTBjcEYQ4JCVoI0KSisuqXFZmVlZVVdbpPdZ/ncDBvRWbEG288GafuuSMFkgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBL1rAAbAv+vFaHAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECn7PA937t15q2/F/3BrDtq8D++Kc//ZzXo3YCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8MQL9G8D+2T//X9vy0/z0p//PF7M4CyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDnLLA9ALb96d4Atv3gANhWwQ8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgReXuB73/u1Zvvir5U3gL38w1ABAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEaoHBG8BWzar545/+tL7vMwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi8kEB/AOz3/s3/Vt4E9vPmP/7H/++FSjEtAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg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HWh6H3UoN04I5wDY+w8P2x7NZvOYLCIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKDAev22m33lANgLPgVTEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYELAAbAJFJcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwDwIOgN3DU1ADAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJgS6A2Bt26zef3hom/Jh8/g00c0lAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjUAtUbwL5pm2bVbDaPn7oG8xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAhEB1AKy8Aaz8OAA2oeQSAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXkCgOgBW3gBWjoBtHp9eoAxTEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBYoDoA5g1gYxxtAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKSAyaDzggAAQABJREFUA2AvqW9uAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAgcDoB9/5u2Wa2azeZxprtbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCpBLoDYG05+vX+w0O7ndQBsE9Fbx4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMCxzeAOYA2LyUuwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjEAg6AfWJw0xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCpQHcArG2b1XtvAFtqph8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+icDoDWBts9k8fZKJTUKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC8wKjA2BNOQD2OD/CXQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4JALdAbC2bVbvPzy0TeMNYJ9E3SQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYIOANYAuQdCFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBLCKzfvmma1SpvAGuazebxJeowJwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMBIYHwNq22Tw+jbpoEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBLCKzXb7tpV+8/PLTbT94A9hKPwZwECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4FnAA7NjEFQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNyFwPrtm6ZZrZrdG8Dattk8Pt1FYYogQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAaxfwBrDXvgOsnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBuxWo3gD2TVveBdZsNo93W6zCCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8JoERm8Aa8sBsKfXtH5rJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwN0KOAB2t49GYQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvHaB6gDYN23TrMobwB5fu4n1EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4C4EqgNgD+UAWOMA2F08FkUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgaXYHwNpm9f6DA2A2BAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECX77Ab/7Gr3eL/NGPf3L3ix29AawtbwB7uvuiFUiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFLBbYHv/7oD/+gH7Y9APbDH/5+c88HwUYHwJpyAOyxX4APBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+FIEtoe/8vavek2/9Mtf1c27+uwA2F09DsUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPAxBMZv/6rn+K3f/p27fQuYA2D1k/KZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEvUsABsC/ysVoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfisCf/9mfHi3lRz/+SbN9A9i9/nRvAGvbZvX+w0PblA+bx6d7rVVdBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuFpg+xawH/zgd5ttzM/28Nf2ENi9/nQHwEpx5QDYN20JzWbzeK+1qosAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI3C+QA2D0f/MoiqwNg5Q1g5ccBsNCIBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeFmB6gBYeQNYOQK2eXx62YrMToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdQHUAzBvA7AkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBL58gd/8jV/vFvmjH//k7hfrANjdPyIFEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwHALbg19/9Id/0KfaHgD74Q9/v7nng2CHA2Df/6ZtVqtms3nsF+ADAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEvhSB7eGvvP2rXtMv/fJXdfOuPncHwNpy9Ov9h4d2W5kDYHf1fBRDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAzCIzf/lWn/K3f/p27fQvY4Q1gDoDVz8xnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgS+IAEHwL6gh2kpBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8eQJ//md/erSoH/34J832DWD3+tO9Aaxtm9V7bwC712ekLgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnkFg+xawH/zgd5ttzM/28Nf2ENi9/nQHwEpx+wNgbbPZPN1rreoiQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAzQI5AHbPB7+yyNEBsKYcAHvMPZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXlCgOwDWtt4A9oLPwNQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYFPAGsEkWFwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+FIFfvM3fr1b2o9+/JO7X+L67ZumWa3yBrCm2Wwe775oBRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOBSge3Brz/6wz/oh20PgP3wh7/f3PNBsOEBsLZtNo9P/QJ8IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwJcisD38lbd/1Wv6pV/+qm7e1ef1+m1Xz+r9h4d2+8kbwO7q+SiGAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFnEBi//atO+Vu//Tt3+xYwB8DqJ+UzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfpMBnewDs7ZumWa2a3RvA2rbZPD59kQ/IoggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeN0Cf/5nf3oE8KMf/6TZvgHsXn+8Aexen4y6CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4VoHtW8B+8IPfbbYxP9vDX9tDYPf6sz68AeybtrwLrNlsHu+1VnURIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgZoEcALvng19Z5OgNYG05APaUeyIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvKCAA2AviG9qAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAlUB8C+aZtmVd4A9jjX3z0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+EQC1QGwh3IArHEA7BPBm4YAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLnBHYHwNpm9f6DA2DnsNwnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxQYvQGsLW8Ae/qU85uLAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBE4IjA6ANeUA2OOJri4TIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwKcUcADsU2qbiwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAhcIOAB2AZauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+JQCDoB9Sm1zESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4AKB7gBY2zar9x8e2qZ82Dw+XTBcVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBD4WALVG8C+aZtm1Ww2jx9rLnkJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4AKB6gBYeQNY+XEA7AI9XQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPARBaoDYOUNYOUI2Obx6SNOJzUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQILBWoDoB5A9hSNP0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwKQQcAPsUyuYgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAFQKHA2Df/6ZtVqtms3m8Io0hBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPDcAt0BsLYc/Xr/4aHdJncA7LmJ5SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMB1Aoc3gDkAdp2gUQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhIAg6AfSRYaQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHCrQHcArG2b1XtvALvV0ngCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg8q8DoDWBts9k8PesEkhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAdQKjA2BNOQD2eF0mowgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgWQW6A2Bt26zef3hom8YbwJ5VVzICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjcIOANYDfgGUqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGPKbB++6ZpVqu8AaxpNpvHjzmf3AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwUGB4AKxtm83j08KhuhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAxxRYr9926VfvPzy020/eAPYxueUmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAcgEHwJZb6UmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFPKrB++6ZpVqtm9wawtm02j0+ftACTESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMC0QP8GsHcfvm2bphwA2zgANk3lKgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJ5H4J//03+8KNFXX/3t8gKw8gawdx8eygGwxgGwRWw6ESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4HqBpQfAvv76q26ScgDMG8Cu5zaSAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECywWWHgD7lV/5umnb1hvAltPqSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdsElh4A270BbJUDYKtms3m8bWajCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGBWYOkBMG8Am2V0kwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAs8vsPQAWPcGsLbxBrDnfwQyEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYFpg6QEwbwCb9nOVAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECH03AAbCPRisxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEbhNYegDs66+/6iZavfvw0G4/bTZPt81sNAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMCjgANsvjJgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF5OYOkBsF/5la+btrz6q7wB7NsSWm8Ae7lnZmYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF6JwNIDYF9//VUOgD205fxXs3l8eiVElkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGXEVh+AOzrUmC7fQNYOQDWrMobwB5fpmKzEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4JUILD8A9lWzWq22B8C+LQfA2nIAzBvAXskesUwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF5IYPkBsPoNYOUI2ObRAbAXemamJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDglQgsPwD2VSdS3gD2UI5/lQNg3gD2SraIZRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8FIClx0AWzX7A2CrcgDs8aVqNi8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRehcDyA2Bfdx6rd98vbwBbeQPYq9gdFkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIsKLD8A9lXTtI03gL3o0zI5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKvSuCiA2DlzV+rdx/KG8DKz2bz9KqgLJYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKfWuCSA2Cr1XccAPvUD8h8BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAi8XoF/+k/+UfOd1eoswNdff9X8/Oc/3x4A+7a8Aaz1BrCzZDoQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgNoH/5X/+h83f+pu/eDbJ9gDYX/3Vf/IGsLNSOhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCZBP7u3/le8w/+/t87m+3rr79u/vinP3UA7KyUDgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHhGgSVvAfsbf+MXmv/9//g/HQB7RnepCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgcFbgr/+P/0Pz7t3/1Pytv/mLk33//7/4WfOXP/tZ85//y39xAGxSyEUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAh8ZIG/+3e+13z3u99tfvEXf6Gb6Wc/+8vmT/7kT5r/6//+42b99k3TrMp/3n14aLd3N5unj1yO9AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCwRGB3AGy1PwBWjoBtHh0AWwKnDwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD62wHr9tkzRegPYx4aWnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApcKrNdvuiGrdx++Le//apvNxhvALkXUnwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAh9DYP22HABblf+8+/DQlvNfzebRAbCPAS0nAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIELhVYr9+WIe32AJg3gF2Kpz8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+psDwDWBlps3GG8A+JrjcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWCqwXr/punoD2FIx/QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCJBNbrt2WmtikHwB7a7ZzeAPaJ5E1DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMwLVG8C2B8BW5QDY45khbhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxDwBrBPoWwOAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIXCHgDWBXoBlCgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBTyHgDWCfQtkcBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuELAAbAr0AwhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDApxBYr99006zefXhot582m6dPMa85CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCMgANgZ4DcJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEsJrNdvy9RtU94A9m15A1jrDWAv9STMS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZFA9wawcvKrHAB7aMv5r2bz+DTqokmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLyHQHQArE+8OgDWr8gawx5eow5wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMBLYHQBbbQ+AfVve/9WWA2DeADYy0iRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCLCAzfAFaOgG0eHQB7kSdhUgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIwEhgfAyk1vABsJaRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCFBEYHwFblANjjC5ViWgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoBQ4HwL7/0DYrbwCrcXwmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDASwp0B8Daplm9+1AOgJUTYN4A9pKPw9wECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBA4CBzeANYdAPMGsAONTwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHhZgd0BsFXeAOYA2Ms+DrMTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgINAdAGub7QGwb0tom83m6XDXJwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4MYHdG8C6A2AP5QCYN4C92JMwMQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEYCDoCNQDQJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwLwLr9dumadtm9e6DN4Ddy0NRBwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBLYC3QGwxgEwu4EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ3J7B++6ZpVuU/3gB2d89GQQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvHKB3QGw1f4AWNs0m8enV05i+QQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIELgPgfX6bSmk9Qaw+3gcqiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBBYL1+0zVW7z58W97/1TabjTeAHXh8IkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwMsJrN+WA2Cr8p93Hx7acv6r2Tw6APZyj8PMBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQOAis129Lo90eAPMGsAOLTwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHh5geEbwEo9m403gL38Y1EBAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmma9ftMxeAOY3UCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIE7E1iv35aK2qYcAHtot7V5A9idPSHlECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwagWqN4BtD4CtygGwx1eLYeEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4JwFvALunp6EWAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVALeAFZh+EiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF7EvAGsHt6GmohQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJeAAWIXhIwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBO5JYL1+05Wzevfhod1+2mye7qk+tRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODVCjgA9mofvYUTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIHDvAuv121Ji25Q3gH1b3gDWegPYvT8x9REgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8GoEujeAlZNf5QDYQ1vOfzWbx6dXs3gLJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwD0LdAfASoG7A2DNqrwB7PGe61UbAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEXo3A7gDYansA7Nvy/q+2HADzBrBX8/QtlAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBuxYYvgGsHAHbPDoAdtdPTHEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLwageEBsLJsbwB7Nc/eQgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuHOB0QGwVTkA9njnJSuPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECr0PgcADs+w9ts/IGsNfx2K2SAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHPQaA7ANY2zerdh3IArJwA8wawz+GxqZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdcgcHgDWHcAzBvAXsNDt0YCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBD4Pgd0BsFXeAOYA2Ofx2FRJgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMBrEOgOgLXN9gDYtyW0zWbz9BrWbY0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4e4HdG8C6A2AP5QCYN4Dd/RNTIAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECr0bAAbBX86gtlAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBz01gvX7bNG3brN598Aawz+3hqZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgS9boDsA1jgA9mU/ZasjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCzFFi/fdM0q/IfbwD7LJ+fogkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+IIFdgfAVvsDYG3TbB6fvuDlWhoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ+H4H1+m0ptvUGsM/nkamUAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHXIrBev+mWunr34dvy/q+22Wy8Aey1PHzrJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDgvgXWb8sBsFX5z7sPD205/9VsHh0Au+9HpjoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBF6LwHr9tiy13R4A8waw1/LQrZMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgc9DYPgGsFLzZuMNYJ/Ho1MlAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJfusB6/aZbojeAfelP2voIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPjsBNbrt6XmtikHwB7abfXeAPbZPUMFEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwhQpUbwDbHgBblQNgj1/oUi2LAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECn5eAN4B9Xs9LtQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIvCIBbwB7RQ/bUgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+LwEvAHs83peqiVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBA4BUJOAD2ih62pRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8HkJrNdvuoJX7z48tNtPm83T57UC1RIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOALFXAA7At9sJZFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDnL7Bevy2LaJvyBrBvyxvAWm8A+/yfqRUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIPCFCHRvACsnv8oBsIe2nP9qNo9PX8jSLIMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKft0B3AKwsYXcArFmVN4A9ft4rUj0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI/Hf27gO8qXr/4/g3Zf1FtkjZe9PFElkV0IKIgIADBQcyRRQURFFUVEQERVBUQERAlmwEZO8tqwVk0yIbZAoXLqPt/5xwU9I2OTnnNEmT9J3n3ifJ7/zOb7xO2ua593z4IoAAAggggAACCCCAAAIIIIAAAgEicDcAZlEDYI2V+l+JSgCMCmABcm3ZBgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAII+LlA8gpgSgQsOoYAmJ9fU5aPAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIBIpA8AKZsigpgAXJl2QYCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCPi9QIoAmEUJgMX4/abYAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAIAvcCYA2iEsVCBbBAuKjsAQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEAkPAGgBLFLFENlQCYEoCjApggXFh2QUCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCPi/wL0KYNYAGBXA/P+SsgMEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEAgUgbsBMIutAhgBsEC5sOwDAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQT8X8AaAEsUNQDWWHlKlOjoXf6/K3aAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIBIDA3Qpg1gBYlBIAowJYAFxTtoAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgEiQAAsQC4k20AAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgcATiIgIF0lMFEtkQyqABd7lZUcIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIODPAtYAmBAA8+dryNoRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCBABSLCw0Qsyn+oABagV5htIYAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIICA3wrcDYBZ/hcASxSJjtnlt5th4QgggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEAgCUREhCvbSaQCWCBdVPaCAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAKBIRAREWbdiCWyYWOl/leiREdTASwwLi27QAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABfxeICFcCYBblP5ENoxKV/JdExxAA8/eLyvoRQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCAwBCIiwpWNJKoBMCqABcYlZRcIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIBAoAskrgCm7io6mAligXFz2gQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAAC/i0QERFm3QAVwPz7OrJ6BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBAIQIGIiHBlV4miBMCiEtX9UQEsAK8yW0IAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAb8UsKsApgbALEoALMYvN8KiEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgUAToAJYoF1R9oMAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgEjQAWwgLmUbAQBBBBAAAEEEEAAAQQQQDO2Gh8AAEAASURBVAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAJNgApggXZF2Q8CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCASMAAGwgLmUbAQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBAJNICIizLolS2TDqET1VXT0rkDbI/tBAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE/FKAAJhfXjYWjQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACGUEgIiJc2WaiKBXAGisVwBKpAJYRrjp7RAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABvxCwVgBTkl9KACwqUcl/SXTMLr9YOItEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEAl3AGgBTNnk3ACYWpQJYTKDvmf0hgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACfiFwNwBmUQNgjZX6X4lKAIwKYH5x5VgkAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggEvEDyCmBKBCw6hgBYwF91NogAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAn4hkDwApiyZCmB+cd1YJAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIZACBFAEwixIAi8kA22aLCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAgO8L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XxonnfzHhk43uq05AbBPP/0sZp11luiaVFJqje2LL76MgRv9X4wY+UlrdBdrrbl63HXHrc0OTA197fWsElndwTR33VsaAEvHkf59eWcSvOrWrVvdYbXacfquH5NU37vq6mlX+JprrjnjwX/dHUsvvVSrPDv9fX/gQYfHLbf9M5oa2m1uACwd+LZbbxUXXnB2k/+cmtakp1aVc2a+O13mmD3uvvO26N17pWkNvUXn0j/bdt5tj1p/Tjanw/b6b5XmWLmHAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIwSqK7unXWdBMAGJd8pkRMAm1HS+iVAgAABAgQIECBAgAABAiUosOQSi8dZf/tLrL3Wmq36jdjFFGlY4uGHH40DDzmsRdUpivtsaP8XCy8U555zZvRbd51Wn8uIESPjoosvi8uuuKqhR0+zrb1+U/UHw95sVuWT9QYMitffeHOaps09+drgl2KBBXo0+fbPPx8VK/TuU+++thgA23+/38bJJx5Xb6zTa3gjMU++fji9y5p1fovNN4vLL2texb+6oY7mhjl22Gm36DLHHNmfEbPPPnuz5pHe9PHHI2LHnXdvlUo0zQmApX8Wrbn2enHTjdfEOn37NnseaSXGiy65rMUhtoYGMHDD9eP6a//erBDY6NGjY6ll64dlmrvurREAy89xj913ieOOOybmmnPOfFOLP9O/H596+pkkhHVYk0J4hx1yYBx15GHNMs4P+vEnnoz099c3o8dkTZ07doxPRn6QPz3dz5YEwNLO0/fksqQiaWtVyLrp5lvjgAMPrTfutvDurLvOWnHO2WfGoj171htfcxvSColptbzWqorVXv+t0lx/9xEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYEQLVVUkArCL5L6sAlkTAagarADYjoPVJgAABAgQIECBAgAABAgRKWSANT+25x29io0EbxJJLLhEdOnRo0XTSqiJvvvlW3H7HXXHd9TcWvsG8RZ028uZ0Lmf8+Y+x1tprtugby3/44Yd44omn4tQ//jnefufdRj69/mXN+abq1G7d/gPrdzaNlosuOCe23WaraVzR8Kl119uw1b6BPP+EWWbpHCM+fK/JQbzx48fHQossme+m1T+vTEJImydhpKZuaXWeHgstVu+2iy88N7bZest67dNrWCiptDU++T0yI7a/X3Fp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AQJlISAAJgBWFi+ySRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgToC1dVVSUsukgpgg5IKYDkVwOoAOSRAgAABAgQIECBAgAABAgQIECBAoDQEBMAEwErjTTVKAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQNIGsAliS/EoCYANzSf4ragYPaVoPriZAgAABAgQIECBAgAABAgQIECBAgEAbEBAAEwBrA6+hIRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVYXyAJgSa9TAmBRkVQAG9zqD9EhAQIECBAgQIAAAQIECBAgQIAAAQIEZrSAAJgA2Ix+x/RPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmhsCUAFhFGgAblNT/yiUBMBXAZsZCeCYBAgQIECBAgAABAgQIECBAgAABAi0TEAATAGvZG+RuAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQNgVqVwBLImA1gwXA2uZSGRUBAgQIECBAgAABAgQIECBAgAABAtMSaG4A7PobboqDDjliWl3/7OcefuCeWHnl6iY9d/LkydF9wUWbdI+LCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbYvUDsAloxXBbC2v2hGSIAAAQIECBAgQIAAAQIECBAgQIBAfYHOHTvGBhuuX//EdFqef/6F+Gb0mOlc9fOeXmH5XtGz5yJNeuioUaPi5VdqmnSPiwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG2L1AnAFaRBMAGt/1RGyEBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTagcD/AmD9B+aiQgWwdrDmpkiAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIkIZAGwXERFvwFJACxJgKkAViIrZ5gECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS9wP8qgGUBMBXAyn7FTZAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIRmBIAq8hXABMAK5mVM1ACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpeIAuA5SINgA1KPnJRUzOk7CdtggQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECgFgSkVwLIA2MAkAKYCWCksmjESIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINA+BATA2sc6myUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUoUF1dFZHLRUW/ASqAleD6GTIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUskAXAQgCsjJfY1AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKFWB6qreERXJfyqAleoSGjcBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuUqMCUAVvHfAFguombwkHKdq3kRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgpASqq6uS8eZUACupVTNYAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTahUB1de9snhX9BgxK6n/loqZGBbB2sfImSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAmxeorkoCYBXJf/0GDMwl+a+oGSwA1uZXzQAJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgXAtXVVck8c2kATAWwdrHiJkmAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMkI1K4Algy7pkYFsJJZPQMlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCsBaqre2fzUwGsrJfZ5AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKEWB6uqqZNi5SAJgA3PpBFQAK8VlNGYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBMpRoKgCWBoAq0gCYIPLcZ7mRIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZITUAGs5JbMgAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaC8CKoC1l5U2TwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIESk5ABbCSWzIDJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgvQgIgLWXlTZPAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKTqC6unc25op+Awbm0r2amiElNwkDJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQDkKCICV46qaEwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECZSFQXV2VzCMXSQWwQUkFsJwKYGWxrCZBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEA5CGQVwJLkVxIAG5hL8l9RM3hIOczLHAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFDyAlkALJnFlABYVCQVwAaX/KRMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAuUgMCUAVpEGwAYl9b9ySQBMBbByWFhzIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECg9AVqVwBLImA1gwXASn9ZzYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgXIQqB0AS2akAlg5LKs5ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQDgJ1AmAVSQBscDnMyxwIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ8gL/C4D1H5iLChXASn5FTYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbIRyAJguYiKfgOSAFiSAFMBrGzW1kQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEChxgf9VAMsCYCqAlfh6Gj4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmUkMCUAVpGvACYAVkZrayoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJS4QBYAy0UaABuUfOSipmZIiU/J8AkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFAeAlMqgGUBsIFJAEwFsPJYVrMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAcBATAymEVzYEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbIUqK6uisjloqLfABXAynKFTYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIVyAJgIQBWsgto4AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlK9AdVXviIrkPxXAyneRzYwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdIUmBIAq/hvACwXUTN4SGnOxKgJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQZgLV1VXJjHIqgJXZupoOAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJlIFBd3TubRUW/AYOS+l+5qKlRAawM1tUUCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoA4HqqiQAVpH812/AwFyS/4qawQJgZbCupkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBkIVFdXJbPIpQEwFcDKYD1NgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBMhKoXQEsmVhNjQpgZbS+pkKAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQAkLVFf3zkavAlgJL6KhEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQngLV1VXJxHKRBMAG5tIpqgBWngttVgQIECBAgAABAgQIECBAgACB9iaw6847xP77/y7ee/e92Pu3+8e4H35obwTmS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAYCRRXA0gBYRRIAG1wG0zIFAgQIECBAgAABAgQIECBAIBW49OLzY801V28UxhFHHhsPPfxoo651EYG2LtC5Y8cY8fGwqKyszIZ6xl/PijPOPLutD9v4CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNQTUAGsHokGAgQIECBAgAABAgQIECBQPgIvPPdkLLnE4o2a0FHHHBdXXnVNo66d3kWL9vxFPPTAvdllO+y0W7zyqh84Mz0z55smsOceu8WRhx8SP/74Y1Stsma9mysrK2LkR8OiU6dO2bk/HHdSXHr5lfWu00CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgrQuoANbWV8j4CBAgQIAAAQIECBAgQIBACwSKA2BDh742zZ72O+DgePOtt6d5TWNPrj9gvbjlpuuyy7fdfuf492NPNPZW1xFolMD55/4tdth+28jlcjH/Aj0bvKf/euvEfr/bN9566604+dTTY9KkyQ1ep5EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWxZQAawtr46xESBAgAABAgQIECBAgACBFgoUB8C6L9gzJk/OtbDHxt2+807bxzln/TW7WACscWauaprATTf8IzbcYMA0A2BN69HVBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNqmgABY21wXoyJAgAABAgQIECBAgAABAq0i0NoBsFlnmSU22XhQjBkzJp557vn46afxDY7ziMMOjqOOPCw719gA2IIL9Ij+/fvFO++8Gy+/UtNgv1NrXKBHjxgwoF88++xz8eFHI6Z2Wau0z9u1a/asb77+Jp5++tkYP3Fiq/Tb2E6qq1aKxRdbLB5/4sn4ZvSYxt4Wa6y+Wizas2c88eQT8fmoLxt9X0svrKysiH7r9o155503Hn/8qfj6m2+m2+USyfz6rLpKjB49Op566pn48aef6t3z4L/ujj59Vm61AFhrrOt8880bAzfcIN568+0YPHTozxa4rIejgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoKwEqqt7Z/Op6DdgYPYjwGtqhpTVBE2GAAECBAgQIECAAAECBAi0Z4HmBsB6LbdsPPn4wxndr369dcwyS+e44LxzokeP7lFRUVEgveYf18VhRxxTOD7zjD/FTjtuFx07dixcl8v9r+rYd99/H4sv2atwfbqz5x67xSknHZ88Y5ZCe3rP0888G9ttt3O9gNVHH7wds802W1x+xVVx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89uggRvE9UmlvLSiXt2qb/lrfBIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoFsgCYEnDlABYVCQ/PXpw8Xn7BAgQIECAAAECBAgQIECAQAkLNCYAlk5vvh6L1JplcQDsiSefiq222bHW+fTguacfi6WXnhLMWnrZFeOb0WMK10wvAFYcArrs8ivj2ONOKtyb3zn04N/HscccmR32XGyZGPfDD9l+cQBsi622jaeefi5/yzQ/09DZR8PfyUJGaXBs6eX+VwErvfGTj4dlgbRRo76I5VdaJeureJzDhr0fa6y9Xr1nzJtUunrrjZqs37phutYKgE1MqmQttsRy8WMShmvMdsWlF8avf/2r7NK777439tj7d/Vu22nH7eLcs8/M2lszAJYP7qXBqF8sulSt0FZ+EB998HbMPvvsWdW2rbfdKWvOt6WBta222X6669qS4CdubwAAQABJREFUAFhL17U4AJZWH7vyqmvyUyt8fjbygywg+e1338XiS/YqtKc76TuzaM9F4lU/iKmWiwMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGGBaYEwCrSANigpP5XLgmAqQDWMJVWAgQIECBAgAABAgQIECBQegLFAbDzzr8ocrnJ9SaRVlU6/c9/rdVeHAD792NPRFrFq+521x23RN+118qa+667frz9zruFS6YXAPvL6afGnnvunl3/p+TZHwwfnu0X/5L2vduuU5672eZbxXPP/yc7nQ+AjRkzJpZcZsXiW6a7f+ftN8U6fftm1w3a+JfxyqtTfhDO+v37xS03X5+1X3bFVXHsH07M9ovHWbcKWvHDisNwK1WtGp9+9nl2urUCYE8+9XRsufUOxY+c5n5x5au6a5O/cUYFwD7/ZHhSsatDfPXVV3HMH07IP67W5zln/TULgL3/wfBYfc11s3NXXX5x/OpXvyxcl1bHOuvsc+Oee+8vtBXvtCQA1tJ1LQ6AHXb4UXHNtTcUDy3b/2DYmzFnly4xfvz4WGiRJeud10CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgsQK1K4AlEbAaP3m4sXauI0CAAAECBAgQIECAAAECbV6gOADWfcGeMXly8v/8N2JrTADs9ttujH7rrpP1VjdkNL0A2L/uvSNWX23VRoxk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IECAAAECBAgQIECAAAECBEpOoLq6KhlzTgWwkls5AyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoOwFqqt7Z3Os6DdgUFL/Kxc1NSqAlf2qmyABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUhUF2VBMAqkv/6DRiYS/JfUTNYAKwkVs4gCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoe4Hq6qpkjrk0AKYCWNmvtgkSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBSArUrgCVDr6lRAaykVtBgCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoW4Hq6t7Z3FQAK9slNjECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEpVoLq6Khl6LpIA2MBcOgkVwEp1KY2bAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFyEyiqAJYGwCqSANjgcpuj+RAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAkBVQAK8llM2gCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNqDgApg7WGVzZEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIUUAGsJJfNoAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaA8CAmDtYZXNkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBkhSoru6djbui34CBuXSvpmZISU7EoAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBuAgJg5bai5kOAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQNkIVFdXJXPJRVIBbFBSASynAljZLK2JECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ6gJZBbAk+ZUEwAbmkvxX1AweUupzMn4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUhUAWAEtmMiUAFhVJBbDBZTExkyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECpC0wJgFWkAbBBSf2vXBIAUwGs1BfV+AkQIECAAAECBAgQIECAQGMFKisqYtZZZo2OnTtHpw4do0Pyv8rKisbe7joCBAgQIECAAAECBAgQIECAAAECBAgQaIbA5Mm5mDRpYkxI/jdx/Pj48acfY3Iu+fYtGwECBAgQIECAAAECBAgQIECgAYHaFcCSryHUDBYAa8BJEwECBAgQIECAAAECBAgQKCuBTh07xmyzzxGzzzpbWc3LZAgQIECAAAECBAgQIECAAAECBAgQIFCqAuN+/CF+GPd9TJg4sVSnYNwECBAgQIAAAQIECBAgQIDADBKoHQBLHqIC2AyS1i0BAgQIECBAgAABAgQIEGgjAnPNMWfMPscchdFMnDAh+cmyk6OiskNSAawyKisqC+fsECBAgAABAgQIECBAgAABAgQIECBAgEDrC6Rfk500aXLkJk/KvibbsVOnwkPGff99jP3+28KxHQIECBAgQIAAAQIECBAgQIBAnQBYRRIAG0yFAAECBAgQIECAAAECBAgQKEOBtOrXXHPOHZ3++40E4yeMjw5Z6KtDGc7WlAgQIECAAAECBAgQIECAAAECBAgQIFA6ApMmTYpJSRisc6fO2aAnJD+4a+y3Y1QDK50lNFICBAgQIECAAAECBAgQIDBDBf4XAOs/MBcVKoDNUG2dEyBAgAABAgQIECBAgACBmSTQOQl9zTP3vFFZWRETJ06MXDKONBBmI0CAAAECBAgQIECAAAECBAgQIECAAIG2IzAh+fpt8i1c0TH5+u3kybkYPebrGJ+EwWwECBAgQIAAAQIECBAgQIBA+xbIAmDJN31V9BuQBMCSLx+oANa+XwizJ0CAAAECBAgQIECAAIHyE0iDXl3n6ZaFv9KqX/mfIFt+MzUjAgQIECBAgAABAgQIECBAgAABAgQIlIdA/mu5aQjsm9FfqQRWHstqFgQIECBAgAABAgQIECBAoNkC/6sAlgXAVABrtqQbCRAgQIAAAQIECBAgQIBAGxXo1rVbdEoqgOW/YaCNDtOwCBAgQIAAAQIECBAgQIAAAQIECBAgQKBIIP813QlJBbCvvvmq6IxdAgQIECBAgAABAgQIECBAoL0JTAmAVeQrgAmAtbcXwHwJECBAgAABAgQIECBAoLwF5ppjzph9jjli4sSJ0TGpBGYjQIAAAQIECBAgQIAAAQIECBAgQIAAgdIRyH9td9z338fY778tnYEbKQECBAgQIECAAAECBAgQINCqAlkALBdpAGxQ8pGLmpohrfoAnREgQIAAAQIECBAgQIAAAQIzR6BTEvjqNu982cMnJAGw9NhGgAABAgQIECBAgAABAgQIECBAgAABAqUjUPy13a++/jLSYxsBAgQIECBAgAABAgQIECDQ/gSmVADLAmADkwCYCmDt7xUwYwIECBAgQIAAAQIECBAoV4G55po7Zp91thg/YXx07tS5XKdpXgQIECBAgAABAgQIECBAgAABAgQIEChrgfzXeMf9+EOMHTumrOdqcgQIECBAgAABAgQIECBAgEDDAgJgDbtoJUCAAAECBAgQIECAAAECJS1QWVER3efvkc1h0qRJ0aFDh5Kej8ETIECAAAECBAgQIECAAAECBAgQIECgvQoUf4131Befx+Rc9nO+2yuHeRMgQIAAAQIECBAgQIAAgXYpUF1dFZF8TaCi3wAVwNrlG2DSBAgQIECAAAECBAgQIFCWAmnlr7QC2MQJE6Jjp05lOUeTIkCAAAECBAgQIECAAAECBAgQIECAQHsRyH+tN60AllYCsxEgQIAAAQIECBAgQIAAAQLtSyALgIUAWPtadbMlQIAAAQIECBAgQIAAgbIXSMNfaQhs/PifonPnWcp+viZIgAABAgQIECBAgAABAgQIECBAgACBchbIf603DX+lITAbAQIECBAgQIAAAQIECBAg0L4Eqqt6R1Qk/6kA1r4W3mwJECBAgAABAgQIECBAoLwFunXtFp2Syl8TJk6MTh07lvdkzY4AAQIECBAgQIAAAQIECBAgQIAAAQJlLpD/Wu+ECRPiq2++KvPZmh4BAgQIECBAgAABAgQIECBQV2BKAKzivwGwXETN4CF1r3FMgAABAgQIECBAgAABAgQIlJhA9/l6RGVlRUzOTY7KisoSG73hEiBAgAABAgQIECBAgAABAgQIECBAgECxQP5rvZMn52LUl58Xn7JPgAABAgQIECBAgAABAgQItAOB6uqqZJY5FcDawVqbIgECBAgQIECAAAECBAi0I4EFui/QjmZrqgQIECBAgAABAgQIECBAgAABAgQIEGg/Ap+N+qz9TNZMCRAgQIAAAQIECBAgQIAAgUygurp39lnRb8CgpP5XLmpqVADzbhAgQIAAAQIECBAgQIAAgVIXEAAr9RU0fgIECBAgQIAAAQIECBAgQIAAAQIECDQsIADWsItWAgQIECBAgAABAgQIECBQzgLVVUkArCL5r9+Agbkk/xU1gwXAynnBzY0AAQIECBAgQIAAAQIE2oeAAFj7WGezJECAAAECBAgQIECAAAECBAgQIECg/QkIgLW/NTdjAgQIECBAgAABAgQIECBQXV2VIOTSAJgKYF4HAgQIECBAgAABAgQIECBQLgICYOWykuZBgAABAgQIECBAgAABAgQIECBAgACB2gICYLU9HBEgQIAAAQIECBAgQIAAgfYgULsCWDLjmhoVwNrDwpsjAQIECBAgQIAAAQIECJS3gABYea+v2REgQIAAAQIECBAgQIAAAQIECBAg0H4FBMDa79qbOQECBAgQIECAAAECBAi0X4Hq6t7Z5FUAa7/vgJkTIECAAAECBAgQIECAQBkKCICV4aKaEgECBAgQIECAAAECBAgQIECAAAECBBIBATCvAQECBAgQIECAAAECBAgQaH8C1dVVyaRzkQTABubS6asA1v5eAjMmQIAAAQIECBAgQIAAgfITEAArvzU1IwIECBAgQIAAAQIECBAgQIAAAQIECKQCAmDeAwIECBAgQIAAAQIECBAg0P4EiiqApQGwiiQANrj9KZgxAQIECBAgQIAAAQIECBAoMwEBsDJbUNMhQIAAAQIECBAgQIAAAQIECBAgQIDAfwUEwLwKBAgQIECAAAECBAgQIECg/QmoANb+1tyMCRAgQIAAAQIECBAgQKAdCAiAtYNFNkUCBAgQIECAAAECBAgQIECAAAECBNqlgABYu1x2kyZAgAABAgQIECBAgACBdi6gAlg7fwFMnwABAgQIECBAgAABAgTKU0AArDzX1awIECBAgAABAgQIECBAgAABAgQIECAgAOYdIECAAAECBAgQIECAAAEC7U9ABbD2t+ZmTIAAAQIECBAgQIAAAQLtQEAArB0ssikSIECAAAECBAgQIECAAAECBAgQINAuBQTA2uWymzQBAgQIECBAgAABAgQItHMBAbB2/gKYPgECBAgQIECAAAECBAiUp4AAWHmuq1kRIECAAAECBAgQIECAAAECBAgQIEBAAMw7QIAAAQIECBAgQIAAAQIE2p9AdXXvbNIV/QYMzKV7NTVD2p+CGRMgQIAAAQIECBAgQIAAgTITKMUAWNeu88SSSy6RrcSY0WPi3feGldmqmE5jBHr2XCS6d58/u/Tjj0fE55+PasxtriFAgAABAgQIECBAgAABAgQIECDQbgQEwNrNUpsoAQIECBAgQIAAAQIECBAoCAiAFSjsECBAgAABAgQIECBAgACB8hEoxQDY3nv/Jg46cL9sET799LMYOGizNrcgs846a+zxm11iiSUWj6v+fm288cabbW6MpT6g66+7KqqqVsqmce+998fRx5xQ6lNqE+Pv0mWOSL8Q+M4778WoUV+0iTEZBAECBAgQIECAAAECBAgQIECAQPMEBMCa5+YuAgQIECBAgAABAgQIECBQygLV1VXJ8HORVAAblFQAy6kAVsqraewECBAgQIAAAQIECBAgQOC/Aq0VAFtjjdVi3XXXznr96KMRccst/5yq8e677xzzzdctO3/JJVfEd9993+C1q6xSHeuvv1527uGH/x2DBw/N9kshAHbJxefFOuuslY138uTJsfoa68WPP/7Y4Dxbo3GZZZaOX/1q0wa7Gv/T+Bgx8pMYPvzDeOutd2LcuHENXldqjQJgrbdi888/X5x++smxwvLLxVxzzVXoOH13H3nksTjm2BPip+Q9shEgQIAAAQIECBAgQIAAAQIECJSWgABYaa2X0RIgQIAAAQIECBAgQIAAgdYQyCqAJcmvJAA2MJfkv6Jm8JDW6FcfBAgQIECAAAECBAgQIECAwEwUaK0A2IG//13ss88e2UzGjx8fq/Tp2+Cs0spYL734VOHcKaf+eaphsauuvDhWX33V7No0AHbIoUdl+6UQAHvwwbtj4YUWLMzzwAMPj38/9kThuLV39tpz9zj44P2n220ul4vXXnsj/nbWefHSS69M9/qZcUGvXsvGKqusnD36vvvuj9GjxzQ4DAGwBlma3LjWmqvHRRedE506dZrqveka9FtvUKSBMBsBAgQIECBAgAABAgQIECBAgEDpCAiAlc5aGSkBAgQIECBAgAABAgQIEGgtgSwAlnQ2JQAWFUkFsMGt1bd+CBAgQIAAAQIECBAgQIAAgZkk0FoBsJVWWiFuvOHqwizWWXfDBoM7m2/+y/jjaScWrnvu+f/E3ns3HFx6/LEHCpXCioNipRAAO+ig/WPvvXbP5jl27NhYZ92BMzQ809gAWB4+DYIddNARMzSUln9WUz/PPfevscH6/bPb9txrv3jhhRcb7EIArEGWJjUuv3yvuPmma6KioiK7L63y9dZbb8dnn30eq622Ssw777yF/u65519JJbD//d4tnLBDgAABAgQIECBAgAABAgQIECDQZgUEwNrs0hgYAQIECBAgQIAAAQIECBCYYQJTAmAVaQBsUFL/K5cEwFQAm2HaOiZAgAABAgQIECBAgAABAj+TQGsFwNLhDhn8QlRWVmYjP/qYE+Lee++vN4sLLzgr1ltv3UL7t99+G2utvX7huHinuL8B628SX3zxZXa6FAJg6UDTCmA9FugRr7xSUzytGbJfHAAbM2Zs7LX3ftlz0vVYcMEFYpFFfhGbbrJRLLfcMoWwT1rNafU11osff/xxhoypuZ1ec81l0ee/FcAEwJqr2Pj78r8n06Dd3vscUCuo+OADd8XCCy+UdZa+V33X2aDxHbuSAAECBAgQIECAAAECBAgQIEBgpgsIgM30JTAAAgQIECBAgAABAgQIECDwswvUrgCWRMBqBguA/eyr4IEECBAgQIAAAQIECBAgQKCVBVozAPbYv++P+eefLxvhHXfeE8cff0q90T791CMxzzxz12pvqFrY0kstGXfccVN23fjx42OVPn0L95RKAKww4J9hpzgA9uWXX0X/ARs3+NSNNx4YZ/719MK5o446Pu771wOF47awk657uv7pJgD286zICiv0itdff7Pew3baafs45ujDsva0atxKvVevd40GAgQIECBAgAABAgQIECBAgACBtisgANZ218bICBAgQIAAAQIECBAgQIDAjBKoHQBLnqIC2Iyi1i8BAgQIECBAgAABAgQIEPj5BFozAHbxxefGuuusnQ3+3Xffiy223KHWRLp0mSOef+7xrG3ChAnRqVOnbP8vZ5wV1157Y61r99xjtzjkkAOytuHDP4xfbrZ14XxxAOyTTz6NQRv9qnAurbq1/gb944MPhseLL74cP/00vnBuejvp+PquvVbM261rPPnkMzFy5CfTu6VVzqcVulZeuSrmnbdrvPD8i/Hue8Oa3G9jA2Bpxw89eHcslDilWxr+SkNg09o6d+6crWuPHt3j2Wefj+EffjSty+uda+r9jzx8byyQVE5Lt8YGwO666974w3EnF57du/eKUVW1Uvb1qzTYlFY7a+w2s96D/Pi6dp0n+vfvl435ySefjm++GZ0/1aTPlvxeyD+oW7d544nHH8wOBcDyKj4JECBAgAABAgQIECBAgAABAqUjIABWOmtlpAQIECBAgAABAgQIECBAoLUE6gTAKpJvoBncWn3rhwABAgQIECBAgAABAgQIEJhJAq0ZANtllx3iqCMPzWbyww8/xGqr96s1q2223iJOPPHYrO3OJLDz681/me2nQa3f7LFvrWsvuvDs6Ndvnaztnnv+Fccce2LhfHEA7MMPP47NfrV1VtVq3XXXjtlmm61wXbrz4IOPxGGHH1Orre7BlltuHkcfdWjMPvvstU5NnDgxnnzqmTj00KMj3W/KtuuuO8YRhx+c3ZKG0X61+bb1bt88mf8xRx8eaeCoeEvDSm+99XYSgDsqRiYBt8ZsTQmA3XrLddGr17JZt7fcenuccsqfGnxEGqI679wzY775utU6P2nSpLj//ofi6GNOqNVe96Ap96+00gpx1ZUXZ6HAjh07FrpKQ0fF28WXXBEXXXRZ1nT9dVdlIa/0IJ3HpZdeGeefd2Yss8zSUdxH6vnnP/8tbrjxluKu6u039T2YZZbO8Z8XnozKysqsr9/td1A8/fRz9frNN9x4w9Wx4orLZ4eXXnZlXHDBpflT2ecOO2wThx7y+3rvcBpiTEOSt9zyz1rXpwfF79mpp/0lbrvtjjj7rL/E2muvUa+fxvxeqPuA4gpgY8aMjb7rbFD3EscECBAgQIAAAQIECBAgQIAAAQJtWEAArA0vjqERIECAAAECBAgQIECAAIEZJPC/AFj/gbmoUAFsBjnrlgABAgQIECBAgAABAgQI/KwCrRkASysOPZhUl8pvq662bvz444/5w7js0vOTYMqa2fH6G2wajz5yX1RUVMT334+LNdZcr3BdulNcBSqtUJVWqspvxQGwUaO+iA4dOkRaqWhq26OPPh4HHXxEvdNpSOiKyy+MVVddpd654oaxY8fGXnsfEG+88WZx8zT3i8f46aefxcBBm9W6frvtto7jjzuqVlvdgzT8tNfe+8cLL7xY91S948YGwNJqXM8+82jMOuusWR/bbb9rpBWy6m4HHbR/7LXnbtn61D2XP06rr6Xhu4aqrDX1/rXWXD0uT9Zietvf/35t/O2s87LLigNgg4cMjRWW71Ur+FW3rzREmIYJ627/z959h9lV1XsD/500QjoJRaWHHiBzCDWUSJCEIhYUUUSsF1EsV+T6CjZEFLAgXtCriCCKioIIIooFQSAhlBBmAgRiIBRpoaYT0s671w7ncGbSJpnJ5Mycz37CnF3WXnutz9rzB/PMd35teQ/+9tc/xuabvynvcsKEO+PEjy+rWtfyGcn9nonjKp7V7un56Xtjn332anlbs+O//T0LM57aPMxY/Z6lUN7ee++5XGCvupOVfS9Utynvp3Gld6UcjGxNtbjyvT4JECBAgAABAgQIECBAgAABAgRqQ0AArDbWwSgIECBAgAABAgQIECBAgEBHCuQBsOxvLhdGjc4CYFkCTAWwjuT3LAIECBAgQIAAAQIECBAgsG4E2jMAlkZ476Tb8ypOaf+zn/2fuOnmW9JuvqUwyYABA/LA0J57HRA333RDbLLJxvm10YccEc8//8JrLbM/PHPvhEqYZ7+RB8fcufMq16pDL5WT2c7LL8+Me7OK5b032CBGjty3ErZJFaD2Gzk65s+fX908vvudb8URR4ytnEsVjsaNvz1mZv2kMM4OO2xfuZaev/8Bh0TqqzVb9RhXFABrarwjD66lvlLALAVz7rxrYozYoyHe+tYjom/fPpHG8+aDD2tV9bHWBMA22mijPPC200475FNYuHBhjNjzgOWmc+iho+MH53+ncv6FF16Mq6++Np586unYd9+9461HHlaxvSqrOHXmmWdX2qadtbk/je1HP/x+/u6Uq5Olvp544j95QDDtp+2SS38Rf/3rP/L96gBYfiL7kkJzT2eBu8lN98U222xdqXSWrj/77Iw4dMyyqnPl9umzLe9B9TqvzDM9o7qSVlrv/Q94vZLWueeeFUe99fDULN/uv39K/OWGv8WSJUvjsLFviREjiuVLcWIWCJxwx11Vxx+J//7syZXj8s6afi+U76v+/MmPL4gDDxyZn0pzG7n/6BWG/arvsU+AAAECBAgQIECAAAECBAgQIFBbAgJgtbUeRkOAAAECBAgQIECAAAECBDpC4PUKYHkATAWwjkD3DAIECBAgQIAAAQIECBAgsK4F2jsA9ufr/xBbb71lPuzfXHFlnH32d/P9QYMGxrjbbsz3p06dFu8+5v3xwwu/HwcffFB+7vzzf5iHe9JBdSWxV155JfbeZ1TepvylOnSTzqVQ1umnn9GsSljLilLfOOvcuPLKq8tdxI477hBX//7XlSDT5Mn3xwdO+FizgNcJJxwX/+8Lp1TarCjsVOmwxU71GFsGwPbIQl6X//Jn+R0psHTw6MPjxRdfqvTQrVu3+Pwpn4lrrr0uHnnk0cr5Ve1UB8AWL15cCUmlKk4bbzwkC9ptEltttUVlLqmv7533v3HZZb9q1m169oTbb84DaOnC+PET4qRPfLZZm+HDd4sUvkrV25YsWRIHHPiWSkCvrfenB1WHCD/2XyevtAJaywBYqiT3vuM+FI8++lhlvGec8aV4zzFHV45T8LC6Yllb34NUSe3uu26tuJ588ufi1tvGV55X3vnD1b/J37l0fM0118VXv3ZWfmm77baNa6/5XeX+9P2Svm+qt898+hNx0kkfy089lVVdO+ywt1cuV79n6eTafC9UOqva+chHTohTP//6uv/3f38h/nnTv6pa2CVAgAABAgQIECBAgAABAgQIEOgMAgJgnWGVjJEAAQIECBAgQIAAAQIECLSvwLIAWKFcAUwArH159UaAAAECBAgQIECAAAECBNaPQHsHwKqrGaVKRimQk7bqCkgpdJTCR+94x1HxrW+ekV9vbJycB7DSwXHHvSe+/KX/l58vh8Xyg9e+VIdeUtjp+A98NB544MHqJvn+Lf/6WwwZMjjf/+UvfxPf+e75lTa/v+rXsfPOO+bHCxYsiH32fXOz8Fe54QUXfC8OGf3m/DCFtfYYsX+rKnJVj7FlAKx63isKuJWfvSaf1QGw1txXHbirbl8dNpozZ04W7jp0hS6XXvLjvEpauvdrZ3wz/vCHP+bdtPX+1MnaBMBS9bi3vf09WRBtbj6O8pc+ffrEnXf8qxKwes+xH4gHH5xavhzt8R5cdeWvKpXGJky4M078+Kcr/aedXr16xT0Tx1XGcNjh74insmpqabvyystj2C475/t3ZRXgPvqxT+b7Lb/cMeFf0a9f3/x0qtqWKnKlrfo9W9vvhbyjqi/bbL1VXHfdVZHCfGn73e9+H2d989tVLewSIECAAAECBAgQIECAAAECBAh0FgEBsM6yUsZJgAABAgQIECBAgAABAgTaTyAPgJUiBcDGZh+lSL+YZSNAgAABAgQIECBAgAABAgQ6t0B7B8COOuqIOPecb+QoKUA0cv9D8v3qwNAx7zk+Hnro35GqJ028+7b8enUQ6rzzzonDxh6an19R+KQ69NIyXJXf9NqX317xi9htt2H5UapelKoYlbdUtWnDDTfMDy+59BeRAlEr2jbZZOO46Z9/qYR3PvShj8c9k+5dUdNm51Y1xgEDBsTt4/9Zad/UdF98+jOfj5dfnlk5t6Y7axoAS/2n0NQHsvBcqipV3lJlslShLG0/u+Sy+MEPflS+1Ozzve89Jr76lS/m56orvbX1/tTh2gTArr/+hjjt9K81G2P54J6J42ODDXrlh1/84lebVYprj/fgbW87Ms45+8y8/xTMSgGt6q06/JjMRx9yROXyXXfeEimklrZ3vPPYlVZ8u/inP4yRI/fN273/+I9EqliXtlW9Z3mD176s6nuhul3ar65W9tjjT8RRR727ZRPHBAgQIECAAAECBAgQIECAAAECnURAAKyTLJRhEiBAgAABAgQIECBAgACBdhRYVgEsD4CNyQJgKoC1o62uCBAgQIAAAQIECBAgQIDAehNo7wBYv3794o4JN1fmM7xh37yC1ITbb4r+/fvn1bOKe4ysXL/1lr/F4MHLqnSlYEwKyPz5+j/E1ltvmbc5+VOnxK23jqu0TzutDb38+Mf/GwcduH9+7+233xEfP+kz+X6PHj2i8d4J+X76cvTR74tpDz9SOW65k8JaKbSVth/96KL48U9+1rLJcserG+Ovf31pNAzfvXJfqi6WgmCp/wl33FU539qd6gDYCy+8GAePPrxya6octdVWW+VhuOPed0zssMP2lWvz5s3PQnqjK1W+qqum3XLLbTFjxnOVttU7m2/+pjjggGXreOedd8fH/uvk/HJb70+dtHcAbNxtN8agQQPz8X3jrHOzqltX5/vt9R6kSlmT7hkfqb+0nXzy5+LW28bn++lLdaCqOmyY7pvcdGelXXlclRNVO/vtt0+2hsu+J84597z49a9/m19d3XtW7mJl3wvl6+XPFHi8+aYbyod5+CuFwGwECBAgQIAAAQIECBAgQIAAAQKdU0AArHOum1ETIECAAAECBAgQIECAAIG2CAiAtUXPvQQIECBAgAABAgQIECBAoEYF2jsAlqZZXdXo+KzC1EMPTY1UhSltjzzyaF7pKD/Ivlx4wXkxevSo/PDb3/l+XH75FXnbcsWmVE0pVVWq3lobevnhhd+Pgw8+KL91/PgJcdInPpvvjxhRjF/+4uJKl+WQWuVEi50/XXdVbLvtNvnZFIr61Kc/n++v6svqxpjCP5df/rNmIbByf7NmzY7vfPf8+OMfry+fWu3nqgJgLW9+65GHx7e/fVbldHUoqanxjujevXvlWmt2pjz4UBx77Al507benzpp7wBYdcjwzDPPjqt+f00+1vZ8D6ordE2YcGec+PFP58/o1atX9j6Pq1SQO/CgQ2PmzFkrfH5+shVfLrrokrjwhz/JW67uPSt3t7LvhfL18ucxx7wzvn7Gl/PDadMejqPfdVz5kk8CBAgQIECAAAECBAgQIECAAIFOKCAA1gkXzZAJECBAgAABAgQIECBAgEAbBYrFhojsj1EXRo1WAayNlm4nQIAAAQIECBAgQIAAAQI1I7AuAmBXXfmr2GWXnfI5pqDK9OmPxvnf/3Z+/Ovf/C7OOed7lfm/7W1Hxjlnn5kfpypdnzvli3mALJ2YM2dOVp3qkErb8k5bQy8js2pKF1/8o3J3sdvue1f2V7RzzTW/jR223y6/VF1JbEVty+daO8ZRow6MU075dKX/8v3pc9y4CfGJTy4LrVWfX9H+mgTA0v0pAJcCUGmbPPn+eP/xH1m2n1WkSuG0tC1ZsqRSGSw/sZIvt946Pv77c1/Ir6aKVm25P3XSUQGw9nwP9tprRFz284tygxRYTMHFtB1//Pvi9NNOzfdTJa2jjnp3vp++tHz+okWLKtdWtXP22d+thNha+561NgD2wQ++P/7fF07JH//Xv/4j/ucLX1rVUFwjQIAAAQIECBAgQIAAAQIECBCocQEBsBpfIMMjQIAAAQIECBAgQIAAAQLrQCAPgIUA2Dqg1SUBAgQIECBAgAABAgQIEFh/AusiAHb66f8Tx7//vfmkbht3e7z44kvxzncclR+noFEKHJW33r17x8S7b8sPX355Znz5K2fG//3o/Py4afJ9WYDmo+Wmlc+2hl5SdbFyRbLUaQrlpHDOyrZxt90YgwYNzC//9KeXxgUX/nhlTSvnWzvG8g1DhgyOz33u0/H2LBBXXYHr/PN/GKlC1+q2NQ2ApVBSCiel7bnnno9D3nJkvj9+3D9j4MAB+f6pp54ef/v7jfl+a7+09f70nI4KgLX3e3DnHbdE3759cqqPn/SZSGHB6jDk9773v3HZL35Voax+90vZX11qKO7XqsBdpYNsp7XvWWsDYAccMDK+9tXT8kf87GeXVYJm1c+0T4AAAQIECBAgQIAAAQIECBAg0HkEBMA6z1oZKQECBAgQIECAAAECBAgQaC+BYsPwiEL2TwWw9iLVDwECBAgQIECAAAECBAgQWP8C6yIAtv/++8VPL7own9zTTz8TqSLSNttsnVeUSiGXltutt/wtBg8enFUeL8Xll18RqQpR2n7+88vjvO9f0LJ5u4ReUugsBXDS9oMf/Ch+dsll+X7LL/369YsJt98UhUL2U5FsKwd7WrZredzaYE7L+wYMGBDX/+mq3CNdmzbt4Tj6Xce1bLbc8ZoGwH7y4wviwANH5v1MmfJgHPveD+b7V155eQzbZed8//rrb4jTTv/acs9a1Ym23p/6rg6AnXjip2LCHXet8JG//tWl0dCwe35tVWMtv1+p4Zlnnt0s1NSe70GqZJcq2qXt5ptvzauipbmkQN/SpUtjr70Pyr8X8gavfUlBxBRES9vJnzolbr113GtXWvfR2vestQGw1j1VKwIECBAgQIAAAQIECBAgQIAAgc4iIADWWVbKOAkQIECAAAECBAgQIECAQPsJLAuAFV4LgJUiGpsmt1/veiJAgAABAgQIECBAgAABAgTWi8C6CIB169YtmhrvyENTixYtyufVs2fPvMpWqrbVcrvwgvNi9OhR+ennn38hNtlk43z/Qx/6eNwz6d6WzdslAPan666KbbfdJu97zpw5MXL/Q/L9ll+qQz3p2p57HRCvvrqwZbPljlsbzFnuxuzEMce8M75+xpfzS/Pnz4999n3zipo1O7cmAbBNN90k/nrDtdGr17Lg0S9/+Zv4zneXVV1L1Z+OPXbZGi1ZsiSvDJYquLV2a+v96TnVoahUbS1VXVvR1h4BsPZ8D7bZequ4/vqr86HOmzc/vvLVM+P87387P64O2VXPJbVP96WtuhJbdZtV7bf2PVvTAFj6Hk6hNRsBAgQIECBAgAABAgQIECBAgEDnFhAA69zrZ/QECBAgQIAAAQIECBAgQGBtBIrFhuy2kgpga4PnHgIECBAgQIAAAQIECBAgUKsC6yIAluZ6263/iI02GtRs2ldeeXV846xzm51LB6lqUgpaVW+pGliqFraiEEp7hF72HLFH/OIXP6088l//ui0+/ZnPV47TzpFHHhbfPvesSvWvf/zjpjjl819s1mZlB6sa43bbbRtX/Oay+NWvfhsp4NRyS9XTUhW1tD311NNx2OHvaNlkuePWBsAOPvigOPtbX49Uaay8pepfKaCUtj59+sS42/5RCYel57/3fR+MmTNnlZtXPg89dHRMnDip2bW23p86v+Vff4shQwbnz7n33qY44YP/VXlm9U57BMDa+z24+aYbKgHG6dMfjaFDt82HfPqXzog//ekv1cPP9/faa0Rc9vOLKuf//vd/xv984UvLvfcpkJW+T/74x+srbdPOqt6z6oatDYCdcMJxccrnPh09evSIa6/9U3ztjG9Wd2OfAAECBAgQIECAAAECBAgQIECgkwkIgHWyBTNcAgQIECBAgAABAgQIECDQDgLF4vC8l8Ko0WOz+l+laGxUAawdXHVBgAABAgQIECBAgAABAgTWq8C6CoBdesmPY5999mo2tw9/5KQ8MNTsZHawwQa98qpP1edfeumlGPXmw6pPVfbbK/Ry0U8uiAMOGFnp99lnZ0QK4Ly6cGE0DN+t2fhT1a/9DxjdqupfqcOVjTEFeW695e8xaNDA/LkvvPBi3HjjzTFu/O0xaODAeOc73xZ77rlHJXR25VV/iG9845zKGFe2Ux0AS1XXxo2bUGnar1/fPJSUKn+lgFb1dtFFl8SFP/xJ9al4zzFHxxlnfKlyLvV33XV/zqrB3xdpf/fdhmXhuMPzgN+tt46Lkz91SqVt2mnr/T+/9Cex99575n2mIODll18R9zY2xcj99om77r4n/vrXf+TX2iMAljpqz/fglFM+HR/76Ify8ZW/LF68OEbsecByoa7y9ZbPT+/+H//453jooX/Hhn16x1577RljxxySh/K++rWz4pprrivfutL3rNLgtZ3WBsDuvOOW6Nt32TuS7A8aNaZZwK9lv44JECBA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AAECBFYgIAC2AhSnCBAgQIAAAQIECBAgQIBAFxfIK4Blya8sADamlOW/orFpchefsukRIECAAAECBAgQIECAAIGuLyAA1vXX2AwJECBAgAABAgQIECBAgAABAgQIEKhPAQGw+lx3syZAgAABAgQIECBAgACB+hbIA2AZwbIAWBSyCmBN9S1i9gQIECBAgAABAgQIECBAoAsICIB1gUU0BQIECBAgQIAAAQIECBAgQIAAAQIECKxAQABsBShOESBAgAABAgQIECBAgACBLi6wLABWSAGwsVn9r1IWAFMBrIuvuekRIECAAAECBAgQIECAQB0ICIDVwSKbIgECBAgQIECAAAECBAgQIECAAAECdSkgAFaXy27SBAgQIECAAAECBAgQIFDnAs0rgGURsMYmAbA6fydMnwABAgQIECBAgAABAgS6gMCmG28W3boVYmlpaXQrdOsCMzIFAgQIECBAgAABAgQIECBAgAABAgQI1K9A+We9S5eW4rkXZtQvhJkTIECAAAECBAgQIECAAIE6FWgeAMsQVACr0zfBtAkQIECAAAECBAgQIECgSwkM2WhI9OzZMxYtXhw9e/ToUnMzGQIECBAgQIAAAQIECBAgQIAAAQIECNSbQPlnvYsWLYoXX36x3qZvvgQIECBAgAABAgQIECBAoO4FWgTAClkArKnuUQAQIECAAAECBAgQIECAAIHOLjBgwMDo03vDWLjw1ejVa4POPh3jJ0CAAAECBAgQIECAAAECBAgQIECAQF0LlH/WO3/BKzF79qy6tjB5AgQIECBAgAABAgQIECBQjwKvB8AOHlOKggpg9fgSmDMBAgQIECBAgAABAgQIdD2BFP5KIbDF2V+D7ZFVArMRIECAAAECBAgQIECAAAECBAgQIECAQOcVKP+sN4W/UgjMRoAAAQIECBAgQIAAAQIECNSXQB4AK0UURo3OAmBZAkwFsPp6AcyWAAECBAgQIECAAAECBLqmQLdCITbdZLN8ckuWLInu3bt3zYmaFQECBAgQIECAAAECBAgQIECAAAECBLq4QPXPeJ97fkYsLWW/5mUjQIAAAQIECBAgQIAAAQIE6krg9QpgeQBMBbC6Wn2TJUCAAAECBAgQIECAAIEuLZAqgKVKYAsXLYxePXt16bmaHAECBAgQIECAAAECBAgQIECAAAECBLqqQPlnvKnyV6oAZiNAgAABAgQIECBAgAABAgTqT2BZAKxQrgAmAFZ/r4AZEyBAgAABAgQIECBAgEBXFejZo0cMGbxxPr1FixdHOrYRIECAAAECBAgQIECAAAECBAgQIECAQOcRqP7Z7osvvRDp2EaAAAECBAgQIECAAAECBAjUn0AeAMuKghdGjR6bfZSisXFy/SmYMQECBAgQIECAAAECBAgQ6KICA/r2jz59+8bi7JcCegiAddFVNi0CBAgQIECAAAECBAgQIECAAAECBLqqQPlnu/PnzYvZ8+Z01WmaFwECBAgQIECAAAECBAgQILAagWUVwPIA2JgsAKYC2Gq8XCZAgAABAgQIECBAgAABAp1OYMhGQ6Jnz56xcNHC6NWzV6cbvwETIECAAAECBAgQIECAAAECBAgQIECgHgXKP9NdtGhRvPjyi/VIYM4ECBAgQIAAAQIECBAgQIDAawICYF4FAgQIECBAgAABAgQIECDQxQV6ZpW/Nho0JLp1KwiBdfG1Nj0CBAgQIECAAAECBAgQIECAAAECBLqGQDn8tXRpKV6e+WIsWry4a0zMLAgQIECAAAECBAgQIECAAIG1EigWGyJKpSiMGq0C2FoJuokAAQIECBAgQIAAAQIECHQCgV5ZBbBBAwfnIbDF2S8KpDLgKRhmI0CAAAECBAgQIECAAAECBAgQIECAAIHaEUhBr0I2nB7Zz29T+GvmrJeyP+y1qHYGaCQECBAgQIAAAQIECBAgQIDAehHIA2DZb30JgK0Xfg8lQIAAAQIECBAgQIAAAQIdJ5ACXwP6D4yeWRgsbekvyHbv1j26d+/ecYPwJAIECBAgQIAAAQIECBAgQIAAAQIECBBYTmDJkiWxZOmS6NWzV35tURb6mj1nlspfy0k5QYAAAQIECBAgQIAAAQIE6lOg2DA80l+NEQCrz/U3awIECBAgQIAAAQIECBCoQ4EBfftHn759KzNfnP0iwdLS0ijkYbBu0a3QrXLNDgECBAgQIECAAAECBAgQIECAAAECBAi0v0D6meySJUujlIW+0s9ke7z2h7vSk+bPmxez581p/4fqkQABAgQIECBAgAABAgQIEOi0AssCYIXXAmCliMamyZ12MgZOgAABAgQIECBAgAABAgQItE4gVQPbsE/f6NN7w9bdoBUBAgQIECBAgAABAgQIECBAgAABAgQIrFOB+QteiVfmz1P1a50q65wAAQIECBAgQIAAAQIECHROgWKxIRt4SQWwzrl8Rk2AAAECBAgQIECAAAECBNom0K1QiN4b9I4evXpFz+49onv2X7duWa1wGwECBAgQIECAAAECBAgQIECAAAECBAisM4GlS0tZBbDFsSj7b/HChbHg1QWxtJT99W4bAQIECBAgQIAAAQIECBAgQGAFAsXi8PxsYdTosdlPEErR2KgC2AqcnCJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECHCxQbsgBY9ne9swDYmFKW/4rGJgGwDl8FDyRAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAKBIrFhuxsKQXAVABbgY9TBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWG8CzSuAZcNobFQBbL2thgcTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgSqBYHJ4fqQBWhWKXAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECtSBQLDZkwyhFFgAbU0oDUgGsFpbFGAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIBBRVQEsBcAKWQCsiQsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1ICACmA1sAiGQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgRUJqAC2IhXnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAMCKoDVwCIYAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFYkIAC2IhXnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUAMCxeLwfBSFUaPHlNJeY+PkGhiWIRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAAJh3gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAjUqUCw2ZCMrRVYBbGxWAaykAliNLpRhESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQfwJ5BbAs+ZUFwMaUsvxXNDZNrj8FMyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEANCuQBsGxcywJgUcgqgDXV4DANiQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvUnsCwAVkgBsLFZ/a9SFgBTAaz+XgMzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgFgWaVwDLImCNTQJgtbhQxkSAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQP0JNA+AZfNXAaz+XgIzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgNgVaBMAKWQCsqTZHalQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoM4HXA2AHjylFQQWwOlt/0yVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIYF8gBYKaIwanQWAMsSYCqA1fBqGRoBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnUl8HoFsDwApgJYXa2+yRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUNMCywJghXIFMAGwml4tgyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoK4E8gBYKVIAbGz2UYrGxsl1BWCyBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqFWBZRXA8gDYmCwApgJYrS6UcREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUH8CAmD1t+ZmTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJxEoFhsiSqUojBqtAlgnWTPDJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgTgTyAFgIgNXJcpsmAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKdSaDYMDyikP1TAawzLZuxEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQDwLLAmCF1wJgpYjGpsn1MG9zJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQM0LFIsN2RhLKoDV/EoZIAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECdSdQLA7P51wYNXpsVv+rFI2NKoDV3VtgwgQIECBAgAABAgQIECBQtwL9e3SLQzfdOPYdMjCGDegTW/TeMAb07B7dCoW6NensE19aKsXsRUviyQWvxJTZ8+POF2fFjc+9EHMWL+3sUzN+AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAnUpUGzIAmDZr3RlAbAxpSz/FY1NAmB1+SaYNAECBAgQIECAAAECBAjUlcBO/fvER7bZPI7ZfFNhrzpY+RQK+/1Tz8XPH3sqps6ZXwczNkUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXUegWGzIJlNKATAVwLrOspoJAQIECBAgQIAAAQIECBBYucDpO20bJw7dvNLg9pdmx61ZlajJs+bFY68siJmLFsfS7I/E2DqnQLfsL/0M6tkjttmwdwwf2DdGZdXd9h88oDKZi6c/FedMfbRybIcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdoWaF4BLBtrY6MKYLW9ZEZHgAABAgQIECBAgAABAgTWTiBV/fru8B1itwH98w6uePL5uPw/M2L6/AVr16G7Oo3A0D6944QtN4vjttgkH/P9s+fEFyZPUw2s06yggRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNSzQLE4PJ++CmD1/BaYOwECBAgQIECAAAECBAh0eYG9NxoQF40YFoN69YgH5syPb019IibNmtvl522CzQVGDOwXX95pq9g1CwPOXLg4Tpo0Je5+eXbzRo4IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKgpgWKxIRtPKbIA2JhSGpkKYDW1PgZDgAABAgQIECBAgAABAgTaLJAqf12xz/A8/HXDjJfi1Aemx9L8pwBt7loHnVCgWyHivF2HxhGbDc5DYMfdNVklsE64joZMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQPwJVFcBSAKyQBcCa6mf2ZkqAAAECBAgQIECAAAECBOpA4LoDGmK3Af0jhb9OuX96HczYFFsjcP5uy0Jg98+eE28f7+dBrTHThgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD6EFABbH2oeyYBAgQIECBAgAABAgQIEOgggdN32jZOHLp5PDBnfrzn7ikqf3WQe2d4TKoEdtXew2LXrELcxdOfinOmPtoZhm2MBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOpOQAWwultyEyZAgAABAgQIECBAgACBehHYKQv23HDgiHy675/4UEyaNbdepm6erRQYMbBf/GavnfPWR4ybFFOzoKCNAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHaElABrLbWw2gIECBAgAABAgQIECBAgEC7CZy7+w5x7BabxRVPPh9nTn283frVUdcSOGOnreO4LTaJK5+cEafdN61rTc5sCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECHQBAQGwLrCIpkCAAAECBAgQIECAAAECBFoK9O/RLe49dGR0KxTiyAn3x/T5C1o2cUwgFxjap3f8ZeRusbRUij1unBBzFi8lQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBADQkUi8Pz0RRGjR5TSnuNjZNraHiGQoAAAQIECBAgQIAAAQIECKyNwNFv2jTOa9gxbn9pdnz03n+vTRfuqSOBS/fYMfYfPCBObfp3XPP0c3U0c1MlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUPsCAmC1v0ZGSIAAAQIECBAgQIAAAQIE1ljg3N13iGO32CzOnfafuOyJGWt8vxvqS+DDW20Wp+2wZVz55Iw47b5p9TV5syVAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ4wLFYkM2wlJkFcDGZhXASiqA1fiCGR4BAgQIECBAgAABAgQIEGiNwHUHNMRuA/rH+yc+FJNmzW3NLdrUscCIgf3iN3vtHPfPnhNvH99UxxKmToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKD2BPIKYFnyKwuAjSll+a9obJpce6M0IgIECBAgQIAAAQIECBAgQGCNBCa9Zb8Y1KtH7H9bY7y0cPEa3atx/QkMzt6V2w8qxszsXRnxzzvqD8CMCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNSwQB4Ay8a3LAAWhawCmL/yXMPrZWgECBAgQIAAAQIECBAgQKBVAg8ffkB0KxRi2E0TY2n2B19sBFYl0K0QMeWQvbJ3pRTb/3X8qpq6RoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBABwssC4AVUgBsbPbrYKUsAKYCWAevgccRIECAAAECBAgQIECAAIF2F5h+xIF5nzv/c2K7963Drinw0Fv2yic29IZxXXOCZkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkwo0rwCWRcAamwTAOulaGjYBAgQIECBAgAABAgQIEKgICIBVKOy0UkAArJVQmhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDoYIHmAbDs4SqAdfAKeBwBAgQIECBAgAABAgQIEFgHAgJg6wC1i3cpANbFF9j0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEOq1AiwBYIQuANXXayRg4AQIECBAgQIAAAQIECBAgsExAAMybsKYCAmBrKqY9AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgY4ReD0AdvCYUhRUAOsYdk8hQIAAAQIECBAgQIAAAQLrVkAAbN36dsXeBcC64qqaEwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQFcQyANgpYjCqNFZACxLgKkA1hWW1RwIECBAgAABAgQIECBAoN4FBMDq/Q1Y8/kLgK25mTsIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdITA6xXA8gCYCmAdge4ZBAgQIECAAAECBAgQIEBgXQsIgK1r4a7XvwBY11tTMyJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEOgaAssCYIVyBTABsK6xrGZBgAABAgQIECBAgAABAvUuIABW72/Ams9fAGzNzdxBgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCME8gBYKVIAbGz2UYrGxskd8VzPIECAAAECBAgQIECAAAECBNahgADYOsTtol0LgHXRhTUtAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBTi+wrAJYHgAbkwXAVADr9CtqAgQIECBAgAABAgQIECBAIBMQAKvN12BIr54xqGf3fHAvLFwcsxYtrpmBCoDVzFIYCAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFmAgJgzTgcECBAgAABAgQIECBAgACBriEgAFab6/iNnbeOYzffJB/ceQ8/GRc//mzNDFQArGaWwkAIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINBMoFhsiSqUojBqtAlgzGQcECBAgQIAAAQIECBAgQKATC6zPAFi/Ht3jqM0Gx479Nsz+6xMLly6NSTPnxr2z5sZ9s+fF7MVLOrFs24YuANY2P3cTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqEeBPAAWAmD1uPbmTIAAAQIECBAgQIAAAQJdWGB9BcA+tOVm8fntN48NunVbqe73sspXl2SVr0orbdF1LwiAdd21NTMCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEC60qg2DA8opD9UwFsXRHrlwABAgQIECBAgAABAgQIdLzA+giAnbztG+OzQzdv1WQfmDM/Ptk0LZ57dVGr2neVRgJgXWUlzYMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAxwksC4AVXguAZX96u7Fpcsc93ZMIECBAgAABAgQIECBAgACBdSLQ0QGwhoF943d77VKZS+OsuZEqfU3Jgl79e/SI4dn1QzcZFO94w5C8zZJSKd525wMxfd6Cyj31sCMAVg+rbI4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE2legWGzIOiypANa+rHojQIAAAQIECBAgQIAAAQLrV6CjA2Cn77hlfGjLzfJJ3zd7Xrx34oOxNPtDMy23fTbqH+ftOjS+PvXx+OfzM1te7vLHAmBdfolNkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEC7CxSLw/M+C6NGj81+LasUjY0qgLW7sg4JECBAgAABAgQIECBAgEAHC3R0AOwP+wyLYf375LP8yoOPxe+ffqFdZrxNn96xbfbfI/Neif+88mr2k4vWbwN79sjHlKqNPZRVIpu9eEnrb36tZa9uhdglm9dGWV9T574SzyxYuMI+smYxtM+GseWGG+RjfSIb64q26gDYd6Y9GZc+8Wyl2VbZvUP79s6roq3pXCudtGHnobfsld899IZxbejFrQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItLdAsSELgGW/o5QFwMaU0m9RNTYJgLU3sv4IECBAgAABAgQIECBAgEBHC3R0AOy6fXeNHfttmE/z+488GT997PVg05rOvU/3bnHmzlvHkZsNju6F7KcWr20pyPXX516O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MAue7ZK13za77z9Z4Ktx1txYuCYPXVnHqzk/pFeP2K1/39go+3xozisxLZvvqsa5mu7Wy2UBsPXC7qEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEVivQPACWNVcBbLVmGhAgQIAAAQIECBAgQIAAgZoXWJ8BsJrHMcAVCgiArZDFSQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLrXaBFAKyQBcCa1vugDIAAAQIECBAgQIAAAQIECBBom4AAWNv86vFuAbB6XHVzJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6AwCrwfADh5TioIKYJ1h0YyRAAECBAgQIECAAAECBAisTkAAbHVCrrcUEABrKeKYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQG0I5AGwUkRh1OgsAJYlwFQAq42FMQoCBAgQIECAAAECBAgQINAWAQGwtujV570CYPW57mZNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQ+wKvVwDLA2AqgNX+khkhAQIECBAgQIAAAQIECBBYvYAA2OqNtGguIADW3MMRAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgVoRWBYAK5QrgAmA1crCGAcBAgQIECBAgAABAgQIEGiLgABYW/Tq814BsPpcd7MmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCofYE8AFaKFAAbm32UorFxcu2P2ggJECBAgAABAgQIECBAgACBVQoIgK2Sx8UVCAiArQDFKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI1ILCsAlgeABuTBcBUAKuBNTEEAgQIECBAgAABAgQIECDQZgEBsDYT1l0HAmB1t+QmTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EkEBMA6yUIZJgECBAgQIECAAAECBAgQWBMBAbA10dI2CQiAeQ8IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQI1KZAsdgQUSpFYdRoFcBqc4mMigABAgQIECBAgAABAgQIrLmAANiam9X7HQJg9f4GmD8BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECtCuQBsBAAq9X1MS4CBAgQIECAAAECBAgQILBWAgJga8VW1zcJgNX18ps8AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBADQsUG4ZHFLJ/KoDV8CoZGgECBAgQIECAAAECBAgQWEOBhw8/ILoVCjHspomxtLSGN2tedwLdsh8OTTlkr+xdKcX2fx1fd/M3YQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK1LLAsAFZ4LQCW/UJYY9PkWh6vsREgQIAAAQIECBAgQIAAAQKtEJj0lv1iUK8esf9tjfHSwsWtuEOTehYYnL0rtx9UjJnZuzLin3fUM4W5EyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKg5gWKxIRtTSQWwmlsZAyJAgAABAgQIECBAgAABAm0QuO6AhthtQP94/8SHYtKsuW3oya31IDBiYL/4zV47x/2z58TbxzfVw5TNkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgECnESgWh+djLYwaPTar/1WKxkYVwDrN6hkoAQIECBAgQIAAAQIECBBYicC5u+8Qx26xWZw77T9x2RMzVtLKaQLLBD681WZx2g5bxpVPzojT7puGhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBGhIoNmQBsEL2b9ToMaUs/xWNTQJgNbQ+hkKAAAECBAgQIECAAAECBNZK4Og3bRrnNewYt780Oz5677/Xqg831Y/ApXvsGPsPHhCnNv07rnn6ufqZuJkSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6AQCxWJDNspSCoCpANYJ1ssQCRAgQIAAAQIECBAgQIBAqwT69+gW9x46MroVCnHkhPtj+vwFrbpPo/oTGNqnd/xl5G6xtFSKPW6cEHMWL60/BDMmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUMMCzSuAZQNtbFQBrIbXy9AIECBAgAABAgQIECBAgECrBc7dfYc4dovN4oonn48zpz7e6vs0rC+BM3baOo7bYpO48skZcdp90+pr8mZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBMIFIvD81GqANYJFssQCRAgQIAAAQIECBAgQIDAmgjs1L9P3HDgiPyW9098KCbNmrsmt2tbBwIjBvaL3+y1cz7TI8ZNiqlz5tfBrE2RAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQOcSKBYbsgGXIguAjSmloasA1rkW0GgJECBAgAABAgQIECBAgMCqBE7fads4cejm8UAW7HnP3VNiaf5//6u6w7V6EehWiLhq72GxaxYUvHj6U3HO1EfrZermSYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBTCVRVAEsBsEIWAGvqVBMwWAIECBAgQIAAAQIECBAgQGDVAtcd0BC7DegfN8x4KU65f/qqG7taNwLn7zY0jthscNw/e068fbyfB9XNwpsoAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBApxNQAazTLZkBEyBAgAABAgQIECBAgACBNRPYKavwdMU+w2NQrx55COzUB6arBLZmhF2qdar8dd6uy8JfMxcujuPumhxTswpxNgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEalNABbDaXBejIkCAAAECBAgQIECAAAEC7Sqw90YD4qIRw/IQ2ANZ2OdbU5+ISbPmtuszdFb7AiMG9osv77RV7JqFAlP466RJU+Lul2fX/sCNkAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAdC6gAVseLb+oECBAgQIAAAQIECBAgUF8CqRLYd4fvELsN6J9P/Ionn4/L/zMjps9fUF8QdTjboX16xwlbbhbHbbFJPvv7Z8+JL0yepvJXHb4LpkyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIND5BATAOt+aGTEBAgQIECBAgAABAgQIEGiTwOk7bRsnDt280sftL82OW1+cFZNnzYvHXlkQMxctjqWlymU7nUygWyFiUM8esc2GvWP4wL4xasjA2H/wgMosLp7+VJwz9dHKsR0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGpboFgcng+wMGr0mPxXuxobJ9f2iI2OAAECBAgQIECAAAECBAgQaLNAqgb2kW02j2M23zS6FbLEkK1LCywtleL3Tz0XP3/sKVW/uvRKmxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBXFBAA64qrak4ECBAgQIAAAQIECBAgQKCVAv17dItDN9049s2qRA0b0Ce26L1hDOjZXSislX612CyFvWYvWhJPLnglpsyeH3dm1d1ufO6FmLN4aS0O15gIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFiNQLHYkLUoRVYBbGxWAawUKoCtRsxlAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdJBAXgEsS35lAbAxpSz/FY1Nkzvo0R5DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAqsSyANgWYNlAbAoZBXAmlbV3jUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ6CCBZQGwQgqAjc3qf5WyAJgKYB1k7zEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYpUDzCmBZBKyxSQBslWIuEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIMEmgfAsoeqANZB8h5DgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB1Qi0CIAVsgBY02pucZkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQK/M8x3AABAAElEQVQECBAgQIAAAQIEOkLg9QDYwWNKUVABrCPQPYMAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtEcgDYKWIwqjRWQAsS4CpANYaNm0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECCw7gVerwCWB8BUAFv35J5AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB1gksC4AVyhXABMBax6YVAQIECBAgQIAAgf/P3n3AWVGdfQB+FwvRaCyxo4hil7IqVhRFBXsFscTeu372nhhbYjeWxN67Yu9dASu4IDYUOyoaWzQasew3Z9Y73l12YRcWXNhnfmbvmZkzZ+Y8M/dq9rf/+xIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMOkF8gBYdaQAWO/spTqqqoZN+rM6AwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiMV6CmAlgeAOuVBcBUABuvmA4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYTAICYJMJ2mkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQVIHKyq4R1dVR0aOnCmBNxdOfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECk1IgD4CFANikNDY2AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEJkigsmuXiIrsHxXAJsjPQQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhkAjUBsIpfAmDVEVVDh02ykxmYAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBovUFnZNetcrQJY48n0JECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwOQRqKzskp+ookfP3ln9r+qoqlIBbPLQOwsBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTGLVDZNQuAVWT/9OjZqzrLf0XVUAGwcZPZS4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgckjUFnZNTtRdQqAqQA2ecidhQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAo0TqF0BLDumqkoFsMbR6UWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFJK1BZ2SU/gQpgk9bZ6AQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiyQGVl1+yY6sgCYL2q09EqgDXZ0AEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYJAJlFcBSAKwiC4ANnSQnMigBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINE1ABbCmeelNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBySagAthko3YiAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINE1ABbCmeelNgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBySYgADbZqJ2IAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECTROorOySH1DRo2ev6tSqqhrWtBH0JkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFJIiAANklYDUqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGJF6is7JoNUh1ZBbDeWQWwahXAJt7UCAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgWgbwCWJb8ygJgvaqz/FdUDR3WLAMbhAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQmTiAPgGVD1ATAoiKrADZ04kZ0NAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0i0BNAKwiBcB6Z/W/qrMAmApgzSJrEAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEykQO0KYFkErGqoANhEmjqcAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzSJQOwCWDakCWLO4GoQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQITLVAnAFaRBcCGTvSgBiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBiRf4NQC2Rq/qqFABbOJJjUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIHmEcgDYNURFT16ZgGwLAGmAljzwBqFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECEyvwawWwPACmAtjEgjqeAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzSVQEwCrKFUAEwBrLljjECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYGIF8gBYdaQAWO/spTqqqoZN7JiOJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFmEKipAJYHwHplATAVwJrB1BAECBAgQIAAAQIECBAgQIDAFCawcIcOMe988+RX/fbb78SHH308hc2geS938cUWjc032yS6du0S1T//HK+9/kZcceWV8e57HzTviaaC0Tw7U8FNbIYpeA6aAdEQBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQIMCAmAN0thBgAABAgQIECBAgAABAgQItBaB++6+PZZffrl8ujff0j/22ueACZr6Vv36xoYbrBc339o/7rjzngka47c+6KgjDo3/O3C/qKioqHUpQ4cOi7V6b1Brm5WI5np2JqXljDPMEPvus2cstugicd4F/4qqoS9NytO1yrGnhOdgSrwx87ebLxZZZOEYMqQq/vP1N1PiFFwzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoFoHKyq4R1dVR0aOnCmDNImoQAgQIECBAgAABAgQIECDQQgXmnmuOOOjAA2KppZeMDgsuGD/++GMeBHnqqafi3vsejI9Hj26hVz7pL6s5wht77blbnHD8ccXFbrPtjvHgQ48U61NCo0vnpePRh++v91JPPuXUOPPsc+vd19I29lhtlVh7rTXzy0oV3S6/8poGL3HfvfeMubL3RlpOP+PsBkMmK624fKy/3jp5v7vuvi+ef2Fw3m6OZycfaBL+uPH6q2OtNdfIz/BzVtGtw8JLxLfffTfJzrj0UkvGlv361Dv+//73fbz3/vvx5psjY/jwl+Ob/35bb78pbeOU8BxMKabp/fvnY4+OxbJKhDNk4cXS8v3338cZZ56dfQ6dV9rklQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItBqBPAAWAmCt5oabKAECBAgQIECAAAECBAi0ToFzzjw1tt56y2jTpk2DADfdfGvsu///xc8/VzfYZ2rd0RzhjRuuuyoLHfUsiG648ebM86BifUpo3H3nrbHSiivkl5oCgudn1aJuv+OuLDzUM666+rr4/IsvpoRpRKpidtD/7Z9f65gxY2K+BTrWe92pMtZ774wo9h162JENhsVu739DrNq9e943BcB22mX3vN0cz05xAZOo8eILT8cCC8xfjL7dDrvEffc/WKw3d+PA/feJY44+YrzDVmffSvXii1Vx/Aknx8BBz4y3/2/RIYUiV1pxxfzUt9x6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9FnFyd133zVGvPFGPJh9hlkIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBrFqgdAMskVABrzY+DuRMgQIAAAQIECBAgQIAAAQItWeDZQU9Ex44L55fYqUu3+Hh0wxXbLjjv7Oi3RZ+879vvvBPLr1h/xbGWPF/XRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBARJ0AWEUWABvKhQABAgQIECBAgAABAgQIECBAoAUKfPrxe3n1r2+//TbaL7T4OK/w8ksujI02Wj/vM6kqgI3zAuwkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBZBH4NgK3RqzoqVABrFlWDECBAgAABAgQIECBAgAABAgQmgcBHH7wV0003XT7ydjvsEvfd/2C9Z+m19ppx3TVX5GGx1GGPvfaNW/vfUW9fGwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaNkCeQCsOqKiR88sAJYlwFQAa9k3zNURIECAAAECBAgQIECAAAECrVfgofvvimWWqcwBqqurY8DAQXHZ5VfGiBFvxowzzBBdunSKHXfYLjp37lQgPf3Ms7HRJn2LdQ0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBKYsgV8rgOUBMBXApqzb52oJECBAgAABAgQIECBAgACB1iQw+2yzxbNPPxGzZa+NWQYOejo267Nl/Pxz9r0/FgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpkiBmgBYRakCmADYFHkXXTQBAgQIECBAgAABAgQIECDQagRm+v2MccThh8RWW24Rs846a615p6pg3333XbxYNTQOO/zoeH3EG7X2WyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYMoTyANg2XdAV/To2Tt7qY6qqmFT3ixcMQECBAgQIECAAAECBAgQIECglQrM326+mGOOP8Znn38e778/qpUqmDYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBqVegpgJYHgDrlQXAVACbem+1mREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMKUJCIBNaXfM9RIgQIAAAQIECBAgQIAAyYB2oAAAQABJREFUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0GoEKiu7RlRXR0WPniqAtZq7bqIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECEwRAnkALATApoib5SIJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGhdApVdu0RUZP+oANa6brzZEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ8gVqAmAVvwTAqiOqhg5r+VftCgkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAKBCoru2azrFYBrBXca1MkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAKE6is7JJfcUWPnr2z+l/VUVWlAtgUdg9dLgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECU6lAZdcsAFaR/dOjZ6/qLP8VVUMFwKbSe21aBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMYQKVlV2zK65OATAVwKawe+dyCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYygVqVwDLJltVpQLYVH7PTY8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSlEoLKyS36lKoBNITfMZRIgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0HoEKiu7ZpOtjiwA1qs6TVsFsNZz882UAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGWLVBWASwFwCqyANjQln3Fro4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtREAFsFZyo02TAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEpT0AFsCnvnrliAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRaiYAKYK3kRpsmAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTnoAA2JR3z1wxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKtRKCysks+04oePXtVp1ZV1bBWMnXTJECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQMsWEABr2ffH1REgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0IoFKiu7ZrOvjqwCWO+sAli1CmCt+GEwdQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWpZAXgEsS35lAbBe1Vn+K6qGDmtZV+hqCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EoF8gBYNveaAFhUZBXAhrZSCtMmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAyxKoCYBVpABY76z+V3UWAFMBrGXdIldDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBrFahdASyLgFUNFQBrrQ+DeRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0LIEagfAsmtTAaxl3SBXQ4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA6xWoEwCryAJgQ1uvhpkTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgBQn8GgBbo1d1VKgA1oLujUshQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCVC+QBsOqIih49swBYlgBTAayVPxGmT4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAixH4tQJYHgBTAazF3BkXQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAqxeoCYBVlCqACYC1+icCAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLUYgD4BVRwqA9c5eqqOqaliLuTgXQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgdYsUFMBLA+A9coCYCqAteaHwdwJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGhZAgJgLet+uBoCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUApWVXSOqq6OiR08VwAoVDQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLQAgTwAFgJgLeBWuAQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjUFqjs2iWiIvtHBbDaMNYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwWwvUBMAqfgmAVUdUDR32W1+T8xMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJlBZ2TX7Wa0CmKeBAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECLU2gsrJLfkkVPXr2zup/VUdVlQpgLe0muR4CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFqnQGXXLABWkf3To2ev6iz/FVVDBcBa56Ng1gQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQItDSBysqu2SVVpwCYCmAt7ea4HgIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWrdA7QpgmUVVlQpgrfuRMHsCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBFqKQGVll/xSVABrKXfEdRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOAXgcrKrlmrOrIAWK/qtE0FsF9kvBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOA3FiirAJYCYBVZAGzob3xJTk+AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECSUAFMM8BAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEWqiACmAt9Ma4LAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKgA5hkgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBACxUQAGuhN8ZlESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAB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WL92BeXLm0de/ejRY1SmfOVYqgku64vAT9cuSKHenTt3KGPmnF6TTxg3mmrWfEmmeRgewLxWBidBAARAAARA4BEmAAHYI3zzUHUQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIFYIQAPYLGCHRcFARAAARAAARAAARAAARAAARAAgUeXAARgj+69Q81jjsCzzySlv/78ixImSkRfD+5PDRvUMy5Wr0Fj2rhpq3GMnbhF4OqlM/TEE0/ISr3aoiUtW77SsoKVK1Wg6VMnGl7d2rRtT3PnLbRMi0gQAAEQAAEQAAHvBCAA884HZ0EABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDATAAewMxEcAwCIAACIAACIAACIAACIAACIAACIOCVAARgXvHg5GNKYPb30yiqfFmP1s9fsJBatWnvEY+IuENg1fLFVLBghKzQvXv3aPOWrTR+wiQ6ceIUJXnqKQoPz0evt3iV8ufPZ1R62/YdVLN2A+MYOyAAAiAAAiAAAv4RgADMP15IDQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAALwAIY+AAIgAAIgAAIgAAIgAAIgAAIgAAIg4BcBCMD8woXEjwmBk8cOULJkydxau3LlanqlxZv077/33OJxELcIJBf3bce2DR73z66WW7Zuo7r1G+O+2gFCPAiAAAiAAAg4IAABmANISAICIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGgEIwDQY2AUBEAABEAABEAABEAABEAABEAABEPBNoEhkYfrk4z4y4dZt2+jTfl/5zoQUIBDPCXw7YihFRhaSoqCDBw7S9JmzaO26DfG81fGneUmfTkI9unehJo0b0vPPP+/WMPYK9ueff9K+6P3UrfsHdPzESbfzOAABEAABEAABEPCfQJtWLalO7Zoy46gxY2nhoiX+F4IcIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPAYEYiICJetTVA2qrJcijg6+sBj1Hw0FQRAAARAAARAAARAAARAAARAAARAAARAAARAAATcCaRPl5ZSpkxBN27epIsXL7ufxBEIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPGQCEIA9ZOC4HAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAg4JRARUUAkvUfCA1gV4QHsHsEDmFN0SAcCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMUtAegATyi8hAKt8T+i/KHr/gZi9IkoHARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwREAKwERKlwCMEggPYPsdZUQiEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBmCXgEoAlYAFYFeH/654QgMEDWMwiR+kgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4IyAuwcwIQGL3g8BmDN0SAUCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMUvAXQAmrgUPYDELHKWDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgFMCJgFYAiEA2+80L9KBAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEIIEHArDyle9RAngAi0HWKBoEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE/CIgBWD3iBKUjRICMKEAgwcwv/ghMQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiA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566LXNZJEIBZc0HsYwIL5s+miiHlH0eIvYuXLtHrNevTtevXHeJxED8IwNjcs3Zq0rgRHQiPoBMnT3l2InKDgAcEfJnLPbgMsoJAnCXwtL5DYk6Os10SFQMBEAABEAABEAABEAABEAABEAABEAABEIgHBCIFYAkeCcAeEoVHHIwH1UYVQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCBuEciSORMNHNCPKleqSIkSJXKoHIu+7ty5QytXraG+/frTH3/ccUjHAQiAQMwR+Hr0l5QzRw55wXfbtKOrwqsTAgjoBNq3a0OtWjSjxM8nplOnztDadevpu6kz9CzYj2cEgosWoYH9+8la79i5kz4fPCye3QGqCwIgAAIg8CQSeBrfITEnP4k9GfcEAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQUwSCggLFpR7CA1hMAcd1QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEnnwCzzyTkLJly0ovPP88Xb58lW7dvv3k3zTuEARAAARAAARAAARAAARAAARAwCsCeIf0ChtOAgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIGnikBQUIC83wTlQqoK/18PKTwcHsCeqh6AmwUBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIizBIIChQAsgfivXEiVh0L/ReEREIDF2dZCxUAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABJ4qAkFBgeJ+H7IADB7AnqqWx82CAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEeQKOHsBEdcPD4QEszrcaKggCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPBUEAgKCpD3CQ9gT0Vz4yZBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAATiE4GgoEBR3YckBGBVHnLF4QEsPjUf6goCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIPAkE9A8gLEALIEQgEU8yfeLewMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBeEMAHsDiTVOhoiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAk8bAXgAe9paHPcLAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQbwjAA1i8aSpUFARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA4GkjAAHY09biuF8QAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIF4QyAoKEDWNUG5kCoPeS88/GC8qTwqCgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAJPMgEIwJ7k1sW9gQAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIxGsCQUGBov4PSXgAqyo8gD2EB7B43ZyoPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAwJNEQHoAE8ovIQCr8lDovyg84uCTdH+4FxAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCItwSkAEzUPlIARgmEB7CIeHszqDgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPEkEIgVgCVgAVlX4/3ooBGDwAPYkNTDuBQRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAIP4ScPQAJiRg4REQgMXf5kTNQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEniQCjgIwcWfwAPYkNS/uBQRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAID4TMAnAEggBWER8vh/UHQRAAARAAARAAARAAARAAARAAARAAARAAARAIJoJ5M6VkxrUr0uBgQH08MEDOn7iFE2fMYMuXLzs9MrZsmShtOnSyPRz587T1Z+vOc2LhPhLoGJIeapSuRLlzp2Tfv/9DoWFhdGMmbPpjzt34+9NoeZxjsBrryanPHlyy3rduHGTTpw8FefqGJcqVEiM1UleTCKrFBFxkO7++VesVS9D+nSUOXMmef1jx07Qrdu3Y60uuLAjAczTjjxw5J6APhbfunWbjh0/4f6kpyRHXBp3fUEeX9s4JuaaV5Mnp2ZN36QiRQpTsmQv0sWLl2jBwsW0a/de28gTJkwgyyheLJgyZEhP16//QuvWb6ClPyynBw8e2irnSelrtm7WT5kw39kH+VKypFSwYAF5wpUrV+n8hYv2T34Cc8bXMfEJbArcEgiAAAiAAAiAAAiAAAiAAAiAAAg81QQeC8AqVHlICeAB7KnuDbh5EAABEAABEAABEAABEAABEACBJ45Axozp6cMunejff/+jUV99TdeuX3/i7hE3BAIgELME+vTqQR927UQJEog/JmqBRQWVqtbUYhx3V/34AwUHF5GRCxctofYfdHHMYPOoSeNGVKtmDVq4eAktW/6T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ARAAARAAARAAARDwlkC0ACye8gAGAZi3IJEPBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABPxNQArAHhALwKqLwwM6dOiIv5+B8kAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwgEO0BTArAqgkBGDyAecEQWUAABEAABEAABEAABEAABEAABEAABMKAQNbMmSltujSypufPX6Br12+EQa1RRU8IFC5UkBI/lVhmOXz4CN39/Q9PsiMtCMQpAgkSxKdSJUvINt2/f5927d4bp9oXqMZkSJ+OMmXKKIs/efI03b5zJ1CPQrmPOIF8efPQs88+Iyns3LWb/v1X/icat1SeS56McufOJdPdvn2HTp467TYPEoBAOBDA2PZvL4XKezHeR+z1a6j0l73aBjaVt/tjYGuF0kHg0SCANfvR6Ge0EgRAAARAAARAAARAAARAAARAAARAILwJQAAW3v2H2oMACIAACIAACIAACIAACIAACIBAwAnEjx+P2rRqQVeuXqP1GzY5PK9B/TqUMGEimjtvgUN8KF6sXLaIihcvKqvG9e3SradDNRM/+SR179aZcubIThMmTqJDh4863MdF6BO4dP40JU4cLQBr2botrVm7PvQrjRqCQIAIpEmdmo4d2SdLf/DgAaVMEy1qCtDj4kyxX06eSA0a1JPt2bV7D9Wt3ziobYuISE+v9exB//xzn8Z89DHduHkzqM+3+7DmzZpQ3Tq1aO78BbR4yXK72ZBOI3Ds8D5Kkya1jBkydDiN/2SSdtf5ae9e3WnAm6/LBFevXqVCRUo5T4w7IBBGBDC2ify5B4TKe3Fceh8J5O/FUOmvUFgyvN0fA9k/ocAFdQCBYBCIzTXbn3tgMFjhGSAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQWwQiIwsRif/+H69CFDyAxVYn4LkgAAIgAAIgAAIgAAIgAAIgAAIgECgC/PXsF5rZN17/88+/aNSoj+jeP/8YVdq4fhUVyJ9PXo8YOYZGiPscxo8bTS2aN5PnGzZupmbNW8vzQPzzRKJEwti5n0dFfznlK7p46YqR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lc1btkrRBntXiKpUMUa/WolmVJ3NR30PUfdYbLF6zVop4K1QoSyVK1tW3ZLrbbESZYz1S91wNYdfbN2Cxox+6E3k5MlTNGfufLp372+qVasalS1TxtizVXnBFoDN/XaGYFlBPp5FRez9auPGzcLL121q2fwFqlmzmuHp4tz5C1Si1EMRm7t54c5DlT4+vJm3/hrTbwjPj3379FJdQFyXFStWyfFaSnhFLF+ujCEQU4m8FYCp/OxllMfaVeEh0+5YYwHLvj07jDHDc2Lt2vW0fuMmYm99OXPkIBY28frLa1CuvNGeftQzdS+XHMfrK+fftn0nZcqUkapWjSLlEerzL6bSm28NIn+MYX2uWRn4q/r5KgDjcswea7gvvxVi/b379st5V7hwIWrcsAE999xzsu0tWrdVj3d51Oe5SnhCrO+8z3Bgz6z6u+XPP/8sBFXRQjyVno+6oJKv2VsL71cXhcggb548Yl2o7vCeV6NWPdp/IPp9kNNz0HlGxwhvpF6sXea+5TG0cNFSSiPeN9kbKL97moNZAMYflxj30SiZjN8X+L141uyHH1II1hw319PZtb53qTS+vAtxGfrYcCZG0p/ras/013uxapv52KVzB3p3yCAjev2GTTRz1my5diRKlNDwfuWvtTUY89EZc9VIfb5YrT8F8ueljesdPxbC3qF5H0yQIIF4h69ExYoVkcWZfw8Esr+CNXfcvfMFc3+06h878ysQAjDucPX7ZrvYIzNmjJBCbfX7hO878+xqfle/eu2a+F24nP788085lvR3S37vypYjn4P3Ly7b7tjitOnSpqEjh/byqQwsthwxYgwlTvykeM8sLb1Tm9f72Hof5QraXYeiW2P9r86HU/irrzz5uw8/19997W1b7PyGjK31WO+rluKdyyye5zZzgAAsmgP+BQEQAAEQAAEQAAEQAAEQAAEQAAEQiLsEpABMNC9aAEbxhAewmF94jLvNR8tAAARAAARAAARAAARAAARAAARAIG4T8EUAxmSWLp4njTadUeKvCn935nuqXr2qTBIsAZiz+ujxbHCTJ39hI6p/39eof7/exjV71UmTPotx7cygjwVgC+bOprTCGMpdsPoqN38heemSBVQgfz532aXnopKlow3nOfGiBbMdBANsWPlCizZuy+EEugDMTgY2GOvT940YXsg4ry9t8Ef+AW/0o96vvWrZ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gAAIgAAIgAAIhC0BKQB7QCwAqy4OD+jQoSNh2xhUHARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAATiEoFoD2BSAFZNCMDgASwudS7aAgIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEN4EIAAL7/5D7UEABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABOIwgcjIQkQPHlC8ClHwABaH+xlNAwEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCEMCUgBGEICFYdehyiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAnGdQGShgkTxxP/gASyudzXaBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEG4EogVg8f4TgD0gOnT4SLi1AfUFARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgThJIDKykGjXA3gAi5O9i0aBAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiENYHIyIKy/vEqRFUX/r8e0KFD8AAW1j2KyoMACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQZApGFhAAsnvhfhahqD4T+iw4dhgAszvQuGgICIAACIAACIAACIAACIAACIAACIAAC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BQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiO0EYAAW2+8Q5AMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEHhkCYSF5RN9v0fCA1hl4QHsHsED2CP7LKDjIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACsYyA9AAmLL+EAVj4PWH/RRF798UyESEOCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACDyaBKQBmOi6xwCM4gkPYHsfTRLoNQiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjEMgIeA7B4bABWWfj/uicMwOABLJbdI4gDAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDwiBLw9gAmTMAi9sIA7BF9FtBtEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBWEbA2wBMCAcPYLHsDkEcEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBR5aAyQAsnjAA2/vIwkDHQQAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCA2EbhvAFYu/B7Fgwew2HRzIAsIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMCjTUAagN0jilemvDAAExZg8AD2aD8Q6D0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEDsIXDfA5g0AIMHsNhzayAJCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIDAo07AYwAWT3kAgwHYo/5AoP8gAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKxh4A0ALtHbABWWRzuUUTEvtgjHSQBARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgUeYgMcDmDQACxcGYPAA9gg/C+g6CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBALCMAA7BYdkMgDgiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAgoAmFh+Yju3aN4ZcrDA5iCgiMIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIxAYC0gCMYAAWG+4FZAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwJh+fISxRP/wQOYFxecgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMADJ+AxAIv3nwHYPaKIvfseuFAQAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA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AAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgBsCkYWEACyB+K9CVLXrQv9FMbEQgLkBimtBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwCsCkZGFRFbXWQAGD2BeQUU+IAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIOAFAbMHMJFjTAw8gHkBFnmAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgFsCkZERMgt4AHNLEteDAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAgMcEIiMLiRyvkxCAVbvOecMDmMeEkR0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIOCSgeQBjAVgCIQCLdZgVLgMBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEPCSADyAeUkTeYEACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACICAhwTgAcxDmMgKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABLwkAA9gXtJEXiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiDgIQEIwDyEiaxA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AEAASURBVDUrgCWzrKhQAayxPizzIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBg3hIoFNpnC1YBbN567lZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEATECgUypNZVkUSAOtelc5XBbAm8NRMkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeUKgpAJYGgArSwJglfPEwi2SAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECjV1ABbDG/oTMjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeVZABbB59tFbOAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECjV1ABbDG/oTMjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeVZAAGyeffQWToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAYxcoFNpnUyzr2q17VdqqqBjR2OdsfgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJgnBATA5onHbJEECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDRFgUKhPJl2VSQVwHokFcCqVABrik/RnAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJYCWQWwJPmVBMC6VyX5r6ioHNEsF2pRBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaGoCWQAsmXR1ACzKkgpglU1tDeZLgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBZilQHQArSwNgPZL6X1VJAEwFsGb5pC2KAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEmJ1CzAlgSAauoFABrck/RhAkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaJYCNQNgyRJVAGuWz9miCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBoggK1AmBlSQCssgkuw5QJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ/AR+CIBt3b0qylQAa36P2IoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGiqAlkArCqirGu3JACWJMBUAGuqj9K8CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBobgI/VADLAmAqgDW3B2w9BAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0XYHqAFhZsQKYAFjTfZRmToAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAcxPIAmBVkQbAeiQfVVFRMaK5rdF6CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0CQFqiuAZQGw7kkATAWwJvkUTZoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgWYpIADWLB+rRREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0BwECoXyiKqqKOvaTQWw5vBArYEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgeYjkAXAQgCs+TxRKyFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoNkIFMrbR5Qlv1QAazbP1EIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgmAtUBsLL/BcCqIioqRzSTpVkGAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmrZAoVCeLKBKBbCm/RjNngABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB5ihQKLTPllXWtVuPpP5XVVRUqADWHB+0NREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0PQECuVJAKws+dW1W/eqJP8VFZUCYE3vMZoxAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLNUaBQKE+WVZUGwFQAa44P2JoIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGi6AjUrgCXrqKhQAazpPk4zJ0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgOQkUCu2z5agA1pyeqrUQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAsBAqF8mQdVZEEwLpXpStSAaxZPFeLIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgGQiUVABLA2BlSQCsshksyxIIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ9AVUAGv6z9AKCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBopgIqgDXTB2tZBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0fQEVwJr+M7QCAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaqYAAWDN9sJZFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEDTFygU2meLKOvarXtV2qqoGNH0V2UFBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaAYCAmDN4CFaAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECzVOgUChPFlYVSQWwHkkFsCoVwJrnc7YqAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaoEBWASxJfiUBsO5VSf4rKipHNMFlmDIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSan0AWAEuWVR0Ai7KkAlhl81ulFREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAJClQHwMrSAFiPpP5XVRIAUwGsCT5HUyZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBkK1KwAlkTAKioFwJrhc7YkAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaoEDNAFiyABXAmuBTNGUCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJqlQK0AWFkSAKtslgu1KAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDQ1gR8CYFt3r4oyFcCa2gM0XwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmq9AFgCriijr2i0JgCUJMBXAmu/DtjICBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJqWwA8VwLIAmApgTevxmS0BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAs1ZoDoAVlasACYA1pwftrURIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINC0BLIAWFWkAbAeyUdVVFSMaForMFsCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0U4HqCmBZAKx7EgBTAayZPmfLIkCAAAECBAgQIECAAAECjV5gs86bRosWLeLrr7+OESNfafTzNUECpQLLLL1UrLvuOtmhzz//Il57/Y3Sbm0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECsywgADbLdE4kQIAAAQIECBAgQIAAAQIEZqfApx+Nyy/XbsMO8dHHn+b7P3Wj9x67x0479oy77ukX/e978Ke+nes3Q4Hj+x4dp592Sray8ePHR/lGnZvhKi2JAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgbggUCuURVVVR1rWbCmBz4wG4JwECBAgQIECAAAECBAgQ+CkF2q2/Xuy5R6/sFs89/2I8/MiAn/J2P+rapQGwwkad4v3xE37U9Rp68hGHHxJnn3VmPrzPPgfEgIGP5/saMy9Q+t7VPvu//50U740bF2+/PTpGjXolJn7zbe0hTXJfAKxJPjaTJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0CYEsABYCYE3iYZkkAQIECBAgQIAAAQIECBCYWYG+xxwVZ/zm1Oy0jz76ONq133hmLzHHxs+tANjtt94Y223bLV/n7XfcFUcfc3y+rzHzAqXv3fTOrkr+VqLhwyvirLPPjSHPPj+9oXOtr/2G7aJzp07Z/e++5974/Isv6pyLAFidLA4SIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMBoFCefuIsuSXCmCzQdMlCBAgQIAAAQIECBAgQIBAIxMoDeIIgNX9cDpusnE89MC9UVZWFlOnTo3Numwdo98ZU/dgRxskUPreNeSENAi23wEHN8oKdTf989roucP22TJ2233PeOrpZ+tckgBYnSwOEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzAaB6gBY2f8CYFURFZUjZsNlXYIAAQIECBAgQIAAAQIECBBoDAKlQRwBsPqfyKI/WyQ6ddo0nhnybEyaNLn+gXoaJFD63n2RVMzq9cu9svPmazFfrLzKyrHG6qvFbrvuEhts0C4L3qWdafhu9TXXjW//858G3WNODbq//92xWefqCmACYHNK3X0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRKBQqF8mS3SgWwUhRtAgQIECBAgAABAgQIECDQXARKgzgCYM3lqTb+dTT0vdt1l53j79dcmS/osCOOjnv69c/3G0PjmScfi3XXXSebigBYY3gi5kCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmPcECoX22aLLunbrkdT/qoqKChXA5r3XwIoJECBAgAABAgQIECBAoLkKNDSIMyfXv/hii8YO228f883fIgYMeCw++/yL7PaffPheXg2qsFGneH/8hDk5rQbfa8UVWsWWW2wRSy+9VLz51lsx+MmnkupVyR+rzMVtwfnnj86bbRrt2rWLESNGxksvvhyTv/9+lma06qorx449e8Zbb78dQ4Y8F/+dNGmmrzMz713F0OdjlaQqWLrd0+9fcdgRv57h/Tpt2jE22qgQL788LIYOGzZT/i1bLhjbbtMtVlpxxRg0+MkY/c6Y6d6vcvgLsfJKK2VjGhoAe//98VHYuHN+3R9jmn6/dOu2VSy77LLx2GOPx7vvvZ9fd040lkne8x126BFTvp8SA5P7F79fZ/beiy++WPzfL3aKid98E08++fQsX2dm72s8AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKA5CBTKkwBYWfKra7fuVUn+KyoqBcCaw4O1BgIECBAg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IECAAAECBAgQIECAAAECBAgQIECAAAECBBomIADWMCejCBAgQIAAAQIECBAgQIBAkxQoDQullaLata8OQjVkMZdcfH7ss/de2dAPP/woNijfZJrTeu22S1x15eV5EKV2AKy0glManlq7bbv499cTp7nOsssuHa+/UpkfrysAlnZOGDc6FlxwwWzc3ffcG7v32jVrt123fXyehMLSrTSEMnTo8GjTdu1YfLHFor6qRqXj0zHLrdA6u07xS6lh3+NPiptvuT3SaknzLzB//PvfXxeHzfLnWmuuES8891R2/tcTJyZhsuPjhuuuyfZLw1DFG5QGiJ56+pnYbffqZ1TsTz9rV5NqzAGwFVdoFUNfejZ/rldd/fc448w/ZMvp3KljPHBfv3xphxx6ZNzb//58f0aNC8//U1IBrjpgNWXKlGhf2CQ++vjTGZ1Wo780FHXun86Piy+5vEZ/cWd2BMCeHzI41l57reySX331VazVtroKXPEexc/ScFd6bJXWa08TApzZ9yq9TvoepuelW33f81lnPV9m9L1UPE0ArCjhkwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQMIFCoTwZWBVJBbAeSQWwKhXAGuZmFAECBAgQIECAAAECBAgQaBICpeGlmQ2A/fqow+N3Z/4mX2e3bbePkaNezff37rNnXHLxBXn4K+2oHQBrv2G7eOKxR/JzRo4cFdttv2NMmTI1P5ZW9rqv/9155aO0o74A2KMP3Rcbb9whO3fy5MlZaCitBtYmCYCVbsWqZMUxad9748bFRptsXjosa88otPLIg/1jk002ysYedsTRcU+//tNc48ceGFX5cqyQBKHS7a233o42bdbO2kce1TfuvPuerF38csVlF0fvPX+Z7Y4ZOzY6dtqy2JV9pp733HN7FnordjTWANj2SSWsv17+l1hyySWLU43tevw8KipH5vvPPTMo95iUVDrbeZdeMWz4D2HB4sBCeXWlr9JzF/3ZIvHm6yPzcFn6DmzXfcc8LFg8N/3cacee8eyzz0/T9+rIYbH88stlQ9MqbzvuvFvpaXl7dgTANuu8adzf/4fnPWDAY9Fn31/l90gbu+36i7j6b1fk33dpRbu0sl1d28y8V+n5XTbvHP3vvSu/1P33PxQHHXp4Uoku+WPDkm2++VrEL3vtFrffeXfJ0Zrhy7rC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8exzLyTrnvoT3rHmpdPg3XbbbRvrtG0Tr776ehaUm/DBhzUH2SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhJBWoGwJJbqQD2k3q7OAECBAgQIECAAAECBAgQINCEBDpt2jEevL9fNuM0KLRrr971zj6tOvbe2DfzKlG79tqj3mpU9V5EBwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBGoJ1AqAlSUBsMpaQ+wSIECAAAECBAgQIECAAAECBOZNgb/99dL45e67ZYs/90/nxcWXXFEvRBoAG/fuW3llsNXXXCcmfvNtveN1ECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCECPwTAtu5eFWUqgDUEzRgCBAgQIECAAAECBAgQIEBg3hD4/e9+E0cfeXi22DFjx0bnzbeKKVOmTrP4Fi3K4onHHokN2q2f9X388Sex/oYbTTPOAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECMysQBYAq4oo69otCYAlCTAVwGaW0HgCBAgQIECAAAECBAgQIECguQqs07ZNDHn6iXx5n3/+eVx/w40xaPBT8emnn8Zaa60Z23bbOvr02TMWXnjhbNzUqVNjx513i5deHpqfp0GAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFZFfihAlgWAFMBbFYhnUeAAAECBAgQIECAAAECBAg0T4ETjjsmTjv1pAYtbtKkSfGrgw6LAQMfb9B4gwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAjgeoAWFmxApgA2IzA9BMgQIAAAQIECBAgQIAAAQLznsDWW20Rp51ycnToUB4tWrSoAfD999/HZ599Hn+/9vq47IorY+rUpMi6jQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABArNJIAuAJT+WVNa1W4/koyoqKkbMpku7DAECBAgQIECAAAECBAgQIECg+QkssvDCsfbaa8akSZPj3Xffi/8mVb9sBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ+KkEqiuAZQGw7tlfTy0A9lNRuy4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmTkAAbOa8jCZAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAcEygUyiOqqqKsazcVwOaYuhsRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgAQJZACwEwBpAZQgBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTmrEChvH1EWfJLBbA5C+9uBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmJFAdQCs7H8BsKqIisoRMzpHPwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMAYFCoTy5S5UKYHPA2i0IECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAwUwKFQvtsfFnXbj2S+l9VUVGhAthMCRpMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBn0igUJ4EwMqSX127da9K8l9RUSkA9hNZuywBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRmSqBQKE/GV6UBMBXAZkrOYAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPzEAjUrgCU3q6hQAewnNnd5AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINEigUGifjVMBrEFcBhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGDOCRQK5cnNqiIJgHWvSm+rAticw3cnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQITE+gpAJYGgArSwJgldMbr48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE5pCACmBzCNptCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMLMCKoDNrJjxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmEMCKoDNIWi3IUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwMwKCIDNrJjxBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmEMChUL77E5lXbt1r0pbFRUj5tCt3YYAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEpicgADY9HX0ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYiwKFQnly96pIKoD1SCqAVakANhcfhlsTIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgVCCrAJYkv5IAWPeqJP8VFZUjSvu1CRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAuCWQBsOTe1QGwKEsqgFXOpam4LQECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUClQHwMrSAFiPpP5XVRIAUwGsFEibAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECc0ugZgWwJAJWUSkANrcehvsSIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgVKBmACzpUQGslEebAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECc0+gVgCsLAmAVc692bgzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECOQCPwTAtu5eFWUqgOUyGgQIECBAgAA2qh00AABAAElEQVQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJjLAlkArCqirGu3JACWJMBUAJvLT8TtCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg8D+BHyqAZQEwFcC8GQQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEGgsAtUBsLJiBTABsMbyYMyDAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECWQCsKtIAWI/koyoqKkZQIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFGIFBdASwLgHVPAmAqgDWCZ2IKBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQyAQEwLwIBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQaKQChUJ5RFVVlHXtpgJYI31GpkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwDwqkAXAQgBsHn38lk2AAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQGMWKJS3jyhLfqkA1pgfk7kRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDAvClQHwMr+FwCriqioHDEvOlgzAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGp1AoVCezKlKBbBG92RMiAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeV6gUGifGZR17dYjqf9VFRUVKoDN828FAAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEGoVAoTwJgJUlv7p2616V5L+iolIArFE8GZMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGCeFygUyhODqjQApgLYPP82ACBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoFEJ1KwAlkytokIFsEb1hEyGAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF5VqBQaJ+tXQWwefYVsHACBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBBqrQKFQnkytKpIAWPeqdJIqgDXWR2VeBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjMawIlFcDSAFhZEgCrnNcMrJcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKNUkAFsEb5WEyKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECESqAeQsIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQSAVUAGukD8a0CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIADmHSBAgAABAgQI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AAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhEiIC3AEwVCg9gESKLYkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAgTAI2AVgsJQA7HGaRyA4CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBAJAlECsNIV7lIseACLBFSUAQIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKRIKAFYHeJYpUsowRgSgEGD2CRwIoyQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCB8AlEewLQADB7AwkeKEkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAgMgQ8ArBYxgMYBGCRwYpSQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCB8AloAdpdYAFZRbe7SoUNHwi8VJYAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIRNwOMBTAvAKigBGDyAhU0UBYAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIBAhAhAABYhkCgGBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAA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c6nQURAAARAAARAAARAAARAAARAAARCIOQRu37hETz31lOxQoyYtaM3a9badK1O6JM2ZNV2KxThDm3YdadHiZbZ5kQgCIPB4ElDev/755x9Knyk7/fjjT4/nieKsQAAEQkIAArCQYEQlIAACIAACIBDrCEAA5t8lmyv+1lKmTClZiD0tlypTkU6eOu1fJcgNAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQqwiEh+cgun+f4hSLgAewWHXl0FkQAAEQAAEQAAEQAAEQAAEQAAEQeIQENqxdQTlzhsse3Bd/WNi5azdNnTaDzp27QM8+8wyFhWWjpk0aUfbs2XQv9+zdR1Wq1dL7iIAACDz+BPLmyU1rVi2VJzpt+kzq0avv43/SOEMQAIGgCEAAFhQ+FAYBEAABEACBWEsAAjD/Lt34cWOoTu2a9N1331Htug3p6LHj/lWA3CAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAArGOgBSAEQRgse7CocMgAAIgAAIgAAIgAAIgAAIgAAIg8CgJvPzSS7RvzzZ6SWydhF2791D1mnXp33/vO8mOPCAAAo8RgSqVK1CTxm9QgwZN6E/xZXoEEAABEPBGAAIwb3RwDARAAARAAAQeXwIQgPl3bRO9moCqVa1Kk6ZM9a8gcoMACIAACIAACIAACIAACIAACIAACIAACIAACMRaAuE5wojiiP/gASzWXkN0HARAAARAAARAAARAAARAAARAAAQeCYH4/3uWevd6i+rVrU0vvviiWx/YK9hvv/1GR44eo569+tHZc+fdjmMHBEAABEAABEAABOwIsOfAdwYPkId279lD7w79wC4b0kAABEAABEAABB4zAvHiPU0L58+hJ594Unq1atCo2WN2hjgdEAABEAABEAABEAABEAABEAABEAABEAABEAABEAiOgEsAFueBAEx8hPvosS+DqxGlQQAEQAAEQAAEQAAEQAAEQAAEQAAE/pMEkidLSgkSvELffPstXb9+8z/JACcNAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAqEmEB6eQ1R5Hx7AQg0W9YEACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAA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gAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgMCjQ0AKwO4TC8Aqis192r//4KNzdjgTEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIjFBDwewKQArIIQgMEDWCy+lug6CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIDAI0YAArBH7ILidEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABB4dApGRuYnu36eIkmXgAezRuaw4ExAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgUeBgBSAEQRgj8K1xDmAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAg8YgQic+ciihD/wQPYI3ZlcTogAAIgAAIgAAL/z95ZwFlRvX38Qf7Kq2KgdHfDLt3d3Z2CSAiCICAoCkgJgiAhqKR0d3d3d3cogopiIu95znqGc2fnzp177+yyu/7OR+7Uye+cOXNmfX7nAQEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiPYEwgRgsf4VgD0mOnzkaLRvFBoAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAjGBQGhoiGjGY3gAiwk3E20AARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIWQRCQ3PKBsUqXqq88P/1mA4fhgewmHWL0RoQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIHoSiA0RAjAYon/ipcq91jov+jwEQjAouvNRL1BAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARiFoHQ0BDRoMcsAIMHsJh1a9EaEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACB6E7A0wOYaM3hw/AAFt1vKuoPAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQMwiEhuaUDYEHsJhxP9EKEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBGEQgNDREtOYxCQFYucfcLngAi0F3F00BARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCI1gQ0D2AsAIslBGBHonWDUHkQAAEQAAEQAAEQAAEQAAEQAAEQAIGYTyBXSE564cUXZEOPHDlKv/z6MMIanSRxIlq/diXNmDmbPh02nB49+sfVsmLHfoYKFsgv83z06BHt3rPP1fyjambe7mGcOM/RB716UO1aNalYiTJ0/8efomoTonW9/qv9LlrfNC+Vf/21eJQ5cyZ59d69+3Tq9BkvMXHaioC3scgqrhvn0qZOTUmSJpZZXbp0mW7euu1Gtl7z2LV9E506dZp69PqA7t695zVeVL4Q2fcoKrOIKnXjudFnQwdTkiSJqXS5ylGlWhFaj2xZs9Crr74iy9i1ew/9849cU9GvMjNlzCDmNzUoRMxjH//zD50+c46mTJ1KV65e9ysfRI7aBCJ7jhXR3ypRm7Y7tYvse2ZV68h81zVt0pC6v/cu9er9Ea1ctcaqOjgHAiAAApFO4JlnYlHjRg2oQP58lDx5Mrpz5ztat34D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CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCEQokB0AVuCfALCdIkuXLY8we7JCAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEMhUICurhtl0Jz2AZQrIdggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBuCWRlVXeyLtCwSUvT/9dOWbqUHsByC5t8EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgXQEsmqYALAC5n8Nm7TYaeK/ZOkyAsDSASQtAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkFsCWVk1TNY7NQCMHsByC5l8EUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgUwEYnsAMzksXUoPYJlAsg0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCAQtUBWVnUnS3oAi1qW/BBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIGQAllZNUwOO8UEgLXYqXnRA1hIUTZHAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIhKwegDTALACJgBsWURZkw0CCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQBgBegALo8e2CCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAQC4K0ANYLuKSNQIIIIAAAggggAAC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t5BQ6C3UAQRAAARAAARAAARAAARAAARAAARAAARin4CzApioDyyAxX6noAYgAAIgAAIgAAIgAAIgAAIgAAIgAAIgENcIbN20lnLnziWr7U0BzFPbvAk3QujJEz080wkEakzqecLvH4Eh775NHTu0l4mhAOZgGAoCyebehAKYmQjuQQAEQMAeAW/7Wnu5I3UoEAgrkI/Wr10pqwIFMKJQ2/OF4n4rFMZtsOsQE/PCrACWMnUGl81i5bZd2zdTwoQJ5fMVK1dRqzavuIwbW4FW5w1+C4mtHkK5IAACIAACIAACIAACIAACIAACIAACIBBaBEwKYPGEAtih0KohagMCIAACIAACIAACIAACIAACIAACIBBwAokSJaTq1arQM8mS0arVa+jWdz8EtIxkSZNQZGR5ej7l87Rt+w46cfKUX/knSBCfoqpXE/mkoE2bttL5ixd9yifNC6mpSuWK9Psff9Latevozk8/+5Q+tiL7y4/7tWBEOEWEh9PVa9do48ZNdPe3e343I/mzz1DRokUoR47s8jejnbt207//3neZ36EDu6RVL34YVxTA/OXsEoCbQBY4qxEVRWfOnqVt23bQH3/+6SZm9GDuz0oVIyltmjS0QfTlufMXokeKwyGFC0VQ0SJFaPeePXTw0GG6f/+B19bE5JjMlzcPlS5Vkm7cvCHWny30y693vdbPbgQ+Lb9evdpyvu3bf9BldjymypUtQ4mEEOPGjVt8XhezZs5MVapUoouXLsl2+TIm9Qr50n8TPh9DDerXlcljSgEs4RNPUImSxShfvnx0+PAR2rN7L/31zz96Eyz77cxjXmeqV6tGCZ6IT6tXr6Ufb9+R5X5/8zLFixdP+kPRAliTZq1o3fqNsn5238WxMeZkxV380ZUxZn8zl7p062nE8mVMG4n+8wSqjeZ8g3lfIH9escaVostXrtDWrdssr3G+rMO+1N/f+vhShq9x1T4hZcqUch956fJVX7MIeHx/1yNeEwsVLkiFCxein376Sa7/V69dD3j92NJN1ixZaOG3i12OKV5Pyot3WB7xjj0pvg983RsFcm23M+etgsOa85CUv3M8fbq0VKxYEflduXnLVr+/Kx/WxOHztz7mfKKqV6VpU76Swb4ogKn1xer3sj6W5s5bQJ1e626uSrT74sWKUiGx3967dz/t27/f0l47WiYiwJe54u+ez+53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AAiECAH8jhIiHYFqgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIRCMAC2DRkCAABEAABEAABEAABEAABEAABEAABB4dAhBcenT6Ei0BARAAgUedwMF9Oyl9+nR04sRJiqpRh+7+du9RbzLaBwIgECACyZIlpfNnjtODBw8MZSbO+t9//6WIQsXphlAqfZzcmpVLqGDBCNlkZrJ123aaNHkKnT59lhI//TSFheWntm1aUYEC+Q0sO3buolp1Ghr38JBkdfH8STmm2Cplp9e6AwsIgMBjQAC/ozwGnYwmggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEAcJQALYHG041BtEAABEAABEAABEAABEAABEAABELBCAIJLVighDgiAAAiAQCgQKFqkMKVOnYqWLlsRCtVBHUAABOIQgZfatKThw4Y61fjevXvUsvVLtHnLdqfwx+GGraHt2rGJkourFbdt+w6q16AJ3b//wEr0xypO08YN6cDBQ3Tq9JnHqt1oLAg8zgTwO8rj3PtoOwiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiENgEogIV2/6B2IAACIAACIAACIAACIAACIAACIGCLQIf27ahunVoyj/FffEmLFi+zlR8SgwAIgAAIgAAIgAAIgECoEShXthQNfmegVHi6dv067RTWrEaM/JTu/f57qFU1xuqT5H+JqX+/3tS0SSN69tlnncplq2C/Czas2NS335tQbnKigxsQAIHHnQB+R3ncRwDaDwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKhSyAiIkxWLl65yCryWL+DBw+Hbm1RMxAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAZ8IpE+XllKmTEE/3r5NV65c8yktIoMACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQ+ASiAxX4foAYgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4JJARES4CH9AwgJYVWEB7AHBAphLTggEARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAgRgnIC2ACc0voQBW5YHQ/6KDhw7HeCVQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQHQCUgFMBDsUwCiesAB2KHoshIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACMQ4AYcCWDxWAKsq7H89EApgsAAW472AAkEABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDABQFnC2BCBezgISiAueCEIBAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIcQLOCmCieFgAi/E+QIEgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIg4JKASQEsnlAAO+QyIgJBAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARilsBDBbAKVR5QPFgAi1n8KA0EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAE3BOQCmAPiOKVixQKYEIDDBbA3MPCExAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCISQIPLYBJBTBYAItJ+CgLBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABDwRcCiAxVMWwKAA5gkWnoEACIAACIAACIAACIAACIAACIAACIAACIAA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AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIMYG0tFRTd4YGgJEBLMeUqRgBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIQyAwA5ipID2dDGBxOLIKAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHSBtLRqTp1kAEs6LRUigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACiQmkpaWaCjLEBIC1zNCqyACWGChrI4AAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAskSsDKAaQBYigkAW5msuqkHAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCABATKAJYDHqggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggEBOCpABLCd1qRsBBExSCMoAAEAASURBVBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBIQIAMYAngsSoCCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCQkwIEgOWkLnUjgAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCQikpVVz1k5p0qxlho6lp69KoDpWRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBIlgABYMmSpB4EEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAAB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AQQQQAABBBBAAAEEEEAAAQQQQAABBBBAIEcEAjOAmU2kp5MBLEekqRQBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCIUSAtrZqzBhnAYoSjOAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIJDTAmlpqWYTGWICwFpm6MbIAJbT5NSPAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIRCdgZQDTALAUEwC2Mro1KYUAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkKMCZADLUV4qRwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBOIXIANY/HasiQACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCOSoABnAcpSXyhFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIH4BQgAi9+ONRFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIEcFUhLq+bUn9KkWcsMHUtPX5WjG6RyBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIHoBAgAi86JUggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggECuC6SlpZptZojJANbKZADLIANYrp8CNogAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4CzgZwEzklwkAa5lh4r8kfeUq/5LMRQABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBDIVQEnAMxsMTMATFJMBrCVuboDbAwBBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAwF8gMwAsRQPAWpn8XxkmAIwMYP5UzEUAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQRyVyAwA5gJAUtfSQBY7p4CtoYAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgj4CwQGgJkyZADzh2IuAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkNsCQQFgKSYAbGVu7wPbQwABBBBAAAEEEEAAAQQQQAABBBBAAAEfgdKlSknhIoWcJdu2bZe93+zzKXXkZlVPrSb5/57f2YGVK1fJwf8dOnI7w5ZzVOB4PNd5/f7zO+FH4z77HQfzji+Bf5x+mlStWsU56D179sr2HTvzJMAJJ6RIt6uulLp1akuxYkVl//5vZfqMmTL+k4ny558ZeXKfj8ROHY/PiyPhzDYRQODoEODd7Og4T+xloMCx8iw/Vo4j8OwwhQACCCCAAAIIIIAAAggggAACx7tAVgBY05YZkkIGsOP9guD4EUAAAQQQQAABBBBAAAEEEEDg2BTIf+qpclufXlK+XFl55bXXJX3l6mPzQI+xo5r86SdSu3ZN56g+HjNObu3TN08d4c5tGyR//swAsG5XXyfTps/MU/vHziRP4Hg818m4/3K77U3GPifvqsn5mooXLyp39r1d/vjjsAx+4WXZt39/zm/0KN9Cvbq15ZaeN5n3gJXy+ptvy6+//nbEj6j9JW1l6DtvOvtx8OD/pFSZikd8n4J3oFjRIjLl84lSqFDB4EVSq07DPBu0lm1nc2HG8fi8yAVWNoEAAkepwPH2bnaUniZ2O0jgWHmWHyvHEXR6mEQAAQQQQAABBBBAAAEEEEAAgeNcwAkAM79LmNKkmQkAMxFgZAA7zq8IDh8BBBBAAAEEEEAAAQQQQOCYEqhc6QK5sktn55gWffmVTJ4yLeLx3XNXPzndZGL4v//7VZ577gX57Y8/Iq5Dgbwv8NHID+Si5k2dHf3zzz+lVOmKcuiXX/L+jofZwwrly4kGV6xas0YOH/4zTEn/ReXKlZHDvx+Wrdu3+xfIA3PzeodBOlTlgYskl3bheDzXybj/crvtTcY+59IllZTNbNuyXk4/7TSnrj179khqjXpJqTevVJLs97hSJUvI0q8WeIeXVwKL7QCwX8y7SfFS5b19zCsjs2dM9rKU2ft06NAhKXF+BXvWcT9+PD4vjvuTDkBSBP52yiky8P57fOvSQOe9e7+Rrdu2ydq1a2X/t9/7ljvaZib6fe5oON7j7d3saDgn7GNkgWPlWX6sHEfkM0YJBBBAAAEEEEAAAQQQQAABBBA4ngSyMoA5AWBkADueTj7HigACCCCAAAIIIIAAAgggcOwL9Lujjwx64D7nQPfv/1YqV8vMJBTuyPfv3S758uVzinS5srvMmjM3XHGWHSUCK5YukuLFi3l7e02PG6MKCPRWSPLI9T2ulv539pXTTLChDmXKVZI//zS/TxRhaNyovrwy5EUpUriwpKSYdPZ/DT/9/LM88eTT8s67w9xZvp/VqlaWV836ZcuWkZNOOskp89tvv8mGDRvluht6yo6du33Xs2dq58yHHhooV3TuKCeaOrZv3yHNLmpjF0naeF7vMEiHqqSd6rAV9bimm5xyyt9kmwlWnD5jVtiyObXweDzXybj/crvtTcY+59Q1lOx6NQB45/aNXrUZGRlybqES3vSxMJLs97iru3eVFwc/69Hs2btXUqvX9aaP1EheDwDT7F/pyxd7POvXfy33DXxQzjnnbOededz4id4yRkSOx+cF5x2BZAgUPO8cWbt6RVRV7dq1W4a88pq8+94HUZXPiUJH6vucHkss38e07Pp16TETfPzxOBlw3wMxrxe8wvH0bhZ87EwfvQI5/Sw/u8BZ0rlTRwdo0Zdfyuo163IEK6ePI0d2mkoRQAABBBBAAAEEEEAAAQQQQACBCAKZAWApbgYwAsAieLEYAQQQQAABBBBAAAEEEEAAgaNKINkdh4+qg2dnAwQGDRwg/fre7sz78ccfpfwF1aIKuAqoJMEJ7SR4zdXdpGLFCnLyyScH1FawSMmIWbwefvABuf22XgHrBU/MX7BALuvUNXi2M12jeqp8/ukncuKJJ/ou16wjFzZtFTIj2NNP/lOaX9RUSpYoISeccIJXx4EDB6RcxWredDJH8nqHQTpUJfNsh67r+/27nIU7du6UmrUbhi6Yg0uOx3OdjPsvt9veZOxzDl5GSa966ucTpWbN6k698+YvkI6d/dv/pG84lypM9ntcvnwnyLbN6yV//vzOEfzz8afkpSGv5dLRhN5MXg8A69TxUnnz9Ve9AyhhMpQd7VlUvYPJgZHj8XmRA4xUeRwKxBIA5vK8O/T9pAQpufVF+jzS3+fi+T522t/zy/atGyIdWrbl06fPlKuuvi7b/FhnHG/vZrH6UD5vCuT0s7xzpw7yxr9fcQ7+ww9HSt/+A3IEIqePI0d2mkoRQAABBBBAAAEEEEAAAQQQQACBCAJOAJj5beWUJs1amY8MSU9fFWEVFiOAAAIIIIAAAggggAACCCCAwNEikOyOw0fLcbOf/gLFixeVokWKyJeLl/gXyOG5q9OXSOHChXy3EikATDN/jR872lt38+Ytoh0e//zzT7nssvZSr24db9k9A+6XocOGe9M6otk7li1Z6GW306xfCxZ+abKA5TPr1vWCwn799VcpV6Gqb8fu7/btDMg65m6AALDMQIJupoPkNNNRkiG5AgXOOks2fp35b7YEgCXXNlJtyeqwm5ttb7L2OZJNXlpetUpmBsm169bnpd1Kyr7k1HucPlM3bdoq+/bvT8p+JlpJXg8Au//eu+Wu/n2dw/zhhx9MEH1qood8TK9PZ+tj+vRycDkoEBwA1rxFZoZh/eGJs88+W0qVKimtWraQphc29r7T6O5cd8PN8ulnk3Nwz7KqPpLf53Qv4vk+phlDt2xam3UQIcY0u7T9QyEPP/q4vPraGyFKRz/7eHw3i16HknlVIKef5bf17iWPPJyZYY8AsLx6FbBfCCCAAAIIIIAAAggggAACCCCQVwUyM4A5AWAtTQAYGcDy6olivxBAAAEEEEAAAQQQQAABBBCIRyCnOg7Hsy+sg8CnE8dKpUoXeBD/OP10bzxSANhnk8ZJ3Tq1nfJfLv5KLrm0s7eujmjnIe1EpMP+/d9K5Wo1nXH3z79ffUmuuLyTM6nBX7XqNJS93+xzpi8wGcm+mD3Ny+r1/OCX5Kmnn3NX9T43rEuXk/7KXHaK+TzllFOcZQSAEQDmXSQ5MFKtamWZNWOKUzMBYDkAHKbKo7HD7tG4z2FOwXG/6Hh5j8vrAWCPPTJIet96i3M9btq0Weo3anbcX5vhAHK603i4bbMMgaNZIDgA7JyCxX0PRwPLFy+c62VUnjxlqlzT4ybfssmeeSS/z+mx5OT3sREfDJVWrVo4ZPpjI/UaNnXGE/3Du1migqx/JARy+ln++GMPSa9bejqHRgDYkTjDbBMBBBBAAAEEEEAAAQQQQAABBI5mAQLAjuazx74jgAACCCCAAAIIIIAAAgggEEHA7ji8b99+qZJaK8IaJnhm73bvF8W7XNldZs2ZG3adfPlOkIYN6knlypVlsQnMWb5iZdjyR2KhBg7VqJEmS5cul2XLl5usUc7v4OT4rpxyyslyUfNmUqRwYZk95wvZsnVbzNs87e/55aKLmkmhgoVk/oKFciQynGgnw3Zt28qmzZtlwYJF8n8mS1Yyhu/37/KqiRQAtnH9SilQoIBTvk7dxrJ1+3ZvXXdkz87NTlCWZgU7r3BJd7bzuWv7RjnV/Pq7Djf27CUTJn7mjLt/7Hvl22+/k0pVa7iLfD+7drlcXhnygrMsJ7OB2B0GR330sdx2R39vf2qaa7p2rVry1ZIlkr5yVUzX9dkFzpI2bVrJ4T8Oy/QZM+U/Pxzw6o1lxO4YdlX3HqauWc7q55xTQNq3u1j2G8tZs+bEfM0ksn8a0NfAtEk6LFu23Nisdsaj/VPEZKlrYe653//4Q+aY9u8b03bGM2jb2LZNazn3nLPliy/m+16z0dTb1pynD4a94xSNNQCssgm4bNyooWl7tsrcefPl119/i2aTvmXscx1ttrdEtq9Z++rUqWX8znX2ff3XG3z3y29mMtperTen7j+/fdZ5iRyzW2dO7XMi9+Q/Tj9NmjW70DmXCxYukljOpXtc+tn0wkbOu8aqVatk4aLFcvjwn/bimMfjbUP1eOrXryflypaVPXv2OG3owf8dinn70axgP5ty6j0u1H7ofVQ9LVXSUlNltznOOeY9JhnHqdd5m9atZM/evTJ79hfO86G16XD/oel4r8Mvv/wixUuVD7Vb3vzSpUpJy5YXyfYdO0wbOy+m50ys12SiAWCJvEfF256ddeYZUrt2LSlXrqykp6802V+/injPnHBCilQoX17q1K4pfxw+7Dy/43kG2s+LvPJuoBeOe97POeccmWHefXbs3O1dT+FGkvVeoBk9O3a81Dkfy5an+25Sr5UmjRuJ/tDAnDnzYn53SOS+8N2hXJhZuFBBadmiufzyf7865+XAj/+Na6uRvjMl2qblxvfJaAPAFOi1V16ULldk/iCGPotSa2S++8aFl8BKufl9Lng3k/l9TM+v/uCIDodN+1e9Zj3vx0KCtxvrdF58N4v1GJJVXrO2NmzQQHbu2iXz5y+Qn34+GFXV8TzToqk43udCstot3ccypc833z2by+dTpsiuXXt8dzsttap5Ntc239n/Y54Nc+P67q5tYJvWLeWMf/xDpk6bbr6nf++7LXem/SyP9rtfLO3kG/8eIp07XeZsLtYAsFi2E89xuAZ8IoAAAggggAACCCCAAAIIIIAAAnlVIM38/zvJyJCUJs3IAJZXTxL7hQACCCCAAAIIIIAAAggggEC8AjnZcVg7obz/3jtS2ARLpKSkeLuYYf6hQbMjdL7iqmyBEwPvu0fu7He7U/Ybk32pWvU63nruiHYyX7823auzddv2vkFlkyaMkXp1M9e/6+575f3hI90qnE/tZDn24xFSpUplry5doPunQVQdO3URu4PhyuVfSpEiRZx1PxwxSvr1H+CM+/2xj2PZshXSpl2HgGLaqXzY0LelkOnQaA/amWzc+Alya5++9mxvXH/RXIOctJN31bTa0qf3LfLQoPu9gDwtWLd+k7gCyW7t1VMee+RBZ1v6i+bB2Svs5QPuHWg8R8jQd94wHe6bSP78mRme3B2dMGGS3Hhzb3cy7s9YOgx+s3urnHTSSc62ylesJj8cyB6wtGrFV+YcFnbKlDCdxw+ZTuQ6dOzQXt568zVn/A8T1FOo6PnOuP0nvwkO27Ftg3ettGzVTlaYoKpQQzI7HIbahs63OwwOe3+4aHYyDQaqXLmSnHjiid6qGvQ28IGH5e133/Pm+Y3ceEMPefjBgdnO6a8mqG/Qg4/I0GHD/VYLOc/uUNWxcxcTkFZTbrutt+lknZXdTVfWoLpuV/eIGIwV7/5pp/XHH3tYbrzhuoD7Rbet93zw8NWSpdKufSdv9lVdr5ABd/d32jPbVQuozU3mep88ZZpX3h5x71vNPKdBts1NoMvg556WoibIwW4bfzYdHDtf0dW3PbPrc8fHjx3lZL3T696uxz6enw8elNJlK7mrOJ/aQXLUiA+kevVUL6udW+D777+Xm3v1MQFVC91Z/8/eWcBrUbRt/Abfz+AFFZTuOHQcSjoODdIhndLdDdIp3aKgdLeUdBwaDt2d+io2JvLNPQ+zzLNnn95TeM1Pz87Ozk78d3d29uG+5vZ6q1/rBo2a0favdlqeG2j9/GyNHDlUGifqFfA9fvbsOWr2YWuXxpH+jr16PXrcjudPH1utxl6uL5A+6+3luB1t1sv095nMI+6/CePHUMaMQYa3RFUu38PTZ8yhocNHqiSnLb+7WQDBIWXqIMqVKyctWfy50z0xcdJUGjVmvHzPq7wLFi6mHr36yfPUH72stOkz05vC6HXRgnnSG6X+rHszhrI3vs/nz6VUKcN7ZNGfS66b90NKVwhYtB0R8zg1ZnE769ZrFE7oz/Ow2bOmU0jJ4pzFKfA4xu+h6TNnO6V7szOwf2/pRetVIWzRAxuBj/94Ek2bMlEmuxOA8Vg/c/oUqi7e6/r14xP5PdNQjE2u3t3+3JOjRgyhpk0aSS87VuOwPgbrz7od8yh/x7Pc4nmZM2cGpUubRlBxDjz37tSlG+0RomQ9sGB5+NDBlu9Qnjet37CJOnft4bWIWH9fROXcQPWxV4+u1LlTe2MhAJWu+ta+Y5dw4jg75wU8xg8S8/nEiROpqumvv/4SQtbDYl7QQKbxu3PNqmWUI0d2Iw9Hfvr5Z6pVq57L+5rzBPJc8Pl6uHntIsWN+1+ZxNd86bKV+mEZX7rocyojBFsczp07TyFlKsq4/oeFaIcP7ZXzFzU/0o9zfMrEcfSBYKPm9+o4jwE8zkyeOkMlhduqccybb6ZAxjRfvyfDNdTHBF8EYDymdu3i+K6+cfMWvVewGL0uvBPz90zs2LFlzU2atXQ5f+UM69euoMJC0MyB36tWHpDlQTd/Iut7zqoJdn6PXTh7khIlSiirGTJ0pF/vOas2clp0mZuZ27dt8wa5SI5so/Ai16SZwxuTnq9Fs8Y0doxjvvb777+7FGhfu3yW3nrrLbEgyT+UNXtuQ6D0qvheHTiwL9WuVZMSJnzX6ZuG6+H3UuWqNVwKcv15p+ntdxX3573AZfk7bvGzfe7MSdmcr8Q3VIPGzWmc4MoeyuOJhQVU4DF//vwvaPjIsTKJ5wL8m5v+/uAD/E1RUfwGpf+epcrQ574ZMwvhmBA3fjxutPxtSp/L8DfusOGjac5cx0Ij6ny11d/l7r79fB0nz585IX7zii/ncXp79Lk0L9xUsbJDHKba42s96jxX/Qg7cVh+r3M+XminU5ce6pRw2+5dO1K/vo7fB08KAXf5SlXD5UECCIAACIAACIAACIAACIAACIAACIAACEQmASkAIwjAIpM56gIBEAABEAABEAABEAABEAABEACBSCMQEYbD3HgWJXXq2C6cAY/eMRY79erdz0mYxQY8X21/4XkpXVBW+umnn/XTqGP7tjTkowFGGht0d+/Z19hXEeXtifdLhJRzMrJmTxIsXjIbGatzecsGL2w0c+bseZk8dfLH1KB+XRn/XoiLgoTIyFVgsVjy5Mnl4U+EwUz/gUOMrGyM16VzR7ds7t27TwULlwjnrUIZp/z5559CpNGRPp/3iVEuR5hp4mRpnNK83WGjlf79+sjsVqvE68fXrltPhQoWDCdg0+vavGWrpZGYnsdT3BeDQd0ob/iI0TRlmkPQpdehvNeZObGhVsOG9WVWNiYyC/ZUGSeOHaTUqVLJ3VGjx9HEydPUoXBbOw0OwxWuJegGg9z24OCc4YzetezUvkNXWrFqtZ4k42x8t2LFIipapEi4Y3rCBmHk3aJVOz3JbVzds5zphx9+oLfffttlfjYI7NCpG61ctSZcnkDbd+zIfkorjI29DXfv3qPc+QqRK6M6q3K6du9FixYvC3dIMWBD8slTplNPYWjuKkijyBy56dtvH7vKYqSfPB5qKTQxMogIG5AnTZHOSKpUsTx9KsSO7sY+zrx02Qq3Rm5GgVpE9ZOTXBkBBlo/G5mOGztKqzV8lI0DWUhnFrEFMvaGr8WRYsfzp4+tVmNvIH22arcdbeZy/X0m2ZPC+nWrKIcQX3sKGzdtoeZC0GcOeh9q1q4rBY3me7ri+9Xp2PETTkbVPLaYBdZ6WSNGjqE+vXuEExvo9bsaQ/neXvD5p3pWj/EPWFwlPFwFEiJiHufuWWYhEBvmsockd+HMmbNUqmwld1mMYyxIYNF+7tzBRpq7iCsBWOpUKWjThrVSqOvqfB4f+vYfRJ/N+8LIEsg9ufCLT6UnR6MwU4TrS5jEMW/Qn/VA51H+jmdBQenp4L5dhvjD1Fxjd9r02U4CzBXLFknxspHBIsLz5lRpM4YTSllkJf0ei8q5QZLEiWmDuPesxHB6u3XPr3bPC+YJQ/7WrT7Uq3OKz/10Ps355FPatXNrOPG8yuhu7uDvc6HKNm9D9++Swl1O5/GLxzFzuHHtgtFWbpvZ6y7n7yvGWjUfunjxEhUrWdYoJk3qVGJMWO32WebM585foKrVa4f7VuRj6h7z9M0UyJjmz/ckty2Q4IsAbPeOLYZg8JNP58mFILjuQwd2S89/HHf33cPCwYf3bhoLJ5SrUNnrRQq4bBUi63tO1adv7foe48VdunfrLItmj9284IqdQZ+LRKfvORY5q/HJlUdrfn8XKljAwFGtRh06GHrY2OcICz6Pim8xDvq3CS8iwOJi8xxOZtT+8Lf7ewWLhhOB+ftO04oOF/XnvcCFBDpucb3nzhyX7eF77Kcff3Q7L+L5b3yxoNHcOTNdvtNdeYbV7zeuiz2MuQuuvgvVOMvnNnCx+Ic/4+Q3D2+77JNq5wWxYFNx8RufCv7Uo8511Y/RI4dRq5bNZbYnT56IOU4mdUq47ZFD+wyO/N7uN2BwuDxIAAEQAAEQAAEQAAEQAAEQAAEQAAEQAIHIJBAs7K4olvgPHsAiEzvqAgEQAAEQAAEQAAEQAAEQAAEQAIHIIcCGwwP6O0Q/rlZfN7fk0f0XhmBWniGqVK5I8z6dY5zGRj77D4TSeWGkx0aTBYWBkFp1nA1ji5UoQ5evXDXys3BLGQH16TuA5n2+0DjGkc0b11L+/HmNNBZLsVBDD2zEcjh0r0xiw7/kqTIYh3mV9/NiBe9XXnnFOL54yXI6efKU8AaWlZo1bWx4I7l1+zblL1BM5mOjnmNHXnhEKFq8tFO7VQX66s2cliV7sCHmqPx+RSk8U3mZOXsTY+8WxYoWoZo1qhnCsIXCw5ZZ2Hb7xiXDMxMbQnEf2LCSvYw9+e0JsVF046YtVfE+bdkwWa1a/ODBA8qVx7HauypEP67SePvdd99J48HXXn+dShQvarSf25VeCPh++fWJnt2n+P8e3THyJ0mexq1R8dhRw6mFMCLjwHVXFx7cDh0+apxfrer7QvgyS+6zoaluMMSGzcqTyRcLFlNPIUy0CksWzqeyZUvLQ568wLHB4bSpE2VeFgxmzJLLqsiA08zPAxfIz9X9+w/o+IkTwhApnWH8ycesri2nz545lWrVfLGK9qlTYbR2/UZ6+vdTqlKlkuFNj/PWqdsgnHcQTrcK+j2rjrNHlKNHj8u2vJc/H2XKlFEdIhZJpRbe2f4UWz0E0j5e0bxpk4ayOGbDK3hPEV4j3hbeNNiwSxcdbPpyKwOks+fOSYEfeyzbvGmt0RTmd1aIQtlLYE7hhaN06RDjnmcjdithqBUDfn4vXrpCV65ckZ4VdG+Aq9eso7btHUamRsUWkd49u1GF8mUpffp0xrjA4+2lS5eN3N9+99gwzn733QR07vQJY+xjFmxkekRci6AM6ai4eH7fEJ7uVBgybCTNmPliLFfprrZ6PxuKVevNHsDsqF9//zDvzVu20YGDh6QntJo1q1G8uHGJn7fsOfI63UOBjr2u+mzH86ePrVbPp799jsg2c9n+PpOvvfYq3bh6wXjP8/W6cPGifI+xcJqv1WtCEMSB79FcwhPoQ+H1Ug86dx4zlKena9eu082btyhVqpRUVMwtOOh5V61eG04Aph9Xdfg6hrLHgbOnjxl94vdiz9795byCx9X+/XobbWRjXH7uOAwZNjycMbNqg7fbiJjHuXuWzeMpezlgz6U8bytfvozxrhgghO8sOPAmLBJeK8uLsUwFFhLt33+Q7ty5Szlz5qC8eXMb4yzn4bmOlRGu7qmVr+HWbdtpx45dwqNIQmrSuIHhxZXvmfRB2QwvoIHck+xBlBc80MdhnndevnxFdudXYTBcpVptGdefdZnw/I+v86hAxjM2UE6XNo2smd8Xe/ful967Moh3QA0xB2XvdTyHKi7EOGpuXqRwQVq3ZsXz1hLx3Hjt2g1079496QW2UqUK8r2yb/8Bw1uVkdlFRL/HVJbInhtwvToP3ufx6ID4Zrl95564l/NTvnx5OJk2sRi1ZRsZj6h5AV+Po8eO0a+/PKFSpUoaYwZXqo9zdwX3EydOEs+flGdizrNu/QZq1aYjR52Cv8+FUyHajhIfcpLVvCeF8G56SnhN0UPd+o3DiV13igU/+PnmMGXqdBoxapxxCnvsZQ/SKtwQ4/q+fQfo9ddfE/P1Ek6ebkJDD1G1mnVVVmOr32Puvpn8HdP8/Z40GuhnxPydqQSmenEs0B49ergY9xxzXz6mf7eyR6GZ0yfLU/h5Z+HmH3/8qRch4zVrVKU5wtsjB/Y6xOOmPyGyvues2mbX95ju+c7qfraq25c0O+YiXJ+/czNXbc0kvLQe2PfCo2/6jNnCCS71Z43LsfKU1K9PT0NAx956lUCcF/Xp0M4xtvK9eOPGTToVdlp6O+ffFdQYweXu3befan/w4p7mNH0M9/adxue5C3qZnM+b9wLnC3TcYgEYzyXNgcfZw0eOSu9putBOjWucn9mxt8U74t1VqlQJ47uQjzVt3kp+L3FcBav7jd8zp0+fFYsfnROexLNQvrx5jN/s+Dz+bcUs7NOvvdW3n7/jJIvrkydLJj2aq98N+Trw734q7N130BCq+1uPKstVP9jz5uWLZ4w5aAMhcvtqxy51mrFlT/G3xO90yltZjlz56dHXzt8uRmZEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQCCSCDgEYLGeC8CeEYWdPhNJVaMaEAABEAABEAABEAABEAABEAABEACBiCagGw6zsSwLiTwF3RDXLADjVdSvXT5PceP+VxbDhhqlylSke0KMogKLwDYI7x9K5KWLrDjP1i/XS2NfjlsZk/IKvbpIgdudNEVaJ3GQbmR08uQpKl+pGhcnw4Z1K41VqlmAVaxEafr+hx/VYWJD7uPC0xMLCTjohh66YQ97EmnfMbwnn48GDaCOHRyGTGykmSdfYVkOs7l6+ZxR7u49+wxhhswg/jCbLaL/bDzCRj0ZM+cQBne/qMOkG6dw4o9iZeiixcvYYmCiGyZbiRD041w3Gxq179iFVq9Zz7sylCxRlFYuX6J2qXef/jT/i0XGvq8RXwwG2YD72OEDTgajbPzdpWsvYQT1Bh09vN/w6lKhUlU6IYzWVdjFK+Q/90YzbvxEGj/BYRSpjqvtlEnjDS9wVtdP5eOtXQaHeplWcbMBFxtQl69Yha5evW5kn/jxGGrcqIGxnzJ1kJN3OTbu2793h2G01K//YPp03udGfo7oz5SV6NIps7ZjvmeXr1hFHTt313IQdenUngYO6GukTZ8xxzDo4sRA26ePGTNmzaEhQ0cadXFk/56vKHPmTDJt0uRpNGrMeKfja1cvoxQpklPbdp2c7hvOVLFCOSevP1bGb2YGLAwoU+59p2vA92faNKllvTxu+iIYHDZkILVr21qey2LSvPmLyLj5j36v8PjSpFlLJ5EWG7nt2bXNMChnQ8BMWXOFM/Q0l6v29X5acQi0/gLv5RfefRze63jcz5ErL339zbeqeiFAiE2DhPfJpUtXGMIFPmjH2GtUYorofeJD/jx/+thqHnv97bOpmU67drQ50GeyU4e21Fk890OHjwrnNS9pksR04lioMV57I9ri91H9Bk1ol3ivmoPeX2/K8uca9urRlXr3coxrLF7KmDmnIS7i9rCQhL3ZcDCL0mViAH/snsdxU9w9y7phNHv/YUN4PeTJnYvKlytLo8d+rCe7jJuNy1m8LBYjdBp3sojxmYXaSihrJQDje2rwoP6yHh7f+D0fJgyZ9bBj2ybKxSseimA2UA/0ntTH4WtCiFioaIhetYzrzzon+DOPCnQ80wWlPXr2cfLCy21q2KAu/f77705zu/HC62Kzpg4vT+wBJlPWYM5qBBb39u/bm/r2HegkvDUyWET0e4wPR8XcoI3wujVi+EdG63heV69BY3FdxD+EPg+FCr5HnTu2p/qNmqkkubV7XsCi+4qVqxvfMryQxaGDe4x5GVfK7+QP6jUUi2ocMtrCnpwyZEgv9/mbIEMmh6BKZQj0uVDl6Fv2KHb8aKiRxN8q+ncUi9N7if/1wCLRNmIOpYd7t68aYt/8BYoKYaFj0QfzczJt+iwaJjz76kFfkIHTrQQ55nvM1TeTv2NaIN+Tel98jZsFYPxe48Dfju+++w4lTpRI3hNKGM3H9gihZ526zsIZnf8w8S6eNmM2Z3UKeh+t3p9Omd3sRNb3nFUT7PgeqyUWGJg90+H12WoMtKrX1zR9rsLn+jMXCXRu5qrN+neU2YOmeYEcLsM8l+U0XfA5/uNJNE78z4G9zPHiFJcuX6Z27Ts5zev5OAsVWbDIgef+vCCMPkb7806Thbn44+97wY5xy0oAZv5ubde2FQ0bMsip9eyhskSpssaCQ2++GY8unjtl/NZ24GAo1ahVz+kc8/3Gi4ewN0V9LOe569rVyw0xMufRPTVygfo4a/Xtp48hvv7uxuXr3+hLxKJJXbr35uRwIdB63PVj+5YNxmIxLMRTon69ER3bt6WPBjvmoFb3v54XcRAAARAAARAAARAAARAAARAAARAAARCILALBwblEVc/gASyygKMeEAABEAABEAABEAABEAABEAABEIhMArrhsD/1mgVggwb0EUbdHYyi9NXGjUQR+aB2LZox3WH4w+ksRNiydbvM0qF9GxoyeICMm40ZdUNhNrBVRo+t23SQ3orkSeLPrq82G16PRo8ZJzz5OFYvZyPifULswYGNiMzex+QB8adt65Y0fNhgubtz1x5hENpExvv37UXdujoMGK1WvedMYScPyxWLOa7XrQtouF8srHj69B/O5hTWrVlGRQoXlmndevR2Mo7XjVPYcDh33oL04OEjp/P93dENl+7fv0/BeZ29qunH2Qi10vvV6ZTFQkHnz5ygRIkSymbM+eRTGjh4mL9NIl8MBrmS14XXmMOhe4i9yKjA15lZKY9vVoakurCva/dewivbcnW601a//mfFKtssbnQV7DA4dFW2nq4bcLFnmSLFSzkZznPeuP+NQzeuXTQMiUuXrShW9z5vFKMb5R0MDRUrfDsbiamM16+epzfjxZO7KVJnsPQWoPKqrX7PDhL3wmxxT1gF3cDLLIAKpH1sBHf9iqOvfC8kSuoQWeltKF+uDC1aME8m6avS63ncxfV73uzFgs/TGVgJJjiP7o2Bn6+kKdJxsldBFx7cvnOH8r1XNNx5OYR3w107thrproSOvIL6xfNhxr3irTcyLljvp9kI0I769WfqifCqkzpdZqM/7iJ2jL2uyrfj+dPHVvPY62+fXbWX0+1ocyDPpLu2qWO88n+F8uXkrtUzqfeBM3USotJlQlxqFfS8VsJt/bi/Y+iaVUulF0+u36oOTtfnBgULl6DrN25ycsDB7nkcN8jds3xBeFBNmPBd2e7RQiw7UYhmAwm6YS0Lt8zCd1W27l3WSgCmixlcvWt04YqvRvye7kl9HL569RoVLlZKNd3Y6s+6v/OoQMYzFo89un/LaI+3Hip0sQ17r2OhUqBBv8dcXS+uI6LmBly2fs/cF949g02ebzmPv8GXecFXX+2kBsJrpjns272dsmRxvOdYWFoipFy4cUN/Lvj5SZI8rVMxeh9dcfbnubhx7YKxoMWAgc7e/tQ3GL+nWZTEi3bw2JojOL/RtqCg9BS6f7fcN7/PdU/QvDBJhferGefpEZ2x1fXT7zF330z+jGmBfk/q/fA1bhaAeTqfv2ObNm8Zbs4+bcoEqle3jjzd1eIBD+5eN8TYhYuFOC0u4ale/Xhkfc/pdaq4Po8yf1+oPJ627FWcRZkcdPGSp/N8OW7HXCSi5mbr1yynwoUdvwuYxUS6R0Ce1zAn/t5KmSbI6Z7Tn2v27Ort7xdvxotL18R3nPKspN+H/r7T3F0Xfcy0Gldcnav3z99xyywAc7WQjv5c8ndfETHfMHvw+3TODKomPJRyuH79BhUsUlLG1R/9fgsV3/7VXHz7jxC/h7URv4upwN7dXS1OZP72s2Oc1N+DS5YsFQKwPqopxtaOevT3hbkfZcuUoiWLPpf18bskZaoM4cTuejsnTJxCY8ZNMNqHCAiAAAiAAAiAAAiAAAiAAAiAAAiAAAhEFYHgYMeCiLGKh5R7xkqwsDB4AIuqi4F6QQAEQAAEQAAEQAAEQAAEQAAEQMBuAnYbDn+5cQ29lz+fbOa58xcopHQFl02+cvE0xRfetjgsWLiYevTqJ+PsgeuyOKZCZiGU+u7x93J3yEcDqEM7h3ctFmUtW7JApm/fvoMaNmmhTiHdCCd7zjzGatK6pyF3Ah4WEt0VK9Nz0D05sJjkmvDipYyQzAI33SiPjZ/SCIHCk99+k+Ww5xr25sJh6rQZNHzkWBk3/2nRrDGNHePwUDRv3hfUp/+LVZ5145S169ZT67YOMZq5DH/2dcNkswiBy/N0XNWpG3OzB67GTV8YDak83m59NRhkD2TzPvvEMEo11/O//31LufMVDGckdfXSGXr77bdl9kbiPtom7ieroK+6ffeu8O6W3yHUs8prh8GhVbnmNN2Ay5XwgM/RDdraihXWdc9tN4U4THntM9/Ten2rViymEsWLySSzFzU9nx7X71mzQZWer369OjR1ssNYio2rEidLYxwOpH265x02oE4hvJ+Zg26IzPdI1hx5zFlc7rOh45LFX1C6tGlkni1btwlBayun/N4w0A2w+eSESVI5leFuRxceuBKA6WM9eyBiw0x9BX29/JXLF1PJEo7rfOPmLSpQqLh+2GXcXT/tqJ89lF259MKjz7FjJ8T40sJ4P7hqmB1jr6uy7Xj+3I2t/vbZVXs53Y42B/JMumsbH2MD2MGD+hkeH9hjQPZcjnmFOlfvw0Mhgs4pjIldBT2v1Rjp6bgq190YqhuHT5w01dL7lRJFcHkdOnajFatWq6ID2urPlj8FmYX8XIa7Z1kXu7HgpEOnrk7vE1/boAtJlixdTl269bIsQhe6mAVg+tzLk4c19b63EstYViwSvbkn9XHYGwGY1TxL1e9uHhXoeHbt8ll66623ZFXfffed9Ap09twFVbXltmWLZjR61DDj2NzP5tOgwUMtFzEwMnmIuLvH9FMjam7AXssungszqrJ6DoyDPkbsmhfMmzuHqlRxLDRw5cpVIfAvHa4l+r3PB5ML8fifQkTOQT9m93OhzwfNCwcoccJpsUhE7NixjQU5UqfNZHwT6aKR0NBDQnxQV7bZLIAoVaYCubo/mwuvdOOEdzoO5nkjp+n3mLtvJn/GtEC/J7l9/gb9unpbBl//5h+2cfL6yt42z4QdM4rIKQR6D4VQTwV9cQRf58aqDLWNrO85VZ++DfR7LF2aNHTk8D5ZJL83UqfLFO47Uq/P37gdc5GImpvpv0389PPPlD4om9FNJXzhb6yZsz4xFsrR5zn6dxZ7NkuXIatxvqcIn7t313ZDiNimXUdas3aDcZo/7zTjZFPE3/eCXeOWXo6rRUu4yWfFc6s8os79dB71FyJcc9DnhlaCd2/vN/NvX+wl7NDho0Z1+jhr/s63Y5xU9xdX6EoAZkc97vrBdeuL4AweMpxmzZ7LyTKwF/q7t67K3wf5umXIlD3cYjwqL7YgAAIgAAIgAAIgAAIgAAIgAAIgAAIgEJkEgnMJAVgs8V/xkLLPhP6LwixWdo7MBqEuEAABEAABEAABEAABEAABEAABEAAB+wh07dyeBvTvKwtk45Catet7LHzXji3SoI8zmg0m9dXYp02fQ8NGOIRMVoWuXL5IiAwcwgLzSsn6auy6kUXo/l0UFJSBlPGvMjLUV/TWvYSZPYgt+HwuVaxQXjaHV6N3JfThDE2bNJT5zGUc3LeTMmZ0iEhWrFwtjJ+7yXz8Z/DAAdSpo0OgZhbA6WxYsKYb2RkFiEjKlCmoVEgJmbT/wEGna+LJOEUvx9d49y4dqF8/x6rKVobJno6r+pYKMUyZ0iFyd/eeffRBvUbqkM9bXwwGK79fkeZ9OtsQ57GRUMaMmShv3txGGjeAPbcVFV6yvv7mW6M9uiGVO08yfXp1p549usrzLly4SCVKOe4loyAtEqjBoVaU26i3BlyXL4RRggQJZFn6iuLm1dO/WLDYZX3FixehtMIQkoPZ44NMtPjj7T2bMmVyOnnskFFC2vSZ6ZdfnwjPbc4eS3xtH5//8N5N4x5IKQRgvwsjRT3oBuZnzpyl0uXe1w8b8dixY1HjhvWpYsUKlCN7NukFR4lBVaaDwpC5+nNDZpXmDQMu++sHt9UpwotHGq+N63XhgSsB2MLPhUelCg6PSp7uXd3QU421RsPcRNz10676t2xaR/nyvRDosaHdseMnhEeGibRn7wHL1tkx9loWLBIDff64XE9jqz99dtVeTg+0zYE+k+a2lSpZnOoJAWjevHmk90zlrVHlszIW9rYP3vTX27JcjaFcx+yZU6lWTYdXpG3bvqJGTT9UzTe2l86fonfeeUfuFyhYnG7cumUcCyRi9zyO2+LuWc6fLy+x2F8f+3j+uGT5SpokvB7oniE89YvHPfZIpcqqWbsu7T/w4j2gn+9OAFarZjVxDRyeyNizlisvnlxendo1KE6cOLJosycLVZ8/96Q+DrsUgHmYZ6n63c2jAh3PenbvQn1691BVyS0LfefMmUufL1hkKQxmL6JnTh93EtezoGSr8Nw7ctQ4v+5ld/eY3riImhvUrFGV5sxyeAf2RQyot43jETkvGDtqOLVo0VRW6UoAxgf1ubJ+T9v9XMiGPP+jz3H1MTq3+Afl7ds2yVzsafT1198QnqHbyf2evfrSFwuXyLguiNXnk7o31L/++ouSpUz/vMbwmzjCs9jtm5eNA+wV+d79B8a+t/eYP2OaHd+TRkN9jJgFYPqCASxESJM6tfj+yUBNGjeUninVO5XnS2bP1+q7mpuwcNES6t7T8ZsA7+vf6fM/X0i9+w7gZL+Cfo96mt8G8j1n1Tj9XtV/L7DKa5U2aEA/4x72NH+2Ot/btEDnInbPzfR28zvg5vVLRlKW7MH07beP5f7DezfoP//5D508eYo6d+1JB8TvJBx0j8cD+vWirl0ci9aYf9uQmZ//eVWU065dK6okvrPSpEktF2dhEakehgwbSTNmzjGS/HmnGSebIv6+F+wat7wVgB06sJsyZHCMja4EYPr4bxbtcbe9vd847x0xzrInRw79+g+mT+d9LuP8x904a8c46Y0AzI563PWD+zlq5FBq9WFzjtJNMX9/T8zjVdC/m628ral82IIACIAACIAACIAACIAACIAACIAACIBAZBMIDs4lqnzGAjB4AIts+KgPBEAABEAABEAABEAABEAABEAABCKagG44bOVlw6r+R/dvClHGK/KQWQCmH2vfsSuxtw1XQTdsZC8EmbPlNrJ+9slMqlq1stw/dPgIVa1eR8ZV+UowphuFKE9h+qryuvERF6B76ZAFevHH7DVIN/JgMVFQZof7dC4q7ORhacDO8W6x1/snAABAAElEQVQ9etOixcs4KoNqu9r3ZmsWo3gyTvGmTFd5PIkQPB1X5S5eMI/KlSsjd838VR5vt94aDLKXnIvnw4z7sq/wmvaZ8J7GgVe4nzljMhUtUsSo1ny/6ffRyFFjaPLUmUZePTJ54lhq2MAhktyzd5/wnOFa3BaowaFer7u4twZcuqhSN8LVPWS5q8d8bIIw9B8zzuGxy3xM3/f2njULoCpVriGFPXa0T38uN27cTC1atdWbSOeEYXvixIlkmpWRKxtVThw/hmrXrkmvvvqq07nmHX8FYFyOfr8nTpba0hDfXB/v68IDVwIwfexjo/3GzVx75subJ5i2bn6xun6K1Bm88nbg7lrbVT9fi03r1ziJwBQTNuwd/NFwWrZilUqSWzvGXqcCtZ1Anz8uytPY6k+ftSaGiwbaZjueSW5Um1YfUvdunQxhariGPk/QxQUqj7d94Pye8no6rup0NYby8YpCXLlAiCw5sCeaXLkL0KOvX3hS0Q1xAxGbyApMf+yex3Hx7p5lPl6jWhWaMX2y4ZGD0ziwwGDf/gPUpm1Hj575OH/OHNlo51dbOCqD7iFIpamtOwHYx+NGG6J9ld+brVmIF8g9qY/DgQrA3M2j7BjP2JCZvXop4Z1ixYIbFoENHDQk3PuHveBsFJ5sEyVKqLIb2+s3blJb4ZUl7PQLD43GQRcRT/eYOi2i5gb6PWOeE6q63W0jY14wasQQatWyhWyGPwIwvY/u+mI+Zn4uzMd5X/d4wvvK27JeZ578hejNeG/Snl3bOIsQd75Y1EL31Jw+YzbDW4p+/jff/I+y5cwrz3X1R38eOnftQUuXrTSyenuP8Qm+jmn6nMao0EPE/D3pIbvLw+4EYOaT0qRORQfF4ilq7mpenEQXrpgXPNG9XuYSXjYfCG+b/gZ9futOABbo95xV+wL9HtPFirrHcqu6AkkLdC5i19zMVR/0xVKGDhtF02fOJr3O0WPG08TJ00gtzqPfT7x4EC+cwUH/BlV18bf6tKkTxbd6YeNbXh0zb80CMD7uzzvNXC7v6+OPL+8F/bxAxi1vBWD6YkSuBGA8pn0yZ4bsZqACMH0BA3fe6c0ewOwYJ/XfaFx5ALOjHk/vCx6bLl88Y8yb1DuPAe/c/iXlzJlDsra6P+UB/AEBEAABEAABEAABEAABEAABEAABEACBKCDg7AFMNCAs7EwUNANVggAIgAAIgAAIgAAIgAAIgAAIgAAIRAQBuw2Hv35wy/AO1rpNB1q7fqPLZg8fOojatmklj5tX5C5bphQtWfS5PPbLL79S2gxZqHixwrR6pUNQpUQ6uthLGSPpRkZmY8ATxw5SqpQpjTaxsaun8M0331Bw3kJGNjb6vH/numGgVLR4abp85SrpBnls4J0sZTonA1qdDR9nI3FP4asdO6lp89ZGNk/GKUZGPyKeRAiejqsq3Rkuqzzebr01GJw3dzZVqVJJFmv2yqbqatKoPk34eKzapbFCvPSxEDFx0Fe5/+TTedK7lZFRi+h9W7J0OXXp1ks76hwN1ODQuTTXe4EaDJYsUVT03+GRgWvx5pngfP2EyE55cuB9V8HbezZB/PjCsOq0UUy+9wrT7Tv3hJfAwNunG7hyBQcOHhQCwQVyNfNBA/pS0qRJZL3s0SS7MDb+/ocfjXa8/tprdOzIAUoijBNV4Of3sBCm7tt3gPbs2089unUxRI9RIQAb+tEAat+ujWyeKwGYPvZZieBU33jriyhDP8/dtba7/nJlSxNfu8yZM+lNkPGdu/ZQvQZNjHQ7xl6jMFMk0OePi/N2bPWlz6ZmOu0G2mY7nkl9LFWNu3TpMu3YtZv27z9IKVMkp4+F6JJDTBCAsUgl7MQRYyxhQ/8xYyfQxUuXpDiMPbEosc28+QuoT7+BqtsBb+2ex3GD3D3LqsHsEWTE8CFUo3pVw6OWOsZjZLkKlenM2fMqyXKrG49zBnfCV3cCsMkTxwlxdj2jDm/fY5mzBRvCk0DvSX0cjkgBmF3jWfp0aWnsmBGWBvdswJ43f+Fw3jIZcKcObalN65aGaNqALiK6x1493SruzT3G50XU3GDKpPHUoH5d2TRvF8BQ/YisecHI4R9RayGU5eCPAMyO50L12Wp76vghSiHGag7Dho+iaTNm0/GjByh1qlT05MkTSp0uszymxF5qLNc9NZtFFnqb2VNzjuD8sgxXf5T3IT6ue7flfW/vMc7LwZcxTZ/T8LnejDnm70k+z5+gf2/y+boHMKvy+JkdPKi/PGTl1VX37lO5ai06cvSY8BxWiNasWi7Puf/gAQXnKWhVtNdpkfU9Z9WgQL/HdD6NmrRw6z3cqn5v06LD3MxdW2dMm0Qf1Kklsxw+cpSqVKtNkyeIhVGEZ2QOSiSo/w6TI1d+KYZXYwDnUx6eOc6BvQZ+uWmtk6Ccx4+du/bSwdBQ2rlzN20W3n8TJnxX5nclsPH3nSYLff7H3/eCXeOWPwKwT+Z+RgMGDdW7IeN2CsBuXLtgeAD9eMJkGiu8O6rgbpy1Y5zUBWCLFy+lrj0c3upV/by1ox53/VB1bdu8nvLkcSxYpebyPP9nT+PsqY4XQUiVJqPl3EmVgS0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIRCaB4GDHItbwABaZ1FEXCIAACIAACIAACIAACIAACIAACEQSAbsNhy9fCDO8eUycNJVGj/3YZU+WLv6CypQOkcfPnj1Hpco6BDzqBN3INUv2YBo8sD/Vr/eBPKwMitgjwZHD+2TasWMnqFKVGkKcdU2udG5lhLF86UIqFVJC5t+wYRN92Lq9qs6n7bo1y6lIYYcoTAmB+vXpKbyZdJblWIlArghxS3whcuHQsnU7Wr/hSxn35Y83xim+lKfn9SRC8HRclaUbUUeWBzB9VfKMmXM4CXhUu3irt+3sufNUqkxFeVg3+GLvJbXqNNBPM+KhYhX9oKAMcl8XkBkZtEigBodaUW6jgRoMxnnjDbp987Ksg5+ZpCnS0tOnnsWJbhulHfT2nuXnkp9PDtyORElTy7hd7VuxbBGFlCwuy7T6w4LMZi1a0xbhHUsP+j3D6VOnzaSxYlz78++/jWx6Hqtn31sGuoGsOyGEUfHziC48cCUA8zTe6mU2aliPJk0YJ5NYFJc8leOe1/NYxd31M6LqZ0Po/v36UN0PahuiXG7biJGjacq0WbKZdoy9Vv3ltECfPy7D27GV83Lwps+OnNZ/A21zoM9k/Xp1aOrkF94DWZDZSgjGv/32sdFgffxUogHjoIh42wc+x1NeT8dVve48gHEeNtw9E3bUEHqp8/St2fuKfszfuN3zOG6Hu2fZqp1saNyvXy9KK+ZkKijxvtq32rLg4ub1S8ahwsVC6OrV68a+HnEnAGvauIEhGPRGNKKXy3E77kl9HI5IAZjd4xl7curQtjV16NhOeGuKZ6BhEQiLQVyF4Fw56KPB/Z28q/K7u1iJMnJRBFfnqXRv77GImhs0b9qIxo0dJZvD4p1kKdOrpnnc6u98zhxR84JABWCBPheeQEwYP5pY3MqB5z41a9czDOF1783bt2yg3LmDZT4WiTRt0sj4Xtq8ZavTQhe+zD9e/c9/6P69G7Jc/lOwcAlib3QqeHuPqfz61tOYZtf3pF6nt3FfBWAssNm+bZMsXp9fq/qmTZlA9erWkbvbt++ghkLkpHvinjxlGo0cPV5l92urz2/deQAL9HvOqnH6fMK84IxVfj0tmVgg4vSpo0aStx5xjRN8iAQ6Fwl0buapqUUKF6R1a1bIbGpedvJYKKVMmcJJqN+rR1fq3au7zDd69FhaLzwvs4cmDlZiW31u9bf4tmrfoUu4BYT0PK4EYLIC8cffdxqf7+97wa5xK7oKwL55eNuY2/ICG7zQhgruxlk7xklvBGB21OOuH6qvpUuVpGVLFshdJV6uVvV9+vQTx/em1e+Z6lxsQQAEQAAEQAAEQAAEQAAEQAAEQAAEQCAqCAQH5xLVPiMhACv7jBsAD2BRcRlQJwiAAAiAAAiAAAiAAAiAAAiAAAhEDIEundrTQOFFhYOVUY5VrY/u3zQM7evWa0S79jgEWJxXXxn36LHj9H6VmlZFyDTdyEuJqPTMutimd59+1KljB2lk9NPPP1P6oGxGVmWwwauas/GfMtSyMgLu27sH9ejeRZ57//59J89eRoFeRHQPZf/737eUNUceadzEq09zsFohfOf2Lylnzhzy+MpVa6h9x64y7ssf1Vc+p2Hj5rT9q52+nO42b7cuHaSQgjNZsfF0XBWuG8ZGlgDswd3rxsrh7oQzDRvUpckTHUaMjx8/pkxZHQapuuEWe25JkTpIdcfYsqHpXSEu5BWeOVSv+YEweD1sHDdHAjE4NJflbt8/g8E+wnvXUqPYe7evCoO51+S+3feVt/esvor8jz/+SBkyOZ4VblSg7WOjxbWrl0vjNRY0/UdcS3Udedw4eSqM2rTtQF9/863BREX09o8TK56PFyufm4N+z0e1AOzO3bvCc0sRcxNJN8j0JMzQPeq5Ki9cBSJBZ2W+jyK6/vhvv0UH9+82PARcvHiJioeUk820Y+y16i+n2fH8eTu2mtvgrs/mvPq+HW0O5Jn8cuMaei9/PtmkkydPUflK1fTmybg+fipDYz2Tt33gczzl9XRc1asbIPfs5TyGch59/sPzFCWmYXHpt99+RxMmTKJ5XyxSxdm2tXsexw1z9yy7a3gH4YlwiPBIqEKpMhXo7LkLatdyq4v9+w/4iOZ+Nt8ynzsBmL4YAPNOKUSrukjXskAt0Y570hsBmLfPuv5OMc+jInI8W71yifC2W1SS8VYUlT9fXtq4fpXxXTBz1hz6aOhIja511Nt7LKLmBroXKm5h8ZJlhcc+hxjeusUvUvW2R+S8IFABWKDPxYseW8d0YRELa9q272wI+QcKjzRzhGcaDt26dBTfF71lfPSY8WLxj1KUP39eud+iZRvauGmLjPOf1KlSCC9ioca+8gZrJGgR3cMNP/eJk6XRjvo/jumFuBrT7Pqe1OvyNu6rAEz3gGz1jZNUeLg9E3ZMVq+O60JTdwtreNtmbwVggX7PWbVHn0/4KgBr0bwJjR09QhZr/v3Bqq5A0uyYiwQyN/Om7brHvfQZs9HVS2fl9xQL+WvUcngCS5E8GZ064fg+PnHilPCYtt34fWG98AzfUgj+VdAFT5zmahzW518fDR1BM2d9oopwu/X1nebve8GucUvnYSXWVJ09uG8nZczo+K0ioj2AFS9WmFavXKaqFr/BZaWffv7F2Nffh+ZvPzvGSScB2JJl1LW7411iNEBE7KjHXT/0uq5dPktvvfWWTCpavDQNHTKIWBjGoVuP3rRo8QtWMhF/QAAEQAAEQAAEQAAEQAAEQAAEQAAEQCAKCWgewFgAFksIwE5HYXNQNQiAAAiAAAiAAAiAAAiAAAiAAAiAgJ0E7DYcHjNyGH34YTPZRDZcyZOvEN27/0Du63/KlS1Nixe+MPJlMRSLovQwsH9v6tK5o0zatu0rKivOYdGG2UPThnUrqVDBAjLf9JmzqWP7tjK+avVaatfBIfZS5RYskF8Yqq5Wu9RaGCGtFcZI/oQ7wmvSG8J7Eof8BYrS0cP7pcBEGc+ZyxwvPA00Ex4HODx9+pRy5c5vKTgxn6fve2ucwufEjh2L/vlHruejF+Ey7skw2dNxVbA7w2WVx9uttwaDupiwbv3GxAbTVqF7107Ur28veejmrVv0XkGHRyhmdf/OdSkM4oNVqtWiw0ccxpCqHF085o0RoD8Gh75eM26bHQaDvDK7Ei9aCScVA3+23tyzLK67JZ6n//u//5NVsMFghfdfiEICbZ8y7ucxKUu2YPru8feUQHjj+/XJr/THH3+67NYrr8SmR/dvGcdTp81ET4RgzBz0lcejQgCmi6uePHlCqdNlNjeR2Eh/86a1RrorocWb8eLS1cvnDIHcVuERrXGzlsZ57iLurnVk1K8bOesiNzvGXlf9tuP583ZstWqDqz5b5VVpdrQ5kGdSN+Tt228QfTb/C9U0Y9u8aUPhnWe03I8JAjDd4HnHzt1Uv2FTIYiJLbx+vu3k2czooIsIn+OrB0a753HcNHfPsoumG8m6J9ihw0bS9JlzjGNWEV1o8PDhI8opPARZhVYfNqdRI4fKQyzcTSXGYz3oixOYjcz1fFZxO+7JyBKAReR49roQgt8VgnAVMmfNJd+Xat/Vlj1iKAPow0eOijlUbVdZjXRv7rGInhvo4kNvPXdE5rwgUAEYww7kuTAulpuI8rrMWfi7q3atGjJ3piy56PH338u4Lmrg+V1QxgxSIMtzMiuvs3qb9x84KDyLOYQlsjDtz6njhyhFiuQy5Ztv/kfZcjpEZSqLN/eYyutuazWm2fU9yfN+Dr58r/kiAOPy+X2dNk0aWc8lIXIsJsSO5hCqeTju0bMPTfh4rMxy4+YtKlDItfdcczmu9iPre86qfn++x1Q5+jN47959yi1+1/AmvIzfc9zvXTu2UI7s2SSCLxYskt78eMc8l7tx7QLFixuX+F194uRJw1OkeYEc/dqYF/+QlTz/o88TfBGA+fNO8+e9wM20Y9zSx8roIgDTxwaruZe7cdaOcVL3IHn8+EmqWLm6fmvIuB31uOuHXuHIEUOodcsWMmnFytVUqWIFihv3v/K3veSp0vs8h9fLRhwEQAAEQAAEQAAEQAAEQAAEQAAEQAAE7CYAD2B2E0V5IAACIAACIAACIAACIAACIAACIBCNCNhtOBz3v3Ho8sUz9Oqrr8pesjFviZCy9P0PPxq9ZqHJju2bpbEEJ7ryPKavpsxee1SZvXr3o88XLDbKMxsFK1GW2TuZOkE3ZGGxVtXqtYUHoPAL3gTncnggCjt9Vp3qtNW95Fy9eo2CgjLI4yxWa9T0Q6e8vGNmw551yparbBhI6idUfr8ihQrvUsp4Uh3zxjiFRU49e3SVYppDh4+I/tVRp7vdehIheDquCo8KAdiiLz6j8uUdBo0//PADZc+VL5ywh43ALpw/JQ3SuK3Llq+kTl16qGaT3m5eIT44T0FD7MNiobCThw3B3/zPF1Lvvi+8nBiFaJG6dWrT9GkTZYo3K86zAXWpkBLEBl+TJk+jMeMmaKW5jvoj5mDjzgWLlhqFsoesdWtWGPsbN24WK7S3C2eQyobPtWvWpOUrVxl5PUX0e5YNST+o24Bu37lnnMYG3ls2rze84/GBkqXK0/kLF408gbZPtYHZZsqS02k8MipxEfnm4W0p7OTDNWvXpf0HDjnlnDl9MtWp/cLTYVQIwGrWqEpzZk032pUjV3569PXXxr6K6CvGs3cXFjqeOBmmDhM/Izu/2mysKs8eNXLlLmBZlnGSFlGcOalp81a0ecs27ShRoPXzyvxbN28gXu1+9NiPncrmnRXLFlFISYehsu65zI6xN1xlzxPseP7cja3+9tlVezndjjYH8kzqRvuLFi8VK+b3cWpusyYNaeyYkYYIMToKwMxjqO7hxtUcwKmTph02+t26eR0lT56c2Mi8dNlK4d7/plOMXbvncVyw/iybPTosXfwFpU+fluo3aErXb9w02sER7seZsKPGmFlHjPd79h5wymPe6denJ3Xv1tlInjZ9Ng0bMcrY5wh7YRkzarhRrpURsm6Uy+eYrxGncXj33QRCEJuPtghxqwp23JORJQALZDzj9+0JIZrh92uLD9sYcxzFgZ+98eMcwkvdoxLPs/v07k6du/YMN67zubpx/mIXHjpUHWqr32NRNTeYMmk8NahfVzWJPvl0Hg0YOMTY58g7CeLTogXzad78hbRytWMBiciaF+jikytXrlIR4W3EKujiGrN3lkCeC6u6zGlbv1xPefPmlsnqW81qzqu8pqg8fIL+ntbL1fvN6XxN+Nro4eNxowzxCae3adeR1qzdoGdxO47pGf0d0wL9nhw0oC+1b9daNmXipKmWHmb1dqq4twIwnj/MmjnVEOzw+RMmTrH8vtDnkX///bexIMbwEaNp6vRZqmq/t/o9miR5GpciCTu+58yN9PV7TD9/3qdziL1Pcjh77jyVKuOI63nM8Zf1e4772VN4Ue8jvKlz0J9l9gb2008/y3T+s2bVUipWtIjc599a2Ms0v1NY8KmLHUuXKknMiwPfd+zhXV9ogz3dbli3ijJnfiH41gVg/r7TZIUu/vj7XrBj3LJXAFaZPpkzU/bSauEa/VuAF83gMdTsWX740EHUtk0rg5SVx0v9XW717RfoOLng87lUsUJ52QZ9cQ+jUc8jgdbjqR+qvjffjEfXxEIpsWLFkvcsexXncOToMapctZbKhi0IgAAIgAAIgAAIgAAIgAAIgAAIgAAIRAsC8AAWLS4DGgECIAACIAACIAACIAACIAACIAACEUMgIgyHdQNSbjV7pNmw8Uu6ffsOZc2ShSpWLGcYlvHxCpWqOokQOE0FtYK02uet2biRDTGuXzmvZ5FGRomTpXFKUzssLDt25KBhSMyikK++2kk7d++hH4TwJygoiFiAxcZG3333HWXO5jBsVOerbbasWWjPLmeBAx8rX7GKpaCMj+neWnifRRjLV6yi4ydOCMHS35Q7d06qVaMavfPOO7JNDRo352xG0I1TzEbZKtODu9cNT0qcZhbTqHzmrTsRAuf1dFyVpwup2BMXe+TyJnw0uD/ly5vHKWvBAi88gbBhDV8rFQYPHkanTp+RuywqPChWr3/llVfkPt9zLBBhLyC///47la9QjkYMHUxvvfWWPM4e2AoWLkG3xD2pAl/P3Tu3GvcFCxM/mzdflPkfatWyOSVIkEBmZQO2rNlzh/OKwQakvAK0CokTJ6K0adLIXa7v2PET6hA9FUZu1WvVM/ZZbPjVti+Nfb4vkqVMb+y7i+gGXOxFj73pWQXdw4mVYbzuxYrP/9//vhUiuVV07vw5ihsnDhUqXIiqVnlfCjG7du9Ji5e8EIxZ1afS9HuW0/ga7t23XwocU6VKKVbOLm+w5eN8rPYHDTnqFAJp34ljBylVypSyPPYSsX7DJnr06BH9La4Lh6d/P5XX8/SZ03T16nWZpv7onh/4uvBYtmPnHipYIJ9c9TthwndVVrmNCgFYsqRJ6PSpo0Y72Kh63LhJFCfO61REXLeWwtMhB/PYx/fyjh27KEw8R0mSJJbX9+233zbKmTJ1Oo0YNc7Y9xS5JASWPHZxOHDwIA3+aLgwmL1gnBZI/exN4eK5U8a9ws/nl5u3Cm9/eyi+MNBnLwKFCxU0nl/2TNCzd3+j7kDHXqMgU8SO58/V2Bpon01NNXbtaDMX5u8zqXsL4vGAvXquW7+BUiRPQe9XquBk6Mv1xAQBWCkhPFwuBIgcuE/8XJ0+c1a2XSaKP09+/ZUePvqadu/aQ3+Kd4AeJk0YS40a1jeSWOQ4YNBQY99dJCLmcfq4rc81WIg1dvQI2Rzu5+49+8T/e4m9J1WtUpmqV6tsPKP83vPGGwLf57euXzIE1lz4xYuXhCHyDpkWUrKEIbBXHKwEYHxMH695nw32N27cRLdu3aakyZJJkXXxYkX5kBC3vievB8ftuCcjSwDG7fV3PNNFsmyUv+nLLbR79z4hNnxM9et+QBUqlDXmjzduOjz/BAWlpwN7dxqCTL7WbCR+MDRUztnq1K7ldH28Ef1xH/R7jPejYm7A4oGrV86Jd2UcboIM7B1227av6P6Dh1SieDEqWaKY/GZhsQN7EP3p51+c7rOInBfogoIrV/wTgHGn/H0uHETc/+3Qrg0N+WiAUyblBVFP1O89lb5g4WLq0auf2nXamtvMnsNCDx0R33d/U+XK7xtea/kkV8Ic/R7TxzG9okDGNPOchu9hb78n+d67I7ztqe8WFr/weKmLY/R26nGzAIzvVxVee/01SpwokRC6vkvm+elpMdcrU76yyhpuq3u25oPcnzTCo6wuyAl3kkVCVH/PBfI9Zu7Olk3rKF8+x7epq+8T/ZyX+XuO+6kLlFS/Hz9+TJmyBqtduTX/FsSJuudtlTmO8KR+W3iAVoF/d+Fv2fNiDlCudGmxuEsZYwEglUcXgOnjirfvNFWOq62/7wUuL9BxS+fLz1+ipKktm6kvqOFqvlhDzMe8FYCpSi4IcTiP3xwqit9O1OJGvM8L7ARlzslRp+Drt58v4yRX1LZNSxoufsNRYaeYQy9dtoyCMgQJYeGrNHL0eHkokPGYC/DUD1U/b7eJhWvy5HH+fbBFyza0cdMWPRviIAACIAACIAACIAACIAACIAACIAACIBDlBOABLMovARoAAiAAAiAAAiAAAiAAAiAAAiAAAhFHICIMh7m1Zq84Vj1gA5AxQqQzUXg7chVWrVgsDTDVcRalZM3hLBLiY7rRBu9fu3adChUN4ahlaFD/A5owfoyTEM0yo0hkD2GHDr8QV+j5zPX++OOPlCGTw3OYnk+PT544jho2eCH+0Y/pcTaeTpI8rZ7kZDDrypjx4b0bTv2aPWcuDRJCDE/BlQhBnefpuMrnrwDs6OF9pARTqix32/YdugpvDGuMLLVr1aBZM6YY++4ibdp2oDXrNobLUqdWTZoxfZIhIjFnYMFM/QZNaJcwejeHrx/cMgykzces9hMmSWUk580TLD0bGQkiUrpsRTpz1lnYqB9XcbvEHOxVZMP61U6eAlQd5i17fWEBnTdBN8BlfrFjx3Z5GguXygjPN7rHQJU5kPbpXgJVea62bOC2ZOly+mjoSJmFx4opk8J7m9LPZ6NGde9GhQCM27JLeO7KkSO73iwjXrhYiCFsY6NM3buSkckU2bN3H9Wp28iU6n7XbBBnZbDub/3sfY69ALyXP5/7Roij/J7InitvOEPqQMZeV5Xa8fy5Glvt6LNVu+1oM5fr7zPJRppHDx/wOBYo0WZMEIAxD7PhL6dZBR4H2QNTu/ad6bIQdXBYu3opFS1SxMjOBq71xLvGmxAR8zh93NbnGmxQPG3qJOnNw1PbuvfoTQsXL/OUTR7ncmcLL4bu3g88NiuBqisBWI7sWWn1yqUUX3jt9BR0T5523JORKQDjvvkznrGgqFXLFi7nOIoZ36OFCpekG+LdxgKw1SuWUlIhNPYUtm/fQQ2btPCUTR7X77GomhtwQ4oXKyw9fCnvwa4az+KCskI8c/HSZeE1LHLmBXYJwPx9Llyx0NPZQ+7li6f1JOrYqZvwFOvwlqYO1Ktbm6ZNcXjFVWnuFgBhIc2a1csNr73qHPP2/oMHVKFiNUtPpfo9po9jehmBjmn+fk+aRVzcJrMXJb2detzqXP24VfyMECRXrFQtnPhYzzt18sdUv94HRhKLQUoIj7y+hqj+ngvke8zc1+NHD4jFExzfa6tWr6V2HbqYszjtv8zfc6qjVy+dMd7FnGY17vP88KYQduvhs88+p74DXgh51DH9dwOVpm/5/cDzel5YhYMuAPPnnaaX7Sruz3uBywp03IpqAZgrHjznqlWngdNiNiqvN99+/o6TXAcvEnDn5hXLeScLs5OnyqCaIt/N/v6+500/VEWlS5UQCwcsVLtyQSdvF+4xTkIEBEAABEAABEAABEAABEAABEAABEAABCKBAARgkQAZVYAACIAACIAACIAACIAACIAACIBAVBH4sHlTGjPaIQ5ijyrZc3k2rn90/6axYnndeo0sxTDcHzaO4JWH34wXL1z3Hj58JD1DsSGlu1C3Ti2aPm2SkWXr1u3UuFlLY19Fvpj/ifTGo/a9ET2xAd2ypYuIPT/FihVLnWpsr1+/Qb369KP9Bw4ZaebImJHD6MMPmxnJLBzp0q2Xse8qUrBAfpr36Zxwq7NzfhbGsUeUrqKce/cfOBVx7fJZw4uVK2Ha4IH9qX27VsY1slqJ36nQ5zuthVHwyBFD5N6Nmw7PD88PyY2n4yqvbsjliwcwfTVrVZa7bfMP20jvFXqeTBmDaO6cGZQlS2Y92YizIKVl6/bSgNdINEVYSDZh/GgnjxCchUUILVu2dXm/m4V3pmKddq1W9d64fpXwKvXC41nX7r2El63lTudZ7axZtZSKFXUIB8xej/T8njyAqbwsluLV+1977TWVZGzZ0IrbNPijYfS7MIb2Jqh7lld1L1uhMq1cvsTJcwOXwTxWr1nn0bCS8/rTPjbuPxy6z0kYyWW5C9Omz6ZhI0bJLP369KSuXTqGEyewQSJfJ/aIcibsmMxrJQBTDDiDq+eWj/3v0QuPdImTpQ4nYOI8rgJ7Qtz65Xqn1dpV3t59+tP8LxzeiTgtZcrktEoY9KdLm4Z3nQIb+XGf1qzd4JTuzQ6Pa+vXrjQ4/fLLr5Q2Q5ZwpwZSPxtlThVG5MmSJrUct9n7RodOXS1FhNwQf8fecJ14nmDH8+dpbA20z+a229FmvUx/nkn2/Ddj2mQnr4lcJt9/06bPovETJhuCZysBmLd94DI95fV0nMvg4GkMnTt7OlWvXtWR2Yu/3Feec/3008/SMxV7VFOhSrVadPiIY0xRaa62ETGPczdmsceFSRPGCW9fVQxvUXrbWAjfq3c/Wrt+k57sMc5Co3WrV1CiRAmd8rLxN88lmjb9kC4Jw/N4cePK+yRV2kxO+dQOCyf53qohroWVoOx74el1zLgJNG/+AnWK3AZ6T/bq0ZV69+ouy+J3QikhZjYHT8+6yu/tPMqf8SxF8mT02dxZxP/wZ8WHF1DgeRKLFPXAXji4f8zfHNh70cxZnwhPHGO9fm+peywq5waqH+yFZvGiecJjZuFw7xWen7CHpVbCk6Y+74mMeUHf3j2oR3eH4MRKUK3a/83D20a7U6YOcmqnyuPvc6HOd7fVx0bOZ9WG18Wc8s6tK0Y7+Z5JmiKdu2Kld5f54lupTJlSxnnqBB4X5otn2EpQovKoe4z33c29Ah3T/P2ePBy615gPs9fD4iHlVNPdbq08X+sn8D3L3o9//PEnYuHXIOExmcWcnkJS4QlWzWU5L4/jny9Y7Om0cMej+nsu0O8xvUPnTh83hEfTZ86mocMc3wV6HnP8Zf2eU/3U30+cxqI4FseZg86Oj7la2IQ9bi1e/LnwtlicsxmB72N+HzVo1Ey+z/v36y2P6QIwTvD3nWZU5CLiz3uBi+LxxN9xK/7bb9GVS2dli3iMc+XNfuf2LylnTseCQ648gOkiJSsvbfpiECuEYJe9BpYKCb+4C49N1WrUcftd5c23n7/jJMNwJazje4Q9c373+HvJjP/4W4+337CqohvXLhjzIfaG+4H4TRQBBEAABEAABEAABEAABEAABEAABEAABKIbgeBgh0f3WMVDyj7jxoWFnYlubUR7QAAEQAAEQAAEQAAEQAAEQAAEQAAEojGBdxLEpzKlS1HWrJnlysF7hJHEL78+iTYt5pWF2asMi2jY69ahw0foxPGTbldJt6vxbFxUvERRKvBefnpw/yEdOBjqVpzkbb1s6Pnw3k1pMOnKMMjbsmJivjfjxaV8+fJSntzBksEp8XvW0aNH6aeff/G6O2xQVqtmdfr776fCsG01ff3Nt16f62/GcmVL0+KF8+XpZcu/T2GnHUZg/pYXyHlsQFVaPLcsqrtw4ZIQQh6kB0K4aUdg49VqVd6n1KlTERtN8TP3zz/yp0evi/e2fbyaOnsjYO8ebEzXpm1HiiWeed2IPSgogzSGz5c3jyESY6P0zNlyG+1ho7ySJYtLg7vLl6/Qpk2bo9U4phrK16t06RBhAJeQbgoh5zbhkeXho6/VYactG2QXL15UiKIK0K1bN2n7V7ssvWg4neRhh8VdNapVleLWk6fCaK2Fpz1VRCD187idP18+4b3FIX48cfIUHT9+wutnPKLGXtW3iNgG2ueIaJNeprfPpDqH31MlihcT1zEvsVhw7br1to0xqo7I2o4bM5KaN2ssqzsu5g+jx46lFClS0n9eeUWmxRVC+LzifZRb/J8yZQqjWV269RQeB1fIfRaqflCnNi1bsZLu3r1v5InOkXffTSDndyykZ4HK0WMnDK9m/rabPQqVLhVCWbNlpt27dwtBvGsRvqc61HiYIP7bdFyMEaGhh6XgztV5MfWe9Hc8Y9Eds04oDL9ZtHbk6DGX7wvFTNX1Xr789O1339Ixcc1Ph522Zc4cmXMD1R99y2NscK6cUojA4rhdu/fQyVPO3q30/DFlXqC3meO+Phfm8yN7n69L3jx5xHUpRrwQwXYh9Pa0gIi/bQxkTON2+vo9yZ7Rnon5r9ljmr/tD+S8NGJOfuzIAVkEz5eTpUwnvov/CaTIgM+143su4Eb4UcC/5XvODzQuT+E5UEjJEpQ6TWo6ePCw+D7c4/P95887zWWDnh/w9b2gyovMcUvV6ctWF4AtXbaCOnftKcVrZcW3f958eejEiZO0Y8duS0GxuR5fvv38GSe5Pv28V1/9P/kO2Lr1K3oiFlOwCnp+b3/f86Ufd25elr8tcN216tQNaK5q1X6kgQAIgAAIgAAIgAAIgAAIgAAIgAAIgIAdBCAAs4MiygABEAABEAABEAABEAABEAABEAABEACBSCTQU3gMUJ4oPqjXgPbsPRiJtaMqfwmwB6c8eYKlUCl5qvQ+G775W+/LfN7Y0SMMYcaAgUNo7mcOgZ1Vn8sI4dSSRZ/LQ2z8miR5WqtsSAMBEAABgwAbmd6/c1163WTvV0GZHSvqGRlMkVPHD1FyITDmsHjJMurWo48pB3ZBAARAAARAIHIJsOcqXpCEQ+ihw1S9Zt3IbcBLVBu+516ii/mSdoUFYPmE0IsDe3Br37HrS9pT+7vVsX0bGjyovyyYvRSnD8pmfyUoEQRAAARAAARAAARAAARAAARAAARAAARsIBAcnEuU8oyEB7ByYhneZ/AAZgNUFAECIAACIAACIAACIAACIAACIAACIAACEUVg8MD+1LFDG1n8g4cPKThPwYiqCuXaROC1116lVSuWGIaXq9eso3YduthU+r+7mLAThyhZMofYImuO3PTtt49dAqletTJ9MmeGPM4ewLJkdxjGuTwBB0AABP71BMqWKWV4bmTvX5Wq1HDL5Mypo5QkSWKZp2v3XoYHMLcn4SAIgAAIgAAIRBCBPLlz0tbNG43Sy1WoHKVeiI2GxLAIvudi2AX7FzcXAjD/Lj4/49cunxPe0l6TBcyYNYeGDhvlX2E4CwRAAARAAARAAARAAARAAARAAARAAAQimID0ACaUX0IAVvaZ0H+JH33PRHCVKB4EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMAfAksWzqcywhidw99//01ly1em8xcu+lMUzolEAhfPnaR33nlH1vjo0ddUsHAJevLbb5HYgpe3qn27t1PmzJlkB5csXU5du/e27GySxInp4IFdFC9uXHl867bt1KRZK8u8SAQBEAABRSBb1iy0e+dWufvnn3/K8fve/QfqsNN26EcDqF3b1jLt2bNnlDZ9Foz1ToSwAwIgAAIgEBkEEsSPT4+//54KFMgnvN9+Ycx/r127ToWLOb4lI6MdL1Md+J57ma7my92XLzesofz588pOwgOY+2utxkr+rWD1yiUUFJRBnvDXX39RUKYcmMe7x4ejIAACIAACIAACIAACIAACIAACIAACUUhACsBE/Q4BGMUSHsBOR2FzUDUIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIArAjOmTaI6tWvS98Kgr279RmIhn3OusiI9GhE4eSyUUqRIThcvXqL3hfeYX359Eo1aF7Ob0qtHV+rVs5vRiatXr9Gnn82nEydP0h9//EVZs2amWjWqS+Fk7NixZT5+fvIXKEo//fyLcR4iIAACIOCKwN1bVwxvAGwQumbtelojPDneuXuPEiZ8lwoVfI+aN2tqeP7ickaPGUeTpjg8DroqF+kgAAIgAAIgYDeBN9+MJ73YsBA5VqxYRvFPnz6lPPkK0UOxGAWC7wTwPec7M5wRNQQgAPOe++ULYfT22287jZV8dus2HWjdhk3eF4ScIAACIAACIAACIAACIAACIAACIAACIBDJBBwCsFgsACsn/H89EwIweACL5GuA6kAABEAABEAABEAABEAABEAABEAABEDAKwKJE71LVatUoblC4IIQcwjky5uHEidORF9udniRiTktjxkt3bBuJRUs8J5XjWUPbOUqVKFHX8P41StgyAQCICDGl/y0bs0KUiJSd0j++ecfmjFzDg0fOcZdNhwDARAAARAAgQgh0KxJQxo3dpRT2U+ePKHGTVvQ/gOHnNKx4z0BfM95zwo5o5YABGDe8X8zXly6duW8U2aex48eM56mTJvplI4dEAABEAABEAABEAABEAABEAABEAABEIhuBJw9gAkJWNhpCMCi20VCe0AABEAABEAABEAABEAABEAABEAABEAABEAABFwTaNG8CbVv15pSpkgRbgXvP//8k+7eu08fDRlO27/a6boQHAEBEAABFwTSpE5FQ4cMoNKlStGrr77qlIuNRX/++WfasnUbDRw8jH766Wen49gBARAAARAAgcgiUKxoIRoyeCDFjx+f7j94QEeOHKWJk6bRk99+i6wmoB4QAIEoJNC6ZQuqVrWybMGcuZ/Sho2bo7A10bfqdxLEp0/nzqJUKVPSDz/+SKdOhdGs2XPp+o2b0bfRaBkIgAAIgAAIgAAIgAAIgAAIgAAIgAAIPCfgLAATifAAhnsDBEAABEAABEAABEAABEAABEAABEAABEAABEAgphJIIAxekyRJTM+EKOPy1av0zz9i1SsEEAABELCJwCuvxKZ06dLQ66+9TvfvP6TH339vU8koBgRAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARcEzAJwGIJAdhp17lxBARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAINIIvBCAlSz7jGLBA1ikkUdFIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIOCBgBSAPSOKVTxECMCEAgwewDwQw2EQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiCQCLzyASQEYPIBFEndUAwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIeCTgEYLGUBzAIwDwSQwYQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQiCQCUgD2jFgAVk5snlFY2JlIqhrVgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIuCPg8AAmBWBlhQAMHsDcwcIxEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEIhMAhCARSZt1AUCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACPhAIDs5F9OwZxSoeAg9gPnBDVhAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARCIcAJSAEYQgEU4aFQAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAr4SCM6VkyiW+A8ewHxFh/wgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgELEEHAKwWM8FYM+Iwk6fidgaUToIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgIBXBIKDc4l8z+ABzCtayAQCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACkUggODinrC1W8ZBywv/XMwoLgwewSOSPqkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEDAJYHgXEIAFkv8Vzyk7DOh/6Kw0xCAuaSFAyAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAQiQSCg3OJ2p6xAAwewCKRO6oCARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAAY8EnD2AiexhYfAA5pEaMoAACIAACICAzwSEm00EEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEPjXEYj1r+sxOgwCIAACIAACdhMIDs4pi4QHMLvJojwQAAEQAIEYTgCCrRh+AdF8EAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEACBGEkAgrEYednQaBAAARAAgQglEBycS5T/jIQArKy0dIcHsAjljcJBAARAAASiBQGIu6LFZUAjQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMAvAhCJ+YUNJ4EACIAACMRYApoHMBaAxaKwsNMxtjNoOAiAAAiAAAi8IACR1wsWiIEACIAACIAACICAZwJZMmemt99+S2Y8cuQo/fMses6nMgZloGpVq1DOnDno2T//0OUr12jhokV05+49z52MoBy5cuSgOP+NI0s/c+Ys/frkid812VmW342IRiemTZ2GkiRNLFt069Ztevjoka2ti+jybW1sDCwsQfz4lClTRtny7x9/T5euXPGrF/HixqXs2bPJcx88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)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aa9576ca" + }, + "source": [ + "## Install packages and import modules" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "8c304b93" + }, + "outputs": [], + "source": [ + "# install packages\n", + "\n", + "!python3 -m pip install -qU openai pandas==1.5.3 wget elasticsearch streamlit tqdm\n", + "\n", + "# import modules\n", + "\n", + "import os\n", + "from getpass import getpass\n", + "from elasticsearch import Elasticsearch, helpers\n", + "import wget, zipfile, pandas as pd, json, openai\n", + "import streamlit as st\n", + "from tqdm.notebook import tqdm" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "de32a789" + }, + "source": [ + "## Connect to Elasticsearch\n", + "\n", + "ℹ️ We're using an Elastic Cloud deployment of Elasticsearch for this notebook.\n", + "If you don't already have an Elastic deployment, you can sign up for a free [Elastic Cloud trial](https://cloud.elastic.co/registration?utm_source=github&utm_content=elasticsearch-labs-notebook).\n", + "\n", + "To connect to Elasticsearch, you need to create a client instance with the Cloud ID and password for your deployment.\n", + "\n", + "Find the Cloud ID for your deployment by going to https://cloud.elastic.co/deployments and selecting your deployment." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "3a57b6a8" + }, + "outputs": [], + "source": [ + "os.environ[\"es_cloud_id\"] = getpass(\"Elastic deployment Cloud ID\")\n", + "os.environ[\"es_password\"] = getpass(\"Elastic deployment Password\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cb2ng640_o2n" + }, + "source": [ + "Test the connection with Elasticsearch." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "NJkflYkGHnGL" + }, + "outputs": [], + "source": [ + "es_cloud_id = os.environ[\"es_cloud_id\"]\n", + "es_password = os.environ[\"es_password\"]\n", + "\n", + "client = Elasticsearch(\n", + " cloud_id=es_cloud_id,\n", + " basic_auth=(\n", + " \"elastic\",\n", + " es_password,\n", + " ), # Alternatively use `api_key` instead of `basic_auth`\n", + ")\n", + "\n", + "# Test connection to Elasticsearch\n", + "print(client.info())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JiA-4-Kb-C3K" + }, + "source": [ + "## Configure OpenAI connection\n", + "\n", + "Our example will use OpenAI to formulate an answer, so please provide a valid OpenAI Api Key here.\n", + "\n", + "You can follow [this guide](https://help.openai.com/en/articles/4936850-where-do-i-find-my-secret-api-key) to retrieve your API Key.\n", + "\n", + "Then test the connection with OpenAI and check the model used in this notebook is available." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "imKyf8sm-caV" + }, + "outputs": [], + "source": [ + "os.environ[\"openai_api_key\"] = getpass(\"OpenAI Api Key\")\n", + "openai.api_key = os.environ[\"openai_api_key\"]\n", + "openai.Model.retrieve(\"text-embedding-ada-002\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "80b55952" + }, + "source": [ + "## Download the dataset\n", + "\n", + "In this step we download the OpenAI Wikipedia embeddings dataset, and extract the zip file." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "c584f15c" + }, + "outputs": [], + "source": [ + "embeddings_url = \"https://cdn.openai.com/API/examples/data/vector_database_wikipedia_articles_embedded.zip\"\n", + "wget.download(embeddings_url)\n", + "\n", + "with zipfile.ZipFile(\"vector_database_wikipedia_articles_embedded.zip\", \"r\") as zip_ref:\n", + " zip_ref.extractall(\"data\")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9654ac08" + }, + "source": [ + "## Read CSV file into a Pandas DataFrame\n", + "\n", + "Next we use the Pandas library to read the unzipped CSV file into a DataFrame. This step makes it easier to index the data into Elasticsearch in bulk." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "76347d10" + }, + "outputs": [], + "source": [ + "wikipedia_dataframe = pd.read_csv(\n", + " \"data/vector_database_wikipedia_articles_embedded.csv\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6af9f5ad" + }, + "source": [ + "## Create index with mapping\n", + "\n", + "Now we need to create an Elasticsearch index with the necessary mappings. This will enable us to index the data into Elasticsearch.\n", + "\n", + "We use the `dense_vector` field type for the `title_vector` and `content_vector` fields. This is a special field type that allows us to store dense vectors in Elasticsearch.\n", + "\n", + "Later, we'll need to target the `dense_vector` field for kNN search.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "681989b3" + }, + "outputs": [], + "source": [ + "index_mapping = {\n", + " \"properties\": {\n", + " \"title_vector\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 1536,\n", + " \"index\": \"true\",\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " \"content_vector\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 1536,\n", + " \"index\": \"true\",\n", + " \"similarity\": \"cosine\",\n", + " },\n", + " \"text\": {\"type\": \"text\"},\n", + " \"title\": {\"type\": \"text\"},\n", + " \"url\": {\"type\": \"keyword\"},\n", + " \"vector_id\": {\"type\": \"long\"},\n", + " }\n", + "}\n", + "client.indices.create(index=\"wikipedia_vector_index\", mappings=index_mapping)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "c2fb582e" + }, + "source": [ + "## Index data into Elasticsearch\n", + "\n", + "The following function generates the required bulk actions that can be passed to Elasticsearch's Bulk API, so we can index multiple documents efficiently in a single request.\n", + "\n", + "For each row in the DataFrame, the function yields a dictionary representing a single document to be indexed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "efee9b97" + }, + "outputs": [], + "source": [ + "def dataframe_to_bulk_actions(df):\n", + " for index, row in df.iterrows():\n", + " yield {\n", + " \"_index\": \"wikipedia_vector_index\",\n", + " \"_id\": row[\"id\"],\n", + " \"_source\": {\n", + " \"url\": row[\"url\"],\n", + " \"title\": row[\"title\"],\n", + " \"text\": row[\"text\"],\n", + " \"title_vector\": json.loads(row[\"title_vector\"]),\n", + " \"content_vector\": json.loads(row[\"content_vector\"]),\n", + " \"vector_id\": row[\"vector_id\"],\n", + " },\n", + " }" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "b8164b38" + }, + "source": [ + "As the dataframe is large, we will index data in batches of `100`. We index the data into Elasticsearch using the Python client's [helpers](https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/client-helpers.html#bulk-helpers) for the bulk API." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "aacb5e9c" + }, + "outputs": [], + "source": [ + "total_documents = len(wikipedia_dataframe)\n", + "\n", + "progress_bar = tqdm(total=total_documents, unit=\"documents\")\n", + "success_count = 0\n", + "\n", + "for ok, info in helpers.streaming_bulk(\n", + " client,\n", + " actions=dataframe_to_bulk_actions(wikipedia_dataframe),\n", + " raise_on_error=False,\n", + " chunk_size=100,\n", + "):\n", + " if ok:\n", + " success_count += 1\n", + " else:\n", + " print(f\"Unable to index {info['index']['_id']}: {info['index']['error']}\")\n", + " progress_bar.update(1)\n", + " progress_bar.set_postfix(success=success_count)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "rnJbAQdgbXSm" + }, + "source": [ + "## Build application with Streamlit\n", + "\n", + "In the following section, you will build a simple interface using streamlit.\n", + "\n", + "This application will display a simple search bar where an user can ask a question. Elasticsearch is used to retrieve the relevant documents (context) matching the question then OpenAI formulate an answer using the context." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "I55fQHW589RP" + }, + "source": [ + "Install the dependency to access the application once running." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "LnL-wOdRct5O" + }, + "outputs": [], + "source": [ + "!npm install localtunnel" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LkEHb4VMevcc" + }, + "source": [ + "Create application" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "_J7keMUAewy1" + }, + "outputs": [], + "source": [ + "%%writefile app.py\n", + "\n", + "import os\n", + "import streamlit as st\n", + "import openai\n", + "from elasticsearch import Elasticsearch\n", + "\n", + "\n", + "# Elastic Cloud\n", + "es_cloud_id = os.environ['es_cloud_id']\n", + "es_password = os.environ['es_password']\n", + "\n", + "# OpenAI\n", + "openai.api_key = os.environ['openai_api_key']\n", + "\n", + "# Define model\n", + "EMBEDDING_MODEL = \"text-embedding-ada-002\"\n", + "\n", + "# Connect to Elasticsearch\n", + "client = Elasticsearch(\n", + " cloud_id = es_cloud_id,\n", + " basic_auth=(\"elastic\", es_password) # Alternatively use `api_key` instead of `basic_auth`\n", + ")\n", + "\n", + "def openai_summarize(query, response):\n", + " context = response['hits']['hits'][0]['_source']['text']\n", + " summary = openai.ChatCompletion.create(\n", + " model=\"gpt-3.5-turbo\",\n", + " messages=[\n", + " {\"role\": \"system\", \"content\": \"You are a helpful assistant.\"},\n", + " {\"role\": \"user\", \"content\": \"Answer the following question:\" + query + \"by using the following text: \" + context},\n", + " ]\n", + " )\n", + " return summary.choices[0].message.content\n", + "\n", + "\n", + "def search_es(query):\n", + " # Create embedding\n", + " question_embedding = openai.Embedding.create(input=query, model=EMBEDDING_MODEL)\n", + "\n", + " # Define Elasticsearch query\n", + " response = client.search(\n", + " index = \"wikipedia_vector_index\",\n", + " knn={\n", + " \"field\": \"content_vector\",\n", + " \"query_vector\": question_embedding[\"data\"][0][\"embedding\"],\n", + " \"k\": 10,\n", + " \"num_candidates\": 100\n", + " }\n", + " )\n", + " return response\n", + "\n", + "\n", + "def main():\n", + " st.title(\"Gen AI Application\")\n", + "\n", + " # Input for user search query\n", + " user_query = st.text_input(\"Enter your question:\")\n", + "\n", + " if st.button(\"Search\"):\n", + " if user_query:\n", + "\n", + " st.write(f\"Searching for: {user_query}\")\n", + " result = search_es(user_query)\n", + "\n", + " # print(result)\n", + " openai_summary = openai_summarize(user_query, result)\n", + " st.write(f\"OpenAI Summary: {openai_summary}\")\n", + "\n", + " # Display search results\n", + " if result['hits']['total']['value'] > 0:\n", + " st.write(\"Search Results:\")\n", + " for hit in result['hits']['hits']:\n", + " st.write(hit['_source']['title'])\n", + " st.write(hit['_source']['text'])\n", + " else:\n", + " st.write(\"No results found.\")\n", + "\n", + "if __name__ == \"__main__\":\n", + " main()\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BU1WKBVGe5ZY" + }, + "source": [ + "### Run the application\n", + "\n", + "Run the application and check your IP for the tunneling" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "-oQa-VV6e40J" + }, + "outputs": [], + "source": [ + "!streamlit run app.py &> /content/app.log & curl ipv4.icanhazip.com" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZXLKpEvMe-D2" + }, + "source": [ + "### Create the tunnel to access it from anywhere\n", + "\n", + "Run the tunnel and use the link below to connect to the tunnel.\n", + "\n", + "Use the IP from the previous step to connect to the application" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3.11.3 64-bit", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - }, - "vscode": { - "interpreter": { - "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" - } - } - }, - "nbformat": 4, - "nbformat_minor": 0 + "background_save": true + }, + "id": "ertvvtnifAZy" + }, + "outputs": [], + "source": [ + "!npx localtunnel --port 8501" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AcvvIMxxGIun" + }, + "source": [ + "Success you build your first Gen AI Application.\n", + "\n", + "You can try it by asking question such as \"Who is Beethoven?\" or \"What is football?\" and see the answers." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "WHBfQus1TfRG" + }, + "source": [ + "## Next steps\n", + "\n", + "Now you know how to quickly put together an interface that allows you to ask questions and get answer from a specific dataset, in this notebook example, wikipedia.\n", + "\n", + "You can adapt this example to use your own dataset, and use the streamlit application as a blueprint for integrating with your own application." + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3.11.3 64-bit", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.3" + }, + "vscode": { + "interpreter": { + "hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e" + } + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/supporting-blog-content/plagiarism-detection-with-elasticsearch/plagiarism_detection_es.ipynb b/supporting-blog-content/plagiarism-detection-with-elasticsearch/plagiarism_detection_es.ipynb index 0018e5ff..c34872fa 100644 --- a/supporting-blog-content/plagiarism-detection-with-elasticsearch/plagiarism_detection_es.ipynb +++ b/supporting-blog-content/plagiarism-detection-with-elasticsearch/plagiarism_detection_es.ipynb @@ -1,470 +1,434 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [] }, - "cells": [ - { - "cell_type": "markdown", - "source": [ - "**Blog: Plagiarism detection with Elasticsearch**" - ], - "metadata": { - "id": "kmMkWI9MH7SG" - } - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Q9cqVF6lJtYw" - }, - "outputs": [], - "source": [ - "!pip install elasticsearch==8.11 #Elasticsearch" - ] - }, - { - "cell_type": "code", - "source": [ - "pip -q install eland elasticsearch sentence_transformers transformers torch==2.1.0" - ], - "metadata": { - "id": "wwi3NpszKa_U" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "from elasticsearch import Elasticsearch, helpers\n", - "from elasticsearch.client import MlClient\n", - "from eland.ml.pytorch import PyTorchModel\n", - "from eland.ml.pytorch.transformers import TransformerModel\n", - "from urllib.request import urlopen\n", - "import json\n", - "from pathlib import Path\n", - "import getpass" - ], - "metadata": { - "id": "8JSAt-uUKcix" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "# Found in the 'Manage Deployment' page\n", - "CLOUD_ID = getpass.getpass('Enter Elastic Cloud ID: ')\n", - "\n", - "# Password for the 'elastic' user generated by Elasticsearch\n", - "ELASTIC_PASSWORD = getpass.getpass('Enter Elastic password: ')\n", - "\n", - "# Create the client instance\n", - "client = Elasticsearch(\n", - " cloud_id=CLOUD_ID,\n", - " basic_auth=(\"elastic\", ELASTIC_PASSWORD),\n", - " request_timeout=3600\n", - ")" - ], - "metadata": { - "id": "ctmF7sNwKd5o" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "# Set the model name from Hugging Face and task type\n", - "# open ai detector model - developed by open ai https://github.com/openai/gpt-2-output-dataset/tree/master/detector\n", - "hf_model_id='roberta-base-openai-detector'\n", - "tm = TransformerModel(model_id=hf_model_id, task_type=\"text_classification\")\n", - "\n", - "#set the modelID as it is named in Elasticsearch\n", - "es_model_id = tm.elasticsearch_model_id()\n", - "\n", - "# Download the model from Hugging Face\n", - "tmp_path = \"models\"\n", - "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", - "model_path, config, vocab_path = tm.save(tmp_path)\n", - "\n", - "# Load the model into Elasticsearch\n", - "ptm = PyTorchModel(client, es_model_id)\n", - "ptm.import_model(model_path=model_path, config_path=None, vocab_path=vocab_path, config=config)\n", - "\n", - "#Start the model\n", - "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", - "s.body" - ], - "metadata": { - "id": "AXeDnvJWKfll" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "# Set the model name from Hugging Face and task type\n", - "# sentence-transformers model\n", - "hf_model_id='sentence-transformers/all-mpnet-base-v2'\n", - "tm = TransformerModel(model_id=hf_model_id, task_type=\"text_embedding\")\n", - "\n", - "#set the modelID as it is named in Elasticsearch\n", - "es_model_id = tm.elasticsearch_model_id()\n", - "\n", - "# Download the model from Hugging Face\n", - "tmp_path = \"models\"\n", - "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", - "model_path, config, vocab_path = tm.save(tmp_path)\n", - "\n", - "# Load the model into Elasticsearch\n", - "ptm = PyTorchModel(client, es_model_id)\n", - "ptm.import_model(model_path=model_path, config_path=None, vocab_path=vocab_path, config=config)\n", - "\n", - "# Start the model\n", - "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", - "s.body" - ], - "metadata": { - "id": "wFiJAVpBKjkP" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#source index\n", - "client.indices.create(\n", - "index=\"plagiarism-docs\",\n", - "mappings= {\n", - " \"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\"\n", - " }\n", - " }\n", - " },\n", - " \"abstract\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\"\n", - " }\n", - " }\n", - " },\n", - " \"url\": {\n", - " \"type\": \"keyword\"\n", - " },\n", - " \"venue\": {\n", - " \"type\": \"keyword\"\n", - " },\n", - " \"year\": {\n", - " \"type\": \"keyword\"\n", - " }\n", - " }\n", - "})" - ], - "metadata": { - "id": "S-SNKitkKmHC" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#ingest pipeline\n", - "\n", - "client.ingest.put_pipeline(\n", - " id=\"plagiarism-checker-pipeline\",\n", - " processors = [\n", - " {\n", - " \"inference\": { #for ml models - to infer against the data that is being ingested in the pipeline\n", - " \"model_id\": \"roberta-base-openai-detector\", #text classification model id\n", - " \"target_field\": \"openai-detector\", # Target field for the inference results\n", - " \"field_map\": { #Maps the document field names to the known field names of the model.\n", - " \"abstract\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", - " }\n", - " }\n", - " },\n", - " {\n", - " \"inference\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\", #text embedding model model id\n", - " \"target_field\": \"abstract_vector\", # Target field for the inference results\n", - " \"field_map\": { #Maps the document field names to the known field names of the model.\n", - " \"abstract\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", - " }\n", - " }\n", - " }\n", - "\n", - " ]\n", - ")" - ], - "metadata": { - "id": "XdxP1bJ2KocF" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "client.indices.create(\n", - "index=\"plagiarism-checker\",\n", - "mappings={\n", - "\"properties\": {\n", - " \"title\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\"\n", - " }\n", - " }\n", - " },\n", - " \"abstract\": {\n", - " \"type\": \"text\",\n", - " \"fields\": {\n", - " \"keyword\": {\n", - " \"type\": \"keyword\"\n", - " }\n", - " }\n", - " },\n", - " \"url\": {\n", - " \"type\": \"keyword\"\n", - " },\n", - " \"venue\": {\n", - " \"type\": \"keyword\"\n", - " },\n", - " \"year\": {\n", - " \"type\": \"keyword\"\n", - " },\n", - " \"abstract_vector.predicted_value\": { # Inference results field, target_field.predicted_value\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 768, # embedding_size\n", - " \"index\": \"true\",\n", - " \"similarity\": \"dot_product\" # When indexing vectors for approximate kNN search, you need to specify the similarity function for comparing the vectors.\n", - " }\n", - " }\n", - "}\n", - ")" - ], - "metadata": { - "id": "cN4KjsXKKyTu" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "url = \"https://public.ukp.informatik.tu-darmstadt.de/reimers/sentence-transformers/datasets/emnlp2016-2018.json\"\n", - "\n", - "# Send a request to the URL and get the response\n", - "response = urlopen(url)\n", - "\n", - "# Load the response data into a JSON object\n", - "data_json = json.loads(response.read())\n", - "\n", - "def create_index_body(doc):\n", - " \"\"\" Generate the body for an Elasticsearch document. \"\"\"\n", - " return {\n", - " \"_index\": \"plagiarism-docs\",\n", - " \"_source\": doc,\n", - " }\n", - "\n", - "# Prepare the documents to be indexed\n", - "documents = [create_index_body(doc) for doc in data_json]\n", - "\n", - "# Use helpers.bulk to index\n", - "helpers.bulk(client, documents)\n", - "\n", - "print(\"Done indexing documents into `plagiarism-docs` source index\")" - ], - "metadata": { - "id": "svjGh_hUK136" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#reindex with ingest pipeline\n", - "\n", - "client.reindex(wait_for_completion=True,\n", - " source={\n", - " \"index\": \"plagiarism-docs\"\n", - " },\n", - " dest= {\n", - " \"index\": \"plagiarism-checker\",\n", - " \"pipeline\": \"plagiarism-checker-pipeline\"\n", - " }\n", - ")" - ], - "metadata": { - "id": "_lHg7p6SK5Ws" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#duplicated text - direct plagiarism\n", - "\n", - "model_text = 'Understanding and reasoning about cooking recipes is a fruitful research direction towards enabling machines to interpret procedural text. In this work, we introduce RecipeQA, a dataset for multimodal comprehension of cooking recipes. It comprises of approximately 20K instructional recipes with multiple modalities such as titles, descriptions and aligned set of images. With over 36K automatically generated question-answer pairs, we design a set of comprehension and reasoning tasks that require joint understanding of images and text, capturing the temporal flow of events and making sense of procedural knowledge. Our preliminary results indicate that RecipeQA will serve as a challenging test bed and an ideal benchmark for evaluating machine comprehension systems. The data and leaderboard are available at http://hucvl.github.io/recipeqa.'\n", - "\n", - "response = client.search(index='plagiarism-checker', size=1,\n", - " knn={\n", - " \"field\": \"abstract_vector.predicted_value\",\n", - " \"k\": 9,\n", - " \"num_candidates\": 974,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", - " \"model_text\": model_text\n", - " }\n", - " }\n", - " }\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " abstract = hit['_source']['abstract']\n", - " openai = hit['_source']['openai-detector']['predicted_value']\n", - " url = hit['_source']['url']\n", - "\n", - " if score > 0.9:\n", - " print(f\"\\nHigh similarity detected! This might be plagiarism.\")\n", - " print(f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - " elif score < 0.7:\n", - " print(f\"\\nLow similarity detected. This might not be plagiarism.\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - " else:\n", - " print(f\"\\nModerate similarity detected.\")\n", - " print(f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - "ml_client = MlClient(client)\n", - "\n", - "model_id = 'roberta-base-openai-detector' #open ai text classification model\n", - "\n", - "document = [\n", - " {\n", - " \"text_field\": model_text\n", - " }\n", - "]\n", - "\n", - "ml_response = ml_client.infer_trained_model(model_id=model_id, docs=document)\n", - "\n", - "predicted_value = ml_response['inference_results'][0]['predicted_value']\n", - "\n", - "if predicted_value == 'Fake':\n", - " print(\"Note: The text query you entered may have been generated by AI.\\n\")\n" - ], - "metadata": { - "id": "51Tjohr8K-tW" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "#similar text - paraphrase plagiarism\n", - "\n", - "model_text = 'Comprehending and deducing information from culinary instructions represents a promising avenue for research aimed at empowering artificial intelligence to decipher step-by-step text. In this study, we present CuisineInquiry, a database for the multifaceted understanding of cooking guidelines. It encompasses a substantial number of informative recipes featuring various elements such as headings, explanations, and a matched assortment of visuals. Utilizing an extensive set of automatically crafted question-answer pairings, we formulate a series of tasks focusing on understanding and logic that necessitate a combined interpretation of visuals and written content. This involves capturing the sequential progression of events and extracting meaning from procedural expertise. Our initial findings suggest that CuisineInquiry is poised to function as a demanding experimental platform.'\n", - "\n", - "response = client.search(index='plagiarism-checker', size=1,\n", - " knn={\n", - " \"field\": \"abstract_vector.predicted_value\",\n", - " \"k\": 9,\n", - " \"num_candidates\": 974,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", - " \"model_text\": model_text\n", - " }\n", - " }\n", - " }\n", - ")\n", - "\n", - "for hit in response['hits']['hits']:\n", - " score = hit['_score']\n", - " title = hit['_source']['title']\n", - " abstract = hit['_source']['abstract']\n", - " openai = hit['_source']['openai-detector']['predicted_value']\n", - " url = hit['_source']['url']\n", - "\n", - " if score > 0.9:\n", - " print(f\"\\nHigh similarity detected! This might be plagiarism.\")\n", - " print(f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - " elif score < 0.7:\n", - " print(f\"\\nLow similarity detected. This might not be plagiarism.\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - " else:\n", - " print(f\"\\nModerate similarity detected.\")\n", - " print(f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\")\n", - "\n", - " if openai == 'Fake':\n", - " print(\"This document may have been created by AI.\\n\")\n", - "\n", - "ml_client = MlClient(client)\n", - "\n", - "model_id = 'roberta-base-openai-detector' #open ai text classification model\n", - "\n", - "document = [\n", - " {\n", - " \"text_field\": model_text\n", - " }\n", - "]\n", - "\n", - "ml_response = ml_client.infer_trained_model(model_id=model_id, docs=document)\n", - "\n", - "predicted_value = ml_response['inference_results'][0]['predicted_value']\n", - "\n", - "if predicted_value == 'Fake':\n", - " print(\"Note: The text query you entered may have been generated by AI.\\n\")\n" - ], - "metadata": { - "id": "XcYCPXM0LAT3" - }, - "execution_count": null, - "outputs": [] - } - ] + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "**Blog: Plagiarism detection with Elasticsearch**" + ], + "metadata": { + "id": "kmMkWI9MH7SG" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Q9cqVF6lJtYw" + }, + "outputs": [], + "source": [ + "!pip install elasticsearch==8.11 #Elasticsearch" + ] + }, + { + "cell_type": "code", + "source": [ + "pip -q install eland elasticsearch sentence_transformers transformers torch==2.1.0" + ], + "metadata": { + "id": "wwi3NpszKa_U" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from elasticsearch import Elasticsearch, helpers\n", + "from elasticsearch.client import MlClient\n", + "from eland.ml.pytorch import PyTorchModel\n", + "from eland.ml.pytorch.transformers import TransformerModel\n", + "from urllib.request import urlopen\n", + "import json\n", + "from pathlib import Path\n", + "import getpass" + ], + "metadata": { + "id": "8JSAt-uUKcix" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Found in the 'Manage Deployment' page\n", + "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "\n", + "# Password for the 'elastic' user generated by Elasticsearch\n", + "ELASTIC_PASSWORD = getpass.getpass(\"Enter Elastic password: \")\n", + "\n", + "# Create the client instance\n", + "client = Elasticsearch(\n", + " cloud_id=CLOUD_ID, basic_auth=(\"elastic\", ELASTIC_PASSWORD), request_timeout=3600\n", + ")" + ], + "metadata": { + "id": "ctmF7sNwKd5o" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Set the model name from Hugging Face and task type\n", + "# open ai detector model - developed by open ai https://github.com/openai/gpt-2-output-dataset/tree/master/detector\n", + "hf_model_id = \"roberta-base-openai-detector\"\n", + "tm = TransformerModel(model_id=hf_model_id, task_type=\"text_classification\")\n", + "\n", + "# set the modelID as it is named in Elasticsearch\n", + "es_model_id = tm.elasticsearch_model_id()\n", + "\n", + "# Download the model from Hugging Face\n", + "tmp_path = \"models\"\n", + "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", + "model_path, config, vocab_path = tm.save(tmp_path)\n", + "\n", + "# Load the model into Elasticsearch\n", + "ptm = PyTorchModel(client, es_model_id)\n", + "ptm.import_model(\n", + " model_path=model_path, config_path=None, vocab_path=vocab_path, config=config\n", + ")\n", + "\n", + "# Start the model\n", + "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", + "s.body" + ], + "metadata": { + "id": "AXeDnvJWKfll" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# Set the model name from Hugging Face and task type\n", + "# sentence-transformers model\n", + "hf_model_id = \"sentence-transformers/all-mpnet-base-v2\"\n", + "tm = TransformerModel(model_id=hf_model_id, task_type=\"text_embedding\")\n", + "\n", + "# set the modelID as it is named in Elasticsearch\n", + "es_model_id = tm.elasticsearch_model_id()\n", + "\n", + "# Download the model from Hugging Face\n", + "tmp_path = \"models\"\n", + "Path(tmp_path).mkdir(parents=True, exist_ok=True)\n", + "model_path, config, vocab_path = tm.save(tmp_path)\n", + "\n", + "# Load the model into Elasticsearch\n", + "ptm = PyTorchModel(client, es_model_id)\n", + "ptm.import_model(\n", + " model_path=model_path, config_path=None, vocab_path=vocab_path, config=config\n", + ")\n", + "\n", + "# Start the model\n", + "s = MlClient.start_trained_model_deployment(client, model_id=es_model_id)\n", + "s.body" + ], + "metadata": { + "id": "wFiJAVpBKjkP" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# source index\n", + "client.indices.create(\n", + " index=\"plagiarism-docs\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"title\": {\"type\": \"text\", \"fields\": {\"keyword\": {\"type\": \"keyword\"}}},\n", + " \"abstract\": {\"type\": \"text\", \"fields\": {\"keyword\": {\"type\": \"keyword\"}}},\n", + " \"url\": {\"type\": \"keyword\"},\n", + " \"venue\": {\"type\": \"keyword\"},\n", + " \"year\": {\"type\": \"keyword\"},\n", + " }\n", + " },\n", + ")" + ], + "metadata": { + "id": "S-SNKitkKmHC" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# ingest pipeline\n", + "\n", + "client.ingest.put_pipeline(\n", + " id=\"plagiarism-checker-pipeline\",\n", + " processors=[\n", + " {\n", + " \"inference\": { # for ml models - to infer against the data that is being ingested in the pipeline\n", + " \"model_id\": \"roberta-base-openai-detector\", # text classification model id\n", + " \"target_field\": \"openai-detector\", # Target field for the inference results\n", + " \"field_map\": { # Maps the document field names to the known field names of the model.\n", + " \"abstract\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", + " },\n", + " }\n", + " },\n", + " {\n", + " \"inference\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\", # text embedding model model id\n", + " \"target_field\": \"abstract_vector\", # Target field for the inference results\n", + " \"field_map\": { # Maps the document field names to the known field names of the model.\n", + " \"abstract\": \"text_field\" # Field matching our configured trained model input. Typically for NLP models, the field name is text_field.\n", + " },\n", + " }\n", + " },\n", + " ],\n", + ")" + ], + "metadata": { + "id": "XdxP1bJ2KocF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "client.indices.create(\n", + " index=\"plagiarism-checker\",\n", + " mappings={\n", + " \"properties\": {\n", + " \"title\": {\"type\": \"text\", \"fields\": {\"keyword\": {\"type\": \"keyword\"}}},\n", + " \"abstract\": {\"type\": \"text\", \"fields\": {\"keyword\": {\"type\": \"keyword\"}}},\n", + " \"url\": {\"type\": \"keyword\"},\n", + " \"venue\": {\"type\": \"keyword\"},\n", + " \"year\": {\"type\": \"keyword\"},\n", + " \"abstract_vector.predicted_value\": { # Inference results field, target_field.predicted_value\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 768, # embedding_size\n", + " \"index\": \"true\",\n", + " \"similarity\": \"dot_product\", # When indexing vectors for approximate kNN search, you need to specify the similarity function for comparing the vectors.\n", + " },\n", + " }\n", + " },\n", + ")" + ], + "metadata": { + "id": "cN4KjsXKKyTu" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "url = \"https://public.ukp.informatik.tu-darmstadt.de/reimers/sentence-transformers/datasets/emnlp2016-2018.json\"\n", + "\n", + "# Send a request to the URL and get the response\n", + "response = urlopen(url)\n", + "\n", + "# Load the response data into a JSON object\n", + "data_json = json.loads(response.read())\n", + "\n", + "\n", + "def create_index_body(doc):\n", + " \"\"\"Generate the body for an Elasticsearch document.\"\"\"\n", + " return {\n", + " \"_index\": \"plagiarism-docs\",\n", + " \"_source\": doc,\n", + " }\n", + "\n", + "\n", + "# Prepare the documents to be indexed\n", + "documents = [create_index_body(doc) for doc in data_json]\n", + "\n", + "# Use helpers.bulk to index\n", + "helpers.bulk(client, documents)\n", + "\n", + "print(\"Done indexing documents into `plagiarism-docs` source index\")" + ], + "metadata": { + "id": "svjGh_hUK136" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# reindex with ingest pipeline\n", + "\n", + "client.reindex(\n", + " wait_for_completion=True,\n", + " source={\"index\": \"plagiarism-docs\"},\n", + " dest={\"index\": \"plagiarism-checker\", \"pipeline\": \"plagiarism-checker-pipeline\"},\n", + ")" + ], + "metadata": { + "id": "_lHg7p6SK5Ws" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# duplicated text - direct plagiarism\n", + "\n", + "model_text = \"Understanding and reasoning about cooking recipes is a fruitful research direction towards enabling machines to interpret procedural text. In this work, we introduce RecipeQA, a dataset for multimodal comprehension of cooking recipes. It comprises of approximately 20K instructional recipes with multiple modalities such as titles, descriptions and aligned set of images. With over 36K automatically generated question-answer pairs, we design a set of comprehension and reasoning tasks that require joint understanding of images and text, capturing the temporal flow of events and making sense of procedural knowledge. Our preliminary results indicate that RecipeQA will serve as a challenging test bed and an ideal benchmark for evaluating machine comprehension systems. The data and leaderboard are available at http://hucvl.github.io/recipeqa.\"\n", + "\n", + "response = client.search(\n", + " index=\"plagiarism-checker\",\n", + " size=1,\n", + " knn={\n", + " \"field\": \"abstract_vector.predicted_value\",\n", + " \"k\": 9,\n", + " \"num_candidates\": 974,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", + " \"model_text\": model_text,\n", + " }\n", + " },\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " abstract = hit[\"_source\"][\"abstract\"]\n", + " openai = hit[\"_source\"][\"openai-detector\"][\"predicted_value\"]\n", + " url = hit[\"_source\"][\"url\"]\n", + "\n", + " if score > 0.9:\n", + " print(f\"\\nHigh similarity detected! This might be plagiarism.\")\n", + " print(\n", + " f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\"\n", + " )\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + " elif score < 0.7:\n", + " print(f\"\\nLow similarity detected. This might not be plagiarism.\")\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + " else:\n", + " print(f\"\\nModerate similarity detected.\")\n", + " print(\n", + " f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\"\n", + " )\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + "ml_client = MlClient(client)\n", + "\n", + "model_id = \"roberta-base-openai-detector\" # open ai text classification model\n", + "\n", + "document = [{\"text_field\": model_text}]\n", + "\n", + "ml_response = ml_client.infer_trained_model(model_id=model_id, docs=document)\n", + "\n", + "predicted_value = ml_response[\"inference_results\"][0][\"predicted_value\"]\n", + "\n", + "if predicted_value == \"Fake\":\n", + " print(\"Note: The text query you entered may have been generated by AI.\\n\")" + ], + "metadata": { + "id": "51Tjohr8K-tW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "# similar text - paraphrase plagiarism\n", + "\n", + "model_text = \"Comprehending and deducing information from culinary instructions represents a promising avenue for research aimed at empowering artificial intelligence to decipher step-by-step text. In this study, we present CuisineInquiry, a database for the multifaceted understanding of cooking guidelines. It encompasses a substantial number of informative recipes featuring various elements such as headings, explanations, and a matched assortment of visuals. Utilizing an extensive set of automatically crafted question-answer pairings, we formulate a series of tasks focusing on understanding and logic that necessitate a combined interpretation of visuals and written content. This involves capturing the sequential progression of events and extracting meaning from procedural expertise. Our initial findings suggest that CuisineInquiry is poised to function as a demanding experimental platform.\"\n", + "\n", + "response = client.search(\n", + " index=\"plagiarism-checker\",\n", + " size=1,\n", + " knn={\n", + " \"field\": \"abstract_vector.predicted_value\",\n", + " \"k\": 9,\n", + " \"num_candidates\": 974,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-mpnet-base-v2\",\n", + " \"model_text\": model_text,\n", + " }\n", + " },\n", + " },\n", + ")\n", + "\n", + "for hit in response[\"hits\"][\"hits\"]:\n", + " score = hit[\"_score\"]\n", + " title = hit[\"_source\"][\"title\"]\n", + " abstract = hit[\"_source\"][\"abstract\"]\n", + " openai = hit[\"_source\"][\"openai-detector\"][\"predicted_value\"]\n", + " url = hit[\"_source\"][\"url\"]\n", + "\n", + " if score > 0.9:\n", + " print(f\"\\nHigh similarity detected! This might be plagiarism.\")\n", + " print(\n", + " f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\"\n", + " )\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + " elif score < 0.7:\n", + " print(f\"\\nLow similarity detected. This might not be plagiarism.\")\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + " else:\n", + " print(f\"\\nModerate similarity detected.\")\n", + " print(\n", + " f\"\\nMost similar document: '{title}'\\n\\nAbstract: {abstract}\\n\\nurl: {url}\\n\\nScore:{score}\\n\"\n", + " )\n", + "\n", + " if openai == \"Fake\":\n", + " print(\"This document may have been created by AI.\\n\")\n", + "\n", + "ml_client = MlClient(client)\n", + "\n", + "model_id = \"roberta-base-openai-detector\" # open ai text classification model\n", + "\n", + "document = [{\"text_field\": model_text}]\n", + "\n", + "ml_response = ml_client.infer_trained_model(model_id=model_id, docs=document)\n", + "\n", + "predicted_value = ml_response[\"inference_results\"][0][\"predicted_value\"]\n", + "\n", + "if predicted_value == \"Fake\":\n", + " print(\"Note: The text query you entered may have been generated by AI.\\n\")" + ], + "metadata": { + "id": "XcYCPXM0LAT3" + }, + "execution_count": null, + "outputs": [] + } + ] } diff --git a/supporting-blog-content/vector-search-implementation-guide-api/Load_Hugging_Face_Model.ipynb b/supporting-blog-content/vector-search-implementation-guide-api/Load_Hugging_Face_Model.ipynb index f1358957..6e447487 100644 --- a/supporting-blog-content/vector-search-implementation-guide-api/Load_Hugging_Face_Model.ipynb +++ b/supporting-blog-content/vector-search-implementation-guide-api/Load_Hugging_Face_Model.ipynb @@ -1,110 +1,110 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [], - "toc_visible": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "toc_visible": true }, - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# Load Huggingface Model\n", - "\n", - "This code will use [Eland](https://) to load an embedding model into Elasticsearch\n", - "\n", - "\n", - "Blog Vector Search (kNN) Implementation Guide - API Edition\n", - "\n" - ], - "metadata": { - "id": "sUmu4TerK9OG" - } - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "eaGnibZA-78Z" - }, - "outputs": [], - "source": [ - "!pip install -q elasticsearch eland[pytorch]" - ] - }, - { - "cell_type": "code", - "source": [ - "import getpass" - ], - "metadata": { - "id": "Fxius9__-9Mb" - }, - "execution_count": 2, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Set Connection and Model information\n", - "\n", - "\n", - "* Cloud ID can be retrieved from the Elastic Cloud console\n", - "* Elastic API Key can be generated in Elasticsearch Kibana under Stack Management\n", - "* Model ID is the Model Card Name from Hugging Face\n", - "\n" - ], - "metadata": { - "id": "J3XJeDaJMMk9" - } - }, - { - "cell_type": "code", - "source": [ - "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", - "ELASTIC_API = getpass.getpass(\"Enter Elastic API: \")\n", - "MODEL_ID = getpass.getpass(\"Enter Model ID from Hugging Face Model Card \")" - ], - "metadata": { - "id": "e_zGEcyr_Ce-" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "## Load the model\n", - "If you want to also start the model, uncomment the `--start` line" - ], - "metadata": { - "id": "ZG6B0greNAQ7" - } - }, - { - "cell_type": "code", - "source": [ - "!eland_import_hub_model \\\n", - " --cloud-id $CLOUD_ID \\\n", - " --es-api-key $ELASTIC_API \\\n", - " --hub-model-id $MODEL_ID \\\n", - " --task-type text_embedding\n", - " # --start" - ], - "metadata": { - "id": "oPKVhWeT_Cc4" - }, - "execution_count": null, - "outputs": [] - } - ] + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Load Huggingface Model\n", + "\n", + "This code will use [Eland](https://) to load an embedding model into Elasticsearch\n", + "\n", + "\n", + "Blog Vector Search (kNN) Implementation Guide - API Edition\n", + "\n" + ], + "metadata": { + "id": "sUmu4TerK9OG" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "eaGnibZA-78Z" + }, + "outputs": [], + "source": [ + "!pip install -q elasticsearch eland[pytorch]" + ] + }, + { + "cell_type": "code", + "source": [ + "import getpass" + ], + "metadata": { + "id": "Fxius9__-9Mb" + }, + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Set Connection and Model information\n", + "\n", + "\n", + "* Cloud ID can be retrieved from the Elastic Cloud console\n", + "* Elastic API Key can be generated in Elasticsearch Kibana under Stack Management\n", + "* Model ID is the Model Card Name from Hugging Face\n", + "\n" + ], + "metadata": { + "id": "J3XJeDaJMMk9" + } + }, + { + "cell_type": "code", + "source": [ + "CLOUD_ID = getpass.getpass(\"Enter Elastic Cloud ID: \")\n", + "ELASTIC_API = getpass.getpass(\"Enter Elastic API: \")\n", + "MODEL_ID = getpass.getpass(\"Enter Model ID from Hugging Face Model Card \")" + ], + "metadata": { + "id": "e_zGEcyr_Ce-" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "## Load the model\n", + "If you want to also start the model, uncomment the `--start` line" + ], + "metadata": { + "id": "ZG6B0greNAQ7" + } + }, + { + "cell_type": "code", + "source": [ + "!eland_import_hub_model \\\n", + " --cloud-id $CLOUD_ID \\\n", + " --es-api-key $ELASTIC_API \\\n", + " --hub-model-id $MODEL_ID \\\n", + " --task-type text_embedding\n", + " # --start" + ], + "metadata": { + "id": "oPKVhWeT_Cc4" + }, + "execution_count": null, + "outputs": [] + } + ] } \ No newline at end of file diff --git a/supporting-blog-content/vector-search-implementation-guide-api/vector_search_implementation_guide_api.ipynb b/supporting-blog-content/vector-search-implementation-guide-api/vector_search_implementation_guide_api.ipynb index 2293138e..f7fde521 100644 --- a/supporting-blog-content/vector-search-implementation-guide-api/vector_search_implementation_guide_api.ipynb +++ b/supporting-blog-content/vector-search-implementation-guide-api/vector_search_implementation_guide_api.ipynb @@ -1,619 +1,568 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "provenance": [], - "toc_visible": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "language_info": { - "name": "python" - } + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "toc_visible": true }, - "cells": [ - { - "cell_type": "markdown", - "source": [ - "# Simplified Vector Search (kNN) Implementation Guide\n" - ], - "metadata": { - "id": "XU4UjiHpYdDT" - } - }, - { - "cell_type": "markdown", - "source": [ - "# Loading the Embedding Model\n", - "Loading embedding model: [sentence-transformers/all-distilroberta-v1](https://huggingface.co/sentence-transformers/all-distilroberta-v1)\n", - "\n", - "Loading code borrowed from [elasticsearch-labs](https://www.elastic.co/search-labs) NLP text search [example notebook](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb)\n" - ], - "metadata": { - "id": "5lV5UN90l4YN" - } - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Z0TiDltHkebY" - }, - "outputs": [], - "source": [ - "# install packages\n", - "!pip install -qU eland elasticsearch transformers sentence-transformers torch==1.13\n" - ] - }, - { - "cell_type": "code", - "source": [ - "# import modules\n", - "import pandas as pd, json\n", - "from elasticsearch import Elasticsearch\n", - "from elasticsearch.helpers import bulk\n", - "from getpass import getpass\n", - "from urllib.request import urlopen\n", - "from pprint import pprint" - ], - "metadata": { - "id": "Riwvd3CHO9qU" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "API_KEY = getpass(\"Elastic deployment API Key\")\n", - "CLOUD_ID = getpass(\"Elastic deployment Cloud ID\")\n", - "HUB_MODEL_ID = getpass(\"Hugging Face Model Hub ID\") #eg sentence-transformers/all-distilroberta-v1\n", - "\n", - "es = Elasticsearch(cloud_id=CLOUD_ID,\n", - " api_key=API_KEY\n", - " )\n", - "es.info() # should return cluster info" - ], - "metadata": { - "id": "So9bJJDVNzgF" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "!eland_import_hub_model --cloud-id $CLOUD_ID --hub-model-id $HUB_MODEL_ID --task-type text_embedding --es-api-key $API_KEY --start" - ], - "metadata": { - "id": "dsFsmzZwpujb" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "markdown", - "source": [ - "# Ingest pipeline setup" - ], - "metadata": { - "id": "71wNrH0vl4zi" - } - }, - { - "cell_type": "code", - "source": [ - "pipeline = {\n", - " \"processors\": [\n", - " {\n", - " \"inference\": {\n", - " \"field_map\": {\n", - " \"my_text\": \"text_field\"\n", - " },\n", - " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", - " \"target_field\": \"ml.inference.my_vector\",\n", - " \"on_failure\": [\n", - " {\n", - " \"append\": {\n", - " \"field\": \"_source._ingest.inference_errors\",\n", - " \"value\": [\n", - " {\n", - " \"message\": \"Processor 'inference' in pipeline 'ml-inference-title-vector' failed with message '{{ _ingest.on_failure_message }}'\",\n", - " \"pipeline\": \"ml-inference-title-vector\",\n", - " \"timestamp\": \"{{{ _ingest.timestamp }}}\"\n", - " }\n", - " ]\n", - " }\n", - " }\n", - " ]\n", - " }\n", - " },\n", - " {\n", - " \"set\": {\n", - " \"field\": \"my_vector\",\n", - " \"if\": \"ctx?.ml?.inference != null && ctx.ml.inference['my_vector'] != null\",\n", - " \"copy_from\": \"ml.inference.my_vector.predicted_value\",\n", - " \"description\": \"Copy the predicted_value to 'my_vector'\"\n", - " }\n", - " },\n", - " {\n", - " \"remove\": {\n", - " \"field\": \"ml.inference.my_vector\",\n", - " \"ignore_missing\": True\n", - " }\n", - " }\n", - " ]\n", - "}\n", - "\n", - "pipeline_id = 'vector_embedding_demo'\n", - "response = es.ingest.put_pipeline(id=pipeline_id, body=pipeline)\n", - "\n", - "# Print the response\n", - "print(response)" - ], - "metadata": { - "id": "SL47BJNyl3-r", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "43588d08-9dfb-4b13-9c42-58e071cf3526" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "{'acknowledged': True}\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - ":44: DeprecationWarning: The 'body' parameter is deprecated and will be removed in a future version. Instead use individual parameters.\n", - " response = es.ingest.put_pipeline(id=pipeline_id, body=pipeline)\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "# Index Mapping / Template setup" - ], - "metadata": { - "id": "TgBeEw_Ql5I5" - } - }, - { - "cell_type": "code", - "source": [ - "index_patterns = [\n", - " \"my_vector_index-*\"\n", - " ]\n", - "\n", - "order = 1\n", - "\n", - "settings = {\n", - " \"number_of_shards\": 1,\n", - " \"number_of_replicas\": 1,\n", - " \"index.default_pipeline\": pipeline_id\n", - " }\n", - "\n", - "mappings = {\n", - " \"properties\": {\n", - " \"my_vector\": {\n", - " \"type\": \"dense_vector\",\n", - " \"dims\": 768,\n", - " \"index\": True,\n", - " \"similarity\": \"dot_product\"\n", - " },\n", - " \"my_text\": {\n", - " \"type\": \"text\"\n", - " }\n", - " },\n", - " \"_source\": {\n", - " \"excludes\": [\n", - " \"my_vector\"\n", - " ]\n", - " }\n", - " }\n", - "\n", - "\n", - "# Create the index template\n", - "response = es.indices.put_template(name=\"my_vector_index\",\n", - " index_patterns=index_patterns,\n", - " order=order,\n", - " settings=settings,\n", - " mappings=mappings\n", - " )\n", - "\n", - "\n", - "# Print the response\n", - "print(response)\n" - ], - "metadata": { - "id": "zNqjEiPZl36N", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "55130ac4-042f-4d65-bc4b-08c6527d85d4" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "{'acknowledged': True}\n" - ] - }, - { - "output_type": "stream", - "name": "stderr", - "text": [ - ":34: ElasticsearchWarning: Legacy index templates are deprecated in favor of composable templates.\n", - " response = es.indices.put_template(name=\"my_vector_index\",\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "source": [ - "# Indexing Data\n" - ], - "metadata": { - "id": "bztQcxbll5cs" - } - }, - { - "cell_type": "code", - "source": [ - "index_name = 'my_vector_index-01'" - ], - "metadata": { - "id": "XbapSs1c-hkd" - }, - "execution_count": null, - "outputs": [] - }, - { - "cell_type": "code", - "source": [ - "data = [\n", - " (\"Hey, careful, man, there's a beverage here!\", \"The Dude\"),\n", - " (\"I’m The Dude. So, that’s what you call me. You know, that or, uh, His Dudeness, or, uh, Duder, or El Duderino, if you’re not into the whole brevity thing\", \"The Dude\"),\n", - " (\"You don't go out looking for a job dressed like that? On a weekday?\", \"The Big Lebowski\"),\n", - " (\"What do you mean brought it bowling, Dude?\", \"Walter Sobchak\"),\n", - " (\"Donny was a good bowler, and a good man. He was one of us. He was a man who loved the outdoors... and bowling, and as a surfer he explored the beaches of Southern California, from La Jolla to Leo Carrillo and... up to... Pismo\", \"Walter Sobchak\")\n", - "]\n", - "\n", - "actions = [\n", - " {\n", - " \"_op_type\": \"index\",\n", - " \"_index\": \"my_vector_index-01\",\n", - " \"_source\": {\n", - " \"my_text\": text,\n", - " \"my_metadata\": metadata\n", - " }\n", - " } for text, metadata in data\n", - "]\n", - "\n", - "bulk(es, actions)\n", - "\n", - "# Refresh the index to make sure all data is searchable\n", - "es.indices.refresh(index=\"my_vector_index-01\")\n" - ], - "metadata": { - "colab": { - "base_uri": "https://localhost:8080/" - }, - "id": "bSIJ-AngVmUi", - "outputId": "49074d6e-1d30-44e1-d565-edac0251eae1" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "ObjectApiResponse({'_shards': {'total': 2, 'successful': 1, 'failed': 0}})" - ] - }, - "metadata": {}, - "execution_count": 14 - } - ] + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "# Simplified Vector Search (kNN) Implementation Guide\n" + ], + "metadata": { + "id": "XU4UjiHpYdDT" + } + }, + { + "cell_type": "markdown", + "source": [ + "# Loading the Embedding Model\n", + "Loading embedding model: [sentence-transformers/all-distilroberta-v1](https://huggingface.co/sentence-transformers/all-distilroberta-v1)\n", + "\n", + "Loading code borrowed from [elasticsearch-labs](https://www.elastic.co/search-labs) NLP text search [example notebook](https://colab.research.google.com/github/elastic/elasticsearch-labs/blob/main/notebooks/integrations/hugging-face/loading-model-from-hugging-face.ipynb)\n" + ], + "metadata": { + "id": "5lV5UN90l4YN" + } + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Z0TiDltHkebY" + }, + "outputs": [], + "source": [ + "# install packages\n", + "!pip install -qU eland elasticsearch transformers sentence-transformers torch==1.13" + ] + }, + { + "cell_type": "code", + "source": [ + "# import modules\n", + "import pandas as pd, json\n", + "from elasticsearch import Elasticsearch\n", + "from elasticsearch.helpers import bulk\n", + "from getpass import getpass\n", + "from urllib.request import urlopen\n", + "from pprint import pprint" + ], + "metadata": { + "id": "Riwvd3CHO9qU" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "API_KEY = getpass(\"Elastic deployment API Key\")\n", + "CLOUD_ID = getpass(\"Elastic deployment Cloud ID\")\n", + "HUB_MODEL_ID = getpass(\n", + " \"Hugging Face Model Hub ID\"\n", + ") # eg sentence-transformers/all-distilroberta-v1\n", + "\n", + "es = Elasticsearch(cloud_id=CLOUD_ID, api_key=API_KEY)\n", + "es.info() # should return cluster info" + ], + "metadata": { + "id": "So9bJJDVNzgF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "!eland_import_hub_model --cloud-id $CLOUD_ID --hub-model-id $HUB_MODEL_ID --task-type text_embedding --es-api-key $API_KEY --start" + ], + "metadata": { + "id": "dsFsmzZwpujb" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": [ + "# Ingest pipeline setup" + ], + "metadata": { + "id": "71wNrH0vl4zi" + } + }, + { + "cell_type": "code", + "source": [ + "pipeline = {\n", + " \"processors\": [\n", + " {\n", + " \"inference\": {\n", + " \"field_map\": {\"my_text\": \"text_field\"},\n", + " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", + " \"target_field\": \"ml.inference.my_vector\",\n", + " \"on_failure\": [\n", + " {\n", + " \"append\": {\n", + " \"field\": \"_source._ingest.inference_errors\",\n", + " \"value\": [\n", + " {\n", + " \"message\": \"Processor 'inference' in pipeline 'ml-inference-title-vector' failed with message '{{ _ingest.on_failure_message }}'\",\n", + " \"pipeline\": \"ml-inference-title-vector\",\n", + " \"timestamp\": \"{{{ _ingest.timestamp }}}\",\n", + " }\n", + " ],\n", + " }\n", + " }\n", + " ],\n", + " }\n", + " },\n", + " {\n", + " \"set\": {\n", + " \"field\": \"my_vector\",\n", + " \"if\": \"ctx?.ml?.inference != null && ctx.ml.inference['my_vector'] != null\",\n", + " \"copy_from\": \"ml.inference.my_vector.predicted_value\",\n", + " \"description\": \"Copy the predicted_value to 'my_vector'\",\n", + " }\n", + " },\n", + " {\"remove\": {\"field\": \"ml.inference.my_vector\", \"ignore_missing\": True}},\n", + " ]\n", + "}\n", + "\n", + "pipeline_id = \"vector_embedding_demo\"\n", + "response = es.ingest.put_pipeline(id=pipeline_id, body=pipeline)\n", + "\n", + "# Print the response\n", + "print(response)" + ], + "metadata": { + "id": "SL47BJNyl3-r", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "43588d08-9dfb-4b13-9c42-58e071cf3526" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "# Querying Data\n" - ], - "metadata": { - "id": "ENlZ3Ndjl5yl" - } + "output_type": "stream", + "name": "stdout", + "text": [ + "{'acknowledged': True}\n" + ] }, { - "cell_type": "markdown", - "source": [ - "Approximate k-nearest neighbor (kNN)" - ], - "metadata": { - "id": "Xk4CBDpimfDH" - } + "output_type": "stream", + "name": "stderr", + "text": [ + ":44: DeprecationWarning: The 'body' parameter is deprecated and will be removed in a future version. Instead use individual parameters.\n", + " response = es.ingest.put_pipeline(id=pipeline_id, body=pipeline)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Index Mapping / Template setup" + ], + "metadata": { + "id": "TgBeEw_Ql5I5" + } + }, + { + "cell_type": "code", + "source": [ + "index_patterns = [\"my_vector_index-*\"]\n", + "\n", + "order = 1\n", + "\n", + "settings = {\n", + " \"number_of_shards\": 1,\n", + " \"number_of_replicas\": 1,\n", + " \"index.default_pipeline\": pipeline_id,\n", + "}\n", + "\n", + "mappings = {\n", + " \"properties\": {\n", + " \"my_vector\": {\n", + " \"type\": \"dense_vector\",\n", + " \"dims\": 768,\n", + " \"index\": True,\n", + " \"similarity\": \"dot_product\",\n", + " },\n", + " \"my_text\": {\"type\": \"text\"},\n", + " },\n", + " \"_source\": {\"excludes\": [\"my_vector\"]},\n", + "}\n", + "\n", + "\n", + "# Create the index template\n", + "response = es.indices.put_template(\n", + " name=\"my_vector_index\",\n", + " index_patterns=index_patterns,\n", + " order=order,\n", + " settings=settings,\n", + " mappings=mappings,\n", + ")\n", + "\n", + "\n", + "# Print the response\n", + "print(response)" + ], + "metadata": { + "id": "zNqjEiPZl36N", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "55130ac4-042f-4d65-bc4b-08c6527d85d4" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "source": [ - "knn = {\n", - " \"field\": \"my_vector\",\n", - " \"k\": 1,\n", - " \"num_candidates\": 5,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", - " \"model_text\": \"Watchout I have a drink\"\n", - " }\n", - " }\n", - " }\n", - "\n", - "response = es.search(\n", - " index=index_name,\n", - " knn=knn,\n", - " source=True)\n", - "\n", - "pprint(response['hits']['hits'])" - ], - "metadata": { - "id": "xl76_rM4l3iC", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "9a796cf1-4beb-4405-91b9-c323db756d36" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[{'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 0.78170115,\n", - " '_source': {'ml': {'inference': {}},\n", - " 'my_metadata': 'The Dude',\n", - " 'my_text': \"Hey, careful, man, there's a beverage here!\"}}]\n" - ] - } - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "{'acknowledged': True}\n" + ] }, { - "cell_type": "markdown", - "source": [ - "## Hybrid Searching (kNN + BM25) with RRF" - ], - "metadata": { - "id": "vhefCRd-mjk8" - } + "output_type": "stream", + "name": "stderr", + "text": [ + ":34: ElasticsearchWarning: Legacy index templates are deprecated in favor of composable templates.\n", + " response = es.indices.put_template(name=\"my_vector_index\",\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Indexing Data\n" + ], + "metadata": { + "id": "bztQcxbll5cs" + } + }, + { + "cell_type": "code", + "source": [ + "index_name = \"my_vector_index-01\"" + ], + "metadata": { + "id": "XbapSs1c-hkd" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "data = [\n", + " (\"Hey, careful, man, there's a beverage here!\", \"The Dude\"),\n", + " (\n", + " \"I’m The Dude. So, that’s what you call me. You know, that or, uh, His Dudeness, or, uh, Duder, or El Duderino, if you’re not into the whole brevity thing\",\n", + " \"The Dude\",\n", + " ),\n", + " (\n", + " \"You don't go out looking for a job dressed like that? On a weekday?\",\n", + " \"The Big Lebowski\",\n", + " ),\n", + " (\"What do you mean brought it bowling, Dude?\", \"Walter Sobchak\"),\n", + " (\n", + " \"Donny was a good bowler, and a good man. He was one of us. He was a man who loved the outdoors... and bowling, and as a surfer he explored the beaches of Southern California, from La Jolla to Leo Carrillo and... up to... Pismo\",\n", + " \"Walter Sobchak\",\n", + " ),\n", + "]\n", + "\n", + "actions = [\n", + " {\n", + " \"_op_type\": \"index\",\n", + " \"_index\": \"my_vector_index-01\",\n", + " \"_source\": {\"my_text\": text, \"my_metadata\": metadata},\n", + " }\n", + " for text, metadata in data\n", + "]\n", + "\n", + "bulk(es, actions)\n", + "\n", + "# Refresh the index to make sure all data is searchable\n", + "es.indices.refresh(index=\"my_vector_index-01\")" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" }, + "id": "bSIJ-AngVmUi", + "outputId": "49074d6e-1d30-44e1-d565-edac0251eae1" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "source": [ - "query = {\n", - " \"match\": {\n", - " \"my_text\": \"bowling\"\n", - " }\n", - " }\n", - "\n", - "knn ={\n", - " \"field\": \"my_vector\",\n", - " \"k\": 3,\n", - " \"num_candidates\": 5,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", - " \"model_text\": \"He enjoyed the game\"\n", - " }\n", - " }\n", - " }\n", - "\n", - "rank: {\n", - " \"rrf\": {}\n", - " }\n", - "\n", - "fields = [\n", - " \"my_text\",\n", - " \"my_metadata\"\n", - " ]\n", - "\n", - "\n", - "response = es.search(\n", - " index=index_name,\n", - " fields=fields,\n", - " knn=knn,\n", - " query=query,\n", - " size=2,\n", - " source=False\n", - " )\n", - "\n", - "pprint(response['hits']['hits'])" - ], - "metadata": { - "id": "wLY8Q6tEmk06", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "dc4dd649-3a66-4084-cba1-2e0e51984037" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[{'_id': 'U-5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 1.8080788,\n", - " 'fields': {'my_metadata': ['Walter Sobchak'],\n", - " 'my_text': ['What do you mean brought it bowling, Dude?']}},\n", - " {'_id': 'VO5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 1.2358729,\n", - " 'fields': {'my_metadata': ['Walter Sobchak'],\n", - " 'my_text': ['Donny was a good bowler, and a good man. He was one '\n", - " 'of us. He was a man who loved the outdoors... and '\n", - " 'bowling, and as a surfer he explored the beaches of '\n", - " 'Southern California, from La Jolla to Leo Carrillo '\n", - " 'and... up to... Pismo']}}]\n" - ] - } + "output_type": "execute_result", + "data": { + "text/plain": [ + "ObjectApiResponse({'_shards': {'total': 2, 'successful': 1, 'failed': 0}})" ] + }, + "metadata": {}, + "execution_count": 14 + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Querying Data\n" + ], + "metadata": { + "id": "ENlZ3Ndjl5yl" + } + }, + { + "cell_type": "markdown", + "source": [ + "Approximate k-nearest neighbor (kNN)" + ], + "metadata": { + "id": "Xk4CBDpimfDH" + } + }, + { + "cell_type": "code", + "source": [ + "knn = {\n", + " \"field\": \"my_vector\",\n", + " \"k\": 1,\n", + " \"num_candidates\": 5,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", + " \"model_text\": \"Watchout I have a drink\",\n", + " }\n", + " },\n", + "}\n", + "\n", + "response = es.search(index=index_name, knn=knn, source=True)\n", + "\n", + "pprint(response[\"hits\"][\"hits\"])" + ], + "metadata": { + "id": "xl76_rM4l3iC", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "9a796cf1-4beb-4405-91b9-c323db756d36" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "## Filtering" - ], - "metadata": { - "id": "HDBHn_kamlIL" - } + "output_type": "stream", + "name": "stdout", + "text": [ + "[{'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 0.78170115,\n", + " '_source': {'ml': {'inference': {}},\n", + " 'my_metadata': 'The Dude',\n", + " 'my_text': \"Hey, careful, man, there's a beverage here!\"}}]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Hybrid Searching (kNN + BM25) with RRF" + ], + "metadata": { + "id": "vhefCRd-mjk8" + } + }, + { + "cell_type": "code", + "source": [ + "query = {\"match\": {\"my_text\": \"bowling\"}}\n", + "\n", + "knn = {\n", + " \"field\": \"my_vector\",\n", + " \"k\": 3,\n", + " \"num_candidates\": 5,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", + " \"model_text\": \"He enjoyed the game\",\n", + " }\n", + " },\n", + "}\n", + "\n", + "rank: {\"rrf\": {}}\n", + "\n", + "fields = [\"my_text\", \"my_metadata\"]\n", + "\n", + "\n", + "response = es.search(\n", + " index=index_name, fields=fields, knn=knn, query=query, size=2, source=False\n", + ")\n", + "\n", + "pprint(response[\"hits\"][\"hits\"])" + ], + "metadata": { + "id": "wLY8Q6tEmk06", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "dc4dd649-3a66-4084-cba1-2e0e51984037" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "source": [ - "knn ={\n", - " \"field\": \"my_vector\",\n", - " \"k\": 1,\n", - " \"num_candidates\": 5,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", - " \"model_text\": \"Did you bring the dog?\"\n", - " }\n", - " },\n", - " \"filter\": {\n", - " \"term\": {\n", - " \"my_metadata\": \"The Dude\"\n", - " }\n", - " }\n", - " }\n", - "\n", - "fields = [\n", - " \"my_text\",\n", - " \"my_metadata\"\n", - " ]\n", - "\n", - "response = es.search(\n", - " index=index_name,\n", - " fields=fields,\n", - " knn=knn,\n", - " source=False\n", - " )\n", - "\n", - "pprint(response['hits']['hits'])" - ], - "metadata": { - "id": "yVDMHuM3mla7", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "ebd848da-8ecc-4683-cb81-719f5a12f815" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[{'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 0.59285694,\n", - " 'fields': {'my_metadata': ['The Dude'],\n", - " 'my_text': [\"Hey, careful, man, there's a beverage here!\"]}}]\n" - ] - } - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "[{'_id': 'U-5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 1.8080788,\n", + " 'fields': {'my_metadata': ['Walter Sobchak'],\n", + " 'my_text': ['What do you mean brought it bowling, Dude?']}},\n", + " {'_id': 'VO5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 1.2358729,\n", + " 'fields': {'my_metadata': ['Walter Sobchak'],\n", + " 'my_text': ['Donny was a good bowler, and a good man. He was one '\n", + " 'of us. He was a man who loved the outdoors... and '\n", + " 'bowling, and as a surfer he explored the beaches of '\n", + " 'Southern California, from La Jolla to Leo Carrillo '\n", + " 'and... up to... Pismo']}}]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "## Filtering" + ], + "metadata": { + "id": "HDBHn_kamlIL" + } + }, + { + "cell_type": "code", + "source": [ + "knn = {\n", + " \"field\": \"my_vector\",\n", + " \"k\": 1,\n", + " \"num_candidates\": 5,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", + " \"model_text\": \"Did you bring the dog?\",\n", + " }\n", + " },\n", + " \"filter\": {\"term\": {\"my_metadata\": \"The Dude\"}},\n", + "}\n", + "\n", + "fields = [\"my_text\", \"my_metadata\"]\n", + "\n", + "response = es.search(index=index_name, fields=fields, knn=knn, source=False)\n", + "\n", + "pprint(response[\"hits\"][\"hits\"])" + ], + "metadata": { + "id": "yVDMHuM3mla7", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "ebd848da-8ecc-4683-cb81-719f5a12f815" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "source": [ - "# Aggregrations\n", - "and Select fields returned" - ], - "metadata": { - "id": "N_Msyv4-m5ow" - } + "output_type": "stream", + "name": "stdout", + "text": [ + "[{'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 0.59285694,\n", + " 'fields': {'my_metadata': ['The Dude'],\n", + " 'my_text': [\"Hey, careful, man, there's a beverage here!\"]}}]\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "source": [ + "# Aggregrations\n", + "and Select fields returned" + ], + "metadata": { + "id": "N_Msyv4-m5ow" + } + }, + { + "cell_type": "code", + "source": [ + "knn = {\n", + " \"field\": \"my_vector\",\n", + " \"k\": 2,\n", + " \"num_candidates\": 5,\n", + " \"query_vector_builder\": {\n", + " \"text_embedding\": {\n", + " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", + " \"model_text\": \"did you bring it?\",\n", + " }\n", + " },\n", + "}\n", + "\n", + "aggs = {\"metadata\": {\"terms\": {\"field\": \"my_metadata\"}}}\n", + "\n", + "fields = [\"my_text\", \"my_metadata\"]\n", + "\n", + "response = es.search(index=index_name, fields=fields, aggs=aggs, knn=knn, source=False)\n", + "\n", + "pprint(response[\"hits\"][\"hits\"])" + ], + "metadata": { + "id": "jbwinE0fm5-I", + "colab": { + "base_uri": "https://localhost:8080/" }, + "outputId": "e8b02f4b-8a89-417f-a892-2e676a812a2d" + }, + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "source": [ - "knn = {\n", - " \"field\": \"my_vector\",\n", - " \"k\": 2,\n", - " \"num_candidates\": 5,\n", - " \"query_vector_builder\": {\n", - " \"text_embedding\": {\n", - " \"model_id\": \"sentence-transformers__all-distilroberta-v1\",\n", - " \"model_text\": \"did you bring it?\"\n", - " }\n", - " }\n", - " }\n", - "\n", - "aggs = {\n", - " \"metadata\": {\n", - " \"terms\": {\n", - " \"field\": \"my_metadata\"\n", - " }\n", - " }\n", - " }\n", - "\n", - "fields = [\n", - " \"my_text\",\n", - " \"my_metadata\"\n", - " ]\n", - "\n", - "response = es.search(\n", - " index=index_name,\n", - " fields=fields,\n", - " aggs=aggs,\n", - " knn=knn,\n", - " source=False\n", - " )\n", - "\n", - "pprint(response['hits']['hits'])" - ], - "metadata": { - "id": "jbwinE0fm5-I", - "colab": { - "base_uri": "https://localhost:8080/" - }, - "outputId": "e8b02f4b-8a89-417f-a892-2e676a812a2d" - }, - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "[{'_id': 'U-5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 0.74352247,\n", - " 'fields': {'my_metadata': ['Walter Sobchak'],\n", - " 'my_text': ['What do you mean brought it bowling, Dude?']}},\n", - " {'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", - " '_index': 'my_vector_index-01',\n", - " '_score': 0.6010935,\n", - " 'fields': {'my_metadata': ['The Dude'],\n", - " 'my_text': [\"Hey, careful, man, there's a beverage here!\"]}}]\n" - ] - } - ] + "output_type": "stream", + "name": "stdout", + "text": [ + "[{'_id': 'U-5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 0.74352247,\n", + " 'fields': {'my_metadata': ['Walter Sobchak'],\n", + " 'my_text': ['What do you mean brought it bowling, Dude?']}},\n", + " {'_id': 'UO5Y3IoB3ljSe18vZY6D',\n", + " '_index': 'my_vector_index-01',\n", + " '_score': 0.6010935,\n", + " 'fields': {'my_metadata': ['The Dude'],\n", + " 'my_text': [\"Hey, careful, man, there's a beverage here!\"]}}]\n" + ] } - ] + ] + } + ] }