diff --git a/.htaccess b/.htaccess deleted file mode 100644 index 1e17a18..0000000 --- a/.htaccess +++ /dev/null @@ -1,7 +0,0 @@ -PassengerEnabled On -PassengerAppRoot parts_website -PassengerAppType wsgi -PassengerStartupFile passenger_wsgi.py - -# Optional: Set the Python interpreter if required -PassengerPython /home/partsltd/virtualenv/public_html/parts_website/3.11/bin/python diff --git a/app.py b/app.py index 04bd469..6be4356 100644 --- a/app.py +++ b/app.py @@ -17,6 +17,9 @@ Initializes the Flask application, sets the configuration based on the environme # IMPORTS # internal from config import app_config, Config +from controllers.core.home import routes_core_home +from controllers.core.contact import routes_core_contact +from controllers.core.apply_founding_partner import routes_core_apply_founding_partner from controllers.dog.assessment import routes_dog_assessment from controllers.dog.button_icon import routes_dog_button_icon from controllers.dog.calendar_entry import routes_dog_calendar_entry @@ -27,8 +30,6 @@ from controllers.dog.dog import routes_dog from controllers.dog.dog_command_link import routes_dog_dog_command_link from controllers.dog.home import routes_dog_home from controllers.dog.location import routes_dog_location -from controllers.core.home import routes_core_home -from controllers.core.contact import routes_core_contact from controllers.legal.legal import routes_legal from controllers.user.user import routes_user from extensions import db, csrf, mail, oauth @@ -121,6 +122,7 @@ with app.app_context(): app.register_blueprint(routes_core_home) app.register_blueprint(routes_core_contact) +app.register_blueprint(routes_core_apply_founding_partner) app.register_blueprint(routes_dog) app.register_blueprint(routes_dog_command) app.register_blueprint(routes_dog_command_category) diff --git a/business_objects/project_hub/apply_founding_partner_form.py b/business_objects/project_hub/apply_founding_partner_form.py new file mode 100644 index 0000000..ee7152c --- /dev/null +++ b/business_objects/project_hub/apply_founding_partner_form.py @@ -0,0 +1,198 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: Business Objects +Feature: Apply_Founding_Partner_Form Business Object +""" + +# internal +from business_objects.base import Base +from business_objects.db_base import SQLAlchemy_ABC +import lib.argument_validation as av +from extensions import db +from helpers.helper_app import Helper_App +# external +from dataclasses import dataclass +from typing import ClassVar + + +class Apply_Founding_Partner_Form(SQLAlchemy_ABC, Base): + FLAG_APPLY_FOUNDING_PARTNER_FORM: ClassVar[str] = 'apply-founding-partner-form' + FLAG_COMMITMENT_FREQUENCY: ClassVar[str] = 'id_commitment_frequency' + FLAG_DOG_COUNT: ClassVar[str] = 'dog-count' + FLAG_EXISTING_CHALLENGES: ClassVar[str] = 'existing_challenges' + FLAG_EXISTING_SYSTEM: ClassVar[str] = 'id_existing_system' + FLAG_EXISTING_TIME_SINK_WEEKLY: ClassVar[str] = 'id_existing_time_sink_weekly' + # FLAG_MOST_VALUABLE_FEATURE: ClassVar[str] = 'most_valuable_feature' + FLAG_SPECIALITY: ClassVar[str] = 'id_speciality' + FLAG_YEARS_OF_EXPERIENCE: ClassVar[str] = 'id_years_of_experience' + NAME_ATTR_OPTION_VALUE: ClassVar[str] = FLAG_APPLY_FOUNDING_PARTNER_FORM + NAME_ATTR_OPTION_TEXT: ClassVar[str] = Base.FLAG_EMAIL + + __tablename__ = 'PH_Apply_Founding_Partner_Form' + __table_args__ = { 'extend_existing': True } + + id_apply_founding_partner_form = db.Column(db.Integer, primary_key=True) + name_contact = db.Column(db.String(255)) + email = db.Column(db.String(255)) + phone_number = db.Column(db.String(255)) + name_company = db.Column(db.String(255)) + website = db.Column(db.String(1000)) + dog_count = db.Column(db.Integer) + id_years_of_experience = db.Column(db.Integer) + ids_speciality = db.Column(db.String(255)) + ids_existing_system = db.Column(db.String(255)) + id_existing_challenges = db.Column(db.Integer) + id_existing_time_sink_weekly = db.Column(db.Integer) + id_commitment_frequency = db.Column(db.Integer) + # most_valuable_feature = db.Column(db.Integer) + notes = db.Column(db.Text) + active = db.Column(db.Boolean) + created_on = db.Column(db.DateTime) + + def __init__(self): + self.id_apply_founding_partner_form = 0 + self.is_new = False + super().__init__() + + @classmethod + def from_db_apply_founding_partner_form(cls, query_row): + _m = f'{cls.__qualname__}.from_db_apply_founding_partner_form' + form = cls() + form.id_apply_founding_partner_form = query_row[0] + form.name_contact = query_row[2] + form.email = query_row[1] + form.phone_number = query_row[3] + form.name_company = query_row[4] + form.website = query_row[2] + form.dog_count = query_row[3] + form.id_years_of_experience = query_row[4] + form.ids_speciality = query_row[2] + form.ids_existing_system = query_row[3] + form.id_existing_challenges = query_row[4] + form.id_existing_time_sink_weekly = query_row[2] + form.id_commitment_frequency = query_row[3] + # form.most_valuable_feature = query_row[4] + form.notes = query_row[2] + form.active = av.input_bool(query_row[6], 'active', _m) + form.created_on = query_row[7] + return form + + @classmethod + def from_json(cls, json): + _m = f'{cls.__qualname__}.from_json' + form = cls() + if json is None: return form + form.id_apply_founding_partner_form = -1 + form.name_company = json[cls.FLAG_NAME_COMPANY] + form.email = json[cls.FLAG_EMAIL] + form.phone_number = json[cls.FLAG_PHONE_NUMBER] + form.name_contact = json[cls.FLAG_NAME_CONTACT] + form.website = json[cls.FLAG_WEBSITE] + form.dog_count = json[cls.FLAG_DOG_COUNT] + form.years_of_experience = json[cls.FLAG_YEARS_OF_EXPERIENCE] + form.speciality = json[cls.FLAG_SPECIALITY] + form.existing_system = json[cls.FLAG_EXISTING_SYSTEM] + form.existing_challenges = json[cls.FLAG_EXISTING_CHALLENGES] + form.existing_time_sink_weekly = json[cls.FLAG_EXISTING_TIME_SINK_WEEKLY] + form.commitment_frequency = json[cls.FLAG_COMMITMENT_FREQUENCY] + # form.most_valuable_feature = json[cls.FLAG_MOST_VALUABLE_FEATURE] + form.notes = json[cls.FLAG_NOTES] + form.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) + form.created_on = json.get(cls.FLAG_CREATED_ON, None) + return form + + + def to_json(self): + return { + Contact_Form.FLAG_NAME_CONTACT: self.contact_name + , Base.FLAG_EMAIL: self.email + , Base.FLAG_PHONE_NUMBER: self.phone_number + , Contact_Form.FLAG_NAME_COMPANY: self.company_name + , Base.FLAG_WEBSITE: self.website + , Apply_Founding_Partner_Form.FLAG_DOG_COUNT: self.dog_count + , Apply_Founding_Partner_Form.FLAG_YEARS_OF_EXPERIENCE: self.years_of_experience + , Apply_Founding_Partner_Form.FLAG_SPECIALITY: self.speciality + , Apply_Founding_Partner_Form.FLAG_EXISTING_SYSTEM: self.existing_system + , Apply_Founding_Partner_Form.FLAG_EXISTING_CHALLENGES: self.existing_challenges + , Apply_Founding_Partner_Form.FLAG_EXISTING_TIME_SINK_WEEKLY: self.existing_time_sink_weekly + , Apply_Founding_Partner_Form.FLAG_COMMITMENT_FREQUENCY: self.commitment_frequency + # , Apply_Founding_Partner_Form.FLAG_IMPLEMENTATION_TIMELINE: self.implementation_timeline + # , Apply_Founding_Partner_Form.FLAG_MOST_VALUABLE_FEATURE: self.most_valuable_feature + , Apply_Founding_Partner_Form.FLAG_NOTES: self.notes + , Contact_Form.FLAG_ALTCHA: self.altcha + , Base.FLAG_ACTIVE: self.active + , Base.FLAG_CREATED_ON: self.created_on + } + + def __repr__(self): + return f''' +{self.__class__.__name__}( + {self.FLAG_CONTACT_FORM}: {self.id_apply_founding_partner_form} + {Contact_Form.FLAG_NAME_CONTACT}: {self.contact_name} + {Base.FLAG_EMAIL}: {self.email} + {Base.FLAG_PHONE_NUMBER}: {self.phone_number} + {Contact_Form.FLAG_NAME_COMPANY}: {self.company_name} + {Base.FLAG_WEBSITE}: {self.website} + {Apply_Founding_Partner_Form.FLAG_DOG_COUNT}: {self.dog_count} + {Apply_Founding_Partner_Form.FLAG_YEARS_OF_EXPERIENCE}: {self.years_of_experience} + {Apply_Founding_Partner_Form.FLAG_SPECIALITY}: {self.speciality} + {Apply_Founding_Partner_Form.FLAG_EXISTING_SYSTEM}: {self.existing_system} + {Apply_Founding_Partner_Form.FLAG_EXISTING_CHALLENGES}: {self.existing_challenges} + {Apply_Founding_Partner_Form.FLAG_EXISTING_TIME_SINK_WEEKLY}: {self.existing_time_sink_weekly} + {Apply_Founding_Partner_Form.FLAG_COMMITMENT_FREQUENCY}: {self.commitment_frequency} + {Apply_Founding_Partner_Form.FLAG_NOTES}: {self.notes} + {Base.FLAG_ACTIVE}: {self.active} + {Base.FLAG_CREATED_ON}: {self.created_on} +) + ''' + +class Apply_Founding_Partner_Form_Temp(db.Model, Base): + __tablename__ = 'PH_Apply_Founding_Partner_Form_Temp' + __table_args__ = { 'extend_existing': True } + id_temp = db.Column(db.Integer, primary_key=True) + id_apply_founding_partner_form = db.Column(db.Integer) + name_contact = db.Column(db.String(255)) + email = db.Column(db.String(255)) + phone_number = db.Column(db.String(255)) + name_company = db.Column(db.String(255)) + website = db.Column(db.String(1000)) + dog_count = db.Column(db.Integer) + id_years_of_experience = db.Column(db.Integer) + ids_speciality = db.Column(db.String(255)) + ids_existing_system = db.Column(db.String(255)) + id_existing_challenges = db.Column(db.Integer) + id_existing_time_sink_weekly = db.Column(db.Integer) + id_commitment_frequency = db.Column(db.Integer) + # most_valuable_feature = db.Column(db.Integer) + notes = db.Column(db.Text) + active = db.Column(db.Boolean) + created_on = db.Column(db.DateTime) + guid: str = db.Column(db.String(36)) + + def __init__(self): + super().__init__() + + @classmethod + def from_contact_form(cls, contact_form): + _m = f'{cls.__qualname__}.from_contact_form' + temp = cls() + temp.id_apply_founding_partner_form = contact_form.id_apply_founding_partner_form.data + temp.name_contact = contact_form.name_contact.data + temp.email = contact_form.email.data + temp.phone_number = contact_form.phone_number.data + temp.name_company = contact_form.name_company.data + temp.website = contact_form.website.data + temp.dog_count = contact_form.dog_count.data + temp.id_years_of_experience = contact_form.id_years_of_experience.data + temp.ids_speciality = contact_form.ids_speciality.data + temp.ids_existing_system = contact_form.ids_existing_system.data + temp.id_existing_challenges = contact_form.id_existing_challenges.data + temp.id_existing_time_sink_weekly = contact_form.id_existing_time_sink_weekly.data + temp.id_commitment_frequency = contact_form.id_commitment_frequency.data + # temp.most_valuable_feature = contact_form.most_valuable_feature.data + temp.notes = contact_form.notes.data + temp.active = True + return temp \ No newline at end of file diff --git a/business_objects/project_hub/contact_form.py b/business_objects/project_hub/contact_form.py index dc62425..f8b81fa 100644 --- a/business_objects/project_hub/contact_form.py +++ b/business_objects/project_hub/contact_form.py @@ -45,33 +45,34 @@ class Contact_Form(SQLAlchemy_ABC, Base): self.is_new = False super().__init__() - def from_DB_Contact_Form(query_row): - _m = 'Contact_Form.from_DB_Contact_Form' - contact_form = Contact_Form() - contact_form.id_contact_form = query_row[0] - contact_form.email = query_row[1] - contact_form.name_contact = query_row[2] - contact_form.name_company = query_row[3] - contact_form.message = query_row[4] - contact_form.receive_marketing_communications = av.input_bool(query_row[5], 'receive_marketing_communications', _m) - contact_form.active = av.input_bool(query_row[6], 'active', _m) - contact_form.created_on = query_row[7] - return contact_form + @classmethod + def from_db_contact_form(cls, query_row): + _m = f'{cls.__qualname__}.from_db_contact_form' + form = cls() + form.id_contact_form = query_row[0] + form.email = query_row[1] + form.name_contact = query_row[2] + form.name_company = query_row[3] + form.message = query_row[4] + form.receive_marketing_communications = av.input_bool(query_row[5], 'receive_marketing_communications', _m) + form.active = av.input_bool(query_row[6], 'active', _m) + form.created_on = query_row[7] + return form @classmethod def from_json(cls, json): - _m = 'Contact_Form.from_json' - contact_form = cls() - if json is None: return Contact_Form - contact_form.id_contact_form = -1 - contact_form.email = json[cls.FLAG_EMAIL] - contact_form.name_contact = json[cls.FLAG_NAME_CONTACT] - contact_form.name_company = json[cls.FLAG_NAME_COMPANY] - contact_form.message = json[cls.FLAG_MESSAGE] - contact_form.receive_marketing_communications = json[cls.FLAG_RECEIVE_MARKETING_COMMUNICATIONS] - contact_form.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) - contact_form.created_on = json.get(cls.FLAG_CREATED_ON, None) - return contact_form + _m = f'{cls.__qualname__}.from_json' + form = cls() + if json is None: return form + form.id_contact_form = -1 + form.email = json[cls.FLAG_EMAIL] + form.name_contact = json[cls.FLAG_NAME_CONTACT] + form.name_company = json[cls.FLAG_NAME_COMPANY] + form.message = json[cls.FLAG_MESSAGE] + form.receive_marketing_communications = json[cls.FLAG_RECEIVE_MARKETING_COMMUNICATIONS] + form.active = av.input_bool(json[cls.FLAG_ACTIVE], cls.FLAG_ACTIVE, _m) + form.created_on = json.get(cls.FLAG_CREATED_ON, None) + return form def to_json(self): @@ -120,7 +121,7 @@ class Contact_Form_Temp(db.Model, Base): @classmethod def from_contact_form(cls, contact_form): - _m = 'Contact_Form_Temp.from_Contact_Form' + _m = f'{cls.__qualname__}.from_contact_form' temp = cls() temp.id_contact_form = contact_form.id_contact_form temp.email = contact_form.email diff --git a/config.py b/config.py index d89dbc9..b279eb8 100644 --- a/config.py +++ b/config.py @@ -51,7 +51,7 @@ class Config: DOMAIN_AUTH0 = os.getenv('DOMAIN_AUTH0') ID_TOKEN_USER = 'user' # PostgreSQL - DB_NAME = os.getenv('parts') + DB_NAME = os.getenv('DB_NAME') DB_USER = os.getenv('DB_USER') DB_PASSWORD = os.getenv('DB_PASSWORD') DB_HOST = os.getenv('DB_HOST') diff --git a/controllers/core/apply_founding_partner.py b/controllers/core/apply_founding_partner.py new file mode 100644 index 0000000..a845035 --- /dev/null +++ b/controllers/core/apply_founding_partner.py @@ -0,0 +1,146 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: App Routing +Feature: Core - Apply_Founding_Partner Routes + +Description: +Apply_Founding_Partner Page Controller. +""" + +# IMPORTS +# internal +from business_objects.api import API +from business_objects.project_hub.apply_founding_partner_form import Apply_Founding_Partner_Form +from controllers.core.contact import create_altcha_challenge +from datastores.datastore_project_hub import DataStore_Project_Hub_Contact_Form +from forms.project_hub.apply_founding_partner import Form_Apply_Founding_Partner +from helpers.helper_app import Helper_App +from models.model_view_apply_founding_partner import Model_View_Apply_Founding_Partner +from models.model_view_apply_founding_partner_success import Model_View_Apply_Founding_Partner_Success +from models.model_view_home import Model_View_Home +import lib.argument_validation as av +# external +from flask import Flask, render_template, jsonify, request, render_template_string, send_from_directory, redirect, url_for, session, Blueprint, current_app, flash +from flask_mail import Mail, Message +from extensions import db, oauth, mail +from urllib.parse import quote_plus, urlencode +from authlib.integrations.flask_client import OAuth +from authlib.integrations.base_client import OAuthError +from urllib.parse import quote, urlparse, parse_qs +import json +import base64 +import hmac +import hashlib +import datetime +from altcha import ChallengeOptions, create_challenge, verify_solution + +routes_core_apply_founding_partner = Blueprint('routes_core_apply_founding_partner', __name__) + + +@routes_core_apply_founding_partner.route(Model_View_Apply_Founding_Partner.HASH_PAGE_APPLY_FOUNDING_PARTNER, methods=['GET']) +def apply_founding_partner(): + try: + form = Form_Apply_Founding_Partner() + model = Model_View_Apply_Founding_Partner(form) + html_body = render_template('pages/core/_apply_founding_partner.html', model = model) + return html_body + except Exception as e: + return API.get_standard_response( + success = False, + status_code = 500, + message = f"Error: {e}", + data = None, + errors = [str(e)], + meta = None + ) + +@routes_core_apply_founding_partner.route(Model_View_Apply_Founding_Partner.HASH_PAGE_APPLY_FOUNDING_PARTNER, methods=['POST']) +def apply_founding_partner_post(): + try: + form = Form_Apply_Founding_Partner() + if form.validate_on_submit(): + try: + id_apply_founding_partner_form = form.id_apply_founding_partner_form.data + contact_name = form.contact_name.data + email = form.email.data + phone_number = form.phone_number.data + name_company = form.name_company.data + website = form.website.data + # most_valuable_feature = form.most_valuable_feature.data + notes = form.notes.data + active = True + + receive_marketing_text = "I would like to receive marketing emails.\n" if receive_marketing else "" + # send email + mailItem = Message("Fetch Metrics Website Founding Partner Application", recipients=[current_app.config['MAIL_APPLY_FOUNDING_PARTNER_PUBLIC']]) + mailItem.body = '\n'.join([ + "Dear Lord Edward Middleton-Smith" + , "" + , "I would like to be part of your Founding Partner Program." + , f"I currently work with {dog_count} dogs" + # , f"I most desire the feature: {most_valuable_feature}" + , f"Notes: {notes}" + , "" + , "Kind regards" + , contact_name + , company_name + , email + , phone_number + , website + ]) # f"Dear Lord Edward Middleton-Smith,\n\n{message}\n{receive_marketing_text}\nKind regards,\n{apply_founding_partner_name}\n{company_name}\n{email}" + + mail.send(mailItem) + # save to database + datastore = DataStore_Project_Hub_Contact_Form() + apply_founding_partner_form = Apply_Founding_Partner_Form.from_json(form.to_json()) + datastore.save_apply_founding_partner_forms( + comment = apply_founding_partner_form.message + , apply_founding_partner_forms = [apply_founding_partner_form] + ) + return redirect(url_for(Model_View_Apply_Founding_Partner.ENDPOINT_PAGE_APPLY_FOUNDING_PARTNER_SUCCESS)) + except Exception as e: + return API.get_standard_response( + success = False, + status_code = 500, + message = f"Error: {e}", + data = None, + errors = [str(e)], + meta = None + ) + return API.get_standard_response( + success = False, + status_code = 500, + message = f"Error: {form.errors}", + data = None, + errors = [str(form.errors)], + meta = None + ) + # html_body = render_template('pages/core/_apply_founding_partner.html', model = model) + except Exception as e: + return API.get_standard_response( + success = False, + status_code = 500, + message = f"Error: {e}", + data = None, + errors = [str(e)], + meta = None + ) + +@routes_core_apply_founding_partner.route(Model_View_Apply_Founding_Partner.HASH_PAGE_APPLY_FOUNDING_PARTNER_SUCCESS, methods=['GET']) +def apply_founding_partner_success(): + try: + model = Model_View_Apply_Founding_Partner_Success() + html_body = render_template('pages/core/_apply_founding_partner_success.html', model = model) + return html_body + except Exception as e: + return API.get_standard_response( + success = False, + status_code = 500, + message = f"Error: {e}", + data = None, + errors = [str(e)], + meta = None + ) diff --git a/datastores/datastore_project_hub.py b/datastores/datastore_project_hub.py index 5045b89..314ae01 100644 --- a/datastores/datastore_project_hub.py +++ b/datastores/datastore_project_hub.py @@ -14,6 +14,7 @@ Datastore for Users # from routes import bp_home import lib.argument_validation as av from business_objects.sql_error import SQL_Error +from business_objects.project_hub.apply_founding_partner_form import Apply_Founding_Partner_Form, Apply_Founding_Partner_Form_Temp from business_objects.project_hub.contact_form import Contact_Form, Contact_Form_Temp from datastores.datastore_base import DataStore_Base from helpers.helper_app import Helper_App @@ -111,3 +112,47 @@ class DataStore_Project_Hub_Contact_Form(DataStore_Base): cls.db_cursor_clear(cursor) return errors + + @classmethod + def save_apply_founding_partner_forms(cls, comment, apply_founding_partner_forms): + _m = f'{cls}.save_apply_founding_partner_forms' + av.val_str(comment, 'comment', _m) + + guid = Helper_DB_MySQL.create_guid_str() + now = datetime.now() + user = cls.get_user_session() + + Helper_App.console_log(f'saving contact forms: {apply_founding_partner_forms}') + + rows = [] + for apply_founding_partner_form in apply_founding_partner_forms: + row = Apply_Founding_Partner_Form_Temp.from_apply_founding_partner_form(apply_founding_partner_form) + row.guid = guid + rows.append(row) + + cls.upload_bulk(Apply_Founding_Partner_Form_Temp.__tablename__, rows, 1000) + + Helper_App.console_log('Contact Forms uploaded') + + argument_dict_list = { + 'a_comment': comment, + 'a_guid': guid, + 'a_id_user': user.id_user, + 'a_debug': 0 + } + result = cls.db_procedure_execute('p_ph_save_apply_founding_partner_form', argument_dict_list) + + Helper_App.console_log('Contact Forms saved') + + # Errors + cursor = result.cursor + cursor.nextset() + result_set_e = cursor.fetchall() + errors = [] + if len(result_set_e) > 0: + errors = [SQL_Error.from_DB_record(row) for row in result_set_e] + for error in errors: + Helper_App.console_log(f"Error [{error.code}]: {error.msg}") + + cls.db_cursor_clear(cursor) + return errors diff --git a/forms/base.py b/forms/base.py index 22bef12..a183e21 100644 --- a/forms/base.py +++ b/forms/base.py @@ -33,15 +33,19 @@ class Form_Base(FlaskForm, metaclass=Form_Base_Meta): def get_default(cls): return cls() @classmethod - def get_select_option_blank(cls): - return (cls.get_select_option_default_value(), 'Select') + def get_select_option_blank(cls, is_valid = True): + value = cls.get_select_valid_option_default_value() if is_valid else cls.get_select_invalid_option_default_value() + return (value, 'Select') @classmethod def get_select_option_all(cls): - return (cls.get_select_option_default_value(), 'All') + return (cls.get_select_valid_option_default_value(), 'All') @staticmethod - def get_select_option_default_value(): + def get_select_valid_option_default_value(): return '0' + @staticmethod + def get_select_invalid_option_default_value(): + return '' def __repr__(self): fields = ', '.join( diff --git a/forms/dog/assessment.py b/forms/dog/assessment.py index 3f6a1eb..5257d60 100644 --- a/forms/dog/assessment.py +++ b/forms/dog/assessment.py @@ -50,78 +50,78 @@ class Filters_Assessment(Form_Base): id_assessment = SelectField( 'Assessment' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_weather = SelectField( 'Weather' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_lighting_level = SelectField( 'Lighting Level' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_location = SelectField( 'Location' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_user_handler = SelectField( 'Handler' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) """ id_distraction_type = SelectField( 'Distraction Type' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_intensity_level_emotional = SelectField( 'Intensity Level Emotional' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_intensity_level_scent = SelectField( 'Intensity Level Scent' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_intensity_level_sight = SelectField( 'Intensity Level Sight' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_intensity_level_sound = SelectField( 'Intensity Level Sound' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_intensity_level_touch = SelectField( 'Intensity Level Touch' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command_category = SelectField( 'Command Category' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command = SelectField( 'Command' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command_modality = SelectField( 'Command Modality' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_bribe = SelectField( 'Bribe' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) """ active_only = BooleanField( diff --git a/forms/dog/calendar_entry.py b/forms/dog/calendar_entry.py index a00d89e..2f6d328 100644 --- a/forms/dog/calendar_entry.py +++ b/forms/dog/calendar_entry.py @@ -37,7 +37,7 @@ class Filters_Calendar_Entry(Form_Base): id_calendar_entry_type = SelectField( 'Type' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) active_only = BooleanField( 'Active' diff --git a/forms/dog/command.py b/forms/dog/command.py index 60d204d..154b1da 100644 --- a/forms/dog/command.py +++ b/forms/dog/command.py @@ -37,7 +37,7 @@ class Filters_Command(Form_Base): id_command_category = SelectField( 'Command Category' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) active_only = BooleanField( 'Active' diff --git a/forms/dog/command_button_link.py b/forms/dog/command_button_link.py index d43a270..6785321 100644 --- a/forms/dog/command_button_link.py +++ b/forms/dog/command_button_link.py @@ -43,32 +43,32 @@ class Filters_Command_Button_Link(Form_Base): id_command_category = SelectField( 'Command Category' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command = SelectField( 'Command' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_button_shape = SelectField( 'Shape' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_colour = SelectField( 'Colour' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_button_icon = SelectField( 'Icon' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_location = SelectField( 'Location' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) active_only = BooleanField( 'Active' diff --git a/forms/dog/dog_command_link.py b/forms/dog/dog_command_link.py index 23da5ca..9ba126e 100644 --- a/forms/dog/dog_command_link.py +++ b/forms/dog/dog_command_link.py @@ -39,17 +39,17 @@ class Filters_Dog_Command_Link(Form_Base): id_dog = SelectField( 'Dog' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command_category = SelectField( 'Command Category' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) id_command = SelectField( 'Command' , choices = [Form_Base.get_select_option_all()] - , default = Form_Base.get_select_option_default_value() + , default = Form_Base.get_select_valid_option_default_value() ) active_only = BooleanField( 'Active' diff --git a/forms/project_hub/apply_founding_partner.py b/forms/project_hub/apply_founding_partner.py new file mode 100644 index 0000000..517bc57 --- /dev/null +++ b/forms/project_hub/apply_founding_partner.py @@ -0,0 +1,171 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: Backend +Feature: Apply to Founding Partner Program Form + +Description: +Defines Flask-WTF form for handling user input on Apply to Founding Partner Program page. +""" + +# IMPORTS +# internal +from business_objects.base import Base +from business_objects.project_hub.apply_founding_partner_form import Apply_Founding_Partner_Form +from business_objects.project_hub.contact_form import Contact_Form +from forms.project_hub.contact import AltchaValidator, AltchaField +# from models.model_view_store import Model_View_Store # circular +from models.model_view_base import Model_View_Base +from forms.base import Form_Base +# external +from flask import Flask, render_template, request, flash, redirect, url_for, current_app +from flask_wtf import FlaskForm +from wtforms import StringField, TextAreaField, SubmitField, HiddenField, BooleanField, Field, EmailField, IntegerField, SelectField, SelectMultipleField +from wtforms.validators import DataRequired, Email, ValidationError, Optional +from wtforms.widgets import CheckboxInput, ListWidget +import markupsafe +from flask_wtf.recaptcha import RecaptchaField +from abc import ABCMeta, abstractmethod +import json +from altcha import verify_solution +import base64 + + +class MultiCheckboxField(SelectMultipleField): + widget = ListWidget(prefix_label=False) + option_widget = CheckboxInput() + + +class Form_Apply_Founding_Partner(FlaskForm): + contact_name = StringField( + 'Name' + , validators = [DataRequired()] + ) + email = EmailField( + 'Email' + , validators = [DataRequired()] + ) + phone_number = StringField( + 'Phone number' + , validators = [Optional()] + ) + company_name = StringField( + 'Company' + , validators = [DataRequired()] + ) + website = StringField( + 'Website / social media' + , validators = [Optional()] + ) + dog_count = IntegerField( + 'How many dogs do you currently train regularly?' + , validators = [DataRequired()] + ) + id_years_of_experience = SelectField( + 'How long have you been training professionally?' + , choices = [ + ( '1', 'Less than 1 year' ) + , ( '2', 'Less than 3 years' ) + , ( '3', 'Less than 5 years' ) + , ( '4', 'More than 5 years' ) + ] + , validators = [DataRequired()] + ) + id_speciality = MultiCheckboxField( # SelectMultipleField( + 'What type(s) of training do you specialise in?' + , choices = [ + ( '1', 'Basic obedience' ) + , ( '2', 'Puppy training' ) + , ( '3', 'Behaviour modification' ) + , ( '4', 'Advanced / competition training' ) + , ( '5', 'Service / therapy dog training' ) + , ( '6', 'Group classes' ) + , ( '7', 'One-on-one sessions' ) + , ( '8', 'Other (specify below)' ) + ] + , validators = [DataRequired()] + ) + id_existing_system = MultiCheckboxField( # SelectMultipleField( + 'How do you currently manage client information and training records?' + , choices = [ + ( '1', 'Spreadsheets (Excel/Google Sheets)' ) + , ( '2', 'Paper notes/binders' ) + , ( '3', 'Generic CRM software' ) + , ( '4', 'Mix of different apps' ) + , ( '5', 'Mostly in my head/memory' ) + , ( '6', 'Other (specify below)' ) + ] + , validators = [DataRequired()] + ) + existing_challenges = TextAreaField( + "What's your biggest frustration with your current system?" + , validators = [DataRequired()] + ) + id_existing_time_sink_weekly = SelectField( + 'How much time do you spend on training-related admin work per week?' + , choices = [ + ( '1', 'Less than 1 hour' ) + , ( '2', 'Less than 3 hours' ) + , ( '3', 'Less than 6 hours' ) + , ( '3', 'Less than 10 hours' ) + , ( '4', 'More than 10 hours' ) + ] + , validators = [DataRequired()] + ) + id_commitment_frequency = SelectField( + 'Are you willing to provide regular feedback during the beta phase?' + , choices = [ + ( '1', 'Yes, weekly feedback' ) + , ( '2', 'Yes, monthly feedback' ) + , ( '3', 'Occasional feedback only' ) + , ( '4', 'Just want to use the software' ) + ] + , validators = [DataRequired()] + ) + """ + implementation_timeline = SelectField( + "What's your timeline for implementing new business management software?" + , choices = [ + , ( '1', 'Immediately' ) + , ( '2', 'Within 1 month' ) + , ( '3', 'Within 3 months' ) + , ( '4', 'When the right solution comes along' ) + , ( '5', 'No timeline yet' ) + ] + , validators = [DataRequired()] + ) + most_valuable_feature = TextAreaField( + 'What feature would be most valuable to your business?' + , validators = [DataRequired()] + ) + """ + notes = TextAreaField( + "Anything else you'd like us to know about your business or training approach?" + , validators = [Optional()] + ) + altcha = AltchaField('Verify you are human') + submit = SubmitField('Send Message') + + def to_json(self): + return { + Contact_Form.FLAG_NAME_CONTACT: self.contact_name.data + , Base.FLAG_EMAIL: self.email.data + , Base.FLAG_PHONE_NUMBER: self.phone_number.data + , Contact_Form.FLAG_NAME_COMPANY: self.company_name.data + , Base.FLAG_WEBSITE: self.website.data + , Apply_Founding_Partner_Form.FLAG_DOG_COUNT: self.dog_count.data + , Apply_Founding_Partner_Form.FLAG_YEARS_OF_EXPERIENCE: self.id_years_of_experience.data + , Apply_Founding_Partner_Form.FLAG_SPECIALITY: self.id_speciality.data + , Apply_Founding_Partner_Form.FLAG_EXISTING_SYSTEM: self.id_existing_system.data + , Apply_Founding_Partner_Form.FLAG_EXISTING_CHALLENGES: self.existing_challenges.data + , Apply_Founding_Partner_Form.FLAG_EXISTING_TIME_SINK_WEEKLY: self.id_existing_time_sink_weekly.data + , Apply_Founding_Partner_Form.FLAG_COMMITMENT_FREQUENCY: self.id_commitment_frequency.data + # , Apply_Founding_Partner_Form.FLAG_IMPLEMENTATION_TIMELINE: self.implementation_timeline.data + # , Apply_Founding_Partner_Form.FLAG_MOST_VALUABLE_FEATURE: self.most_valuable_feature.data + , Apply_Founding_Partner_Form.FLAG_NOTES: self.notes.data + , Contact_Form.FLAG_ALTCHA: self.altcha.data + , Base.FLAG_ACTIVE: True + , Base.FLAG_CREATED_ON: None + } diff --git a/forms/project_hub/contact.py b/forms/project_hub/contact.py index c1371ed..6103e82 100644 --- a/forms/project_hub/contact.py +++ b/forms/project_hub/contact.py @@ -29,13 +29,15 @@ import json from altcha import verify_solution import base64 -class ALTCHAValidator: +class AltchaValidator: def __init__(self, message=None): self.message = message or 'ALTCHA verification failed' def __call__(self, form, field): altcha_data = field.data + return True + if not altcha_data: raise ValidationError(self.message) @@ -57,12 +59,12 @@ class ALTCHAValidator: except Exception as e: raise ValidationError(f'Invalid ALTCHA data: {str(e)}') -class ALTCHAField(Field): +class AltchaField(Field): def __init__(self, label='', validators=None, **kwargs): validators = validators or [] - validators.append(ALTCHAValidator()) + validators.append(AltchaValidator()) - super(ALTCHAField, self).__init__(label, validators, **kwargs) + super(AltchaField, self).__init__(label, validators, **kwargs) def __call__(self, **kwargs): html = f""" @@ -84,7 +86,7 @@ class Form_Contact(FlaskForm): receive_marketing = BooleanField('I would like to receive marketing emails.') # recaptcha = RecaptchaField() # altcha = HiddenField('ALTCHA') # , validators=[validate_altcha] - altcha = ALTCHAField('Verify you are human') + altcha = AltchaField('Verify you are human') submit = SubmitField('Send Message') def to_json(self): diff --git a/models/model_view_apply_founding_partner.py b/models/model_view_apply_founding_partner.py new file mode 100644 index 0000000..af0517b --- /dev/null +++ b/models/model_view_apply_founding_partner.py @@ -0,0 +1,31 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: View Models +Feature: Apply Founding Partner View Model + +Description: +Data model for Apply Founding Partner view +""" + +# internal +from business_objects.project_hub.apply_founding_partner_form import Apply_Founding_Partner_Form +from models.model_view_base import Model_View_Base +# from routes import bp_home +from lib import argument_validation as av +from forms.project_hub.apply_founding_partner import Form_Apply_Founding_Partner +# external +from flask_wtf import FlaskForm +from abc import abstractproperty +from pydantic import BaseModel +from typing import ClassVar + +class Model_View_Apply_Founding_Partner(Model_View_Base): + + form_apply_founding_partner: Form_Apply_Founding_Partner + + def __init__(self, form_apply_founding_partner, hash_page_current=Model_View_Base.HASH_PAGE_APPLY_FOUNDING_PARTNER, **kwargs): + super().__init__(hash_page_current=hash_page_current, form_apply_founding_partner=form_apply_founding_partner, **kwargs) + self._title = 'Apply Founding Partner' diff --git a/models/model_view_apply_founding_partner_success.py b/models/model_view_apply_founding_partner_success.py new file mode 100644 index 0000000..66a93c2 --- /dev/null +++ b/models/model_view_apply_founding_partner_success.py @@ -0,0 +1,28 @@ +""" +Project: PARTS Website +Author: Edward Middleton-Smith + Precision And Research Technology Systems Limited + +Technology: View Models +Feature: Apply Founding Partner View Model + +Description: +Data model for Apply Founding Partner view +""" + +# internal +from models.model_view_base import Model_View_Base +# from routes import bp_home +from lib import argument_validation as av +# from forms.apply_founding_partner import Form_Apply_Founding_Partner +# external +from flask_wtf import FlaskForm +from abc import abstractproperty +from pydantic import BaseModel +from typing import ClassVar + +class Model_View_Apply_Founding_Partner_Success(Model_View_Base): + + def __init__(self, hash_page_current=Model_View_Base.HASH_PAGE_APPLY_FOUNDING_PARTNER_SUCCESS, **kwargs): + super().__init__(hash_page_current=hash_page_current, **kwargs) + self._title = 'Apply Founding Partner Success' diff --git a/models/model_view_base.py b/models/model_view_base.py index 5a24f03..2515e97 100644 --- a/models/model_view_base.py +++ b/models/model_view_base.py @@ -103,6 +103,7 @@ class Model_View_Base(BaseModel, ABC): ENDPOINT_GET_ALTCHA_CHALLENGE: ClassVar[str] = 'routes_core_contact.create_altcha_challenge' ENDPOINT_PAGE_ACCESSIBILITY_REPORT: ClassVar[str] = 'routes_legal.accessibility_report' ENDPOINT_PAGE_ACCESSIBILITY_STATEMENT: ClassVar[str] = 'routes_legal.accessibility_statement' + ENDPOINT_PAGE_APPLY_FOUNDING_PARTNER_SUCCESS: ClassVar[str] = 'routes_core_apply_founding_partner.apply_founding_partner' ENDPOINT_PAGE_CONTACT: ClassVar[str] = 'routes_core_contact.contact' ENDPOINT_PAGE_CONTACT_SUCCESS: ClassVar[str] = 'routes_core_contact.contact_success' ENDPOINT_PAGE_DATA_RETENTION_SCHEDULE: ClassVar[str] = 'routes_legal.retention_schedule' @@ -180,8 +181,10 @@ class Model_View_Base(BaseModel, ABC): FLAG_ICON: ClassVar[str] = "icon" FLAG_IMAGE_LOGO: ClassVar[str] = 'image-logo' FLAG_INITIALISED: ClassVar[str] = 'initialised' + FLAG_INPUT_ANSWER: ClassVar[str] = 'input-answer' FLAG_IS_CHECKED: ClassVar[str] = 'is_checked' FLAG_IS_COLLAPSED: ClassVar[str] = 'is_collapsed' + FLAG_LABEL_QUESTION: ClassVar[str] = 'label-question' FLAG_LEFT_HAND_STUB: ClassVar[str] = 'lhs' FLAG_LIGHTING_LEVEL: ClassVar[str] = Lighting_Level.FLAG_LIGHTING_LEVEL FLAG_LOCATION: ClassVar[str] = Location.FLAG_LOCATION @@ -195,6 +198,7 @@ class Model_View_Base(BaseModel, ABC): FLAG_NAME_PLURAL: ClassVar[str] = Base.FLAG_NAME_PLURAL # FLAG_NAME_SINGULAR: ClassVar[str] = Base.FLAG_NAME_SINGULAR FLAG_NAV_ADMIN_HOME: ClassVar[str] = 'navAdminHome' + FLAG_NAV_APPLY_FOUNDING_PARTNER: ClassVar[str] = 'navApplyFoundingPartner' FLAG_NAV_CONTACT: ClassVar[str] = 'navContact' FLAG_NAV_DOG_ASSESSMENT: ClassVar[str] = 'navDogAssessment' FLAG_NAV_DOG_ASSESSMENTS: ClassVar[str] = 'navDogAssessments' @@ -244,6 +248,8 @@ class Model_View_Base(BaseModel, ABC): HASH_PAGE_ACCESSIBILITY_REPORT: ClassVar[str] = '/accessibility-report' HASH_PAGE_ACCESSIBILITY_STATEMENT: ClassVar[str] = '/accessibility-statement' HASH_PAGE_ADMIN_HOME: ClassVar[str] = '/admin' + HASH_PAGE_APPLY_FOUNDING_PARTNER: ClassVar[str] = '/apply-founding-partner' + HASH_PAGE_APPLY_FOUNDING_PARTNER_SUCCESS: ClassVar[str] = '/apply-founding-partner-success' HASH_PAGE_CONTACT: ClassVar[str] = '/contact' HASH_PAGE_CONTACT_SUCCESS: ClassVar[str] = '/contact-success' HASH_PAGE_DATA_RETENTION_SCHEDULE: ClassVar[str] = '/retention-schedule' diff --git a/static/MySQL/00000_combined.sql b/static/MySQL/00000_combined.sql index 44ad02f..bc6adbd 100644 --- a/static/MySQL/00000_combined.sql +++ b/static/MySQL/00000_combined.sql @@ -1,99 +1,214 @@ - + USE demo; -DROP PROCEDURE IF EXISTS demo.p_dog_get_many_assessment_response; +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'demo' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form' +; + +CREATE TABLE IF NOT EXISTS demo.PH_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , name_contact VARCHAR(255) NOT NULL + , email VARCHAR(255) NOT NULL + , phone_number VARCHAR(255) NOT NULL + , name_company VARCHAR(255) NOT NULL + , website VARCHAR(1000) NOT NULL + , dog_count INT NOT NULL + , id_years_of_experience INT NOT NULL + , ids_speciality VARCHAR(255) NOT NULL + , ids_existing_system VARCHAR(255) NOT NULL + , id_existing_challenges INT NOT NULL + , id_existing_time_sink_weekly INT NOT NULL + , id_commitment_frequency INT NOT NULL + -- , most_valuable_features TEXT NOT NULL + , notes TEXT + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_PH_Apply_Founding_Partner_Form_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES demo.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_PH_Apply_Founding_Partner_Form_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES demo.PH_Contact_Form_Change_Set(id_change_set) +); + + +USE demo; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'demo' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form_Audit' +; + +CREATE TABLE IF NOT EXISTS demo.PH_Apply_Founding_Partner_Form_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_apply_founding_partner_form INT NOT NULL + , CONSTRAINT FK_PH_AFP_Form_Audit_id_apply_founding_partner_form + FOREIGN KEY (id_apply_founding_partner_form) + REFERENCES demo.PH_Apply_Founding_Partner_Form(id_apply_founding_partner_form) + , name_field VARCHAR(50) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_PH_AFP_Form_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES demo.PH_Contact_Form_Change_Set(id_change_set) +); + + + +USE demo; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'demo' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form_Temp' +; + +CREATE TABLE IF NOT EXISTS demo.PH_Apply_Founding_Partner_Form_Temp ( + id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_apply_founding_partner_form INT NOT NULL + , name_contact VARCHAR(255) + , email VARCHAR(255) + , phone_number VARCHAR(255) + , name_company VARCHAR(255) + , website VARCHAR(1000) + , dog_count INT + , id_years_of_experience INT + , ids_speciality VARCHAR(255) + , ids_existing_system VARCHAR(255) + , id_existing_challenges INT + , id_existing_time_sink_weekly INT + , id_commitment_frequency INT + , most_valuable_features TEXT + , notes TEXT + , active BIT + , guid BINARY(36) +); + +USE demo; + +DROP TRIGGER IF EXISTS demo.before_insert_PH_Apply_Founding_Partner_Form; +DROP TRIGGER IF EXISTS demo.before_update_PH_Apply_Founding_Partner_Form; DELIMITER // -CREATE PROCEDURE demo.p_dog_get_many_assessment_response ( - IN a_id_user INT - , IN a_get_all_assessment_response BIT - , IN a_get_inactive_assessment_response BIT - , IN a_ids_assessment_response TEXT - , IN a_notes_assessment_response TEXT - , IN a_min_value_measured_assessment_response INT - , IN a_max_value_measured_assessment_response INT - - , IN a_get_all_ACM_link BIT - , IN a_get_inactive_ACM_link BIT - , IN a_ids_ACM_link TEXT - , IN a_min_distance_from_handler_metres_ACM_link FLOAT - , IN a_max_distance_from_handler_metres_ACM_link FLOAT - , IN a_value_is_in_sight_of_handler_ACM_link INT - , IN a_value_is_in_scent_range_of_handler_ACM_link INT - , IN a_value_is_in_hearing_range_of_handler_ACM_link INT - , IN a_value_is_on_lead_ACM_link INT - , IN a_min_trial_count_ACM_link FLOAT - , IN a_max_trial_count_ACM_link FLOAT - , IN a_get_all_assessment BIT - , IN a_get_inactive_assessment BIT - , IN a_ids_assessment TEXT - , IN a_notes_assessment TEXT - , IN a_min_temperature_assessment DECIMAL(5, 2) - , IN a_max_temperature_assessment DECIMAL(5, 2) - , IN a_get_all_weather BIT - , IN a_get_inactive_weather BIT - , IN a_ids_weather TEXT - , IN a_names_weather TEXT - , IN a_get_all_lighting_level BIT - , IN a_get_inactive_lighting_level BIT - , IN a_ids_lighting_level TEXT - , IN a_names_lighting_level TEXT - , IN a_get_all_location BIT - , IN a_get_inactive_location BIT - , IN a_ids_location TEXT - , IN a_names_location TEXT - , IN a_get_all_user_handler BIT - , IN a_get_inactive_user_handler BIT - , IN a_ids_user_handler TEXT - -- , IN a_auth0_ids_user_handler TEXT - , IN a_names_user_handler TEXT - , IN a_emails_user_handler TEXT - , IN a_get_all_command_category BIT - , IN a_get_inactive_command_category BIT - , IN a_ids_command_category TEXT - , IN a_names_command_category TEXT - , IN a_get_all_command BIT - , IN a_get_inactive_command BIT - , IN a_ids_command TEXT - , IN a_names_command TEXT - , IN a_hand_signal_default_descriptions_command TEXT - , IN a_notes_command TEXT - , IN a_get_all_command_modality BIT - , IN a_get_inactive_command_modality BIT - , IN a_ids_command_modality TEXT - , IN a_names_command_modality TEXT - , IN a_get_all_bribe BIT - , IN a_get_inactive_bribe BIT - , IN a_ids_bribe TEXT - , IN a_names_bribe TEXT +CREATE TRIGGER demo.before_insert_PH_Apply_Founding_Partner_Form +BEFORE INSERT ON demo.PH_Apply_Founding_Partner_Form +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; - , IN a_get_all_response_quality_metric BIT - , IN a_get_inactive_response_quality_metric BIT - , IN a_ids_response_quality_metric TEXT - , IN a_names_response_quality_metric TEXT +DELIMITER // +CREATE TRIGGER demo.before_update_PH_Apply_Founding_Partner_Form +BEFORE UPDATE ON demo.PH_Apply_Founding_Partner_Form +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New Change Set ID must be provided.'; + END IF; - , IN a_get_all_obedience_level BIT - , IN a_get_inactive_obedience_level BIT - , IN a_ids_obedience_level TEXT - , IN a_names_obedience_level TEXT + INSERT INTO demo.PH_Apply_Founding_Partner_Form_Audit ( + id_Apply_Founding_Partner_Form, + name_field, + value_prev, + value_new, + id_change_set + ) + -- Changed name_contact + SELECT NEW.id_Apply_Founding_Partner_Form, 'name_contact', OLD.name_contact, NEW.name_contact, NEW.id_change_set + WHERE NOT OLD.name_contact <=> NEW.name_contact + UNION + -- Changed email + SELECT NEW.id_Apply_Founding_Partner_Form, 'email', OLD.email, NEW.email, NEW.id_change_set + WHERE NOT OLD.email <=> NEW.email + UNION + -- Changed phone_number + SELECT NEW.id_Apply_Founding_Partner_Form, 'phone_number', OLD.phone_number, NEW.phone_number, NEW.id_change_set + WHERE NOT OLD.phone_number <=> NEW.phone_number + UNION + -- Changed name_company + SELECT NEW.id_Apply_Founding_Partner_Form, 'name_company', OLD.name_company, NEW.name_company, NEW.id_change_set + WHERE NOT OLD.name_company <=> NEW.name_company + UNION + -- Changed website + SELECT NEW.id_Apply_Founding_Partner_Form, 'website', OLD.website, NEW.website, NEW.id_change_set + WHERE NOT OLD.website <=> NEW.website + UNION + -- Changed dog_count + SELECT NEW.id_Apply_Founding_Partner_Form, 'dog_count', CONVERT(OLD.dog_count, CHAR), CONVERT(NEW.dog_count, CHAR), NEW.id_change_set + WHERE NOT (OLD.dog_count <=> NEW.dog_count) + UNION + -- Changed id_years_of_experience + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_years_of_experience', CONVERT(OLD.id_years_of_experience, CHAR), CONVERT(NEW.id_years_of_experience, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_years_of_experience <=> NEW.id_years_of_experience) + UNION + -- Changed ids_speciality + SELECT NEW.id_Apply_Founding_Partner_Form, 'ids_speciality', OLD.ids_speciality, NEW.ids_speciality, NEW.id_change_set + WHERE NOT OLD.ids_speciality <=> NEW.ids_speciality + UNION + -- Changed ids_existing_system + SELECT NEW.id_Apply_Founding_Partner_Form, 'ids_existing_system', OLD.ids_existing_system, NEW.ids_existing_system, NEW.id_change_set + WHERE NOT OLD.ids_existing_system <=> NEW.ids_existing_system + UNION + -- Changed id_existing_challenges + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_existing_challenges', CONVERT(OLD.id_existing_challenges, CHAR), CONVERT(NEW.id_existing_challenges, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_existing_challenges <=> NEW.id_existing_challenges) + UNION + -- Changed id_existing_time_sink_weekly + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_existing_time_sink_weekly', CONVERT(OLD.id_existing_time_sink_weekly, CHAR), CONVERT(NEW.id_existing_time_sink_weekly, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_existing_time_sink_weekly <=> NEW.id_existing_time_sink_weekly) + UNION + -- Changed id_commitment_frequency + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_commitment_frequency', CONVERT(OLD.id_commitment_frequency, CHAR), CONVERT(NEW.id_commitment_frequency, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_commitment_frequency <=> NEW.id_commitment_frequency) + UNION + -- Changed most_valuable_features + SELECT NEW.id_Apply_Founding_Partner_Form, 'most_valuable_features', OLD.most_valuable_features, NEW.most_valuable_features, NEW.id_change_set + WHERE NOT OLD.most_valuable_features <=> NEW.most_valuable_features + UNION + -- Changed notes + SELECT NEW.id_Apply_Founding_Partner_Form, 'notes', OLD.notes, NEW.notes, NEW.id_change_set + WHERE NOT OLD.notes <=> NEW.notes + UNION + -- Changed active + SELECT NEW.id_Apply_Founding_Partner_Form, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; - , IN a_require_all_id_search_filters_met BIT - , IN a_require_any_id_search_filters_met BIT - , IN a_require_all_non_id_search_filters_met BIT - , IN a_require_any_non_id_search_filters_met BIT - , IN a_debug BIT +USE demo; + +DROP PROCEDURE IF EXISTS demo.p_ph_save_apply_founding_partner_form; + +DELIMITER // +CREATE PROCEDURE demo.p_ph_save_apply_founding_partner_form ( + IN a_comment VARCHAR(500), + IN a_guid BINARY(36), + IN a_id_user INT, + IN a_debug BIT ) BEGIN - DECLARE v_can_view BIT; - DECLARE v_code_type_error_bad_data VARCHAR(100); - DECLARE v_code_type_error_no_permission VARCHAR(100); - DECLARE v_guid BINARY(36); + DECLARE v_code_type_error_bad_data VARCHAR(100); DECLARE v_id_access_level_view INT; - DECLARE v_id_minimum INT; - DECLARE v_id_permission_dog_view INT; + DECLARE v_id_access_level_edit INT; + DECLARE v_id_change_set INT; + DECLARE v_id_permission_apply_founding_partner_form_admin INT; + DECLARE v_id_permission_apply_founding_partner_form_new INT; DECLARE v_id_type_error_bad_data INT; - DECLARE v_id_type_error_no_permission INT; DECLARE v_time_start TIMESTAMP(6); + DECLARE v_can_admin BIT; + DECLARE v_can_create BIT; DECLARE exit handler for SQLEXCEPTION BEGIN @@ -106,10 +221,10 @@ BEGIN ROLLBACK; CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( - id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_type INT - , code VARCHAR(250) NOT NULL - , msg TEXT NOT NULL + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL ); INSERT INTO tmp_Msg_Error ( @@ -125,156 +240,300 @@ BEGIN WHERE MET.code = 'MYSQL_ERROR' ; - SELECT - t_ERROR.id_error - , t_ERROR.id_type - , t_ERROR.code - , ERROR_TYPE.name - , ERROR_TYPE.description - , ERROR_TYPE.is_breaking_error - , ERROR_TYPE.background_colour - , ERROR_TYPE.text_colour - , t_ERROR.msg - FROM tmp_Msg_Error t_ERROR - INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + SELECT * + FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error ; - - DROP TABLE IF EXISTS tmp_Msg_Error; END; - + SET v_time_start := CURRENT_TIMESTAMP(6); - SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM demo.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM demo.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM demo.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM demo.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM demo.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_apply_founding_partner_form_admin := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1); + SET v_id_permission_apply_founding_partner_form_new := (SELECT id_permission FROM demo.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1); - SET a_id_user := IFNULL(a_id_user, 0); - /* - Filters handled by Calc - */ - SET a_debug := IFNULL(a_debug, 0); + CALL demo.p_core_validate_guid ( a_guid ); - IF a_debug = 1 THEN - SELECT - a_id_user - - , a_get_all_assessment_response - , a_get_inactive_assessment_response - , a_ids_assessment_response - , a_notes_assessment_response - , a_min_value_measured_assessment_response - , a_max_value_measured_assessment_response - - , a_get_all_ACM_link - , a_get_inactive_ACM_link - , a_ids_ACM_link - , a_min_distance_from_handler_metres_ACM_link - , a_max_distance_from_handler_metres_ACM_link - , a_value_is_in_sight_of_handler_ACM_link - , a_value_is_in_scent_range_of_handler_ACM_link - , a_value_is_in_hearing_range_of_handler_ACM_link - , a_value_is_on_lead_ACM_link - , a_min_trial_count_ACM_link - , a_max_trial_count_ACM_link - , a_get_all_assessment - , a_get_inactive_assessment - , a_ids_assessment - , a_notes_assessment - , a_min_temperature_assessment - , a_max_temperature_assessment - , a_get_all_weather - , a_get_inactive_weather - , a_ids_weather - , a_names_weather - , a_get_all_lighting_level - , a_get_inactive_lighting_level - , a_ids_lighting_level - , a_names_lighting_level - , a_get_all_location - , a_get_inactive_location - , a_ids_location - , a_names_location - , a_get_all_user_handler - , a_get_inactive_user_handler - , a_ids_user_handler - -- , a_auth0_ids_user_handler - , a_names_user_handler - , a_emails_user_handler - , a_get_all_command_category - , a_get_inactive_command_category - , a_ids_command_category - , a_names_command_category - , a_get_all_command - , a_get_inactive_command - , a_ids_command - , a_names_command - , a_hand_signal_default_descriptions_command - , a_notes_command - , a_get_all_command_modality - , a_get_inactive_command_modality - , a_ids_command_modality - , a_names_command_modality - , a_get_all_bribe - , a_get_inactive_bribe - , a_ids_bribe - , a_names_bribe - - , a_get_all_response_quality_metric - , a_get_inactive_response_quality_metric - , a_ids_response_quality_metric - , a_names_response_quality_metric - - , a_get_all_obedience_level - , a_get_inactive_obedience_level - , a_ids_obedience_level - , a_names_obedience_level - - , a_require_all_id_search_filters_met - , a_require_any_id_search_filters_met - , a_require_all_non_id_search_filters_met - , a_require_any_non_id_search_filters_met - , a_debug - ; - - SELECT - v_id_type_error_bad_data - , v_id_type_error_no_permission - , v_guid - , v_id_permission_dog_view - , v_time_start - ; - END IF; - - DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; - DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response; + DROP TABLE IF EXISTS tmp_Apply_Founding_Partner_Form; - CREATE TEMPORARY TABLE tmp_Assessment_Response ( - id_response INT NOT NULL - , id_assessment_command_modality_link INT - , id_response_quality_metric INT - , id_obedience_level INT - , value_measured DOUBLE - , notes TEXT - , active BIT - - , does_meet_id_filters BIT - , does_meet_non_id_filters BIT + CREATE TEMPORARY TABLE tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form INT NOT NULL + , name_contact VARCHAR(255) + , email VARCHAR(255) + , phone_number VARCHAR(255) + , name_company VARCHAR(255) + , website VARCHAR(1000) + , dog_count INT + , id_years_of_experience INT + , ids_speciality VARCHAR(255) + , ids_existing_system VARCHAR(255) + , id_existing_challenges INT + , id_existing_time_sink_weekly INT + , id_commitment_frequency INT + , most_valuable_features TEXT + , notes TEXT + , active BIT NOT NULL + , name_error VARCHAR(255) + , is_new BIT NOT NULL ); - + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( - id_error INT NOT NULL PRIMARY KEY AUTO_INCREMENT + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_type INT - , code VARCHAR(250) NOT NULL - , msg TEXT NOT NULL - ); + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form + , name_contact + , email + , phone_number + , name_company + , website + , dog_count + , id_years_of_experience + , ids_speciality + , ids_existing_system + , id_existing_challenges + , id_existing_time_sink_weekly + , id_commitment_frequency + , most_valuable_features + , notes + , active + , is_new + ) + SELECT + AFPF_T.id_apply_founding_partner_form AS id_apply_founding_partner_form + , IFNULL(AFPF_T.name_contact, AFPF.name_contact) AS name_contact + , IFNULL(AFPF_T.email, AFPF.email) AS email + , IFNULL(AFPF_T.phone_number, AFPF.phone_number) AS phone_number + , IFNULL(AFPF_T.name_company, AFPF.name_company) AS name_company + , IFNULL(AFPF_T.website, AFPF.website) AS website + , IFNULL(AFPF_T.dog_count, AFPF.dog_count) AS dog_count + , IFNULL(AFPF_T.id_years_of_experience, AFPF.id_years_of_experience) AS id_years_of_experience + , IFNULL(AFPF_T.ids_speciality, AFPF.ids_speciality) AS ids_speciality + , IFNULL(AFPF_T.ids_existing_system, AFPF.ids_existing_system) AS ids_existing_system + , IFNULL(AFPF_T.id_existing_challenges, AFPF.id_existing_challenges) AS id_existing_challenges + , IFNULL(AFPF_T.id_existing_time_sink_weekly, AFPF.id_existing_time_sink_weekly) AS id_existing_time_sink_weekly + , IFNULL(AFPF_T.id_commitment_frequency, AFPF.id_commitment_frequency) AS id_commitment_frequency + , IFNULL(AFPF_T.most_valuable_features, AFPF.most_valuable_features) AS most_valuable_features + , IFNULL(AFPF_T.notes, AFPF.notes) AS notes + , COALESCE(AFPF_T.active, AFPF.active, 1) AS active + , CASE WHEN IFNULL(AFPF_T.id_apply_founding_partner_form, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM demo.PH_Apply_Founding_Partner_Form_Temp AFPF_T + LEFT JOIN demo.PH_Apply_Founding_Partner_Form AFPF ON AFPF_T.id_apply_founding_partner_form = AFPF.id_apply_founding_partner_form + WHERE AFPF_T.guid = a_guid + ; + + UPDATE tmp_Apply_Founding_Partner_Form t_AFPF + SET name_error = COALESCE(t_AFPF.email, t_AFPF.name_company, t_AFPF.name_contact, t_AFPF.message, '(No Apply Founding Partner Form)') + ; + + -- Validation + -- Missing mandatory fields + -- name_contact + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.name_contact) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.name_contact) + ; + END IF; + -- email + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.email) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have an Email: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.email) + ; + END IF; + -- phone_number + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.phone_number) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Phone_number: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.phone_number) + ; + END IF; + -- name_company + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.name_company) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Company Name: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.name) + ; + END IF; + -- website + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.website) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Website: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.website) + ; + END IF; + -- dog_count + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.dog_count) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Dog_count: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.dog_count) + ; + END IF; + -- id_years_of_experience + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_years_of_experience) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_years_of_experience: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_years_of_experience) + ; + END IF; + -- ids_speciality + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.ids_speciality) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Ids_speciality: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.ids_speciality) + ; + END IF; + -- ids_existing_system + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.ids_existing_system) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Ids_existing_system: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.ids_existing_system) + ; + END IF; + -- id_existing_challenges + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_existing_challenges) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_existing_challenges: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_existing_challenges) + ; + END IF; + -- id_existing_time_sink_weekly + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_existing_time_sink_weekly) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_existing_time_sink_weekly: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_existing_time_sink_weekly) + ; + END IF; + -- id_commitment_frequency + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_commitment_frequency) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_commitment_frequency: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_commitment_frequency) + ; + END IF; + -- most_valuable_features + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.most_valuable_features) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Most_valuable_features: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.most_valuable_features) + ; + END IF; -- Permissions IF a_debug = 1 THEN SELECT - v_guid + a_guid , 0 -- get_all_user , 0 -- get_inactive_user , a_id_user -- ids_user @@ -285,7 +544,7 @@ BEGIN , 1 -- a_require_any_id_search_filters_met , 0 -- a_require_all_non_id_search_filters_met , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_dog_view -- ids_permission + , v_id_permission_apply_founding_partner_form_admin -- ids_permission , v_id_access_level_view -- ids_access_level , 0 -- a_show_errors , 0 -- a_debug @@ -293,7 +552,7 @@ BEGIN END IF; CALL demo.p_dog_calc_user( - v_guid + a_guid , 0 -- get_all_user , 0 -- get_inactive_user , a_id_user -- ids_user @@ -304,7 +563,7 @@ BEGIN , 1 -- a_require_any_id_search_filters_met , 0 -- a_require_all_non_id_search_filters_met , 0 -- a_require_any_non_id_search_filters_met - , v_id_permission_dog_view -- ids_permission + , v_id_permission_apply_founding_partner_form_admin -- ids_permission , v_id_access_level_view -- ids_access_level , 0 -- a_show_errors , 0 -- a_debug @@ -313,19 +572,83 @@ BEGIN SELECT IFNULL(CALC_USER_T.has_access, 0) INTO - v_can_view + v_can_admin FROM demo.DOG_Calc_User_Temp CALC_USER_T - WHERE CALC_USER_T.GUID = v_guid + WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; IF a_debug = 1 THEN - SELECT v_can_view; + SELECT v_can_admin; SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; SELECT * FROM tmp_Msg_Error t_ERROR; END IF; + + CALL demo.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + + IF a_debug = 1 THEN + SELECT + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_new -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ; + END IF; - IF (v_can_view = 0) THEN + CALL demo.p_dog_calc_user( + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_new -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CALC_USER_T.has_access, 0) + INTO + v_can_create + FROM demo.DOG_Calc_User_Temp CALC_USER_T + WHERE CALC_USER_T.GUID = a_guid + LIMIT 1 + ; + + IF a_debug = 1 THEN + SELECT v_can_create; + SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; + SELECT * FROM tmp_Msg_Error t_ERROR; + END IF; + + CALL demo.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + IF (v_can_admin = 0 AND EXISTS(SELECT * FROM tmp_Apply_Founding_Partner_Form WHERE is_new = 0)) THEN DELETE t_ME FROM tmp_Msg_Error t_ME WHERE t_ME.id_type <> v_id_type_error_no_permission @@ -333,381 +656,158 @@ BEGIN INSERT INTO tmp_Msg_Error ( id_type , code - , msg + , msg ) VALUES ( v_id_type_error_no_permission - , v_code_type_error_no_permission - , 'You do not have permission to view Assessment_Responses.' + , v_code_type_error_no_permission + , 'You do not have permission to admin Apply Founding Partner Forms.' ) ; END IF; + + IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + IF a_debug = 1 THEN + SELECT * from tmp_Apply_Founding_Partner_Form; + END IF; + + DELETE FROM tmp_Apply_Founding_Partner_Form; + END IF; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + INSERT INTO demo.PH_Contact_Form_Change_Set ( + comment + , id_user_updated_last_by + , updated_last_on + ) + VALUES ( + a_comment + , a_id_user + , v_time_start + ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE demo.PH_Apply_Founding_Partner_Form AFPF + INNER JOIN tmp_Apply_Founding_Partner_Form t_AFPF + ON AFPF.id_apply_founding_partner_form = t_AFPF.id_apply_founding_partner_form + AND t_AFPF.is_new = 0 + SET + AFPF.name_contact = t_AFPF.name_contact + , AFPF.email = t_AFPF.email + , AFPF.phone_number = t_AFPF.phone_number + , AFPF.name_company = t_AFPF.name_company + , AFPF.website = t_AFPF.website + , AFPF.dog_count = t_AFPF.dog_count + , AFPF.id_years_of_experience = t_AFPF.id_years_of_experience + , AFPF.ids_speciality = t_AFPF.ids_speciality + , AFPF.ids_existing_system = t_AFPF.ids_existing_system + , AFPF.id_existing_challenges = t_AFPF.id_existing_challenges + , AFPF.id_existing_time_sink_weekly = t_AFPF.id_existing_time_sink_weekly + , AFPF.id_commitment_frequency = t_AFPF.id_commitment_frequency + , AFPF.most_valuable_features = t_AFPF.most_valuable_features + , AFPF.notes = t_AFPF.notes + , AFPF.active = t_AFPF.active + , AFPF.id_change_set = v_id_change_set + ; + + INSERT INTO demo.PH_Apply_Founding_Partner_Form ( + name_contact + , email + , phone_number + , name_company + , website + , dog_count + , id_years_of_experience + , ids_speciality + , ids_existing_system + , id_existing_challenges + , id_existing_time_sink_weekly + , id_commitment_frequency + , most_valuable_features + , notes + , active + , id_user_created_by + , created_on + ) + SELECT + t_AFPF.name_contact + , t_AFPF.email + , t_AFPF.phone_number + , t_AFPF.name_company + , t_AFPF.website + , t_AFPF.dog_count + , t_AFPF.id_years_of_experience + , t_AFPF.ids_speciality + , t_AFPF.ids_existing_system + , t_AFPF.id_existing_challenges + , t_AFPF.id_existing_time_sink_weekly + , t_AFPF.id_commitment_frequency + , t_AFPF.most_valuable_features + , t_AFPF.notes + , t_AFPF.active + , a_id_user + , v_time_start + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE + t_AFPF.is_new = 1 + AND t_AFPF.active = 1 + ; + + COMMIT; + END IF; - CALL demo.p_dog_clear_calc_user( - v_guid - , 0 -- a_debug - ); + START TRANSACTION; - - -- Call Assessment_Response Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN - IF a_debug = 1 THEN - SELECT - v_guid -- a_guid - , a_id_user -- a_id_user - - , a_get_all_assessment_response - , a_get_inactive_assessment_response - , a_ids_assessment_response - , a_notes_assessment_response - , a_min_value_measured_assessment_response - , a_max_value_measured_assessment_response - - , a_get_all_ACM_link - , a_get_inactive_ACM_link - , a_ids_ACM_link - , a_min_distance_from_handler_metres_ACM_link - , a_max_distance_from_handler_metres_ACM_link - , a_value_is_in_sight_of_handler_ACM_link - , a_value_is_in_scent_range_of_handler_ACM_link - , a_value_is_in_hearing_range_of_handler_ACM_link - , a_value_is_on_lead_ACM_link - , a_min_trial_count_ACM_link - , a_max_trial_count_ACM_link - , a_get_all_assessment - , a_get_inactive_assessment - , a_ids_assessment - , a_notes_assessment - , a_min_temperature_assessment - , a_max_temperature_assessment - , a_get_all_weather - , a_get_inactive_weather - , a_ids_weather - , a_names_weather - , a_get_all_lighting_level - , a_get_inactive_lighting_level - , a_ids_lighting_level - , a_names_lighting_level - , a_get_all_location - , a_get_inactive_location - , a_ids_location - , a_names_location - , a_get_all_user_handler - , a_get_inactive_user_handler - , a_ids_user_handler - -- , a_auth0_ids_user_handler - , a_names_user_handler - , a_emails_user_handler - , a_get_all_command_category - , a_get_inactive_command_category - , a_ids_command_category - , a_names_command_category - , a_get_all_command - , a_get_inactive_command - , a_ids_command - , a_names_command - , a_hand_signal_default_descriptions_command - , a_notes_command - , a_get_all_command_modality - , a_get_inactive_command_modality - , a_ids_command_modality - , a_names_command_modality - , a_get_all_bribe - , a_get_inactive_bribe - , a_ids_bribe - , a_names_bribe - - , a_get_all_response_quality_metric - , a_get_inactive_response_quality_metric - , a_ids_response_quality_metric - , a_names_response_quality_metric - - , a_get_all_obedience_level - , a_get_inactive_obedience_level - , a_ids_obedience_level - , a_names_obedience_level - - , a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met - , a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met - , a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met - , a_require_any_non_id_search_filters_met -- a_require_any_non_id_search_filters_met - , 0 -- a_show_errors - , 0 -- a_debug - ; - END IF; - - CALL demo.p_dog_calc_assessment_response ( - v_guid -- a_guid - , a_id_user -- a_id_user - - , a_get_all_assessment_response - , a_get_inactive_assessment_response - , a_ids_assessment_response - , a_notes_assessment_response - , a_min_value_measured_assessment_response - , a_max_value_measured_assessment_response - - , a_get_all_ACM_link - , a_get_inactive_ACM_link - , a_ids_ACM_link - , a_min_distance_from_handler_metres_ACM_link - , a_max_distance_from_handler_metres_ACM_link - , a_value_is_in_sight_of_handler_ACM_link - , a_value_is_in_scent_range_of_handler_ACM_link - , a_value_is_in_hearing_range_of_handler_ACM_link - , a_value_is_on_lead_ACM_link - , a_min_trial_count_ACM_link - , a_max_trial_count_ACM_link - , a_get_all_assessment - , a_get_inactive_assessment - , a_ids_assessment - , a_notes_assessment - , a_min_temperature_assessment - , a_max_temperature_assessment - , a_get_all_weather - , a_get_inactive_weather - , a_ids_weather - , a_names_weather - , a_get_all_lighting_level - , a_get_inactive_lighting_level - , a_ids_lighting_level - , a_names_lighting_level - , a_get_all_location - , a_get_inactive_location - , a_ids_location - , a_names_location - , a_get_all_user_handler - , a_get_inactive_user_handler - , a_ids_user_handler - -- , a_auth0_ids_user_handler - , a_names_user_handler - , a_emails_user_handler - , a_get_all_command_category - , a_get_inactive_command_category - , a_ids_command_category - , a_names_command_category - , a_get_all_command - , a_get_inactive_command - , a_ids_command - , a_names_command - , a_hand_signal_default_descriptions_command - , a_notes_command - , a_get_all_command_modality - , a_get_inactive_command_modality - , a_ids_command_modality - , a_names_command_modality - , a_get_all_bribe - , a_get_inactive_bribe - , a_ids_bribe - , a_names_bribe - - , a_get_all_response_quality_metric - , a_get_inactive_response_quality_metric - , a_ids_response_quality_metric - , a_names_response_quality_metric - - , a_get_all_obedience_level - , a_get_inactive_obedience_level - , a_ids_obedience_level - , a_names_obedience_level - - , a_require_all_id_search_filters_met -- a_require_all_id_search_filters_met - , a_require_any_id_search_filters_met -- a_require_any_id_search_filters_met - , a_require_all_non_id_search_filters_met -- a_require_all_non_id_search_filters_met - , a_require_any_non_id_search_filters_met -- a_require_any_non_id_search_filters_met - , 0 -- a_show_errors - , 0 -- a_debug - ); - - IF a_debug = 1 THEN - SELECT COUNT(*) FROM demo.DOG_Assessment_Response_Temp; - SELECT * FROM demo.DOG_Assessment_Response_Temp; - END IF; - - INSERT INTO tmp_Assessment_Response ( - id_response - , id_assessment_command_modality_link - , id_response_quality_metric - , id_obedience_level - , value_measured - , notes - , active - - , does_meet_id_filters - , does_meet_non_id_filters - ) - SELECT - ASSESSMENT_RESPONSE_T.id_response - , ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link - , ASSESSMENT_RESPONSE_T.id_response_quality_metric - , ASSESSMENT_RESPONSE_T.id_obedience_level - , ASSESSMENT_RESPONSE_T.value_measured - , ASSESSMENT_RESPONSE_T.notes - , ASSESSMENT_RESPONSE_T.active - - , ASSESSMENT_RESPONSE_T.does_meet_id_filters - , ASSESSMENT_RESPONSE_T.does_meet_non_id_filters - FROM demo.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T - WHERE ASSESSMENT_RESPONSE_T.GUID = v_guid + DELETE FROM demo.PH_Apply_Founding_Partner_Form_Temp + WHERE GUID = a_guid ; - - IF a_debug = 1 THEN - SELECT COUNT(*) FROM tmp_Assessment_Response; - SELECT * FROM tmp_Assessment_Response; - END IF; - END IF; + + COMMIT; - -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN - IF a_debug = 1 THEN - SELECT * FROM tmp_Assessment_Response; - END IF; - - DELETE FROM tmp_Assessment_Response; - END IF; - - - -- Outputs - -- Assessment_Responses - SELECT - t_ASSESSMENT_RESPONSE.id_response - , t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link - , t_ASSESSMENT_RESPONSE.id_response_quality_metric - , RESPONSE_QUALITY_METRIC.name AS name_response_quality_metric - , UNIT_MEASUREMENT.symbol AS symbol_unit_measurement_response_quality_metric - , t_ASSESSMENT_RESPONSE.id_obedience_level - , OBEDIENCE_LEVEL.name AS name_obedience_level - , t_ASSESSMENT_RESPONSE.value_measured - , t_ASSESSMENT_RESPONSE.notes - , t_ASSESSMENT_RESPONSE.active - - , t_ASSESSMENT_RESPONSE.does_meet_id_filters - , t_ASSESSMENT_RESPONSE.does_meet_non_id_filters - FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE - LEFT JOIN demo.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response - LEFT JOIN demo.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level - LEFT JOIN demo.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric - LEFT JOIN demo.DOG_Unit_Measurement UNIT_MEASUREMENT ON RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement - ORDER BY ASSESSMENT_RESPONSE.created_on DESC - LIMIT 1000 - ; - -- Errors - SELECT - t_ERROR.id_error - , t_ERROR.id_type - , t_ERROR.code - , ERROR_TYPE.name - , ERROR_TYPE.description - , ERROR_TYPE.is_breaking_error - , ERROR_TYPE.background_colour - , ERROR_TYPE.text_colour - , t_ERROR.msg - FROM tmp_Msg_Error t_ERROR - INNER JOIN demo.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + SELECT * + FROM tmp_Msg_Error t_ME + INNER JOIN demo.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; - IF a_debug = 1 AND v_can_view = 1 THEN - SELECT * FROM tmp_Assessment_Response; - END IF; - - CALL demo.p_dog_clear_calc_assessment_response( - v_guid -- a_guid - , 0 -- a_debug - ); + IF a_debug = 1 THEN + SELECT * from tmp_Apply_Founding_Partner_Form; + END IF; + + DROP TEMPORARY TABLE tmp_Apply_Founding_Partner_Form; + DROP TEMPORARY TABLE tmp_Msg_Error; - DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; - DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response; - - IF a_debug = 1 THEN + IF a_debug = 1 THEN CALL demo.p_core_debug_timing_reporting ( v_time_start ); - END IF; + END IF; END // DELIMITER ; - /* - -CALL demo.p_dog_get_many_assessment_response ( - 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user - - , 1 -- a_get_all_assessment_response - , 0 -- a_get_inactive_assessment_response - , '' -- a_ids_assessment_response - , '' -- a_notes_assessment_response - , NULL -- a_min_value_measured_assessment_response - , NULL -- a_max_value_measured_assessment_response - - , 1 -- a_get_all_ACM_link - , 0 -- a_get_inactive_ACM_link - , '' -- a_ids_ACM_link - , NULL -- a_min_distance_from_handler_metres_ACM_link - , NULL -- a_max_distance_from_handler_metres_ACM_link - , NULL -- a_value_is_in_sight_of_handler_ACM_link - , NULL -- a_value_is_in_scent_range_of_handler_ACM_link - , NULL -- a_value_is_in_hearing_range_of_handler_ACM_link - , NULL -- a_value_is_on_lead_ACM_link - , NULL -- a_min_trial_count_ACM_link - , NULL -- a_max_trial_count_ACM_link - , 1 -- a_get_all_assessment - , 0 -- a_get_inactive_assessment - , '' -- a_ids_assessment - , '' -- a_notes_assessment - , NULL -- a_min_temperature_assessment - , NULL -- a_max_temperature_assessment - , 1 -- a_get_all_weather - , 0 -- a_get_inactive_weather - , '' -- a_ids_weather - , '' -- a_names_weather - , 1 -- a_get_all_lighting_level - , 0 -- a_get_inactive_lighting_level - , '' -- a_ids_lighting_level - , '' -- a_names_lighting_level - , 1 -- a_get_all_location - , 0 -- a_get_inactive_location - , '' -- a_ids_location - , '' -- a_names_location - , 1 -- a_get_all_user_handler - , 0 -- a_get_inactive_user_handler - , '' -- a_ids_user_handler - -- , IN a_auth0_ids_user_handler TEXT - , '' -- a_names_user_handler - , '' -- a_emails_user_handler - , 1 -- a_get_all_command_category - , 0 -- a_get_inactive_command_category - , '' -- a_ids_command_category - , '' -- a_names_command_category - , 1 -- a_get_all_command - , 0 -- a_get_inactive_command - , '' -- a_ids_command - , '' -- a_names_command - , '' -- a_hand_signal_default_descriptions_command - , '' -- a_notes_command - , 1 -- a_get_all_command_modality - , 0 -- a_get_inactive_command_modality - , '' -- a_ids_command_modality - , '' -- a_names_command_modality - , 1 -- a_get_all_bribe - , 0 -- a_get_inactive_bribe - , '' -- a_ids_bribe - , '' -- a_names_bribe - - , 1 -- a_get_all_response_quality_metric - , 0 -- a_get_inactive_response_quality_metric - , '' -- a_ids_response_quality_metric - , '' -- a_names_response_quality_metric - - , 1 -- a_get_all_obedience_level - , 0 -- a_get_inactive_obedience_level - , '' -- a_ids_obedience_level - , '' -- a_names_obedience_level +select + * + -- COUNT(*) +-- delete +from demo.PH_Apply_Founding_Partner_Form_Temp +; - , 1 -- a_require_all_id_search_filters_met - , 1 -- a_require_any_id_search_filters_met - , 0 -- a_require_all_non_id_search_filters_met - , 1 -- a_require_any_non_id_search_filters_met - , 1 -- a_debug +CALL demo.p_ph_save_apply_founding_partner_form ( + 'nipples' + , (SELECT GUID FROM demo.PH_Apply_Founding_Partner_Form_Temp ORDER BY id_temp DESC LIMIT 1) + , 1 + , 1 ); -*/ \ No newline at end of file +select + * + -- COUNT(*) +-- delete +from demo.PH_Apply_Founding_Partner_Form_Temp +; + +*/ diff --git a/static/MySQL/00001_destroy.sql b/static/MySQL/00001_destroy.sql index 3f6521f..bce5416 100644 --- a/static/MySQL/00001_destroy.sql +++ b/static/MySQL/00001_destroy.sql @@ -1,222 +1,266 @@ -CREATE DATABASE IF NOT EXISTS parts; +CREATE DATABASE IF NOT EXISTS fetchmetrics; -GRANT ALL PRIVILEGES ON parts.* TO 'teddy'@'%'; +GRANT ALL PRIVILEGES ON fetchmetrics.* TO 'teddy'@'%'; FLUSH PRIVILEGES; -USE parts; +USE fetchmetrics; -- Permanent Temp Tables -DROP TABLE IF EXISTS parts.tmp_dog_Calc_User; --- DROP TABLE IF EXISTS parts.tmp_core_Msg_Error; -DROP TABLE IF EXISTS parts.tmp_dog_User; -DROP TABLE IF EXISTS parts.tmp_dog_User_Role_Link; +DROP TABLE IF EXISTS fetchmetrics.tmp_dog_Calc_User; +-- DROP TABLE IF EXISTS fetchmetrics.tmp_core_Msg_Error; +DROP TABLE IF EXISTS fetchmetrics.tmp_dog_User; +DROP TABLE IF EXISTS fetchmetrics.tmp_dog_User_Role_Link; -- Permanent Tables -DROP TABLE IF EXISTS parts.PH_Contact_Form_Temp; -DROP TABLE IF EXISTS parts.PH_Contact_Form_Audit; -DROP TABLE IF EXISTS parts.PH_Contact_Form; +DROP TABLE IF EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form_Temp; +DROP TABLE IF EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form_Audit; +DROP TABLE IF EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form; -DROP TABLE IF EXISTS parts.PH_Contact_Form_Change_Set; +DROP TABLE IF EXISTS fetchmetrics.PH_Contact_Form_Temp; +DROP TABLE IF EXISTS fetchmetrics.PH_Contact_Form_Audit; +DROP TABLE IF EXISTS fetchmetrics.PH_Contact_Form; -DROP TABLE IF EXISTS parts.DOG_Assessment_Response_Temp; -DROP TABLE IF EXISTS parts.DOG_Assessment_Response_Audit; -DROP TABLE IF EXISTS parts.DOG_Assessment_Response; +DROP TABLE IF EXISTS fetchmetrics.PH_Contact_Form_Change_Set; -DROP TABLE IF EXISTS parts.DOG_Obedience_Level_Temp; -DROP TABLE IF EXISTS parts.DOG_Obedience_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Obedience_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Response_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Response_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Response; -DROP TABLE IF EXISTS parts.DOG_Response_Quality_Metric_Temp; -DROP TABLE IF EXISTS parts.DOG_Response_Quality_Metric_Audit; -DROP TABLE IF EXISTS parts.DOG_Response_Quality_Metric; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level_User_Link; -DROP TABLE IF EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Assessment_Command_Modality_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Assessment_Command_Modality_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Obedience_Level; -DROP TABLE IF EXISTS parts.DOG_Bribe_Temp; -DROP TABLE IF EXISTS parts.DOG_Bribe_Audit; -DROP TABLE IF EXISTS parts.DOG_Bribe; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link; -DROP TABLE IF EXISTS parts.DOG_Distraction_Temp; -DROP TABLE IF EXISTS parts.DOG_Distraction_Audit; -DROP TABLE IF EXISTS parts.DOG_Distraction; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Response_Quality_Metric; -DROP TABLE IF EXISTS parts.DOG_Distraction_Intensity_Level_Temp; -DROP TABLE IF EXISTS parts.DOG_Distraction_Intensity_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Distraction_Intensity_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link; -DROP TABLE IF EXISTS parts.DOG_Distraction_Type_Temp; -DROP TABLE IF EXISTS parts.DOG_Distraction_Type_Audit; -DROP TABLE IF EXISTS parts.DOG_Distraction_Type; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_User_Link; -DROP TABLE IF EXISTS parts.DOG_Assessment_Temp; -DROP TABLE IF EXISTS parts.DOG_Assessment_Audit; -DROP TABLE IF EXISTS parts.DOG_Assessment; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Bribe; -DROP TABLE IF EXISTS parts.DOG_Lighting_Level_Temp; -DROP TABLE IF EXISTS parts.DOG_Lighting_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Lighting_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction; -DROP TABLE IF EXISTS parts.DOG_Weather_Temp; -DROP TABLE IF EXISTS parts.DOG_Weather_Audit; -DROP TABLE IF EXISTS parts.DOG_Weather; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link; -DROP TABLE IF EXISTS parts.DOG_Command_Button_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Command_Button_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Command_Button_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Intensity_Level; -DROP TABLE IF EXISTS parts.DOG_Button_Icon_Temp; -DROP TABLE IF EXISTS parts.DOG_Button_Icon_Audit; -DROP TABLE IF EXISTS parts.DOG_Button_Icon; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type_User_Link; -DROP TABLE IF EXISTS parts.DOG_Image_Temp; -DROP TABLE IF EXISTS parts.DOG_Image_Audit; -DROP TABLE IF EXISTS parts.DOG_Image; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Type; -DROP TABLE IF EXISTS parts.DOG_Colour_Temp; -DROP TABLE IF EXISTS parts.DOG_Colour_Audit; -DROP TABLE IF EXISTS parts.DOG_Colour; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment; -DROP TABLE IF EXISTS parts.DOG_Button_Shape_Temp; -DROP TABLE IF EXISTS parts.DOG_Button_Shape_Audit; -DROP TABLE IF EXISTS parts.DOG_Button_Shape; +DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Lighting_Level; -DROP TABLE IF EXISTS parts.DOG_Location_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Location_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Location_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Weather_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Weather_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Weather; -DROP TABLE IF EXISTS parts.DOG_Location_Temp; -DROP TABLE IF EXISTS parts.DOG_Location_Audit; -DROP TABLE IF EXISTS parts.DOG_Location; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Button_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Button_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Button_Link; -DROP TABLE IF EXISTS parts.DOG_Command_Modality_Temp; -DROP TABLE IF EXISTS parts.DOG_Command_Modality_Audit; -DROP TABLE IF EXISTS parts.DOG_Command_Modality; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Icon_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Icon_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Icon; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Image_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Image_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Image_User_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Image_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Image_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Image; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Colour_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Colour_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Colour; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape_User_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Button_Shape; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_User_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Location; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_User_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality; /* Start of remove section */ -DROP TABLE IF EXISTS parts.DOG_Personal_Best_Temp; -DROP TABLE IF EXISTS parts.DOG_Personal_Best_Audit; -DROP TABLE IF EXISTS parts.DOG_Personal_Best; +DROP TABLE IF EXISTS fetchmetrics.DOG_Personal_Best_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Personal_Best_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Personal_Best; /* End of remove section */ -DROP TABLE IF EXISTS parts.DOG_Dog_Command_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Dog_Command_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Dog_Command_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Command_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Command_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Command_Link; -DROP TABLE IF EXISTS parts.DOG_Command_Temp; -DROP TABLE IF EXISTS parts.DOG_Command_Audit; -DROP TABLE IF EXISTS parts.DOG_Command; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command; -DROP TABLE IF EXISTS parts.DOG_Command_Category_Temp; -DROP TABLE IF EXISTS parts.DOG_Command_Category_Audit; -DROP TABLE IF EXISTS parts.DOG_Command_Category; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category_User_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category_User_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category_User_Link; + +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Category; /* Start of remove section */ -DROP TABLE IF EXISTS parts.DOG_Understanding_Level_Temp; -DROP TABLE IF EXISTS parts.DOG_Understanding_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Understanding_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Understanding_Level_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Understanding_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Understanding_Level; -DROP TABLE IF EXISTS parts.DOG_Competency_Level_Temp; -DROP TABLE IF EXISTS parts.DOG_Competency_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Competency_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Competency_Level_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Competency_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Competency_Level; /* End of remove section */ -DROP TABLE IF EXISTS parts.DOG_Dog_Drive_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Dog_Drive_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Dog_Drive_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Drive_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Drive_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Drive_Link; -DROP TABLE IF EXISTS parts.DOG_Drive_Temp; -DROP TABLE IF EXISTS parts.DOG_Drive_Audit; -DROP TABLE IF EXISTS parts.DOG_Drive; +DROP TABLE IF EXISTS fetchmetrics.DOG_Drive_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Drive_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Drive; -DROP TABLE IF EXISTS parts.DOG_Dog_Breed_Link_Temp; -DROP TABLE IF EXISTS parts.DOG_Dog_Breed_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Dog_Breed_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Breed_Link_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Breed_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Breed_Link; -DROP TABLE IF EXISTS parts.DOG_Breed_Temp; -DROP TABLE IF EXISTS parts.DOG_Breed_Audit; -DROP TABLE IF EXISTS parts.DOG_Breed; +DROP TABLE IF EXISTS fetchmetrics.DOG_Breed_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Breed_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Breed; -DROP TABLE IF EXISTS parts.DOG_Dog_Temp; -DROP TABLE IF EXISTS parts.DOG_Dog_Audit; -DROP TABLE IF EXISTS parts.DOG_Dog; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog; -DROP TABLE IF EXISTS parts.DOG_Dog_Change_Set; +DROP TABLE IF EXISTS fetchmetrics.DOG_Dog_Change_Set; -- Core tables -DROP TABLE IF EXISTS parts.DOG_Unit_Measurement_Conversion_Audit; -DROP TABLE IF EXISTS parts.DOG_Unit_Measurement_Conversion; +DROP TABLE IF EXISTS fetchmetrics.DOG_Unit_Measurement_Conversion_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Unit_Measurement_Conversion; -DROP TABLE IF EXISTS parts.DOG_Unit_Measurement_Audit; -DROP TABLE IF EXISTS parts.DOG_Unit_Measurement; +DROP TABLE IF EXISTS fetchmetrics.DOG_Unit_Measurement_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Unit_Measurement; -DROP TABLE IF EXISTS parts.DOG_Calc_User_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Calc_User_Temp; -DROP TABLE IF EXISTS parts.DOG_User_Role_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_User_Role_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_User_Role_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_User_Role_Link; -DROP TABLE IF EXISTS parts.DOG_Role_Permission_Link_Audit; -DROP TABLE IF EXISTS parts.DOG_Role_Permission_Link; +DROP TABLE IF EXISTS fetchmetrics.DOG_Role_Permission_Link_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Role_Permission_Link; -DROP TABLE IF EXISTS parts.DOG_Role_Audit; -DROP TABLE IF EXISTS parts.DOG_Role; +DROP TABLE IF EXISTS fetchmetrics.DOG_Role_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Role; -DROP TABLE IF EXISTS parts.DOG_User_Temp; -DROP TABLE IF EXISTS parts.DOG_User_Audit; -DROP TABLE IF EXISTS parts.DOG_User; +DROP TABLE IF EXISTS fetchmetrics.DOG_User_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_User_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_User; -DROP TABLE IF EXISTS parts.DOG_Permission_Audit; -DROP TABLE IF EXISTS parts.DOG_Permission; +DROP TABLE IF EXISTS fetchmetrics.DOG_Permission_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Permission; -DROP TABLE IF EXISTS parts.DOG_Permission_Group_Audit; -DROP TABLE IF EXISTS parts.DOG_Permission_Group; +DROP TABLE IF EXISTS fetchmetrics.DOG_Permission_Group_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Permission_Group; -DROP TABLE IF EXISTS parts.DOG_Access_Level_Audit; -DROP TABLE IF EXISTS parts.DOG_Access_Level; +DROP TABLE IF EXISTS fetchmetrics.DOG_Access_Level_Audit; +DROP TABLE IF EXISTS fetchmetrics.DOG_Access_Level; -DROP TABLE IF EXISTS parts.DOG_User_Change_Set; +DROP TABLE IF EXISTS fetchmetrics.DOG_User_Change_Set; -DROP TABLE IF EXISTS parts.CORE_Split_Key_Value_Pair_Csv_Temp; -DROP TABLE IF EXISTS parts.CORE_Split_Temp; +DROP TABLE IF EXISTS fetchmetrics.CORE_Split_Key_Value_Pair_Csv_Temp; +DROP TABLE IF EXISTS fetchmetrics.CORE_Split_Temp; -DROP TABLE IF EXISTS parts.CORE_File_Type; -DROP TABLE IF EXISTS parts.CORE_Msg_Error_Type; +DROP TABLE IF EXISTS fetchmetrics.CORE_File_Type; +DROP TABLE IF EXISTS fetchmetrics.CORE_Msg_Error_Type; -- Stored Procedures -DROP PROCEDURE IF EXISTS parts.p_ph_test_get_many_contact_form; -DROP PROCEDURE IF EXISTS parts.p_ph_get_many_contact_form; -DROP PROCEDURE IF EXISTS parts.p_ph_test_save_contact_form; -DROP PROCEDURE IF EXISTS parts.p_ph_save_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_test_get_many_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_get_many_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_test_save_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_save_contact_form; -DROP PROCEDURE IF EXISTS parts.p_dog_test_get_many_dog_command; -DROP PROCEDURE IF EXISTS parts.p_dog_test_get_many_command; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_command; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_dog_command; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_dog_command_link; -DROP PROCEDURE IF EXISTS parts.p_dog_test_save_command; -DROP PROCEDURE IF EXISTS parts.p_dog_save_command; -DROP PROCEDURE IF EXISTS parts.p_command_clear_calc_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_test_get_many_dog_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_test_get_many_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_dog_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_dog_command_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_test_save_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_command_clear_calc_command; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_user; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_user; -DROP PROCEDURE IF EXISTS parts.p_core_clear_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_user; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_user; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_clear_split; /* -DROP PROCEDURE IF EXISTS parts.p_core_clear_split_key_value_pair_csv; -DROP PROCEDURE IF EXISTS parts.p_core_split_key_value_pair_csv; -DROP PROCEDURE IF EXISTS parts.p_core_clear_split; -DROP PROCEDURE IF EXISTS parts.p_core_split; -DROP PROCEDURE IF EXISTS parts.p_clear_split_key_value_pair_csv; -DROP PROCEDURE IF EXISTS parts.p_core_split_key_value_pair_csv; -DROP PROCEDURE IF EXISTS parts.p_clear_split; -DROP PROCEDURE IF EXISTS parts.p_core_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_clear_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_clear_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_clear_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_clear_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split; -DROP PROCEDURE IF EXISTS parts.p_core_debug_timing_reporting; -DROP PROCEDURE IF EXISTS parts.p_debug_timing_reporting; -DROP PROCEDURE IF EXISTS parts.p_core_validate_guid; -DROP PROCEDURE IF EXISTS parts.p_core_validate_guid_test; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_debug_timing_reporting; +DROP PROCEDURE IF EXISTS fetchmetrics.p_debug_timing_reporting; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_validate_guid; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_validate_guid_test; */ \ No newline at end of file diff --git a/static/MySQL/10000_tbl_CORE_Msg_Error_Type.sql b/static/MySQL/10000_tbl_CORE_Msg_Error_Type.sql index 337815c..4e365bf 100644 --- a/static/MySQL/10000_tbl_CORE_Msg_Error_Type.sql +++ b/static/MySQL/10000_tbl_CORE_Msg_Error_Type.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'CORE_Msg_Error_Type' ; -CREATE TABLE IF NOT EXISTS parts.CORE_Msg_Error_Type ( +CREATE TABLE IF NOT EXISTS fetchmetrics.CORE_Msg_Error_Type ( id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(500) NOT NULL diff --git a/static/MySQL/10004_tbl_CORE_File_Type.sql b/static/MySQL/10004_tbl_CORE_File_Type.sql index 8d0aa29..f9939d6 100644 --- a/static/MySQL/10004_tbl_CORE_File_Type.sql +++ b/static/MySQL/10004_tbl_CORE_File_Type.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'CORE_File_Type' ; -CREATE TABLE IF NOT EXISTS parts.CORE_File_Type ( +CREATE TABLE IF NOT EXISTS fetchmetrics.CORE_File_Type ( id_file_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL diff --git a/static/MySQL/10020_tbl_CORE_Split_Temp.sql b/static/MySQL/10020_tbl_CORE_Split_Temp.sql index 91abcd2..e321bb3 100644 --- a/static/MySQL/10020_tbl_CORE_Split_Temp.sql +++ b/static/MySQL/10020_tbl_CORE_Split_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'CORE_Split_Temp' ; -CREATE TABLE IF NOT EXISTS parts.CORE_Split_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.CORE_Split_Temp ( guid BINARY(36) NOT NULL , display_order INT NOT NULL , substring VARCHAR(4000) NOT NULL diff --git a/static/MySQL/10021_tbl_CORE_Split_Key_Value_Pair_Csv_Temp.sql b/static/MySQL/10021_tbl_CORE_Split_Key_Value_Pair_Csv_Temp.sql index a8cac6f..11e411e 100644 --- a/static/MySQL/10021_tbl_CORE_Split_Key_Value_Pair_Csv_Temp.sql +++ b/static/MySQL/10021_tbl_CORE_Split_Key_Value_Pair_Csv_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'CORE_Split_Key_Value_Pair_Csv_Temp' ; -CREATE TABLE IF NOT EXISTS parts.CORE_Split_Key_Value_Pair_Csv_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.CORE_Split_Key_Value_Pair_Csv_Temp ( guid BINARY(36) NOT NULL , id INT NOT NULL , key_column VARCHAR(4000) NULL diff --git a/static/MySQL/10500_tbl_DOG_User_Change_Set.sql b/static/MySQL/10500_tbl_DOG_User_Change_Set.sql index 2326dc7..5264d2f 100644 --- a/static/MySQL/10500_tbl_DOG_User_Change_Set.sql +++ b/static/MySQL/10500_tbl_DOG_User_Change_Set.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User_Change_Set' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User_Change_Set ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User_Change_Set ( id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY , comment VARCHAR(500) , updated_last_on DATETIME diff --git a/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql b/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql index 30fa7b8..1562838 100644 --- a/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql +++ b/static/MySQL/10502_tbl_CORE_Msg_Error_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Msg_Error_Temp; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Msg_Error_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Msg_Error_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Msg_Error_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Msg_Error_Temp ( id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_type INT NOT NULL , code VARCHAR(250) NOT NULL diff --git a/static/MySQL/10504_tbl_DOG_Access_Level.sql b/static/MySQL/10504_tbl_DOG_Access_Level.sql index 0eb8caf..8628d49 100644 --- a/static/MySQL/10504_tbl_DOG_Access_Level.sql +++ b/static/MySQL/10504_tbl_DOG_Access_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Access_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Access_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Access_Level ( id_access_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) , name VARCHAR(250) diff --git a/static/MySQL/10508_tbl_DOG_Permission_Group.sql b/static/MySQL/10508_tbl_DOG_Permission_Group.sql index 2583523..bbc9e73 100644 --- a/static/MySQL/10508_tbl_DOG_Permission_Group.sql +++ b/static/MySQL/10508_tbl_DOG_Permission_Group.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Permission_Group' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Permission_Group ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Permission_Group ( id_group INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) , name VARCHAR(250) diff --git a/static/MySQL/10512_tbl_DOG_Permission.sql b/static/MySQL/10512_tbl_DOG_Permission.sql index d4d6be1..7312e26 100644 --- a/static/MySQL/10512_tbl_DOG_Permission.sql +++ b/static/MySQL/10512_tbl_DOG_Permission.sql @@ -1,25 +1,25 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Permission' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Permission ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Permission ( id_permission INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) , name VARCHAR(250) , id_permission_group INT NOT NULL , CONSTRAINT FK_DOG_Permission_id_permission_group FOREIGN KEY (id_permission_group) - REFERENCES parts.DOG_Permission_Group(id_group) + REFERENCES fetchmetrics.DOG_Permission_Group(id_group) , id_access_level_required INT NOT NULL , CONSTRAINT FK_DOG_Permission_id_access_level_required FOREIGN KEY (id_access_level_required) - REFERENCES parts.DOG_Access_Level(id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) , display_order INT NOT NULL , active BIT NOT NULL DEFAULT 1 ); \ No newline at end of file diff --git a/static/MySQL/10516_tbl_DOG_User.sql b/static/MySQL/10516_tbl_DOG_User.sql index 850b9de..1054d17 100644 --- a/static/MySQL/10516_tbl_DOG_User.sql +++ b/static/MySQL/10516_tbl_DOG_User.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User ( id_user INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_user_auth0 VARCHAR(200) , firstname VARCHAR(250) @@ -21,9 +21,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_User ( , id_user_created_by INT , CONSTRAINT FK_DOG_User_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_User_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); diff --git a/static/MySQL/10517_tbl_DOG_User_Audit.sql b/static/MySQL/10517_tbl_DOG_User_Audit.sql index 189d9df..fa5590e 100644 --- a/static/MySQL/10517_tbl_DOG_User_Audit.sql +++ b/static/MySQL/10517_tbl_DOG_User_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_user INT NOT NULL , CONSTRAINT FK_DOG_User_Audit_id_user FOREIGN KEY (id_user) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , name_field VARCHAR(100) NOT NULL , value_prev VARCHAR(500) , value_new VARCHAR(500) , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_User_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10518_tbl_DOG_User_Temp.sql b/static/MySQL/10518_tbl_DOG_User_Temp.sql index e4546d5..8659746 100644 --- a/static/MySQL/10518_tbl_DOG_User_Temp.sql +++ b/static/MySQL/10518_tbl_DOG_User_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User_Temp ( id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_user INT , id_user_auth0 VARCHAR(200) diff --git a/static/MySQL/10520_tbl_DOG_Role.sql b/static/MySQL/10520_tbl_DOG_Role.sql index c7c9be8..3c30ce4 100644 --- a/static/MySQL/10520_tbl_DOG_Role.sql +++ b/static/MySQL/10520_tbl_DOG_Role.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Role' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Role ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Role ( id_role INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) , name VARCHAR(250) @@ -18,9 +18,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Role ( , id_user_created_by INT , CONSTRAINT FK_DOG_Role_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Role_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10521_tbl_DOG_Role_Audit.sql b/static/MySQL/10521_tbl_DOG_Role_Audit.sql index e27c850..df7a0fe 100644 --- a/static/MySQL/10521_tbl_DOG_Role_Audit.sql +++ b/static/MySQL/10521_tbl_DOG_Role_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Role_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Role_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Role_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_role INT NOT NULL , CONSTRAINT FK_DOG_Role_Audit_id_role FOREIGN KEY (id_role) - REFERENCES parts.DOG_Role(id_role) + REFERENCES fetchmetrics.DOG_Role(id_role) , name_field VARCHAR(100) NOT NULL , value_prev VARCHAR(500) , value_new VARCHAR(500) , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Role_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10524_tbl_DOG_Role_Permission_Link.sql b/static/MySQL/10524_tbl_DOG_Role_Permission_Link.sql index 81ca826..38a40c7 100644 --- a/static/MySQL/10524_tbl_DOG_Role_Permission_Link.sql +++ b/static/MySQL/10524_tbl_DOG_Role_Permission_Link.sql @@ -1,35 +1,35 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Role_Permission_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Role_Permission_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Role_Permission_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_role INT NOT NULL , CONSTRAINT FK_DOG_Role_Permission_Link_id_role FOREIGN KEY (id_role) - REFERENCES parts.DOG_Role(id_role) + REFERENCES fetchmetrics.DOG_Role(id_role) , id_permission INT NOT NULL , CONSTRAINT FK_DOG_Role_Permission_Link_id_permission FOREIGN KEY (id_permission) - REFERENCES parts.DOG_Permission(id_permission) + REFERENCES fetchmetrics.DOG_Permission(id_permission) , id_access_level INT NOT NULL , CONSTRAINT FK_DOG_Role_Permission_Link_id_access_level FOREIGN KEY (id_access_level) - REFERENCES parts.DOG_Access_Level(id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_Role_Permission_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Role_Permission_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10525_tbl_DOG_Role_Permission_Link_Audit.sql b/static/MySQL/10525_tbl_DOG_Role_Permission_Link_Audit.sql index 8ad4576..9c8d377 100644 --- a/static/MySQL/10525_tbl_DOG_Role_Permission_Link_Audit.sql +++ b/static/MySQL/10525_tbl_DOG_Role_Permission_Link_Audit.sql @@ -1,23 +1,23 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Role_Permission_Link_Audit'; -CREATE TABLE IF NOT EXISTS parts.DOG_Role_Permission_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Role_Permission_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Role_Permission_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Role_Permission_Link(id_link) + REFERENCES fetchmetrics.DOG_Role_Permission_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev VARCHAR(500) , value_new VARCHAR(500) , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Role_Permission_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10528_tbl_DOG_User_Role_Link.sql b/static/MySQL/10528_tbl_DOG_User_Role_Link.sql index ab869b5..4b5d033 100644 --- a/static/MySQL/10528_tbl_DOG_User_Role_Link.sql +++ b/static/MySQL/10528_tbl_DOG_User_Role_Link.sql @@ -1,31 +1,31 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User_Role_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User_Role_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User_Role_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_user INT NOT NULL , CONSTRAINT FK_DOG_User_Role_Link_id_user FOREIGN KEY (id_user) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_role INT NOT NULL , CONSTRAINT FK_DOG_User_Role_Link_id_role FOREIGN KEY (id_role) - REFERENCES parts.DOG_Role(id_role) + REFERENCES fetchmetrics.DOG_Role(id_role) , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_User_Role_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_User_Role_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); \ No newline at end of file diff --git a/static/MySQL/10529_tbl_DOG_User_Role_Link_Audit.sql b/static/MySQL/10529_tbl_DOG_User_Role_Link_Audit.sql index 5cc791e..fe1474d 100644 --- a/static/MySQL/10529_tbl_DOG_User_Role_Link_Audit.sql +++ b/static/MySQL/10529_tbl_DOG_User_Role_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_User_Role_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_User_Role_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_User_Role_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_User_Role_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_User_Role_Link(id_link) + REFERENCES fetchmetrics.DOG_User_Role_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev VARCHAR(500) , value_new VARCHAR(500) , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_User_Role_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_User_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_User_Change_Set(id_change_set) ); diff --git a/static/MySQL/10530_tbl_DOG_Calc_User_Temp.sql b/static/MySQL/10530_tbl_DOG_Calc_User_Temp.sql index 6419357..f5c7d07 100644 --- a/static/MySQL/10530_tbl_DOG_Calc_User_Temp.sql +++ b/static/MySQL/10530_tbl_DOG_Calc_User_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; -- DROP TABLE IF EXISTS demo.DOG_Calc_User_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Calc_User_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Calc_User_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Calc_User_Temp ( id_user INT , id_permission_required INT , priority_access_level_required INT diff --git a/static/MySQL/10700_tbl_DOG_Unit_Measurement.sql b/static/MySQL/10700_tbl_DOG_Unit_Measurement.sql index 6874dd3..6df410f 100644 --- a/static/MySQL/10700_tbl_DOG_Unit_Measurement.sql +++ b/static/MySQL/10700_tbl_DOG_Unit_Measurement.sql @@ -1,12 +1,12 @@ # Unit of Measurement -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Unit_Measurement' ; diff --git a/static/MySQL/10704_tbl_DOG_Unit_Measurement_Conversion.sql b/static/MySQL/10704_tbl_DOG_Unit_Measurement_Conversion.sql index d04b2f2..0f44211 100644 --- a/static/MySQL/10704_tbl_DOG_Unit_Measurement_Conversion.sql +++ b/static/MySQL/10704_tbl_DOG_Unit_Measurement_Conversion.sql @@ -1,12 +1,12 @@ # Unit of Measurement Conversion -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Unit_Measurement_Conversion' ; diff --git a/static/MySQL/11000_tbl_DOG_Dog_Change_Set.sql b/static/MySQL/11000_tbl_DOG_Dog_Change_Set.sql index 62b0c9f..936ac58 100644 --- a/static/MySQL/11000_tbl_DOG_Dog_Change_Set.sql +++ b/static/MySQL/11000_tbl_DOG_Dog_Change_Set.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Change_Set' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Change_Set ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Change_Set ( id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY , comment VARCHAR(500) , updated_last_on DATETIME , id_user_updated_last_by INT , CONSTRAINT FK_DOG_Role_id_user_updated_last_by FOREIGN KEY (id_user_updated_last_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) ); \ No newline at end of file diff --git a/static/MySQL/11001_tbl_DOG_Dog.sql b/static/MySQL/11001_tbl_DOG_Dog.sql index eb02028..ac74e96 100644 --- a/static/MySQL/11001_tbl_DOG_Dog.sql +++ b/static/MySQL/11001_tbl_DOG_Dog.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog ( id_dog INT NOT NULL AUTO_INCREMENT PRIMARY KEY , name VARCHAR(250) NOT NULL , appearance VARCHAR(1000) @@ -19,9 +19,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Dog ( , id_user_created_by INT , CONSTRAINT FK_DOG_Dog_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Dog_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11002_tbl_DOG_Dog_Audit.sql b/static/MySQL/11002_tbl_DOG_Dog_Audit.sql index c584706..6702479 100644 --- a/static/MySQL/11002_tbl_DOG_Dog_Audit.sql +++ b/static/MySQL/11002_tbl_DOG_Dog_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_dog INT NOT NULL , CONSTRAINT FK_DOG_Dog_Audit_id_dog FOREIGN KEY (id_dog) - REFERENCES parts.DOG_Dog(id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Dog_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11003_tbl_DOG_Dog_Temp.sql b/static/MySQL/11003_tbl_DOG_Dog_Temp.sql index befe992..190bd15 100644 --- a/static/MySQL/11003_tbl_DOG_Dog_Temp.sql +++ b/static/MySQL/11003_tbl_DOG_Dog_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_dog INT , name VARCHAR(250) diff --git a/static/MySQL/11004a_tbl_DOG_Dog_User_Link.sql b/static/MySQL/11004a_tbl_DOG_Dog_User_Link.sql new file mode 100644 index 0000000..b3184d0 --- /dev/null +++ b/static/MySQL/11004a_tbl_DOG_Dog_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Dog_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_dog INT NOT NULL + , CONSTRAINT FK_DOG_Dog_User_Link_id_dog + FOREIGN KEY (id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Dog_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Dog_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Dog_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Dog_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11004b_tbl_DOG_Dog_User_Link_Audit.sql b/static/MySQL/11004b_tbl_DOG_Dog_User_Link_Audit.sql new file mode 100644 index 0000000..cff3a09 --- /dev/null +++ b/static/MySQL/11004b_tbl_DOG_Dog_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Dog_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Dog_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Dog_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Dog_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11004c_tbl_DOG_Dog_User_Link_Temp.sql b/static/MySQL/11004c_tbl_DOG_Dog_User_Link_Temp.sql new file mode 100644 index 0000000..cebe530 --- /dev/null +++ b/static/MySQL/11004c_tbl_DOG_Dog_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Dog_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_dog INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11005_tbl_DOG_Breed.sql b/static/MySQL/11005_tbl_DOG_Breed.sql index bffced7..9193341 100644 --- a/static/MySQL/11005_tbl_DOG_Breed.sql +++ b/static/MySQL/11005_tbl_DOG_Breed.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Breed' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Breed ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Breed ( id_breed INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Breed ( , id_user_created_by INT , CONSTRAINT FK_DOG_Breed_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Breed_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11006_tbl_DOG_Breed_Audit.sql b/static/MySQL/11006_tbl_DOG_Breed_Audit.sql index 1690045..6e254ab 100644 --- a/static/MySQL/11006_tbl_DOG_Breed_Audit.sql +++ b/static/MySQL/11006_tbl_DOG_Breed_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Breed_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Breed_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Breed_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_breed INT NOT NULL , CONSTRAINT FK_DOG_Breed_Audit_id_breed FOREIGN KEY (id_breed) - REFERENCES parts.DOG_Breed(id_breed) + REFERENCES fetchmetrics.DOG_Breed(id_breed) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Breed_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11007_tbl_DOG_Breed_Temp.sql b/static/MySQL/11007_tbl_DOG_Breed_Temp.sql index 132a33c..11d96af 100644 --- a/static/MySQL/11007_tbl_DOG_Breed_Temp.sql +++ b/static/MySQL/11007_tbl_DOG_Breed_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Breed_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Breed_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Breed_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_breed INT , code VARCHAR(250) diff --git a/static/MySQL/11009_tbl_DOG_Dog_Breed_Link.sql b/static/MySQL/11009_tbl_DOG_Dog_Breed_Link.sql index 9b05f8e..cf00ddf 100644 --- a/static/MySQL/11009_tbl_DOG_Dog_Breed_Link.sql +++ b/static/MySQL/11009_tbl_DOG_Dog_Breed_Link.sql @@ -1,32 +1,32 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Breed_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Breed_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Breed_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_dog INT NOT NULL , CONSTRAINT FK_DOG_Dog_Breed_Link_id_dog FOREIGN KEY (id_dog) - REFERENCES parts.DOG_Dog(id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) , id_breed INT NOT NULL , CONSTRAINT FK_DOG_Dog_Breed_Link_id_breed FOREIGN KEY (id_breed) - REFERENCES parts.DOG_Breed(id_breed) + REFERENCES fetchmetrics.DOG_Breed(id_breed) , lineage_ratio DECIMAL(5, 4) NOT NULL , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_Dog_Breed_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Dog_Breed_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11010_tbl_DOG_Dog_Breed_Link_Audit.sql b/static/MySQL/11010_tbl_DOG_Dog_Breed_Link_Audit.sql index db17b9a..8982146 100644 --- a/static/MySQL/11010_tbl_DOG_Dog_Breed_Link_Audit.sql +++ b/static/MySQL/11010_tbl_DOG_Dog_Breed_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Breed_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Breed_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Breed_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Dog_Breed_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Dog_Breed_Link(id_link) + REFERENCES fetchmetrics.DOG_Dog_Breed_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Dog_Breed_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11011_tbl_DOG_Dog_Breed_Link_Temp.sql b/static/MySQL/11011_tbl_DOG_Dog_Breed_Link_Temp.sql index bd959e3..fccc728 100644 --- a/static/MySQL/11011_tbl_DOG_Dog_Breed_Link_Temp.sql +++ b/static/MySQL/11011_tbl_DOG_Dog_Breed_Link_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Breed_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Breed_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Breed_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_dog INT diff --git a/static/MySQL/11030_tbl_DOG_Drive.sql b/static/MySQL/11030_tbl_DOG_Drive.sql index 02ee26e..d6815bc 100644 --- a/static/MySQL/11030_tbl_DOG_Drive.sql +++ b/static/MySQL/11030_tbl_DOG_Drive.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Drive' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Drive ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Drive ( id_drive INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Drive ( , id_user_created_by INT , CONSTRAINT FK_DOG_Drive_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Drive_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11031_tbl_DOG_Drive_Audit.sql b/static/MySQL/11031_tbl_DOG_Drive_Audit.sql index a35b69e..98b8956 100644 --- a/static/MySQL/11031_tbl_DOG_Drive_Audit.sql +++ b/static/MySQL/11031_tbl_DOG_Drive_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Drive_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Drive_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Drive_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_drive INT NOT NULL , CONSTRAINT FK_DOG_Drive_Audit_id_drive FOREIGN KEY (id_drive) - REFERENCES parts.DOG_Drive(id_drive) + REFERENCES fetchmetrics.DOG_Drive(id_drive) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Drive_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11032_tbl_DOG_Drive_Temp.sql b/static/MySQL/11032_tbl_DOG_Drive_Temp.sql index 374f3af..251840d 100644 --- a/static/MySQL/11032_tbl_DOG_Drive_Temp.sql +++ b/static/MySQL/11032_tbl_DOG_Drive_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Drive_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Drive_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Drive_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_drive INT , code VARCHAR(250) diff --git a/static/MySQL/11034_tbl_DOG_Dog_Drive_Link.sql b/static/MySQL/11034_tbl_DOG_Dog_Drive_Link.sql index 75b7d5c..6ddfb7e 100644 --- a/static/MySQL/11034_tbl_DOG_Dog_Drive_Link.sql +++ b/static/MySQL/11034_tbl_DOG_Dog_Drive_Link.sql @@ -1,32 +1,32 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Drive_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Drive_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Drive_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_dog INT NOT NULL , CONSTRAINT FK_DOG_Dog_Drive_Link_id_dog FOREIGN KEY (id_dog) - REFERENCES parts.DOG_Dog(id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) , id_drive INT NOT NULL , CONSTRAINT FK_DOG_Dog_Drive_Link_id_drive FOREIGN KEY (id_drive) - REFERENCES parts.DOG_Drive(id_drive) + REFERENCES fetchmetrics.DOG_Drive(id_drive) , dominance_ratio DECIMAL(5, 4) , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_Dog_Drive_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Dog_Drive_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11035_tbl_DOG_Dog_Drive_Link_Audit.sql b/static/MySQL/11035_tbl_DOG_Dog_Drive_Link_Audit.sql index 79824b6..b40093c 100644 --- a/static/MySQL/11035_tbl_DOG_Dog_Drive_Link_Audit.sql +++ b/static/MySQL/11035_tbl_DOG_Dog_Drive_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Drive_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Drive_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Drive_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Dog_Drive_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Dog_Drive_Link(id_link) + REFERENCES fetchmetrics.DOG_Dog_Drive_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Dog_Drive_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11036_tbl_DOG_Dog_Drive_Link_Temp.sql b/static/MySQL/11036_tbl_DOG_Dog_Drive_Link_Temp.sql index d6ef920..1a99fe1 100644 --- a/static/MySQL/11036_tbl_DOG_Dog_Drive_Link_Temp.sql +++ b/static/MySQL/11036_tbl_DOG_Dog_Drive_Link_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Drive_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Drive_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Drive_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_dog INT diff --git a/static/MySQL/11100_tbl_DOG_Command_Category.sql b/static/MySQL/11100_tbl_DOG_Command_Category.sql index ff68689..b4821a5 100644 --- a/static/MySQL/11100_tbl_DOG_Command_Category.sql +++ b/static/MySQL/11100_tbl_DOG_Command_Category.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Category' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Category ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category ( id_command_category INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Command_Category ( , id_user_created_by INT , CONSTRAINT FK_DOG_Command_Category_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Command_Category_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11101_tbl_DOG_Command_Category_Audit.sql b/static/MySQL/11101_tbl_DOG_Command_Category_Audit.sql index 599637c..7f89ea4 100644 --- a/static/MySQL/11101_tbl_DOG_Command_Category_Audit.sql +++ b/static/MySQL/11101_tbl_DOG_Command_Category_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Category_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Category_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_command_category INT NOT NULL , CONSTRAINT FK_DOG_Command_Category_Audit_id_command_category FOREIGN KEY (id_command_category) - REFERENCES parts.DOG_Command_Category(id_command_category) + REFERENCES fetchmetrics.DOG_Command_Category(id_command_category) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Command_Category_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11102_tbl_DOG_Command_Category_Temp.sql b/static/MySQL/11102_tbl_DOG_Command_Category_Temp.sql index 0c4c3d4..ba3804c 100644 --- a/static/MySQL/11102_tbl_DOG_Command_Category_Temp.sql +++ b/static/MySQL/11102_tbl_DOG_Command_Category_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Category_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Category_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_command_category INT , code VARCHAR(250) diff --git a/static/MySQL/11103a_tbl_DOG_Command_Category_User_Link.sql b/static/MySQL/11103a_tbl_DOG_Command_Category_User_Link.sql new file mode 100644 index 0000000..5fdb1e0 --- /dev/null +++ b/static/MySQL/11103a_tbl_DOG_Command_Category_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Command_Category_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_command_category INT NOT NULL + , CONSTRAINT FK_DOG_Command_Category_User_Link_id_command_category + FOREIGN KEY (id_command_category) + REFERENCES fetchmetrics.DOG_Command_Category(id_command_category) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Command_Category_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Command_Category_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Command_Category_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Command_Category_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11103b_tbl_DOG_Command_Category_User_Link_Audit.sql b/static/MySQL/11103b_tbl_DOG_Command_Category_User_Link_Audit.sql new file mode 100644 index 0000000..8667465 --- /dev/null +++ b/static/MySQL/11103b_tbl_DOG_Command_Category_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Command_Category_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Command_Category_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Command_Category_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Command_Category_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11103c_tbl_DOG_Command_Category_User_Link_Temp.sql b/static/MySQL/11103c_tbl_DOG_Command_Category_User_Link_Temp.sql new file mode 100644 index 0000000..8d5c7ba --- /dev/null +++ b/static/MySQL/11103c_tbl_DOG_Command_Category_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Command_Category_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Category_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_command_category INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11104_tbl_DOG_Command.sql b/static/MySQL/11104_tbl_DOG_Command.sql index ea887e8..c740fe8 100644 --- a/static/MySQL/11104_tbl_DOG_Command.sql +++ b/static/MySQL/11104_tbl_DOG_Command.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command ( id_command INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_command_category INT NOT NULL , CONSTRAINT FK_DOG_Command_id_command_category FOREIGN KEY (id_command_category) - REFERENCES parts.DOG_Command_Category(id_command_category) + REFERENCES fetchmetrics.DOG_Command_Category(id_command_category) , name VARCHAR(250) NOT NULL , hand_signal_default_description TEXT , can_have_button BIT NOT NULL DEFAULT 0 @@ -23,9 +23,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Command ( , id_user_created_by INT , CONSTRAINT FK_DOG_Command_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Command_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11105_tbl_DOG_Command_Audit.sql b/static/MySQL/11105_tbl_DOG_Command_Audit.sql index 6c42cb6..22c421b 100644 --- a/static/MySQL/11105_tbl_DOG_Command_Audit.sql +++ b/static/MySQL/11105_tbl_DOG_Command_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_command INT NOT NULL , CONSTRAINT FK_DOG_Command_Audit_id_command FOREIGN KEY (id_command) - REFERENCES parts.DOG_Command(id_command) + REFERENCES fetchmetrics.DOG_Command(id_command) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Command_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11106_tbl_DOG_Command_Temp.sql b/static/MySQL/11106_tbl_DOG_Command_Temp.sql index 977b45e..a657e4e 100644 --- a/static/MySQL/11106_tbl_DOG_Command_Temp.sql +++ b/static/MySQL/11106_tbl_DOG_Command_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_command INT , id_command_category INT diff --git a/static/MySQL/11108_tbl_DOG_Dog_Command_Link.sql b/static/MySQL/11108_tbl_DOG_Dog_Command_Link.sql index a6a8470..23e1faf 100644 --- a/static/MySQL/11108_tbl_DOG_Dog_Command_Link.sql +++ b/static/MySQL/11108_tbl_DOG_Dog_Command_Link.sql @@ -1,32 +1,32 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Command_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Command_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Command_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_dog INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_id_dog FOREIGN KEY (id_dog) - REFERENCES parts.DOG_Dog(id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) , id_command INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_id_command FOREIGN KEY (id_command) - REFERENCES parts.DOG_Command(id_command) + REFERENCES fetchmetrics.DOG_Command(id_command) /* , id_understanding_level INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_id_understanding_level FOREIGN KEY (id_understanding_level) - REFERENCES parts.DOG_Understanding_Level(id_understanding_level) + REFERENCES fetchmetrics.DOG_Understanding_Level(id_understanding_level) , id_obedience_level INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_id_obedience_level FOREIGN KEY (id_obedience_level) - REFERENCES parts.DOG_Obedience_Level(id_obedience_level) + REFERENCES fetchmetrics.DOG_Obedience_Level(id_obedience_level) */ , hand_signal_description TEXT , notes TEXT @@ -36,9 +36,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Command_Link ( , id_user_created_by INT , CONSTRAINT FK_DOG_Dog_Command_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Dog_Command_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11109_tbl_DOG_Dog_Command_Link_Audit.sql b/static/MySQL/11109_tbl_DOG_Dog_Command_Link_Audit.sql index f0f43e0..bd67ecf 100644 --- a/static/MySQL/11109_tbl_DOG_Dog_Command_Link_Audit.sql +++ b/static/MySQL/11109_tbl_DOG_Dog_Command_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Command_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Command_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Command_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Dog_Command_Link(id_link) + REFERENCES fetchmetrics.DOG_Dog_Command_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Dog_Command_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11110_tbl_DOG_Dog_Command_Link_Temp.sql b/static/MySQL/11110_tbl_DOG_Dog_Command_Link_Temp.sql index 0e95118..f6b4ad3 100644 --- a/static/MySQL/11110_tbl_DOG_Dog_Command_Link_Temp.sql +++ b/static/MySQL/11110_tbl_DOG_Dog_Command_Link_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Dog_Command_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Dog_Command_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Dog_Command_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_dog INT diff --git a/static/MySQL/11111_tbl_DOG_Command_Modality.sql b/static/MySQL/11111_tbl_DOG_Command_Modality.sql index 1e2d595..e98e649 100644 --- a/static/MySQL/11111_tbl_DOG_Command_Modality.sql +++ b/static/MySQL/11111_tbl_DOG_Command_Modality.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Modality' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Modality ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Modality ( id_command_modality INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Command_Modality ( , id_user_created_by INT , CONSTRAINT FK_DOG_Command_Modality_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Command_Modality_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11112_tbl_DOG_Command_Modality_Audit.sql b/static/MySQL/11112_tbl_DOG_Command_Modality_Audit.sql index b3dc453..8219f70 100644 --- a/static/MySQL/11112_tbl_DOG_Command_Modality_Audit.sql +++ b/static/MySQL/11112_tbl_DOG_Command_Modality_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Modality_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Modality_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Modality_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_command_modality INT NOT NULL , CONSTRAINT FK_DOG_Command_Modality_Audit_id_command_modality FOREIGN KEY (id_command_modality) - REFERENCES parts.DOG_Command_Modality(id_command_modality) + REFERENCES fetchmetrics.DOG_Command_Modality(id_command_modality) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Command_Modality_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11113_tbl_DOG_Command_Modality_Temp.sql b/static/MySQL/11113_tbl_DOG_Command_Modality_Temp.sql index a8844fb..bbd830b 100644 --- a/static/MySQL/11113_tbl_DOG_Command_Modality_Temp.sql +++ b/static/MySQL/11113_tbl_DOG_Command_Modality_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Command_Modality_Temp; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Command_Modality_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Modality_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Modality_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Modality_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_command_modality INT , code VARCHAR(250) diff --git a/static/MySQL/11200_tbl_DOG_Location.sql b/static/MySQL/11200_tbl_DOG_Location.sql index 9d7d72d..10739ec 100644 --- a/static/MySQL/11200_tbl_DOG_Location.sql +++ b/static/MySQL/11200_tbl_DOG_Location.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location ( id_location INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_locaiton_parent INT , code VARCHAR(250) NOT NULL @@ -18,9 +18,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Location ( , id_user_created_by INT , CONSTRAINT FK_DOG_Location_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Location_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11201_tbl_DOG_Location_Audit.sql b/static/MySQL/11201_tbl_DOG_Location_Audit.sql index 02df6ed..1076d57 100644 --- a/static/MySQL/11201_tbl_DOG_Location_Audit.sql +++ b/static/MySQL/11201_tbl_DOG_Location_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_location INT NOT NULL , CONSTRAINT FK_DOG_Location_Audit_id_location FOREIGN KEY (id_location) - REFERENCES parts.DOG_Location(id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Location_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11202_tbl_DOG_Location_Temp.sql b/static/MySQL/11202_tbl_DOG_Location_Temp.sql index 4ef8b2d..eb869fb 100644 --- a/static/MySQL/11202_tbl_DOG_Location_Temp.sql +++ b/static/MySQL/11202_tbl_DOG_Location_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_location INT , id_location_parent INT diff --git a/static/MySQL/11203a_tbl_DOG_Location_User_Link.sql b/static/MySQL/11203a_tbl_DOG_Location_User_Link.sql new file mode 100644 index 0000000..cfbfcc9 --- /dev/null +++ b/static/MySQL/11203a_tbl_DOG_Location_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Location_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_location INT NOT NULL + , CONSTRAINT FK_DOG_Location_User_Link_id_location + FOREIGN KEY (id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Location_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Location_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Location_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Location_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11203b_tbl_DOG_Location_User_Link_Audit.sql b/static/MySQL/11203b_tbl_DOG_Location_User_Link_Audit.sql new file mode 100644 index 0000000..db78cec --- /dev/null +++ b/static/MySQL/11203b_tbl_DOG_Location_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Location_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Location_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Location_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Location_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11203c_tbl_DOG_Location_User_Link_Temp.sql b/static/MySQL/11203c_tbl_DOG_Location_User_Link_Temp.sql new file mode 100644 index 0000000..517627c --- /dev/null +++ b/static/MySQL/11203c_tbl_DOG_Location_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Location_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_location INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11220_tbl_DOG_Button_Shape.sql b/static/MySQL/11220_tbl_DOG_Button_Shape.sql index 531f82d..c1cf38c 100644 --- a/static/MySQL/11220_tbl_DOG_Button_Shape.sql +++ b/static/MySQL/11220_tbl_DOG_Button_Shape.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Shape' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Shape ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape ( id_button_shape INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -18,9 +18,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Button_Shape ( , id_user_created_by INT , CONSTRAINT FK_DOG_Button_Shape_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Button_Shape_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11221_tbl_DOG_Button_Shape_Audit.sql b/static/MySQL/11221_tbl_DOG_Button_Shape_Audit.sql index 8780a53..01f0bed 100644 --- a/static/MySQL/11221_tbl_DOG_Button_Shape_Audit.sql +++ b/static/MySQL/11221_tbl_DOG_Button_Shape_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Shape_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Shape_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_button_shape INT NOT NULL , CONSTRAINT FK_DOG_Button_Shape_Audit_id_button_shape FOREIGN KEY (id_button_shape) - REFERENCES parts.DOG_Button_Shape(id_button_shape) + REFERENCES fetchmetrics.DOG_Button_Shape(id_button_shape) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Button_Shape_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11222_tbl_DOG_Button_Shape_Temp.sql b/static/MySQL/11222_tbl_DOG_Button_Shape_Temp.sql index 46ee805..52ca082 100644 --- a/static/MySQL/11222_tbl_DOG_Button_Shape_Temp.sql +++ b/static/MySQL/11222_tbl_DOG_Button_Shape_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Shape_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Shape_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_button_shape INT , code VARCHAR(250) diff --git a/static/MySQL/11223a_tbl_DOG_Button_Shape_User_Link.sql b/static/MySQL/11223a_tbl_DOG_Button_Shape_User_Link.sql new file mode 100644 index 0000000..980e3eb --- /dev/null +++ b/static/MySQL/11223a_tbl_DOG_Button_Shape_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Button_Shape_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_button_shape INT NOT NULL + , CONSTRAINT FK_DOG_Button_Shape_User_Link_id_button_shape + FOREIGN KEY (id_button_shape) + REFERENCES fetchmetrics.DOG_Button_Shape(id_button_shape) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Button_Shape_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Button_Shape_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Button_Shape_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Button_Shape_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11223b_tbl_DOG_Button_Shape_User_Link_Audit.sql b/static/MySQL/11223b_tbl_DOG_Button_Shape_User_Link_Audit.sql new file mode 100644 index 0000000..841b177 --- /dev/null +++ b/static/MySQL/11223b_tbl_DOG_Button_Shape_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Button_Shape_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Button_Shape_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Button_Shape_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Button_Shape_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11223c_tbl_DOG_Button_Shape_User_Link_Temp.sql b/static/MySQL/11223c_tbl_DOG_Button_Shape_User_Link_Temp.sql new file mode 100644 index 0000000..31fa485 --- /dev/null +++ b/static/MySQL/11223c_tbl_DOG_Button_Shape_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Button_Shape_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Shape_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_button_shape INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11224_tbl_DOG_Colour.sql b/static/MySQL/11224_tbl_DOG_Colour.sql index d6274f5..4bcf3d3 100644 --- a/static/MySQL/11224_tbl_DOG_Colour.sql +++ b/static/MySQL/11224_tbl_DOG_Colour.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Colour' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Colour ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Colour ( id_colour INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Colour ( , id_user_created_by INT , CONSTRAINT FK_DOG_Colour_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Colour_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11225_tbl_DOG_Colour_Audit.sql b/static/MySQL/11225_tbl_DOG_Colour_Audit.sql index c0a1eb9..1232501 100644 --- a/static/MySQL/11225_tbl_DOG_Colour_Audit.sql +++ b/static/MySQL/11225_tbl_DOG_Colour_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Colour_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Colour_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Colour_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_colour INT NOT NULL , CONSTRAINT FK_DOG_Colour_Audit_id_colour FOREIGN KEY (id_colour) - REFERENCES parts.DOG_Colour(id_colour) + REFERENCES fetchmetrics.DOG_Colour(id_colour) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Colour_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11226_tbl_DOG_Colour_Temp.sql b/static/MySQL/11226_tbl_DOG_Colour_Temp.sql index 865b8be..e80b82b 100644 --- a/static/MySQL/11226_tbl_DOG_Colour_Temp.sql +++ b/static/MySQL/11226_tbl_DOG_Colour_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Colour_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Colour_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Colour_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_colour INT , code VARCHAR(250) diff --git a/static/MySQL/11228_tbl_DOG_Image.sql b/static/MySQL/11228_tbl_DOG_Image.sql index 34c0434..2c7bb59 100644 --- a/static/MySQL/11228_tbl_DOG_Image.sql +++ b/static/MySQL/11228_tbl_DOG_Image.sql @@ -1,23 +1,23 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Image' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Image ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image ( id_image INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_file_type INT NOT NULL , CONSTRAINT FK_DOG_Image_id_file_type FOREIGN KEY (id_file_type) - REFERENCES parts.CORE_File_Type(id_file_type) + REFERENCES fetchmetrics.CORE_File_Type(id_file_type) , id_dog INT , CONSTRAINT FK_DOG_Image_id_dog FOREIGN KEY (id_dog) - REFERENCES parts.DOG_Dog(id_dog) + REFERENCES fetchmetrics.DOG_Dog(id_dog) , path VARCHAR(1024) NOT NULL , name VARCHAR(1024) NOT NULL , display_order INT @@ -26,9 +26,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Image ( , id_user_created_by INT , CONSTRAINT FK_DOG_Image_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Image_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11229_tbl_DOG_Image_Audit.sql b/static/MySQL/11229_tbl_DOG_Image_Audit.sql index 566a229..38264c3 100644 --- a/static/MySQL/11229_tbl_DOG_Image_Audit.sql +++ b/static/MySQL/11229_tbl_DOG_Image_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Image_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Image_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_image INT NOT NULL , CONSTRAINT FK_DOG_Image_Audit_id_image FOREIGN KEY (id_image) - REFERENCES parts.DOG_Image(id_image) + REFERENCES fetchmetrics.DOG_Image(id_image) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Image_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11230_tbl_DOG_Image_Temp.sql b/static/MySQL/11230_tbl_DOG_Image_Temp.sql index 4711052..39c71b9 100644 --- a/static/MySQL/11230_tbl_DOG_Image_Temp.sql +++ b/static/MySQL/11230_tbl_DOG_Image_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Image_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Image_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_image INT , id_file_type INT NOT NULL diff --git a/static/MySQL/11231a_tbl_DOG_Image_User_Link.sql b/static/MySQL/11231a_tbl_DOG_Image_User_Link.sql new file mode 100644 index 0000000..2c423c3 --- /dev/null +++ b/static/MySQL/11231a_tbl_DOG_Image_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Image_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_image INT NOT NULL + , CONSTRAINT FK_DOG_Image_User_Link_id_image + FOREIGN KEY (id_image) + REFERENCES fetchmetrics.DOG_Image(id_image) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Image_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Image_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Image_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Image_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11231b_tbl_DOG_Image_User_Link_Audit.sql b/static/MySQL/11231b_tbl_DOG_Image_User_Link_Audit.sql new file mode 100644 index 0000000..851d7ab --- /dev/null +++ b/static/MySQL/11231b_tbl_DOG_Image_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Image_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Image_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Image_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Image_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11231c_tbl_DOG_Image_User_Link_Temp.sql b/static/MySQL/11231c_tbl_DOG_Image_User_Link_Temp.sql new file mode 100644 index 0000000..8bae4cf --- /dev/null +++ b/static/MySQL/11231c_tbl_DOG_Image_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Image_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Image_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_image INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11232_tbl_DOG_Button_Icon.sql b/static/MySQL/11232_tbl_DOG_Button_Icon.sql index 56660c2..c109a9e 100644 --- a/static/MySQL/11232_tbl_DOG_Button_Icon.sql +++ b/static/MySQL/11232_tbl_DOG_Button_Icon.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Icon' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Icon ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Icon ( id_button_icon INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_image INT , CONSTRAINT FK_DOG_Button_Icon_id_image FOREIGN KEY (id_image) - REFERENCES parts.DOG_Image(id_image) + REFERENCES fetchmetrics.DOG_Image(id_image) , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL , notes TEXT @@ -22,9 +22,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Button_Icon ( , id_user_created_by INT , CONSTRAINT FK_DOG_Button_Icon_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Button_Icon_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11233_tbl_DOG_Button_Icon_Audit.sql b/static/MySQL/11233_tbl_DOG_Button_Icon_Audit.sql index a8a8698..66d7283 100644 --- a/static/MySQL/11233_tbl_DOG_Button_Icon_Audit.sql +++ b/static/MySQL/11233_tbl_DOG_Button_Icon_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Icon_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Icon_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Icon_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_button_icon INT NOT NULL , CONSTRAINT FK_DOG_Button_Icon_Audit_id_button_icon FOREIGN KEY (id_button_icon) - REFERENCES parts.DOG_Button_Icon(id_button_icon) + REFERENCES fetchmetrics.DOG_Button_Icon(id_button_icon) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Button_Icon_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11234_tbl_DOG_Button_Icon_Temp.sql b/static/MySQL/11234_tbl_DOG_Button_Icon_Temp.sql index caf6001..56e81f7 100644 --- a/static/MySQL/11234_tbl_DOG_Button_Icon_Temp.sql +++ b/static/MySQL/11234_tbl_DOG_Button_Icon_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Button_Icon_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Button_Icon_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Button_Icon_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_button_icon INT , id_image INT diff --git a/static/MySQL/11236_tbl_DOG_Command_Button_Link.sql b/static/MySQL/11236_tbl_DOG_Command_Button_Link.sql index 9911e73..a59ef97 100644 --- a/static/MySQL/11236_tbl_DOG_Command_Button_Link.sql +++ b/static/MySQL/11236_tbl_DOG_Command_Button_Link.sql @@ -1,43 +1,43 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Button_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Button_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Button_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_command INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_id_command FOREIGN KEY (id_command) - REFERENCES parts.DOG_Command(id_command) + REFERENCES fetchmetrics.DOG_Command(id_command) , id_button_shape INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_id_button_shape FOREIGN KEY (id_button_shape) - REFERENCES parts.DOG_Button_Shape(id_button_shape) + REFERENCES fetchmetrics.DOG_Button_Shape(id_button_shape) , id_button_colour INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_id_button_colour FOREIGN KEY (id_button_colour) - REFERENCES parts.DOG_Colour(id_colour) + REFERENCES fetchmetrics.DOG_Colour(id_colour) , id_button_icon INT , CONSTRAINT FK_DOG_Command_Button_Link_id_button_icon FOREIGN KEY (id_button_icon) - REFERENCES parts.DOG_Button_Icon(id_button_icon) + REFERENCES fetchmetrics.DOG_Button_Icon(id_button_icon) , id_location INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_id_location FOREIGN KEY (id_location) - REFERENCES parts.DOG_Location(id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_Command_Button_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Command_Button_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11237_tbl_DOG_Command_Button_Link_Audit.sql b/static/MySQL/11237_tbl_DOG_Command_Button_Link_Audit.sql index ece2abe..3510dad 100644 --- a/static/MySQL/11237_tbl_DOG_Command_Button_Link_Audit.sql +++ b/static/MySQL/11237_tbl_DOG_Command_Button_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Button_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Button_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Button_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Command_Button_Link(id_link) + REFERENCES fetchmetrics.DOG_Command_Button_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Command_Button_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11238_tbl_DOG_Command_Button_Link_Temp.sql b/static/MySQL/11238_tbl_DOG_Command_Button_Link_Temp.sql index 016d35e..26be02f 100644 --- a/static/MySQL/11238_tbl_DOG_Command_Button_Link_Temp.sql +++ b/static/MySQL/11238_tbl_DOG_Command_Button_Link_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Command_Button_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Command_Button_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Command_Button_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_command INT diff --git a/static/MySQL/11300_tbl_DOG_Weather.sql b/static/MySQL/11300_tbl_DOG_Weather.sql index 157a0d3..818058c 100644 --- a/static/MySQL/11300_tbl_DOG_Weather.sql +++ b/static/MySQL/11300_tbl_DOG_Weather.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Weather' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Weather ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Weather ( id_weather INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Weather ( , id_user_created_by INT , CONSTRAINT FK_DOG_Weather_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Weather_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11301_tbl_DOG_Weather_Audit.sql b/static/MySQL/11301_tbl_DOG_Weather_Audit.sql index ccc2f74..d8c2849 100644 --- a/static/MySQL/11301_tbl_DOG_Weather_Audit.sql +++ b/static/MySQL/11301_tbl_DOG_Weather_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Weather_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Weather_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Weather_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_weather INT NOT NULL , CONSTRAINT FK_DOG_Weather_Audit_id_weather FOREIGN KEY (id_weather) - REFERENCES parts.DOG_Weather(id_weather) + REFERENCES fetchmetrics.DOG_Weather(id_weather) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Weather_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11302_tbl_DOG_Weather_Temp.sql b/static/MySQL/11302_tbl_DOG_Weather_Temp.sql index f3d8eaa..25d7472 100644 --- a/static/MySQL/11302_tbl_DOG_Weather_Temp.sql +++ b/static/MySQL/11302_tbl_DOG_Weather_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Weather_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Weather_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Weather_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_weather INT , code VARCHAR(250) diff --git a/static/MySQL/11304_tbl_DOG_Lighting_Level.sql b/static/MySQL/11304_tbl_DOG_Lighting_Level.sql index 2e2168e..4307206 100644 --- a/static/MySQL/11304_tbl_DOG_Lighting_Level.sql +++ b/static/MySQL/11304_tbl_DOG_Lighting_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Lighting_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Lighting_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Lighting_Level ( id_lighting_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Lighting_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Lighting_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Lighting_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11305_tbl_DOG_Lighting_Level_Audit.sql b/static/MySQL/11305_tbl_DOG_Lighting_Level_Audit.sql index d969d1a..3840b1c 100644 --- a/static/MySQL/11305_tbl_DOG_Lighting_Level_Audit.sql +++ b/static/MySQL/11305_tbl_DOG_Lighting_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Lighting_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Lighting_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Lighting_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_lighting_level INT NOT NULL , CONSTRAINT FK_DOG_Lighting_Level_Audit_id_lighting_level FOREIGN KEY (id_lighting_level) - REFERENCES parts.DOG_Lighting_Level(id_lighting_level) + REFERENCES fetchmetrics.DOG_Lighting_Level(id_lighting_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Lighting_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11306_tbl_DOG_Lighting_Level_Temp.sql b/static/MySQL/11306_tbl_DOG_Lighting_Level_Temp.sql index 8e739c0..c16e864 100644 --- a/static/MySQL/11306_tbl_DOG_Lighting_Level_Temp.sql +++ b/static/MySQL/11306_tbl_DOG_Lighting_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Lighting_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Lighting_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Lighting_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_lighting_level INT , code VARCHAR(250) diff --git a/static/MySQL/11308_tbl_DOG_Assessment.sql b/static/MySQL/11308_tbl_DOG_Assessment.sql index da5f814..7fd3abf 100644 --- a/static/MySQL/11308_tbl_DOG_Assessment.sql +++ b/static/MySQL/11308_tbl_DOG_Assessment.sql @@ -1,32 +1,32 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment ( id_assessment INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_temp INT , id_weather INT NOT NULL , CONSTRAINT FK_DOG_Assessment_id_weather FOREIGN KEY (id_weather) - REFERENCES parts.DOG_Weather(id_weather) + REFERENCES fetchmetrics.DOG_Weather(id_weather) , id_lighting_level INT NOT NULL , CONSTRAINT FK_DOG_Assessment_id_lighting_level FOREIGN KEY (id_lighting_level) - REFERENCES parts.DOG_Lighting_Level(id_lighting_level) + REFERENCES fetchmetrics.DOG_Lighting_Level(id_lighting_level) , id_location INT NOT NULL , CONSTRAINT FK_DOG_Assessment_id_location FOREIGN KEY (id_location) - REFERENCES parts.DOG_Location(id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) , id_user_handler INT NOT NULL , CONSTRAINT FK_DOG_Assessment_id_user_handler FOREIGN KEY (id_user_handler) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , notes TEXT , temperature_celcius DECIMAL(5, 2) , difficulty_level DOUBLE @@ -35,9 +35,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment ( , id_user_created_by INT , CONSTRAINT FK_DOG_Assessment_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Assessment_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11309_tbl_DOG_Assessment_Audit.sql b/static/MySQL/11309_tbl_DOG_Assessment_Audit.sql index cd2708d..a49fe14 100644 --- a/static/MySQL/11309_tbl_DOG_Assessment_Audit.sql +++ b/static/MySQL/11309_tbl_DOG_Assessment_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_assessment INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Audit_id_assessment FOREIGN KEY (id_assessment) - REFERENCES parts.DOG_Assessment(id_assessment) + REFERENCES fetchmetrics.DOG_Assessment(id_assessment) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11310_tbl_DOG_Assessment_Temp.sql b/static/MySQL/11310_tbl_DOG_Assessment_Temp.sql index 12c4638..3c62a3b 100644 --- a/static/MySQL/11310_tbl_DOG_Assessment_Temp.sql +++ b/static/MySQL/11310_tbl_DOG_Assessment_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Assessment_Temp; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_assessment INT , id_weather INT diff --git a/static/MySQL/11312_tbl_DOG_Distraction_Type.sql b/static/MySQL/11312_tbl_DOG_Distraction_Type.sql index 2b6c5eb..7d2575c 100644 --- a/static/MySQL/11312_tbl_DOG_Distraction_Type.sql +++ b/static/MySQL/11312_tbl_DOG_Distraction_Type.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Type' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Type ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type ( id_type INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Type ( , id_user_created_by INT , CONSTRAINT FK_DOG_Distraction_Type_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Distraction_Type_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11313_tbl_DOG_Distraction_Type_Audit.sql b/static/MySQL/11313_tbl_DOG_Distraction_Type_Audit.sql index 9390dc2..e13c055 100644 --- a/static/MySQL/11313_tbl_DOG_Distraction_Type_Audit.sql +++ b/static/MySQL/11313_tbl_DOG_Distraction_Type_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Type_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Type_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_type INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Type_Audit_id_type FOREIGN KEY (id_type) - REFERENCES parts.DOG_Distraction_Type(id_type) + REFERENCES fetchmetrics.DOG_Distraction_Type(id_type) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Type_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11314_tbl_DOG_Distraction_Type_Temp.sql b/static/MySQL/11314_tbl_DOG_Distraction_Type_Temp.sql index 4fd3a72..1aedd5c 100644 --- a/static/MySQL/11314_tbl_DOG_Distraction_Type_Temp.sql +++ b/static/MySQL/11314_tbl_DOG_Distraction_Type_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Type_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Type_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_type INT , code VARCHAR(250) diff --git a/static/MySQL/11315a_tbl_DOG_Distraction_Type_User_Link.sql b/static/MySQL/11315a_tbl_DOG_Distraction_Type_User_Link.sql new file mode 100644 index 0000000..34738b5 --- /dev/null +++ b/static/MySQL/11315a_tbl_DOG_Distraction_Type_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Type_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_distraction_type INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_id_distraction_type + FOREIGN KEY (id_distraction_type) + REFERENCES fetchmetrics.DOG_Distraction_Type(id_type) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11315b_tbl_DOG_Distraction_Type_User_Link_Audit.sql b/static/MySQL/11315b_tbl_DOG_Distraction_Type_User_Link_Audit.sql new file mode 100644 index 0000000..1ff6f1d --- /dev/null +++ b/static/MySQL/11315b_tbl_DOG_Distraction_Type_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Type_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Distraction_Type_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Type_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11315c_tbl_DOG_Distraction_Type_User_Link_Temp.sql b/static/MySQL/11315c_tbl_DOG_Distraction_Type_User_Link_Temp.sql new file mode 100644 index 0000000..7c393c0 --- /dev/null +++ b/static/MySQL/11315c_tbl_DOG_Distraction_Type_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Type_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Type_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_distraction_type INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11316_tbl_DOG_Distraction_Intensity_Level.sql b/static/MySQL/11316_tbl_DOG_Distraction_Intensity_Level.sql index ecfb2a0..c771a62 100644 --- a/static/MySQL/11316_tbl_DOG_Distraction_Intensity_Level.sql +++ b/static/MySQL/11316_tbl_DOG_Distraction_Intensity_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Intensity_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Intensity_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level ( id_intensity_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Intensity_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Distraction_Intensity_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Distraction_Intensity_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11317_tbl_DOG_Distraction_Intensity_Level_Audit.sql b/static/MySQL/11317_tbl_DOG_Distraction_Intensity_Level_Audit.sql index b001867..dbb7bc6 100644 --- a/static/MySQL/11317_tbl_DOG_Distraction_Intensity_Level_Audit.sql +++ b/static/MySQL/11317_tbl_DOG_Distraction_Intensity_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Intensity_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Intensity_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_intensity_level INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Intensity_Level_Audit_id_intensity_level FOREIGN KEY (id_intensity_level) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Intensity_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11318_tbl_DOG_Distraction_Intensity_Level_Temp.sql b/static/MySQL/11318_tbl_DOG_Distraction_Intensity_Level_Temp.sql index 5869881..1ccda37 100644 --- a/static/MySQL/11318_tbl_DOG_Distraction_Intensity_Level_Temp.sql +++ b/static/MySQL/11318_tbl_DOG_Distraction_Intensity_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Intensity_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Intensity_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_intensity_level INT , code VARCHAR(250) diff --git a/static/MySQL/11319a_tbl_DOG_Distraction_Intensity_Level_User_Link.sql b/static/MySQL/11319a_tbl_DOG_Distraction_Intensity_Level_User_Link.sql new file mode 100644 index 0000000..0f3f271 --- /dev/null +++ b/static/MySQL/11319a_tbl_DOG_Distraction_Intensity_Level_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Intensity_Level_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_intensity_level INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_id_intensity_level + FOREIGN KEY (id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_type) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11319b_tbl_DOG_Distraction_Intensity_Level_User_Link_Audit.sql b/static/MySQL/11319b_tbl_DOG_Distraction_Intensity_Level_User_Link_Audit.sql new file mode 100644 index 0000000..f3ac69d --- /dev/null +++ b/static/MySQL/11319b_tbl_DOG_Distraction_Intensity_Level_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Intensity_Level_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Distraction_Intensity_Level_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11319c_tbl_DOG_Distraction_Intensity_Level_User_Link_Temp.sql b/static/MySQL/11319c_tbl_DOG_Distraction_Intensity_Level_User_Link_Temp.sql new file mode 100644 index 0000000..46dc436 --- /dev/null +++ b/static/MySQL/11319c_tbl_DOG_Distraction_Intensity_Level_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Distraction_Intensity_Level_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_intensity_level INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11320_tbl_DOG_Distraction.sql b/static/MySQL/11320_tbl_DOG_Distraction.sql index 58c2be4..29e856b 100644 --- a/static/MySQL/11320_tbl_DOG_Distraction.sql +++ b/static/MySQL/11320_tbl_DOG_Distraction.sql @@ -1,46 +1,46 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Distraction; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction ( id_distraction INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_temp INT , id_assessment INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_assessment FOREIGN KEY (id_assessment) - REFERENCES parts.DOG_Assessment(id_assessment) + REFERENCES fetchmetrics.DOG_Assessment(id_assessment) , id_distraction_type INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_distraction_type FOREIGN KEY (id_distraction_type) - REFERENCES parts.DOG_Distraction_Type(id_type) + REFERENCES fetchmetrics.DOG_Distraction_Type(id_type) , id_intensity_level_emotional INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_intensity_level_emotional FOREIGN KEY (id_intensity_level_emotional) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , id_intensity_level_scent INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_intensity_level_scent FOREIGN KEY (id_intensity_level_scent) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , id_intensity_level_sight INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_intensity_level_sight FOREIGN KEY (id_intensity_level_sight) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , id_intensity_level_sound INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_intensity_level_sound FOREIGN KEY (id_intensity_level_sound) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , id_intensity_level_touch INT NOT NULL , CONSTRAINT FK_DOG_Distraction_id_intensity_level_touch FOREIGN KEY (id_intensity_level_touch) - REFERENCES parts.DOG_Distraction_Intensity_Level(id_intensity_level) + REFERENCES fetchmetrics.DOG_Distraction_Intensity_Level(id_intensity_level) , quantity INT , proximity_metres FLOAT , notes TEXT @@ -49,9 +49,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Distraction ( , id_user_created_by INT , CONSTRAINT FK_DOG_Distraction_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Distraction_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11321_tbl_DOG_Distraction_Audit.sql b/static/MySQL/11321_tbl_DOG_Distraction_Audit.sql index 906ae69..f7ed5e3 100644 --- a/static/MySQL/11321_tbl_DOG_Distraction_Audit.sql +++ b/static/MySQL/11321_tbl_DOG_Distraction_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_distraction INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Audit_id_distraction FOREIGN KEY (id_distraction) - REFERENCES parts.DOG_Distraction(id_distraction) + REFERENCES fetchmetrics.DOG_Distraction(id_distraction) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Distraction_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11322_tbl_DOG_Distraction_Temp.sql b/static/MySQL/11322_tbl_DOG_Distraction_Temp.sql index 8e7e289..1fd2e8b 100644 --- a/static/MySQL/11322_tbl_DOG_Distraction_Temp.sql +++ b/static/MySQL/11322_tbl_DOG_Distraction_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; -DROP TABLE IF EXISTS parts.DOG_Distraction_Temp; +DROP TABLE IF EXISTS fetchmetrics.DOG_Distraction_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Distraction_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Distraction_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Distraction_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_distraction INT , id_assessment INT diff --git a/static/MySQL/11324_tbl_DOG_Bribe.sql b/static/MySQL/11324_tbl_DOG_Bribe.sql index fe54a6d..ea652bd 100644 --- a/static/MySQL/11324_tbl_DOG_Bribe.sql +++ b/static/MySQL/11324_tbl_DOG_Bribe.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Bribe' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Bribe ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe ( id_bribe INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Bribe ( , id_user_created_by INT , CONSTRAINT FK_DOG_Bribe_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Bribe_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11325_tbl_DOG_Bribe_Audit.sql b/static/MySQL/11325_tbl_DOG_Bribe_Audit.sql index 41b852e..aea69f6 100644 --- a/static/MySQL/11325_tbl_DOG_Bribe_Audit.sql +++ b/static/MySQL/11325_tbl_DOG_Bribe_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Bribe_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Bribe_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_bribe INT NOT NULL , CONSTRAINT FK_DOG_Bribe_Audit_id_bribe FOREIGN KEY (id_bribe) - REFERENCES parts.DOG_Bribe(id_bribe) + REFERENCES fetchmetrics.DOG_Bribe(id_bribe) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Bribe_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11326_tbl_DOG_Bribe_Temp.sql b/static/MySQL/11326_tbl_DOG_Bribe_Temp.sql index 56286d1..a599486 100644 --- a/static/MySQL/11326_tbl_DOG_Bribe_Temp.sql +++ b/static/MySQL/11326_tbl_DOG_Bribe_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Bribe_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Bribe_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_bribe INT , code VARCHAR(250) diff --git a/static/MySQL/11327a_tbl_DOG_Bribe_User_Link.sql b/static/MySQL/11327a_tbl_DOG_Bribe_User_Link.sql new file mode 100644 index 0000000..603e762 --- /dev/null +++ b/static/MySQL/11327a_tbl_DOG_Bribe_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Bribe_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_bribe INT NOT NULL + , CONSTRAINT FK_DOG_Bribe_User_Link_id_bribe + FOREIGN KEY (id_bribe) + REFERENCES fetchmetrics.DOG_Bribe(id_bribe) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Bribe_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Bribe_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Bribe_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Bribe_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11327b_tbl_DOG_Bribe_User_Link_Audit.sql b/static/MySQL/11327b_tbl_DOG_Bribe_User_Link_Audit.sql new file mode 100644 index 0000000..c0b40d7 --- /dev/null +++ b/static/MySQL/11327b_tbl_DOG_Bribe_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Bribe_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Bribe_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Bribe_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Bribe_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11327c_tbl_DOG_Bribe_User_Link_Temp.sql b/static/MySQL/11327c_tbl_DOG_Bribe_User_Link_Temp.sql new file mode 100644 index 0000000..bb54166 --- /dev/null +++ b/static/MySQL/11327c_tbl_DOG_Bribe_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Bribe_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Bribe_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_bribe INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql b/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql index 8ee868e..5579832 100644 --- a/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql +++ b/static/MySQL/11328_tbl_DOG_Assessment_Command_Modality_Link.sql @@ -1,32 +1,32 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Command_Modality_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_temp INT , id_assessment INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_assessment FOREIGN KEY (id_assessment) - REFERENCES parts.DOG_Assessment(id_assessment) + REFERENCES fetchmetrics.DOG_Assessment(id_assessment) , id_command INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_command FOREIGN KEY (id_command) - REFERENCES parts.DOG_Command(id_command) + REFERENCES fetchmetrics.DOG_Command(id_command) , id_command_modality INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_command_modality FOREIGN KEY (id_command_modality) - REFERENCES parts.DOG_Command_Modality(id_command_modality) + REFERENCES fetchmetrics.DOG_Command_Modality(id_command_modality) , id_bribe INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_bribe FOREIGN KEY (id_bribe) - REFERENCES parts.DOG_Bribe(id_bribe) + REFERENCES fetchmetrics.DOG_Bribe(id_bribe) , distance_from_handler_metres FLOAT , is_in_sight_of_handler BIT , is_in_scent_range_of_handler BIT @@ -38,9 +38,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link ( , id_user_created_by INT , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11329_tbl_DOG_Assessment_Command_Modality_Link_Audit.sql b/static/MySQL/11329_tbl_DOG_Assessment_Command_Modality_Link_Audit.sql index 736a1d8..b540283 100644 --- a/static/MySQL/11329_tbl_DOG_Assessment_Command_Modality_Link_Audit.sql +++ b/static/MySQL/11329_tbl_DOG_Assessment_Command_Modality_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Command_Modality_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Assessment_Command_Modality_Link(id_link) + REFERENCES fetchmetrics.DOG_Assessment_Command_Modality_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Command_Modality_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql b/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql index 8fe3d1e..7969949 100644 --- a/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql +++ b/static/MySQL/11330_tbl_DOG_Assessment_Command_Modality_Link_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Command_Modality_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Command_Modality_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_assessment INT diff --git a/static/MySQL/11332_tbl_DOG_Response_Quality_Metric.sql b/static/MySQL/11332_tbl_DOG_Response_Quality_Metric.sql index 8e1e478..8fcb191 100644 --- a/static/MySQL/11332_tbl_DOG_Response_Quality_Metric.sql +++ b/static/MySQL/11332_tbl_DOG_Response_Quality_Metric.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Response_Quality_Metric' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Response_Quality_Metric ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric ( id_metric INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_unit_measurement INT NOT NULL , CONSTRAINT FK_DOG_Response_Quality_Metric_id_unit_measurement FOREIGN KEY (id_unit_measurement) - REFERENCES parts.DOG_Unit_Measurement(id_unit_measurement) + REFERENCES fetchmetrics.DOG_Unit_Measurement(id_unit_measurement) , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL , value_min DOUBLE @@ -23,9 +23,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Response_Quality_Metric ( , id_user_created_by INT , CONSTRAINT FK_DOG_Response_Quality_Metric_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Response_Quality_Metric_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11333_tbl_DOG_Response_Quality_Metric_Audit.sql b/static/MySQL/11333_tbl_DOG_Response_Quality_Metric_Audit.sql index 7ea208e..5da989b 100644 --- a/static/MySQL/11333_tbl_DOG_Response_Quality_Metric_Audit.sql +++ b/static/MySQL/11333_tbl_DOG_Response_Quality_Metric_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Response_Quality_Metric_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Response_Quality_Metric_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_metric INT NOT NULL , CONSTRAINT FK_DOG_Response_Quality_Metric_Audit_id_metric FOREIGN KEY (id_metric) - REFERENCES parts.DOG_Response_Quality_Metric(id_metric) + REFERENCES fetchmetrics.DOG_Response_Quality_Metric(id_metric) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Response_Quality_Metric_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11334_tbl_DOG_Response_Quality_Metric_Temp.sql b/static/MySQL/11334_tbl_DOG_Response_Quality_Metric_Temp.sql index ad153ce..dd39dd0 100644 --- a/static/MySQL/11334_tbl_DOG_Response_Quality_Metric_Temp.sql +++ b/static/MySQL/11334_tbl_DOG_Response_Quality_Metric_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Response_Quality_Metric_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Response_Quality_Metric_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_metric INT , id_unit_measurement INT diff --git a/static/MySQL/11335a_tbl_DOG_Response_Quality_Metric_User_Link.sql b/static/MySQL/11335a_tbl_DOG_Response_Quality_Metric_User_Link.sql new file mode 100644 index 0000000..a892089 --- /dev/null +++ b/static/MySQL/11335a_tbl_DOG_Response_Quality_Metric_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Response_Quality_Metric_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_response_quality_metric INT NOT NULL + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_id_response_quality_metric + FOREIGN KEY (id_response_quality_metric) + REFERENCES fetchmetrics.DOG_Response_Quality_Metric(id_metric) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11335b_tbl_DOG_Response_Quality_Metric_User_Link_Audit.sql b/static/MySQL/11335b_tbl_DOG_Response_Quality_Metric_User_Link_Audit.sql new file mode 100644 index 0000000..3eb8e34 --- /dev/null +++ b/static/MySQL/11335b_tbl_DOG_Response_Quality_Metric_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Response_Quality_Metric_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Response_Quality_Metric_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Response_Quality_Metric_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11335c_tbl_DOG_Response_Quality_Metric_User_Link_Temp.sql b/static/MySQL/11335c_tbl_DOG_Response_Quality_Metric_User_Link_Temp.sql new file mode 100644 index 0000000..ea3355b --- /dev/null +++ b/static/MySQL/11335c_tbl_DOG_Response_Quality_Metric_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Response_Quality_Metric_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Response_Quality_Metric_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_response_quality_metric INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11336_tbl_DOG_Obedience_Level.sql b/static/MySQL/11336_tbl_DOG_Obedience_Level.sql index 1455153..51bc996 100644 --- a/static/MySQL/11336_tbl_DOG_Obedience_Level.sql +++ b/static/MySQL/11336_tbl_DOG_Obedience_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Obedience_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Obedience_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level ( id_obedience_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Obedience_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Obedience_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Obedience_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11337_tbl_DOG_Obedience_Level_Audit.sql b/static/MySQL/11337_tbl_DOG_Obedience_Level_Audit.sql index 5db92fb..ed7abc4 100644 --- a/static/MySQL/11337_tbl_DOG_Obedience_Level_Audit.sql +++ b/static/MySQL/11337_tbl_DOG_Obedience_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Obedience_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Obedience_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_obedience_level INT NOT NULL , CONSTRAINT FK_DOG_Obedience_Level_Audit_id_obedience_level FOREIGN KEY (id_obedience_level) - REFERENCES parts.DOG_Obedience_Level(id_obedience_level) + REFERENCES fetchmetrics.DOG_Obedience_Level(id_obedience_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Obedience_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11338_tbl_DOG_Obedience_Level_Temp.sql b/static/MySQL/11338_tbl_DOG_Obedience_Level_Temp.sql index d8d6348..b595f1a 100644 --- a/static/MySQL/11338_tbl_DOG_Obedience_Level_Temp.sql +++ b/static/MySQL/11338_tbl_DOG_Obedience_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Obedience_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Obedience_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_obedience_level INT , code VARCHAR(250) diff --git a/static/MySQL/11339a_tbl_DOG_Obedience_Level_User_Link.sql b/static/MySQL/11339a_tbl_DOG_Obedience_Level_User_Link.sql new file mode 100644 index 0000000..7fb7177 --- /dev/null +++ b/static/MySQL/11339a_tbl_DOG_Obedience_Level_User_Link.sql @@ -0,0 +1,35 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Obedience_Level_User_Link' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level_User_Link ( + id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_obedience_level INT NOT NULL + , CONSTRAINT FK_DOG_Obedience_Level_User_Link_id_obedience_level + FOREIGN KEY (id_obedience_level) + REFERENCES fetchmetrics.DOG_Obedience_Level(id_obedience_level) + , id_user INT NOT NULL + , CONSTRAINT FK_DOG_Obedience_Level_User_Link_id_user + FOREIGN KEY (id_user) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_access_level INT NOT NULL + , CONSTRAINT FK_DOG_Obedience_Level_User_Link_id_access_level + FOREIGN KEY (id_access_level) + REFERENCES fetchmetrics.DOG_Access_Level(id_access_level) + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_DOG_Dog_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_DOG_Dog_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11339b_tbl_DOG_Obedience_Level_User_Link_Audit.sql b/static/MySQL/11339b_tbl_DOG_Obedience_Level_User_Link_Audit.sql new file mode 100644 index 0000000..40bf826 --- /dev/null +++ b/static/MySQL/11339b_tbl_DOG_Obedience_Level_User_Link_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Obedience_Level_User_Link_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level_User_Link_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_link INT NOT NULL + , CONSTRAINT FK_DOG_Obedience_Level_User_Link_Audit_id_link + FOREIGN KEY (id_link) + REFERENCES fetchmetrics.DOG_Obedience_Level_User_Link(id_link) + , name_field VARCHAR(100) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_DOG_Obedience_Level_User_Link_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) +); diff --git a/static/MySQL/11339c_tbl_DOG_Obedience_Level_User_Link_Temp.sql b/static/MySQL/11339c_tbl_DOG_Obedience_Level_User_Link_Temp.sql new file mode 100644 index 0000000..46dc6ca --- /dev/null +++ b/static/MySQL/11339c_tbl_DOG_Obedience_Level_User_Link_Temp.sql @@ -0,0 +1,20 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'DOG_Obedience_Level_User_Link_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Obedience_Level_User_Link_Temp ( + id_link INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_obedience_level INT + , id_user INT + , id_access_level INT + , active BIT + , guid BINARY(36) + , does_meet_id_filters BIT + , does_meet_non_id_filters BIT +); diff --git a/static/MySQL/11340_tbl_DOG_Assessment_Response.sql b/static/MySQL/11340_tbl_DOG_Assessment_Response.sql index ad45b79..a35da8c 100644 --- a/static/MySQL/11340_tbl_DOG_Assessment_Response.sql +++ b/static/MySQL/11340_tbl_DOG_Assessment_Response.sql @@ -1,30 +1,30 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Assessment_Response; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Response; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Response' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Response ( id_response INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_temp INT , id_assessment_command_modality_link INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_id_assessment_command_modality_link FOREIGN KEY (id_assessment_command_modality_link) - REFERENCES parts.DOG_Assessment_Command_Modality_Link(id_link) + REFERENCES fetchmetrics.DOG_Assessment_Command_Modality_Link(id_link) , id_response_quality_metric INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_id_response_quality_metric FOREIGN KEY (id_response_quality_metric) - REFERENCES parts.DOG_Response_Quality_Metric(id_metric) + REFERENCES fetchmetrics.DOG_Response_Quality_Metric(id_metric) , id_obedience_level INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_id_obedience_level FOREIGN KEY (id_obedience_level) - REFERENCES parts.DOG_Obedience_Level(id_obedience_level) + REFERENCES fetchmetrics.DOG_Obedience_Level(id_obedience_level) , value_measured DOUBLE , notes TEXT , active BIT NOT NULL DEFAULT 1 @@ -32,9 +32,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response ( , id_user_created_by INT , CONSTRAINT FK_DOG_Assessment_Response_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Assessment_Response_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11341_tbl_DOG_Assessment_Response_Audit.sql b/static/MySQL/11341_tbl_DOG_Assessment_Response_Audit.sql index a3eb831..a89847a 100644 --- a/static/MySQL/11341_tbl_DOG_Assessment_Response_Audit.sql +++ b/static/MySQL/11341_tbl_DOG_Assessment_Response_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Response_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Response_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_response INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_Audit_id_response FOREIGN KEY (id_response) - REFERENCES parts.DOG_Assessment_Response(id_response) + REFERENCES fetchmetrics.DOG_Assessment_Response(id_response) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Assessment_Response_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/11342_tbl_DOG_Assessment_Response_Temp.sql b/static/MySQL/11342_tbl_DOG_Assessment_Response_Temp.sql index ee6b25f..a478fbc 100644 --- a/static/MySQL/11342_tbl_DOG_Assessment_Response_Temp.sql +++ b/static/MySQL/11342_tbl_DOG_Assessment_Response_Temp.sql @@ -1,16 +1,16 @@ -USE parts; +USE fetchmetrics; --- DROP TABLE IF EXISTS parts.DOG_Assessment_Response_Temp; +-- DROP TABLE IF EXISTS fetchmetrics.DOG_Assessment_Response_Temp; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Assessment_Response_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Assessment_Response_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Assessment_Response_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_response INT , id_assessment_command_modality_link INT diff --git a/static/MySQL/11600_tbl_PH_Contact_Form_Change_Set.sql b/static/MySQL/11600_tbl_PH_Contact_Form_Change_Set.sql index 2375089..c91aab3 100644 --- a/static/MySQL/11600_tbl_PH_Contact_Form_Change_Set.sql +++ b/static/MySQL/11600_tbl_PH_Contact_Form_Change_Set.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'PH_Contact_Form_Change_Set' ; -CREATE TABLE IF NOT EXISTS parts.PH_Contact_Form_Change_Set ( +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Contact_Form_Change_Set ( id_change_set INT NOT NULL AUTO_INCREMENT PRIMARY KEY , comment VARCHAR(500) , updated_last_on DATETIME , id_user_updated_last_by INT , CONSTRAINT FK_PH_Contact_Form_Change_Set_id_user_updated_last_by FOREIGN KEY (id_user_updated_last_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) ); \ No newline at end of file diff --git a/static/MySQL/11601_tbl_PH_Contact_Form.sql b/static/MySQL/11601_tbl_PH_Contact_Form.sql index 792cec5..b8f99d4 100644 --- a/static/MySQL/11601_tbl_PH_Contact_Form.sql +++ b/static/MySQL/11601_tbl_PH_Contact_Form.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'PH_Contact_Form' ; -CREATE TABLE IF NOT EXISTS parts.PH_Contact_Form ( +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Contact_Form ( id_contact_form INT NOT NULL AUTO_INCREMENT PRIMARY KEY , email VARCHAR(255) NOT NULL , name_contact VARCHAR(255) NOT NULL @@ -20,9 +20,9 @@ CREATE TABLE IF NOT EXISTS parts.PH_Contact_Form ( , id_user_created_by INT , CONSTRAINT FK_PH_Contact_Form_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_PH_Contact_Form_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.PH_Contact_Form_Change_Set(id_change_set) + REFERENCES fetchmetrics.PH_Contact_Form_Change_Set(id_change_set) ); diff --git a/static/MySQL/11602_tbl_PH_Contact_Form_Audit.sql b/static/MySQL/11602_tbl_PH_Contact_Form_Audit.sql index 9cb14b9..dd29de6 100644 --- a/static/MySQL/11602_tbl_PH_Contact_Form_Audit.sql +++ b/static/MySQL/11602_tbl_PH_Contact_Form_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'PH_Contact_Form_Audit' ; -CREATE TABLE IF NOT EXISTS parts.PH_Contact_Form_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Contact_Form_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_contact_form INT NOT NULL , CONSTRAINT FK_PH_Contact_Form_Audit_id_contact_form FOREIGN KEY (id_contact_form) - REFERENCES parts.PH_Contact_Form(id_contact_form) + REFERENCES fetchmetrics.PH_Contact_Form(id_contact_form) , name_field VARCHAR(50) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_PH_Contact_Form_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.PH_Contact_Form_Change_Set(id_change_set) + REFERENCES fetchmetrics.PH_Contact_Form_Change_Set(id_change_set) ); diff --git a/static/MySQL/11603_tbl_PH_Contact_Form_Temp.sql b/static/MySQL/11603_tbl_PH_Contact_Form_Temp.sql index a8d153e..fc60001 100644 --- a/static/MySQL/11603_tbl_PH_Contact_Form_Temp.sql +++ b/static/MySQL/11603_tbl_PH_Contact_Form_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'PH_Contact_Form_Temp' ; -CREATE TABLE IF NOT EXISTS parts.PH_Contact_Form_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Contact_Form_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_contact_form INT , email VARCHAR(255) diff --git a/static/MySQL/11620_tbl_PH_Apply_Founding_Partner_Form.sql b/static/MySQL/11620_tbl_PH_Apply_Founding_Partner_Form.sql new file mode 100644 index 0000000..45b902b --- /dev/null +++ b/static/MySQL/11620_tbl_PH_Apply_Founding_Partner_Form.sql @@ -0,0 +1,39 @@ + +USE fetchmetrics; + +-- DROP TABLE IF EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , name_contact VARCHAR(255) NOT NULL + , email VARCHAR(255) NOT NULL + , phone_number VARCHAR(255) + , name_company VARCHAR(255) NOT NULL + , website VARCHAR(1000) + , dog_count INT NOT NULL + , id_years_of_experience INT NOT NULL + , ids_speciality VARCHAR(255) NOT NULL + , ids_existing_system VARCHAR(255) NOT NULL + , id_existing_challenges INT NOT NULL + , id_existing_time_sink_weekly INT NOT NULL + , id_commitment_frequency INT NOT NULL + -- , most_valuable_features TEXT NOT NULL + , notes TEXT + , active BIT NOT NULL DEFAULT 1 + , created_on DATETIME + , id_user_created_by INT + , CONSTRAINT FK_PH_Apply_Founding_Partner_Form_id_user_created_by + FOREIGN KEY (id_user_created_by) + REFERENCES fetchmetrics.DOG_User(id_user) + , id_change_set INT + , CONSTRAINT FK_PH_Apply_Founding_Partner_Form_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.PH_Contact_Form_Change_Set(id_change_set) +); diff --git a/static/MySQL/11621_tbl_PH_Apply_Founding_Partner_Form_Audit.sql b/static/MySQL/11621_tbl_PH_Apply_Founding_Partner_Form_Audit.sql new file mode 100644 index 0000000..ae92536 --- /dev/null +++ b/static/MySQL/11621_tbl_PH_Apply_Founding_Partner_Form_Audit.sql @@ -0,0 +1,24 @@ + +USE fetchmetrics; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form_Audit' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form_Audit ( + id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_apply_founding_partner_form INT NOT NULL + , CONSTRAINT FK_PH_AFP_Form_Audit_id_apply_founding_partner_form + FOREIGN KEY (id_apply_founding_partner_form) + REFERENCES fetchmetrics.PH_Apply_Founding_Partner_Form(id_apply_founding_partner_form) + , name_field VARCHAR(50) NOT NULL + , value_prev TEXT + , value_new TEXT + , id_change_set INT NOT NULL + , CONSTRAINT FK_PH_AFP_Form_Audit_id_change_set + FOREIGN KEY (id_change_set) + REFERENCES fetchmetrics.PH_Contact_Form_Change_Set(id_change_set) +); diff --git a/static/MySQL/11622_tbl_PH_Apply_Founding_Partner_Form_Temp.sql b/static/MySQL/11622_tbl_PH_Apply_Founding_Partner_Form_Temp.sql new file mode 100644 index 0000000..8892cc0 --- /dev/null +++ b/static/MySQL/11622_tbl_PH_Apply_Founding_Partner_Form_Temp.sql @@ -0,0 +1,32 @@ + +USE fetchmetrics; + +-- DROP TABLE IF EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form_Temp; + +SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning +FROM INFORMATION_SCHEMA.TABLES +WHERE + TABLE_SCHEMA = 'fetchmetrics' + AND TABLE_NAME = 'PH_Apply_Founding_Partner_Form_Temp' +; + +CREATE TABLE IF NOT EXISTS fetchmetrics.PH_Apply_Founding_Partner_Form_Temp ( + id_temp INT NOT NULL AUTO_INCREMENT PRIMARY KEY + , id_apply_founding_partner_form INT NOT NULL + , name_contact VARCHAR(255) + , email VARCHAR(255) + , phone_number VARCHAR(255) + , name_company VARCHAR(255) + , website VARCHAR(1000) + , dog_count INT + , id_years_of_experience INT + , ids_speciality VARCHAR(255) + , ids_existing_system VARCHAR(255) + , id_existing_challenges INT + , id_existing_time_sink_weekly INT + , id_commitment_frequency INT + -- , most_valuable_features TEXT + , notes TEXT + , active BIT + , guid BINARY(36) +); diff --git a/static/MySQL/30500_tri_DOG_User_Change_Set.sql b/static/MySQL/30500_tri_DOG_User_Change_Set.sql index f7f0461..2e33b5f 100644 --- a/static/MySQL/30500_tri_DOG_User_Change_Set.sql +++ b/static/MySQL/30500_tri_DOG_User_Change_Set.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_User_Change_Set; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_User_Change_Set; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_User_Change_Set -BEFORE INSERT ON parts.DOG_User_Change_Set +CREATE TRIGGER fetchmetrics.before_insert_DOG_User_Change_Set +BEFORE INSERT ON fetchmetrics.DOG_User_Change_Set FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN @@ -15,11 +15,11 @@ DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_User_Change_Set -BEFORE UPDATE ON parts.DOG_User_Change_Set +CREATE TRIGGER fetchmetrics.before_update_DOG_User_Change_Set +BEFORE UPDATE ON fetchmetrics.DOG_User_Change_Set FOR EACH ROW BEGIN - IF NOT EXISTS(SELECT * FROM parts.DOG_User WHERE id_user = NEW.id_user_updated_last_by) THEN + IF NOT EXISTS(SELECT * FROM fetchmetrics.DOG_User WHERE id_user = NEW.id_user_updated_last_by) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'New Updated-Last-By User ID must be provided.'; END IF; diff --git a/static/MySQL/30516_tri_DOG_User.sql b/static/MySQL/30516_tri_DOG_User.sql index c93477b..94fb4cc 100644 --- a/static/MySQL/30516_tri_DOG_User.sql +++ b/static/MySQL/30516_tri_DOG_User.sql @@ -1,13 +1,13 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_User; -DROP TRIGGER IF EXISTS parts.before_update_DOG_User; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_User; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_User; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_User -BEFORE INSERT ON parts.DOG_User +CREATE TRIGGER fetchmetrics.before_insert_DOG_User +BEFORE INSERT ON fetchmetrics.DOG_User FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -16,8 +16,8 @@ DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_User -BEFORE UPDATE ON parts.DOG_User +CREATE TRIGGER fetchmetrics.before_update_DOG_User +BEFORE UPDATE ON fetchmetrics.DOG_User FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -25,7 +25,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_User_Audit ( + INSERT INTO fetchmetrics.DOG_User_Audit ( id_user, name_field, value_prev, diff --git a/static/MySQL/30520_tri_DOG_Role.sql b/static/MySQL/30520_tri_DOG_Role.sql index d23a9fd..e8b734c 100644 --- a/static/MySQL/30520_tri_DOG_Role.sql +++ b/static/MySQL/30520_tri_DOG_Role.sql @@ -1,13 +1,13 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Role; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Role; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Role; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Role; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Role -BEFORE INSERT ON parts.DOG_Role +CREATE TRIGGER fetchmetrics.before_insert_DOG_Role +BEFORE INSERT ON fetchmetrics.DOG_Role FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -16,8 +16,8 @@ DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Role -BEFORE UPDATE ON parts.DOG_Role +CREATE TRIGGER fetchmetrics.before_update_DOG_Role +BEFORE UPDATE ON fetchmetrics.DOG_Role FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -25,7 +25,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Role_Audit ( + INSERT INTO fetchmetrics.DOG_Role_Audit ( id_role, name_field, value_prev, diff --git a/static/MySQL/30524_tri_DOG_Role_Permission_Link.sql b/static/MySQL/30524_tri_DOG_Role_Permission_Link.sql index bc797c2..360ea6e 100644 --- a/static/MySQL/30524_tri_DOG_Role_Permission_Link.sql +++ b/static/MySQL/30524_tri_DOG_Role_Permission_Link.sql @@ -1,13 +1,13 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Role_Permission_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Role_Permission_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Role_Permission_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Role_Permission_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Role_Permission_Link -BEFORE INSERT ON parts.DOG_Role_Permission_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Role_Permission_Link +BEFORE INSERT ON fetchmetrics.DOG_Role_Permission_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -16,8 +16,8 @@ DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Role_Permission_Link -BEFORE UPDATE ON parts.DOG_Role_Permission_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Role_Permission_Link +BEFORE UPDATE ON fetchmetrics.DOG_Role_Permission_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -25,7 +25,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Role_Permission_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Role_Permission_Link_Audit ( id_link, name_field, value_prev, diff --git a/static/MySQL/30528_tri_DOG_User_Role_Link.sql b/static/MySQL/30528_tri_DOG_User_Role_Link.sql index 0a6e990..d0e85f4 100644 --- a/static/MySQL/30528_tri_DOG_User_Role_Link.sql +++ b/static/MySQL/30528_tri_DOG_User_Role_Link.sql @@ -1,13 +1,13 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_User_Role_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_User_Role_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_User_Role_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_User_Role_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_User_Role_Link -BEFORE INSERT ON parts.DOG_User_Role_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_User_Role_Link +BEFORE INSERT ON fetchmetrics.DOG_User_Role_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -16,8 +16,8 @@ DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_User_Role_Link -BEFORE UPDATE ON parts.DOG_User_Role_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_User_Role_Link +BEFORE UPDATE ON fetchmetrics.DOG_User_Role_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -25,7 +25,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_User_Role_Link_Audit ( + INSERT INTO fetchmetrics.DOG_User_Role_Link_Audit ( id_link, name_field, value_prev, diff --git a/static/MySQL/31000_tri_DOG_Dog_Change_Set.sql b/static/MySQL/31000_tri_DOG_Dog_Change_Set.sql index 0eb4b29..e313722 100644 --- a/static/MySQL/31000_tri_DOG_Dog_Change_Set.sql +++ b/static/MySQL/31000_tri_DOG_Dog_Change_Set.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Dog_Change_Set; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog_Change_Set; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Dog_Change_Set -BEFORE INSERT ON parts.DOG_Dog_Change_Set +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog_Change_Set +BEFORE INSERT ON fetchmetrics.DOG_Dog_Change_Set FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN diff --git a/static/MySQL/31001_tri_DOG_Dog.sql b/static/MySQL/31001_tri_DOG_Dog.sql index b888b43..eb0fc9c 100644 --- a/static/MySQL/31001_tri_DOG_Dog.sql +++ b/static/MySQL/31001_tri_DOG_Dog.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Dog; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Dog; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Dog; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Dog -BEFORE INSERT ON parts.DOG_Dog +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog +BEFORE INSERT ON fetchmetrics.DOG_Dog FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Dog -BEFORE UPDATE ON parts.DOG_Dog +CREATE TRIGGER fetchmetrics.before_update_DOG_Dog +BEFORE UPDATE ON fetchmetrics.DOG_Dog FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Dog_Audit ( + INSERT INTO fetchmetrics.DOG_Dog_Audit ( id_dog , name_field , value_prev diff --git a/static/MySQL/31004_tri_DOG_Dog_User_Link.sql b/static/MySQL/31004_tri_DOG_Dog_User_Link.sql new file mode 100644 index 0000000..b7c1009 --- /dev/null +++ b/static/MySQL/31004_tri_DOG_Dog_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Dog_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Dog_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Dog_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Dog_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Dog_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_dog', CONVERT(OLD.id_dog, CHAR), CONVERT(NEW.id_dog, CHAR), NEW.id_change_set + WHERE NOT OLD.id_dog <=> NEW.id_dog + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31005_tri_DOG_Breed.sql b/static/MySQL/31005_tri_DOG_Breed.sql index 5daa790..93e3df9 100644 --- a/static/MySQL/31005_tri_DOG_Breed.sql +++ b/static/MySQL/31005_tri_DOG_Breed.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Breed; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Breed; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Breed; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Breed; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Breed -BEFORE INSERT ON parts.DOG_Breed +CREATE TRIGGER fetchmetrics.before_insert_DOG_Breed +BEFORE INSERT ON fetchmetrics.DOG_Breed FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Breed -BEFORE UPDATE ON parts.DOG_Breed +CREATE TRIGGER fetchmetrics.before_update_DOG_Breed +BEFORE UPDATE ON fetchmetrics.DOG_Breed FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Breed_Audit ( + INSERT INTO fetchmetrics.DOG_Breed_Audit ( id_breed , name_field , value_prev diff --git a/static/MySQL/31009_tri_DOG_Dog_Breed_Link.sql b/static/MySQL/31009_tri_DOG_Dog_Breed_Link.sql index d3cf927..826cb93 100644 --- a/static/MySQL/31009_tri_DOG_Dog_Breed_Link.sql +++ b/static/MySQL/31009_tri_DOG_Dog_Breed_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Dog_Breed_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Dog_Breed_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog_Breed_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Dog_Breed_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Dog_Breed_Link -BEFORE INSERT ON parts.DOG_Dog_Breed_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog_Breed_Link +BEFORE INSERT ON fetchmetrics.DOG_Dog_Breed_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Dog_Breed_Link -BEFORE UPDATE ON parts.DOG_Dog_Breed_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Dog_Breed_Link +BEFORE UPDATE ON fetchmetrics.DOG_Dog_Breed_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Dog_Breed_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Dog_Breed_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/31030_tri_DOG_Drive.sql b/static/MySQL/31030_tri_DOG_Drive.sql index bb20f98..f89aed2 100644 --- a/static/MySQL/31030_tri_DOG_Drive.sql +++ b/static/MySQL/31030_tri_DOG_Drive.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Drive; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Drive; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Drive; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Drive; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Drive -BEFORE INSERT ON parts.DOG_Drive +CREATE TRIGGER fetchmetrics.before_insert_DOG_Drive +BEFORE INSERT ON fetchmetrics.DOG_Drive FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Drive -BEFORE UPDATE ON parts.DOG_Drive +CREATE TRIGGER fetchmetrics.before_update_DOG_Drive +BEFORE UPDATE ON fetchmetrics.DOG_Drive FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Drive_Audit ( + INSERT INTO fetchmetrics.DOG_Drive_Audit ( id_drive , name_field , value_prev diff --git a/static/MySQL/31034_tri_DOG_Dog_Drive_Link.sql b/static/MySQL/31034_tri_DOG_Dog_Drive_Link.sql index b414a3a..51fb8eb 100644 --- a/static/MySQL/31034_tri_DOG_Dog_Drive_Link.sql +++ b/static/MySQL/31034_tri_DOG_Dog_Drive_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Dog_Drive_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Dog_Drive_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog_Drive_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Dog_Drive_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Dog_Drive_Link -BEFORE INSERT ON parts.DOG_Dog_Drive_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog_Drive_Link +BEFORE INSERT ON fetchmetrics.DOG_Dog_Drive_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Dog_Drive_Link -BEFORE UPDATE ON parts.DOG_Dog_Drive_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Dog_Drive_Link +BEFORE UPDATE ON fetchmetrics.DOG_Dog_Drive_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Dog_Drive_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Dog_Drive_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/31100_tri_DOG_Command_Category.sql b/static/MySQL/31100_tri_DOG_Command_Category.sql index 870d4e3..ff54f90 100644 --- a/static/MySQL/31100_tri_DOG_Command_Category.sql +++ b/static/MySQL/31100_tri_DOG_Command_Category.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Command_Category; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Command_Category; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Command_Category; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Command_Category; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Command_Category -BEFORE INSERT ON parts.DOG_Command_Category +CREATE TRIGGER fetchmetrics.before_insert_DOG_Command_Category +BEFORE INSERT ON fetchmetrics.DOG_Command_Category FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Command_Category -BEFORE UPDATE ON parts.DOG_Command_Category +CREATE TRIGGER fetchmetrics.before_update_DOG_Command_Category +BEFORE UPDATE ON fetchmetrics.DOG_Command_Category FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Command_Category_Audit ( + INSERT INTO fetchmetrics.DOG_Command_Category_Audit ( id_command_category , name_field , value_prev diff --git a/static/MySQL/31103_tri_DOG_Command_Category_User_Link.sql b/static/MySQL/31103_tri_DOG_Command_Category_User_Link.sql new file mode 100644 index 0000000..9c59834 --- /dev/null +++ b/static/MySQL/31103_tri_DOG_Command_Category_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Command_Category_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Command_Category_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Command_Category_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Command_Category_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Command_Category_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Command_Category_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Command_Category_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_command_category', CONVERT(OLD.id_command_category, CHAR), CONVERT(NEW.id_command_category, CHAR), NEW.id_change_set + WHERE NOT OLD.id_command_category <=> NEW.id_command_category + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31104_tri_DOG_Command.sql b/static/MySQL/31104_tri_DOG_Command.sql index 2e5d31d..b28e147 100644 --- a/static/MySQL/31104_tri_DOG_Command.sql +++ b/static/MySQL/31104_tri_DOG_Command.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Command; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Command; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Command; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Command; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Command -BEFORE INSERT ON parts.DOG_Command +CREATE TRIGGER fetchmetrics.before_insert_DOG_Command +BEFORE INSERT ON fetchmetrics.DOG_Command FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Command -BEFORE UPDATE ON parts.DOG_Command +CREATE TRIGGER fetchmetrics.before_update_DOG_Command +BEFORE UPDATE ON fetchmetrics.DOG_Command FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Command_Audit ( + INSERT INTO fetchmetrics.DOG_Command_Audit ( id_command , name_field , value_prev diff --git a/static/MySQL/31108_tri_DOG_Dog_Command_Link.sql b/static/MySQL/31108_tri_DOG_Dog_Command_Link.sql index 54bc0dd..208543c 100644 --- a/static/MySQL/31108_tri_DOG_Dog_Command_Link.sql +++ b/static/MySQL/31108_tri_DOG_Dog_Command_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Dog_Command_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Dog_Command_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Dog_Command_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Dog_Command_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Dog_Command_Link -BEFORE INSERT ON parts.DOG_Dog_Command_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Dog_Command_Link +BEFORE INSERT ON fetchmetrics.DOG_Dog_Command_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Dog_Command_Link -BEFORE UPDATE ON parts.DOG_Dog_Command_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Dog_Command_Link +BEFORE UPDATE ON fetchmetrics.DOG_Dog_Command_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Dog_Command_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Dog_Command_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/31111_tri_DOG_Command_Modality.sql b/static/MySQL/31111_tri_DOG_Command_Modality.sql index dbe0ff1..c362079 100644 --- a/static/MySQL/31111_tri_DOG_Command_Modality.sql +++ b/static/MySQL/31111_tri_DOG_Command_Modality.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Command_Modality; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Command_Modality; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Command_Modality; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Command_Modality; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Command_Modality -BEFORE INSERT ON parts.DOG_Command_Modality +CREATE TRIGGER fetchmetrics.before_insert_DOG_Command_Modality +BEFORE INSERT ON fetchmetrics.DOG_Command_Modality FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Command_Modality -BEFORE UPDATE ON parts.DOG_Command_Modality +CREATE TRIGGER fetchmetrics.before_update_DOG_Command_Modality +BEFORE UPDATE ON fetchmetrics.DOG_Command_Modality FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Command_Modality_Audit ( + INSERT INTO fetchmetrics.DOG_Command_Modality_Audit ( id_command_modality , name_field , value_prev diff --git a/static/MySQL/31200_tri_DOG_Location.sql b/static/MySQL/31200_tri_DOG_Location.sql index 73f4f8f..9384ee1 100644 --- a/static/MySQL/31200_tri_DOG_Location.sql +++ b/static/MySQL/31200_tri_DOG_Location.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Location; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Location; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Location; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Location; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Location -BEFORE INSERT ON parts.DOG_Location +CREATE TRIGGER fetchmetrics.before_insert_DOG_Location +BEFORE INSERT ON fetchmetrics.DOG_Location FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Location -BEFORE UPDATE ON parts.DOG_Location +CREATE TRIGGER fetchmetrics.before_update_DOG_Location +BEFORE UPDATE ON fetchmetrics.DOG_Location FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Location_Audit ( + INSERT INTO fetchmetrics.DOG_Location_Audit ( id_location , name_field , value_prev diff --git a/static/MySQL/31203_tri_DOG_Location_User_Link.sql b/static/MySQL/31203_tri_DOG_Location_User_Link.sql new file mode 100644 index 0000000..9100a93 --- /dev/null +++ b/static/MySQL/31203_tri_DOG_Location_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Location_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Location_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Location_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Location_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Location_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Location_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Location_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_location', CONVERT(OLD.id_location, CHAR), CONVERT(NEW.id_location, CHAR), NEW.id_change_set + WHERE NOT OLD.id_location <=> NEW.id_location + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31220_tri_DOG_Button_Shape.sql b/static/MySQL/31220_tri_DOG_Button_Shape.sql index 3fbaa3e..0e62adc 100644 --- a/static/MySQL/31220_tri_DOG_Button_Shape.sql +++ b/static/MySQL/31220_tri_DOG_Button_Shape.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Button_Shape; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Button_Shape; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Button_Shape; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Button_Shape; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Button_Shape -BEFORE INSERT ON parts.DOG_Button_Shape +CREATE TRIGGER fetchmetrics.before_insert_DOG_Button_Shape +BEFORE INSERT ON fetchmetrics.DOG_Button_Shape FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Button_Shape -BEFORE UPDATE ON parts.DOG_Button_Shape +CREATE TRIGGER fetchmetrics.before_update_DOG_Button_Shape +BEFORE UPDATE ON fetchmetrics.DOG_Button_Shape FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Button_Shape_Audit ( + INSERT INTO fetchmetrics.DOG_Button_Shape_Audit ( id_button_shape , name_field , value_prev diff --git a/static/MySQL/31223_tri_DOG_Button_Shape_User_Link.sql b/static/MySQL/31223_tri_DOG_Button_Shape_User_Link.sql new file mode 100644 index 0000000..1ec4e82 --- /dev/null +++ b/static/MySQL/31223_tri_DOG_Button_Shape_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Button_Shape_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Button_Shape_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Button_Shape_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Button_Shape_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Button_Shape_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Button_Shape_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Button_Shape_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_button_shape', CONVERT(OLD.id_button_shape, CHAR), CONVERT(NEW.id_button_shape, CHAR), NEW.id_change_set + WHERE NOT OLD.id_button_shape <=> NEW.id_button_shape + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31224_tri_DOG_Colour.sql b/static/MySQL/31224_tri_DOG_Colour.sql index 52f07f2..b651012 100644 --- a/static/MySQL/31224_tri_DOG_Colour.sql +++ b/static/MySQL/31224_tri_DOG_Colour.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Colour; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Colour; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Colour; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Colour; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Colour -BEFORE INSERT ON parts.DOG_Colour +CREATE TRIGGER fetchmetrics.before_insert_DOG_Colour +BEFORE INSERT ON fetchmetrics.DOG_Colour FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Colour -BEFORE UPDATE ON parts.DOG_Colour +CREATE TRIGGER fetchmetrics.before_update_DOG_Colour +BEFORE UPDATE ON fetchmetrics.DOG_Colour FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Colour_Audit ( + INSERT INTO fetchmetrics.DOG_Colour_Audit ( id_colour , name_field , value_prev diff --git a/static/MySQL/31228_tri_DOG_Image.sql b/static/MySQL/31228_tri_DOG_Image.sql index dab724a..58e1536 100644 --- a/static/MySQL/31228_tri_DOG_Image.sql +++ b/static/MySQL/31228_tri_DOG_Image.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Image; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Image; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Image; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Image; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Image -BEFORE INSERT ON parts.DOG_Image +CREATE TRIGGER fetchmetrics.before_insert_DOG_Image +BEFORE INSERT ON fetchmetrics.DOG_Image FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Image -BEFORE UPDATE ON parts.DOG_Image +CREATE TRIGGER fetchmetrics.before_update_DOG_Image +BEFORE UPDATE ON fetchmetrics.DOG_Image FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Image_Audit ( + INSERT INTO fetchmetrics.DOG_Image_Audit ( id_image , name_field , value_prev diff --git a/static/MySQL/31231_tri_DOG_Image_User_Link.sql b/static/MySQL/31231_tri_DOG_Image_User_Link.sql new file mode 100644 index 0000000..2b7d5c1 --- /dev/null +++ b/static/MySQL/31231_tri_DOG_Image_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Image_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Image_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Image_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Image_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Image_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Image_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Image_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_image', CONVERT(OLD.id_image, CHAR), CONVERT(NEW.id_image, CHAR), NEW.id_change_set + WHERE NOT OLD.id_image <=> NEW.id_image + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31232_tri_DOG_Button_Icon.sql b/static/MySQL/31232_tri_DOG_Button_Icon.sql index 49a301c..27f7115 100644 --- a/static/MySQL/31232_tri_DOG_Button_Icon.sql +++ b/static/MySQL/31232_tri_DOG_Button_Icon.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Button_Icon; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Button_Icon; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Button_Icon; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Button_Icon; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Button_Icon -BEFORE INSERT ON parts.DOG_Button_Icon +CREATE TRIGGER fetchmetrics.before_insert_DOG_Button_Icon +BEFORE INSERT ON fetchmetrics.DOG_Button_Icon FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Button_Icon -BEFORE UPDATE ON parts.DOG_Button_Icon +CREATE TRIGGER fetchmetrics.before_update_DOG_Button_Icon +BEFORE UPDATE ON fetchmetrics.DOG_Button_Icon FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Button_Icon_Audit ( + INSERT INTO fetchmetrics.DOG_Button_Icon_Audit ( id_button_icon , name_field , value_prev diff --git a/static/MySQL/31236_tri_DOG_Command_Button_Link.sql b/static/MySQL/31236_tri_DOG_Command_Button_Link.sql index ba3db66..82ecb36 100644 --- a/static/MySQL/31236_tri_DOG_Command_Button_Link.sql +++ b/static/MySQL/31236_tri_DOG_Command_Button_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Command_Button_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Command_Button_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Command_Button_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Command_Button_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Command_Button_Link -BEFORE INSERT ON parts.DOG_Command_Button_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Command_Button_Link +BEFORE INSERT ON fetchmetrics.DOG_Command_Button_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Command_Button_Link -BEFORE UPDATE ON parts.DOG_Command_Button_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Command_Button_Link +BEFORE UPDATE ON fetchmetrics.DOG_Command_Button_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Command_Button_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Command_Button_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/31300_tri_DOG_Weather.sql b/static/MySQL/31300_tri_DOG_Weather.sql index 6fac73b..49b1a57 100644 --- a/static/MySQL/31300_tri_DOG_Weather.sql +++ b/static/MySQL/31300_tri_DOG_Weather.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Weather; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Weather; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Weather; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Weather; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Weather -BEFORE INSERT ON parts.DOG_Weather +CREATE TRIGGER fetchmetrics.before_insert_DOG_Weather +BEFORE INSERT ON fetchmetrics.DOG_Weather FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Weather -BEFORE UPDATE ON parts.DOG_Weather +CREATE TRIGGER fetchmetrics.before_update_DOG_Weather +BEFORE UPDATE ON fetchmetrics.DOG_Weather FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Weather_Audit ( + INSERT INTO fetchmetrics.DOG_Weather_Audit ( id_weather , name_field , value_prev diff --git a/static/MySQL/31304_tri_DOG_Lighting_Level.sql b/static/MySQL/31304_tri_DOG_Lighting_Level.sql index 9ec0b51..3cec3d7 100644 --- a/static/MySQL/31304_tri_DOG_Lighting_Level.sql +++ b/static/MySQL/31304_tri_DOG_Lighting_Level.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Lighting_Level; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Lighting_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Lighting_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Lighting_Level; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Lighting_Level -BEFORE INSERT ON parts.DOG_Lighting_Level +CREATE TRIGGER fetchmetrics.before_insert_DOG_Lighting_Level +BEFORE INSERT ON fetchmetrics.DOG_Lighting_Level FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Lighting_Level -BEFORE UPDATE ON parts.DOG_Lighting_Level +CREATE TRIGGER fetchmetrics.before_update_DOG_Lighting_Level +BEFORE UPDATE ON fetchmetrics.DOG_Lighting_Level FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Lighting_Level_Audit ( + INSERT INTO fetchmetrics.DOG_Lighting_Level_Audit ( id_lighting_level , name_field , value_prev diff --git a/static/MySQL/31308_tri_DOG_Assessment.sql b/static/MySQL/31308_tri_DOG_Assessment.sql index 3b0a7c4..300cecf 100644 --- a/static/MySQL/31308_tri_DOG_Assessment.sql +++ b/static/MySQL/31308_tri_DOG_Assessment.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Assessment; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Assessment; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Assessment -BEFORE INSERT ON parts.DOG_Assessment +CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment +BEFORE INSERT ON fetchmetrics.DOG_Assessment FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Assessment -BEFORE UPDATE ON parts.DOG_Assessment +CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment +BEFORE UPDATE ON fetchmetrics.DOG_Assessment FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Assessment_Audit ( + INSERT INTO fetchmetrics.DOG_Assessment_Audit ( id_assessment , name_field , value_prev diff --git a/static/MySQL/31312_tri_DOG_Distraction_Type.sql b/static/MySQL/31312_tri_DOG_Distraction_Type.sql index ad1a796..c9656e5 100644 --- a/static/MySQL/31312_tri_DOG_Distraction_Type.sql +++ b/static/MySQL/31312_tri_DOG_Distraction_Type.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Distraction_Type; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Distraction_Type; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Distraction_Type; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Distraction_Type; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Distraction_Type -BEFORE INSERT ON parts.DOG_Distraction_Type +CREATE TRIGGER fetchmetrics.before_insert_DOG_Distraction_Type +BEFORE INSERT ON fetchmetrics.DOG_Distraction_Type FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Distraction_Type -BEFORE UPDATE ON parts.DOG_Distraction_Type +CREATE TRIGGER fetchmetrics.before_update_DOG_Distraction_Type +BEFORE UPDATE ON fetchmetrics.DOG_Distraction_Type FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Distraction_Type_Audit ( + INSERT INTO fetchmetrics.DOG_Distraction_Type_Audit ( id_type , name_field , value_prev diff --git a/static/MySQL/31315_tri_DOG_Distraction_Type_User_Link.sql b/static/MySQL/31315_tri_DOG_Distraction_Type_User_Link.sql new file mode 100644 index 0000000..c2b8368 --- /dev/null +++ b/static/MySQL/31315_tri_DOG_Distraction_Type_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Distraction_Type_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Distraction_Type_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Distraction_Type_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Distraction_Type_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Distraction_Type_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Distraction_Type_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Distraction_Type_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_distraction_type', CONVERT(OLD.id_distraction_type, CHAR), CONVERT(NEW.id_distraction_type, CHAR), NEW.id_change_set + WHERE NOT OLD.id_distraction_type <=> NEW.id_distraction_type + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31316_tri_DOG_Distraction_Intensity_Level.sql b/static/MySQL/31316_tri_DOG_Distraction_Intensity_Level.sql index d42b80f..f53bf8c 100644 --- a/static/MySQL/31316_tri_DOG_Distraction_Intensity_Level.sql +++ b/static/MySQL/31316_tri_DOG_Distraction_Intensity_Level.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Distraction_Intensity_Level; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Distraction_Intensity_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Distraction_Intensity_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Distraction_Intensity_Level; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Distraction_Intensity_Level -BEFORE INSERT ON parts.DOG_Distraction_Intensity_Level +CREATE TRIGGER fetchmetrics.before_insert_DOG_Distraction_Intensity_Level +BEFORE INSERT ON fetchmetrics.DOG_Distraction_Intensity_Level FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Distraction_Intensity_Level -BEFORE UPDATE ON parts.DOG_Distraction_Intensity_Level +CREATE TRIGGER fetchmetrics.before_update_DOG_Distraction_Intensity_Level +BEFORE UPDATE ON fetchmetrics.DOG_Distraction_Intensity_Level FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Distraction_Intensity_Level_Audit ( + INSERT INTO fetchmetrics.DOG_Distraction_Intensity_Level_Audit ( id_intensity_level , name_field , value_prev diff --git a/static/MySQL/31319_tri_DOG_Distraction_Intensity_Level_User_Link.sql b/static/MySQL/31319_tri_DOG_Distraction_Intensity_Level_User_Link.sql new file mode 100644 index 0000000..5a1e001 --- /dev/null +++ b/static/MySQL/31319_tri_DOG_Distraction_Intensity_Level_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Distraction_Intensity_Level_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Distraction_Intensity_Level_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Distraction_Intensity_Level_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Distraction_Intensity_Level_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Distraction_Intensity_Level_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Distraction_Intensity_Level_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Distraction_Intensity_Level_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_intensity_level', CONVERT(OLD.id_intensity_level, CHAR), CONVERT(NEW.id_intensity_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_intensity_level <=> NEW.id_intensity_level + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31320_tri_DOG_Distraction.sql b/static/MySQL/31320_tri_DOG_Distraction.sql index 9c5e4ea..d4e661d 100644 --- a/static/MySQL/31320_tri_DOG_Distraction.sql +++ b/static/MySQL/31320_tri_DOG_Distraction.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Distraction; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Distraction; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Distraction; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Distraction; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Distraction -BEFORE INSERT ON parts.DOG_Distraction +CREATE TRIGGER fetchmetrics.before_insert_DOG_Distraction +BEFORE INSERT ON fetchmetrics.DOG_Distraction FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Distraction -BEFORE UPDATE ON parts.DOG_Distraction +CREATE TRIGGER fetchmetrics.before_update_DOG_Distraction +BEFORE UPDATE ON fetchmetrics.DOG_Distraction FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Distraction_Audit ( + INSERT INTO fetchmetrics.DOG_Distraction_Audit ( id_distraction , name_field , value_prev diff --git a/static/MySQL/31324_tri_DOG_Bribe.sql b/static/MySQL/31324_tri_DOG_Bribe.sql index 805b2b6..8d79538 100644 --- a/static/MySQL/31324_tri_DOG_Bribe.sql +++ b/static/MySQL/31324_tri_DOG_Bribe.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Bribe; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Bribe; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Bribe; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Bribe; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Bribe -BEFORE INSERT ON parts.DOG_Bribe +CREATE TRIGGER fetchmetrics.before_insert_DOG_Bribe +BEFORE INSERT ON fetchmetrics.DOG_Bribe FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Bribe -BEFORE UPDATE ON parts.DOG_Bribe +CREATE TRIGGER fetchmetrics.before_update_DOG_Bribe +BEFORE UPDATE ON fetchmetrics.DOG_Bribe FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Bribe_Audit ( + INSERT INTO fetchmetrics.DOG_Bribe_Audit ( id_bribe , name_field , value_prev diff --git a/static/MySQL/31327_tri_DOG_Bribe_User_Link.sql b/static/MySQL/31327_tri_DOG_Bribe_User_Link.sql new file mode 100644 index 0000000..02b885b --- /dev/null +++ b/static/MySQL/31327_tri_DOG_Bribe_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Bribe_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Bribe_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Bribe_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Bribe_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Bribe_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Bribe_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Bribe_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_bribe', CONVERT(OLD.id_bribe, CHAR), CONVERT(NEW.id_bribe, CHAR), NEW.id_change_set + WHERE NOT OLD.id_bribe <=> NEW.id_bribe + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql b/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql index d9dd5ae..39d2aee 100644 --- a/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql +++ b/static/MySQL/31328_tri_DOG_Assessment_Command_Modality_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Assessment_Command_Modality_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Assessment_Command_Modality_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Assessment_Command_Modality_Link -BEFORE INSERT ON parts.DOG_Assessment_Command_Modality_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Command_Modality_Link +BEFORE INSERT ON fetchmetrics.DOG_Assessment_Command_Modality_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Assessment_Command_Modality_Link -BEFORE UPDATE ON parts.DOG_Assessment_Command_Modality_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Command_Modality_Link +BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Command_Modality_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/31332_tri_DOG_Response_Quality_Metric.sql b/static/MySQL/31332_tri_DOG_Response_Quality_Metric.sql index 5539fd0..8b7a6fc 100644 --- a/static/MySQL/31332_tri_DOG_Response_Quality_Metric.sql +++ b/static/MySQL/31332_tri_DOG_Response_Quality_Metric.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Response_Quality_Metric; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Response_Quality_Metric; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Response_Quality_Metric; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Response_Quality_Metric; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Response_Quality_Metric -BEFORE INSERT ON parts.DOG_Response_Quality_Metric +CREATE TRIGGER fetchmetrics.before_insert_DOG_Response_Quality_Metric +BEFORE INSERT ON fetchmetrics.DOG_Response_Quality_Metric FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Response_Quality_Metric -BEFORE UPDATE ON parts.DOG_Response_Quality_Metric +CREATE TRIGGER fetchmetrics.before_update_DOG_Response_Quality_Metric +BEFORE UPDATE ON fetchmetrics.DOG_Response_Quality_Metric FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Response_Quality_Metric_Audit ( + INSERT INTO fetchmetrics.DOG_Response_Quality_Metric_Audit ( id_metric , name_field , value_prev diff --git a/static/MySQL/31335_tri_DOG_Response_Quality_Metric_User_Link.sql b/static/MySQL/31335_tri_DOG_Response_Quality_Metric_User_Link.sql new file mode 100644 index 0000000..d02706f --- /dev/null +++ b/static/MySQL/31335_tri_DOG_Response_Quality_Metric_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Response_Quality_Metric_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Response_Quality_Metric_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Response_Quality_Metric_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Response_Quality_Metric_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Response_Quality_Metric_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Response_Quality_Metric_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Response_Quality_Metric_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_response_quality_metric', CONVERT(OLD.id_response_quality_metric, CHAR), CONVERT(NEW.id_response_quality_metric, CHAR), NEW.id_change_set + WHERE NOT OLD.id_response_quality_metric <=> NEW.id_response_quality_metric + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31336_tri_DOG_Obedience_Level.sql b/static/MySQL/31336_tri_DOG_Obedience_Level.sql index bcad477..1fc709e 100644 --- a/static/MySQL/31336_tri_DOG_Obedience_Level.sql +++ b/static/MySQL/31336_tri_DOG_Obedience_Level.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Obedience_Level; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Obedience_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Obedience_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Obedience_Level; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Obedience_Level -BEFORE INSERT ON parts.DOG_Obedience_Level +CREATE TRIGGER fetchmetrics.before_insert_DOG_Obedience_Level +BEFORE INSERT ON fetchmetrics.DOG_Obedience_Level FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Obedience_Level -BEFORE UPDATE ON parts.DOG_Obedience_Level +CREATE TRIGGER fetchmetrics.before_update_DOG_Obedience_Level +BEFORE UPDATE ON fetchmetrics.DOG_Obedience_Level FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Obedience_Level_Audit ( + INSERT INTO fetchmetrics.DOG_Obedience_Level_Audit ( id_obedience_level , name_field , value_prev diff --git a/static/MySQL/31339_tri_DOG_Obedience_Level_User_Link.sql b/static/MySQL/31339_tri_DOG_Obedience_Level_User_Link.sql new file mode 100644 index 0000000..3f65dad --- /dev/null +++ b/static/MySQL/31339_tri_DOG_Obedience_Level_User_Link.sql @@ -0,0 +1,50 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Obedience_Level_User_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Obedience_Level_User_Link; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_DOG_Obedience_Level_User_Link +BEFORE INSERT ON fetchmetrics.DOG_Obedience_Level_User_Link +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_DOG_Obedience_Level_User_Link +BEFORE UPDATE ON fetchmetrics.DOG_Obedience_Level_User_Link +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.DOG_Obedience_Level_User_Link_Audit ( + id_link + , name_field + , value_prev + , value_new + , id_change_set + ) + -- Changed dog + SELECT NEW.id_link, 'id_obedience_level', CONVERT(OLD.id_obedience_level, CHAR), CONVERT(NEW.id_obedience_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_obedience_level <=> NEW.id_obedience_level + UNION + -- Changed user + SELECT NEW.id_link, 'id_user', CONVERT(OLD.id_user, CHAR), CONVERT(NEW.id_user, CHAR), NEW.id_change_set + WHERE NOT OLD.id_user <=> NEW.id_user + UNION + -- Changed access_level + SELECT NEW.id_link, 'id_access_level', CONVERT(OLD.id_access_level, CHAR), CONVERT(NEW.id_access_level, CHAR), NEW.id_change_set + WHERE NOT OLD.id_access_level <=> NEW.id_access_level + UNION + -- Changed active + SELECT NEW.id_link, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/31340_tri_DOG_Assessment_Response.sql b/static/MySQL/31340_tri_DOG_Assessment_Response.sql index da10a53..3b3ed2e 100644 --- a/static/MySQL/31340_tri_DOG_Assessment_Response.sql +++ b/static/MySQL/31340_tri_DOG_Assessment_Response.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Assessment_Response; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Assessment_Response; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Assessment_Response; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Assessment_Response; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Assessment_Response -BEFORE INSERT ON parts.DOG_Assessment_Response +CREATE TRIGGER fetchmetrics.before_insert_DOG_Assessment_Response +BEFORE INSERT ON fetchmetrics.DOG_Assessment_Response FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Assessment_Response -BEFORE UPDATE ON parts.DOG_Assessment_Response +CREATE TRIGGER fetchmetrics.before_update_DOG_Assessment_Response +BEFORE UPDATE ON fetchmetrics.DOG_Assessment_Response FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Assessment_Response_Audit ( + INSERT INTO fetchmetrics.DOG_Assessment_Response_Audit ( id_response , name_field , value_prev diff --git a/static/MySQL/31600_tri_PH_Contact_Form_Change_Set.sql b/static/MySQL/31600_tri_PH_Contact_Form_Change_Set.sql index 0ef7c9a..6ef5b8a 100644 --- a/static/MySQL/31600_tri_PH_Contact_Form_Change_Set.sql +++ b/static/MySQL/31600_tri_PH_Contact_Form_Change_Set.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_PH_Contact_Form_Change_Set; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_PH_Contact_Form_Change_Set; DELIMITER // -CREATE TRIGGER parts.before_insert_PH_Contact_Form_Change_Set -BEFORE INSERT ON parts.PH_Contact_Form_Change_Set +CREATE TRIGGER fetchmetrics.before_insert_PH_Contact_Form_Change_Set +BEFORE INSERT ON fetchmetrics.PH_Contact_Form_Change_Set FOR EACH ROW BEGIN IF NEW.updated_last_on <=> NULL THEN diff --git a/static/MySQL/31601_tri_PH_Contact_Form.sql b/static/MySQL/31601_tri_PH_Contact_Form.sql index daf7892..5cff6ed 100644 --- a/static/MySQL/31601_tri_PH_Contact_Form.sql +++ b/static/MySQL/31601_tri_PH_Contact_Form.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_PH_Contact_Form; -DROP TRIGGER IF EXISTS parts.before_update_PH_Contact_Form; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_PH_Contact_Form; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_PH_Contact_Form; DELIMITER // -CREATE TRIGGER parts.before_insert_PH_Contact_Form -BEFORE INSERT ON parts.PH_Contact_Form +CREATE TRIGGER fetchmetrics.before_insert_PH_Contact_Form +BEFORE INSERT ON fetchmetrics.PH_Contact_Form FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,16 +14,16 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_PH_Contact_Form -BEFORE UPDATE ON parts.PH_Contact_Form +CREATE TRIGGER fetchmetrics.before_update_PH_Contact_Form +BEFORE UPDATE ON fetchmetrics.PH_Contact_Form FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'New change Set ID must be provided.'; + SET MESSAGE_TEXT = 'New Change Set ID must be provided.'; END IF; - INSERT INTO parts.PH_Contact_Form_Audit ( + INSERT INTO fetchmetrics.PH_Contact_Form_Audit ( id_contact_form, name_field, value_prev, diff --git a/static/MySQL/31620_tri_PH_Apply_Founding_Partner_Form.sql b/static/MySQL/31620_tri_PH_Apply_Founding_Partner_Form.sql new file mode 100644 index 0000000..82e1cab --- /dev/null +++ b/static/MySQL/31620_tri_PH_Apply_Founding_Partner_Form.sql @@ -0,0 +1,96 @@ + +USE fetchmetrics; + +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_PH_Apply_Founding_Partner_Form; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_PH_Apply_Founding_Partner_Form; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_insert_PH_Apply_Founding_Partner_Form +BEFORE INSERT ON fetchmetrics.PH_Apply_Founding_Partner_Form +FOR EACH ROW +BEGIN + SET NEW.created_on := IFNULL(NEW.created_on, NOW()); +END // +DELIMITER ; + +DELIMITER // +CREATE TRIGGER fetchmetrics.before_update_PH_Apply_Founding_Partner_Form +BEFORE UPDATE ON fetchmetrics.PH_Apply_Founding_Partner_Form +FOR EACH ROW +BEGIN + IF OLD.id_change_set <=> NEW.id_change_set THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'New Change Set ID must be provided.'; + END IF; + + INSERT INTO fetchmetrics.PH_Apply_Founding_Partner_Form_Audit ( + id_Apply_Founding_Partner_Form, + name_field, + value_prev, + value_new, + id_change_set + ) + -- Changed name_contact + SELECT NEW.id_Apply_Founding_Partner_Form, 'name_contact', OLD.name_contact, NEW.name_contact, NEW.id_change_set + WHERE NOT OLD.name_contact <=> NEW.name_contact + UNION + -- Changed email + SELECT NEW.id_Apply_Founding_Partner_Form, 'email', OLD.email, NEW.email, NEW.id_change_set + WHERE NOT OLD.email <=> NEW.email + UNION + -- Changed phone_number + SELECT NEW.id_Apply_Founding_Partner_Form, 'phone_number', OLD.phone_number, NEW.phone_number, NEW.id_change_set + WHERE NOT OLD.phone_number <=> NEW.phone_number + UNION + -- Changed name_company + SELECT NEW.id_Apply_Founding_Partner_Form, 'name_company', OLD.name_company, NEW.name_company, NEW.id_change_set + WHERE NOT OLD.name_company <=> NEW.name_company + UNION + -- Changed website + SELECT NEW.id_Apply_Founding_Partner_Form, 'website', OLD.website, NEW.website, NEW.id_change_set + WHERE NOT OLD.website <=> NEW.website + UNION + -- Changed dog_count + SELECT NEW.id_Apply_Founding_Partner_Form, 'dog_count', CONVERT(OLD.dog_count, CHAR), CONVERT(NEW.dog_count, CHAR), NEW.id_change_set + WHERE NOT (OLD.dog_count <=> NEW.dog_count) + UNION + -- Changed id_years_of_experience + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_years_of_experience', CONVERT(OLD.id_years_of_experience, CHAR), CONVERT(NEW.id_years_of_experience, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_years_of_experience <=> NEW.id_years_of_experience) + UNION + -- Changed ids_speciality + SELECT NEW.id_Apply_Founding_Partner_Form, 'ids_speciality', OLD.ids_speciality, NEW.ids_speciality, NEW.id_change_set + WHERE NOT OLD.ids_speciality <=> NEW.ids_speciality + UNION + -- Changed ids_existing_system + SELECT NEW.id_Apply_Founding_Partner_Form, 'ids_existing_system', OLD.ids_existing_system, NEW.ids_existing_system, NEW.id_change_set + WHERE NOT OLD.ids_existing_system <=> NEW.ids_existing_system + UNION + -- Changed id_existing_challenges + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_existing_challenges', CONVERT(OLD.id_existing_challenges, CHAR), CONVERT(NEW.id_existing_challenges, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_existing_challenges <=> NEW.id_existing_challenges) + UNION + -- Changed id_existing_time_sink_weekly + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_existing_time_sink_weekly', CONVERT(OLD.id_existing_time_sink_weekly, CHAR), CONVERT(NEW.id_existing_time_sink_weekly, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_existing_time_sink_weekly <=> NEW.id_existing_time_sink_weekly) + UNION + -- Changed id_commitment_frequency + SELECT NEW.id_Apply_Founding_Partner_Form, 'id_commitment_frequency', CONVERT(OLD.id_commitment_frequency, CHAR), CONVERT(NEW.id_commitment_frequency, CHAR), NEW.id_change_set + WHERE NOT (OLD.id_commitment_frequency <=> NEW.id_commitment_frequency) + UNION + /* + -- Changed most_valuable_features + SELECT NEW.id_Apply_Founding_Partner_Form, 'most_valuable_features', OLD.most_valuable_features, NEW.most_valuable_features, NEW.id_change_set + WHERE NOT OLD.most_valuable_features <=> NEW.most_valuable_features + UNION + */ + -- Changed notes + SELECT NEW.id_Apply_Founding_Partner_Form, 'notes', OLD.notes, NEW.notes, NEW.id_change_set + WHERE NOT OLD.notes <=> NEW.notes + UNION + -- Changed active + SELECT NEW.id_Apply_Founding_Partner_Form, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set + WHERE NOT (OLD.active <=> NEW.active) + ; +END // +DELIMITER ; diff --git a/static/MySQL/60000_p_core_validate_guid.sql b/static/MySQL/60000_p_core_validate_guid.sql index 62ae363..b5bcee4 100644 --- a/static/MySQL/60000_p_core_validate_guid.sql +++ b/static/MySQL/60000_p_core_validate_guid.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_validate_guid; -DROP PROCEDURE IF EXISTS parts.p_core_validate_guid_test; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_validate_guid; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_validate_guid_test; DELIMITER // -CREATE PROCEDURE parts.p_core_validate_guid ( +CREATE PROCEDURE fetchmetrics.p_core_validate_guid ( IN a_guid BINARY(36) ) BEGIN @@ -19,11 +19,11 @@ DELIMITER ; DELIMITER // -CREATE PROCEDURE parts.p_core_validate_guid_test () +CREATE PROCEDURE fetchmetrics.p_core_validate_guid_test () BEGIN - CALL parts.p_core_validate_guid ( 'nips' ); - CALL parts.p_core_validate_guid ( NULL ); + CALL fetchmetrics.p_core_validate_guid ( 'nips' ); + CALL fetchmetrics.p_core_validate_guid ( NULL ); END // DELIMITER ; --- CALL parts.p_core_validate_guid_test(); \ No newline at end of file +-- CALL fetchmetrics.p_core_validate_guid_test(); \ No newline at end of file diff --git a/static/MySQL/60001_p_core_debug_timing_reporting.sql b/static/MySQL/60001_p_core_debug_timing_reporting.sql index da42e29..6759855 100644 --- a/static/MySQL/60001_p_core_debug_timing_reporting.sql +++ b/static/MySQL/60001_p_core_debug_timing_reporting.sql @@ -1,15 +1,15 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_debug_timing_reporting; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_debug_timing_reporting; DELIMITER // -CREATE PROCEDURE parts.p_core_debug_timing_reporting ( +CREATE PROCEDURE fetchmetrics.p_core_debug_timing_reporting ( IN a_time_start TIMESTAMP(6) ) BEGIN /* - PROCEDURE parts.p_core_debug_timing_reporting + PROCEDURE fetchmetrics.p_core_debug_timing_reporting Shared method timing reporting */ DECLARE v_time_end TIMESTAMP(6); @@ -37,7 +37,7 @@ END // DELIMITER ; /* -CALL parts.p_core_debug_timing_reporting ( +CALL fetchmetrics.p_core_debug_timing_reporting ( CURRENT_TIMESTAMP(6) ); */ \ No newline at end of file diff --git a/static/MySQL/60010_p_core_split.sql b/static/MySQL/60010_p_core_split.sql index edea81e..374b101 100644 --- a/static/MySQL/60010_p_core_split.sql +++ b/static/MySQL/60010_p_core_split.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split; DELIMITER // -CREATE PROCEDURE parts.p_core_split ( +CREATE PROCEDURE fetchmetrics.p_core_split ( IN a_guid BINARY(36) , IN a_string LONGTEXT , IN a_separator VARCHAR(1000) @@ -34,7 +34,7 @@ BEGIN ; END IF; - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Split_Split; @@ -65,7 +65,7 @@ BEGIN IF EXISTS (SELECT * FROM tmp_Split_Split LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.CORE_Split_Temp ( + INSERT INTO fetchmetrics.CORE_Split_Temp ( guid , display_order , substring @@ -82,14 +82,14 @@ BEGIN DROP TABLE IF EXISTS tmp_Split_Split; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_core_split ( +CALL fetchmetrics.p_core_split ( 'nips' , 'noods, cheese ' -- a_string , ',' -- a_separator @@ -98,8 +98,8 @@ CALL parts.p_core_split ( ); SELECT * -FROM parts.CORE_Split_Temp +FROM fetchmetrics.CORE_Split_Temp WHERE GUID = 'nips'; -CALL parts.p_core_clear_split_temp( 'nips' ); +CALL fetchmetrics.p_core_clear_split_temp( 'nips' ); */ diff --git a/static/MySQL/60011_p_core_clear_split.sql b/static/MySQL/60011_p_core_clear_split.sql index 4bbad8f..3397333 100644 --- a/static/MySQL/60011_p_core_clear_split.sql +++ b/static/MySQL/60011_p_core_clear_split.sql @@ -1,21 +1,21 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_clear_split; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_clear_split; DELIMITER // -CREATE PROCEDURE parts.p_core_clear_split ( +CREATE PROCEDURE fetchmetrics.p_core_clear_split ( IN a_guid BINARY(36) ) BEGIN - CALL parts.p_core_validate_guid( a_guid ); + CALL fetchmetrics.p_core_validate_guid( a_guid ); START TRANSACTION; -- DROP TABLE IF EXISTS DELETE SPLIT_T - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid ; @@ -25,7 +25,7 @@ DELIMITER ; /* -CALL parts.p_core_clear_split ( 'nips' ); +CALL fetchmetrics.p_core_clear_split ( 'nips' ); */ diff --git a/static/MySQL/60012_p_core_split_key_value_pair_csv.sql b/static/MySQL/60012_p_core_split_key_value_pair_csv.sql index f6be675..0210c28 100644 --- a/static/MySQL/60012_p_core_split_key_value_pair_csv.sql +++ b/static/MySQL/60012_p_core_split_key_value_pair_csv.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_split_key_value_pair_csv; DELIMITER // -CREATE PROCEDURE parts.p_core_split_key_value_pair_csv ( +CREATE PROCEDURE fetchmetrics.p_core_split_key_value_pair_csv ( IN a_guid BINARY(36) , IN a_string LONGTEXT , IN a_debug BIT @@ -28,7 +28,7 @@ BEGIN ; END IF; - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Input_Split_Key_Value_Pair_Csv; DROP TABLE IF EXISTS tmp_Split_Split_Key_Value_Pair_Csv; @@ -68,7 +68,7 @@ BEGIN IF EXISTS (SELECT * FROM tmp_Split_Split_Key_Value_Pair_Csv LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.CORE_Split_Key_Value_Pair_Csv_Temp ( + INSERT INTO fetchmetrics.CORE_Split_Key_Value_Pair_Csv_Temp ( guid , id , key_column @@ -88,22 +88,22 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Split_Split_Key_Value_Pair_Csv; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_core_split_key_value_pair_csv ( +CALL fetchmetrics.p_core_split_key_value_pair_csv ( 'nipsnipsnipsnipsnipsnipsnipsnipsnips' , '1:100,2:200,3:300,4:400' -- a_string , 1 ); SELECT * -FROM parts.CORE_Split_key_value_pair_csv_Temp +FROM fetchmetrics.CORE_Split_key_value_pair_csv_Temp WHERE GUID = 'nipsnipsnipsnipsnipsnipsnipsnipsnips'; -CALL parts.p_core_clear_split_key_value_pair_csv_temp( 'nipsnipsnipsnipsnipsnipsnipsnipsnips' ); +CALL fetchmetrics.p_core_clear_split_key_value_pair_csv_temp( 'nipsnipsnipsnipsnipsnipsnipsnipsnips' ); */ diff --git a/static/MySQL/60013_p_core_clear_split_key_value_pair_csv.sql b/static/MySQL/60013_p_core_clear_split_key_value_pair_csv.sql index bdd3c61..112b880 100644 --- a/static/MySQL/60013_p_core_clear_split_key_value_pair_csv.sql +++ b/static/MySQL/60013_p_core_clear_split_key_value_pair_csv.sql @@ -1,21 +1,21 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_core_clear_split_key_value_pair_csv; +DROP PROCEDURE IF EXISTS fetchmetrics.p_core_clear_split_key_value_pair_csv; DELIMITER // -CREATE PROCEDURE parts.p_core_clear_split_key_value_pair_csv ( +CREATE PROCEDURE fetchmetrics.p_core_clear_split_key_value_pair_csv ( IN a_guid BINARY(36) ) BEGIN - CALL parts.p_core_validate_guid( a_guid ); + CALL fetchmetrics.p_core_validate_guid( a_guid ); START TRANSACTION; -- DROP TABLE IF EXISTS DELETE SPLIT_PAIR_T - FROM parts.CORE_Split_Key_Value_Pair_Csv_Temp SPLIT_PAIR_T + FROM fetchmetrics.CORE_Split_Key_Value_Pair_Csv_Temp SPLIT_PAIR_T WHERE SPLIT_PAIR_T.GUID = a_guid ; @@ -25,7 +25,7 @@ DELIMITER ; /* -CALL parts.p_core_clear_split_key_value_pair_csv ( 'nips' ); +CALL fetchmetrics.p_core_clear_split_key_value_pair_csv ( 'nips' ); */ diff --git a/static/MySQL/70502_p_dog_clear_msg_error.sql b/static/MySQL/70502_p_dog_clear_msg_error.sql index badf99d..06b51b6 100644 --- a/static/MySQL/70502_p_dog_clear_msg_error.sql +++ b/static/MySQL/70502_p_dog_clear_msg_error.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_msg_error; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_msg_error; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_msg_error ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_msg_error ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE MSG_ERROR_T - FROM parts.DOG_Msg_Error_Temp MSG_ERROR_T + FROM fetchmetrics.DOG_Msg_Error_Temp MSG_ERROR_T WHERE MSG_ERROR_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_msg_error ( +CALL fetchmetrics.p_dog_clear_msg_error ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Msg_Error_Temp +FROM fetchmetrics.DOG_Msg_Error_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/70516_p_dog_create_new_user_auth0.sql b/static/MySQL/70516_p_dog_create_new_user_auth0.sql index fdf8c20..9966800 100644 --- a/static/MySQL/70516_p_dog_create_new_user_auth0.sql +++ b/static/MySQL/70516_p_dog_create_new_user_auth0.sql @@ -1,5 +1,5 @@ -USE parts; +USE fetchmetrics; -- Clear previous proc DROP PROCEDURE IF EXISTS p_dog_get_many_user; @@ -58,7 +58,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -73,7 +73,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_admin := (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); - SET v_id_access_level_view := (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_id_permission_dog_admin := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'DOG_ADMIN' LIMIT 1); - SET v_id_permission_user := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'USER_VIEW' LIMIT 1); - SET v_id_permission_user_admin := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'USER_ADMIN' LIMIT 1); + SET v_id_access_level_admin := (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_id_permission_dog_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'DOG_ADMIN' LIMIT 1); + SET v_id_permission_user := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'USER_VIEW' LIMIT 1); + SET v_id_permission_user_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'USER_ADMIN' LIMIT 1); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT id_type FROM parts.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); SET v_ids_permission_required := CONCAT(v_id_permission_user, ',', v_id_permission_user_admin, ',', v_id_permission_dog_admin); SET v_is_new := FALSE; @@ -133,12 +133,12 @@ BEGIN DELETE FROM tmp_Split; IF ISNULL(a_id_user) AND NOT ISNULL(a_id_user_auth0) THEN - SET a_id_user := (SELECT U.id_user FROM parts.DOG_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM fetchmetrics.DOG_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); END IF; IF ISNULL(a_id_user) THEN IF NOT ISNULL(a_id_user_auth0) THEN - INSERT INTO parts.DOG_User ( + INSERT INTO fetchmetrics.DOG_User ( id_user_auth0 , is_super_user , active @@ -149,7 +149,7 @@ BEGIN , 1 -- active ) ; - SET a_id_user := (SELECT U.id_user FROM parts.DOG_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); + SET a_id_user := (SELECT U.id_user FROM fetchmetrics.DOG_User U WHERE U.id_user_auth0 = a_id_user_auth0 LIMIT 1); SET v_is_new := TRUE; ELSE INSERT INTO tmp_Msg_Error ( @@ -178,7 +178,7 @@ BEGIN -- User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN - CALL parts.p_core_split(v_guid, a_ids_user, ',', FALSE); + CALL fetchmetrics.p_core_split(v_guid, a_ids_user, ',', FALSE); SET sql_mode = ''; @@ -191,21 +191,21 @@ BEGIN SELECT substring , CAST(substring AS DECIMAL(10,0)) AS as_int - FROM parts.Split_Temp + FROM fetchmetrics.Split_Temp WHERE 1=1 AND GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN parts.DOG_User U ON t_S.as_int = U.id_user + LEFT JOIN fetchmetrics.DOG_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -220,7 +220,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN parts.DOG_User U ON t_S.as_int = U.id_user + LEFT JOIN fetchmetrics.DOG_User U ON t_S.as_int = U.id_user WHERE ISNULL(t_S.as_int) OR ISNULL(U.id_user) @@ -234,7 +234,7 @@ BEGIN U.id_user , RANK() OVER (ORDER BY U.id_user DESC) AS rank_user FROM tmp_Split t_S - RIGHT JOIN parts.DOG_User U ON t_S.as_int = U.id_user + RIGHT JOIN fetchmetrics.DOG_User U ON t_S.as_int = U.id_user WHERE ( a_get_all_user = 1 @@ -253,7 +253,7 @@ BEGIN -- Auth0 User IDs IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN - CALL parts.p_core_split(v_guid, a_ids_user_auth0, ',', FALSE); + CALL fetchmetrics.p_core_split(v_guid, a_ids_user_auth0, ',', FALSE); DELETE FROM tmp_Split; @@ -262,21 +262,21 @@ BEGIN ) SELECT substring - FROM parts.Split_Temp + FROM fetchmetrics.Split_Temp WHERE GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF (NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) AND v_has_filter_user_auth0 = 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN parts.DOG_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN fetchmetrics.DOG_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -291,7 +291,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Auth0 User IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN parts.DOG_User U ON t_S.substring = U.id_user_auth0 + LEFT JOIN fetchmetrics.DOG_User U ON t_S.substring = U.id_user_auth0 WHERE ISNULL(t_S.substring) OR ISNULL(U.id_user_auth0) @@ -307,7 +307,7 @@ BEGIN U.id_user , v_rank_max + (RANK() OVER (ORDER BY U.id_user DESC)) AS rank_user FROM tmp_Split t_S - RIGHT JOIN parts.DOG_User U ON t_S.substring = U.id_user_auth0 + RIGHT JOIN fetchmetrics.DOG_User U ON t_S.substring = U.id_user_auth0 WHERE ( a_get_all_user = 1 @@ -340,10 +340,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -354,17 +354,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN parts.DOG_Calc_User_Temp CUT + INNER JOIN fetchmetrics.DOG_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_dog = CUT.can_admin ; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; -- Can admin user @@ -379,10 +379,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -393,17 +393,17 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = v_guid; END IF; UPDATE tmp_User t_U - INNER JOIN parts.DOG_Calc_User_Temp CUT + INNER JOIN fetchmetrics.DOG_Calc_User_Temp CUT ON CUT.GUID = v_guid AND t_U.id_user = CUT.id_user SET t_U.can_admin_user = CUT.can_admin ; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; -- Permissions @@ -418,10 +418,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -432,12 +432,12 @@ BEGIN ); IF a_debug = 1 THEN - SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = v_guid; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = v_guid; END IF; IF NOT EXISTS ( SELECT can_view - FROM parts.DOG_Calc_User_Temp CUT + FROM fetchmetrics.DOG_Calc_User_Temp CUT WHERE CUT.GUID = v_guid AND can_view = 1 @@ -450,14 +450,14 @@ BEGIN VALUES ( v_id_type_error_bad_data , v_code_type_error_bad_data - , CONCAT('You do not have view permissions for ', (SELECT name FROM parts.DOG_Permission P INNER JOIN parts.DOG_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) + , CONCAT('You do not have view permissions for ', (SELECT name FROM fetchmetrics.DOG_Permission P INNER JOIN fetchmetrics.DOG_Calc_User_Temp CUT ON P.id_permission = CUT.id_permission_required WHERE GUID = v_guid AND IFNULL(can_view, 0) = 0 LIMIT 1)) ) ; ELSE SET a_debug := a_debug; END IF; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; @@ -482,7 +482,7 @@ BEGIN , t_U.can_admin_user , v_is_new AS is_new FROM tmp_User t_U - INNER JOIN parts.DOG_User U ON t_U.id_user = U.id_user + INNER JOIN fetchmetrics.DOG_User U ON t_U.id_user = U.id_user ; # Errors @@ -497,7 +497,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -509,12 +509,12 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; /* - DELETE FROM parts.DOG_Calc_User_Temp + DELETE FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = v_guid; */ IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -543,11 +543,11 @@ CALL p_dog_get_many_user ( );*/ /* -select * FROM parts.DOG_Calc_User_Temp; -delete FROM parts.DOG_Calc_User_Temp; +select * FROM fetchmetrics.DOG_Calc_User_Temp; +delete FROM fetchmetrics.DOG_Calc_User_Temp; SELECT * -FROM parts.DOG_USER; +FROM fetchmetrics.DOG_USER; CALL p_dog_get_many_user( NULL -- :a_id_user, diff --git a/static/MySQL/70516_p_dog_get_many_user.sql b/static/MySQL/70516_p_dog_get_many_user.sql index 8597b4a..8295d7f 100644 --- a/static/MySQL/70516_p_dog_get_many_user.sql +++ b/static/MySQL/70516_p_dog_get_many_user.sql @@ -1,5 +1,5 @@ -USE parts; +USE fetchmetrics; -- Clear previous proc DROP PROCEDURE IF EXISTS p_dog_get_many_user; @@ -66,7 +66,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -81,7 +81,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -89,13 +89,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_admin := (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); - SET v_id_access_level_view := (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_id_permission_dog_admin := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'DOG_ADMIN' LIMIT 1); - SET v_id_permission_user := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'USER_VIEW' LIMIT 1); - SET v_id_permission_user_admin := (SELECT id_permission FROM parts.DOG_Permission WHERE code = 'USER_ADMIN' LIMIT 1); + SET v_id_access_level_admin := (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_id_access_level_view := (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_id_permission_dog_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'DOG_ADMIN' LIMIT 1); + SET v_id_permission_user := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'USER_VIEW' LIMIT 1); + SET v_id_permission_user_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission WHERE code = 'USER_ADMIN' LIMIT 1); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT id_type FROM parts.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); SET v_ids_permission_required := CONCAT(v_id_permission_user, ',', v_id_permission_user_admin, ',', v_id_permission_dog_admin); SET v_is_new := FALSE; @@ -170,7 +170,7 @@ BEGIN -- Calculated fields -- Can admin dog - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- guid @@ -189,10 +189,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_get_all_user -- get_all_user , a_get_inactive_user -- get_inactive_user @@ -233,7 +233,7 @@ BEGIN , CALC_USER_T.can_edit , CALC_USER_T.can_admin , CALC_USER_T.can_admin AS can_admin_dog - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.guid = v_guid ; @@ -241,11 +241,11 @@ BEGIN SELECT * FROM tmp_User; END IF; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; -- Can admin user - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- guid @@ -264,10 +264,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_get_all_user -- get_all_user , a_get_inactive_user -- get_inactive_user @@ -286,7 +286,7 @@ BEGIN ); UPDATE tmp_User t_USER - INNER JOIN parts.DOG_Calc_User_Temp CALC_USER_T + INNER JOIN fetchmetrics.DOG_Calc_User_Temp CALC_USER_T ON CALC_USER_T.id_user = t_USER.id_user AND CALC_USER_T.guid = v_guid SET t_USER.can_admin_user = CALC_USER_T.can_admin @@ -296,11 +296,11 @@ BEGIN SELECT * FROM tmp_User; END IF; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; -- Permissions - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- guid @@ -319,10 +319,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -361,7 +361,7 @@ BEGIN , CALC_USER_T.can_view , CALC_USER_T.can_edit , CALC_USER_T.can_admin - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.guid = v_guid ; @@ -380,17 +380,17 @@ BEGIN , v_code_type_error_bad_data , CONCAT( 'You do not have view permissions for ' - , (SELECT PERMISSION.name FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.id_permission = v_id_permission_user LIMIT 1) + , (SELECT PERMISSION.name FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.id_permission = v_id_permission_user LIMIT 1) ) ) ; END IF; - CALL parts.p_dog_clear_calc_user( v_guid, FALSE ); + CALL fetchmetrics.p_dog_clear_calc_user( v_guid, FALSE ); END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_User; END IF; @@ -410,7 +410,7 @@ BEGIN , t_USER.can_admin_dog , t_USER.can_admin_user FROM tmp_User t_USER - INNER JOIN parts.DOG_User USER ON t_USER.id_user = USER.id_user + INNER JOIN fetchmetrics.DOG_User USER ON t_USER.id_user = USER.id_user ; # Errors @@ -425,7 +425,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -440,20 +440,20 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_User; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; /* -select * FROM parts.DOG_Calc_User_Temp; -delete FROM parts.DOG_Calc_User_Temp; +select * FROM fetchmetrics.DOG_Calc_User_Temp; +delete FROM fetchmetrics.DOG_Calc_User_Temp; SELECT * -FROM parts.DOG_USER; +FROM fetchmetrics.DOG_USER; -CALL parts.p_dog_get_many_user( +CALL fetchmetrics.p_dog_get_many_user( NULL -- :a_id_user, , 'auth0|6582b95c895d09a70ba10fef' -- :a_auth0_id_user, , 1 -- :a_get_all_user, diff --git a/static/MySQL/70518_p_dog_save_user.sql b/static/MySQL/70518_p_dog_save_user.sql index 3c2f459..7bcdc7c 100644 --- a/static/MySQL/70518_p_dog_save_user.sql +++ b/static/MySQL/70518_p_dog_save_user.sql @@ -45,7 +45,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.Shop_Msg_Error_Type MET + FROM fetchmetrics.Shop_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; SELECT * @@ -112,7 +112,7 @@ BEGIN , IFNULL(U_T.is_included_VAT_default, U.is_included_VAT_default) AS is_included_VAT_default , IFNULL(IFNULL(U_T.active, U.active), 1) AS active , IFNULL(U_T.display_order, PC.display_order) AS display_order - FROM parts.Shop_User_Temp U_T + FROM fetchmetrics.Shop_User_Temp U_T LEFT JOIN Shop_User U ON U_T.id_user = U.id_user WHERE U_T.guid = a_guid ; @@ -202,10 +202,10 @@ BEGIN , 0 -- a_show_errors , 0 -- a_debug ; - SELECT * FROM parts.DOG_Calc_User_Temp; + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- guid , a_id_user -- ids_user , FALSE -- get_inactive_user @@ -217,7 +217,7 @@ BEGIN SET v_can_admin_user := ( SELECT IFNULL(UE_T.can_edit, 0) = 1 - FROM parts.Shop_User_Eval_Temp UE_T + FROM fetchmetrics.Shop_User_Eval_Temp UE_T WHERE UE_T.GUID = a_guid AND UE_T.id_user = a_id_user @@ -284,7 +284,7 @@ BEGIN # Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN parts.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN fetchmetrics.Shop_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -295,7 +295,7 @@ BEGIN DROP TABLE IF EXISTS tmp_User; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; diff --git a/static/MySQL/70530_p_dog_calc_user.sql b/static/MySQL/70530_p_dog_calc_user.sql index 301db41..b7f9a3f 100644 --- a/static/MySQL/70530_p_dog_calc_user.sql +++ b/static/MySQL/70530_p_dog_calc_user.sql @@ -67,7 +67,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -82,7 +82,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_User t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User; @@ -90,14 +90,14 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT id_type FROM parts.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_id_access_level_view = (SELECT id_access_level FROM parts.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); - SET v_priority_access_level_view = (SELECT priority FROM parts.DOG_Access_Level WHERE id_access_level = v_id_access_level_view); - SET v_priority_access_level_edit = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'EDIT' LIMIT 1); - SET v_priority_access_level_admin = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); - SET v_priority_access_level_none = (SELECT priority FROM parts.DOG_Access_Level WHERE code = 'NONE' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_access_level_view = (SELECT id_access_level FROM fetchmetrics.DOG_Access_Level WHERE code = 'VIEW' LIMIT 1); + SET v_priority_access_level_view = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE id_access_level = v_id_access_level_view); + SET v_priority_access_level_edit = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'EDIT' LIMIT 1); + SET v_priority_access_level_admin = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'ADMIN' LIMIT 1); + SET v_priority_access_level_none = (SELECT priority FROM fetchmetrics.DOG_Access_Level WHERE code = 'NONE' LIMIT 1); - CALL parts.p_validate_guid ( a_guid ); + CALL fetchmetrics.p_validate_guid ( a_guid ); SET a_get_all_user := IFNULL(a_get_all_user, 0); SET a_get_inactive_user := IFNULL(a_get_inactive_user, 0); SET a_ids_user := TRIM(IFNULL(a_ids_user, '')); @@ -228,7 +228,7 @@ BEGIN ; END IF; - CALL parts.p_core_split(a_guid, a_ids_access_level_required, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_access_level_required, ',', a_debug); INSERT INTO tmp_Split_Id_Calc_User ( substring @@ -237,7 +237,7 @@ BEGIN SELECT SPLIT_T.substring , CONVERT(SPLIT_T.substring, DECIMAL(10,0)) -- AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -249,13 +249,13 @@ BEGIN FROM tmp_Split_Id_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); # Invalid IDs IF EXISTS ( SELECT t_SPLIT.substring FROM tmp_Split_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level + LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(ACCESS_LEVEL.id_access_level) @@ -271,7 +271,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive access level IDs: ', GROUP_CONCAT(t_SPLIT.substring SEPARATOR ',')) FROM tmp_Split_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level + LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(ACCESS_LEVEL.id_access_level) @@ -283,7 +283,7 @@ BEGIN SET v_id_access_level_required := ( SELECT ACCESS_LEVEL.id_access_level FROM tmp_Split_Id_Calc_User t_SPLIT - INNER JOIN parts.DOG_Access_Level ACCESS_LEVEL + INNER JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON t_SPLIT.as_int = ACCESS_LEVEL.id_access_level AND ACCESS_LEVEL.active = 1 ORDER BY ACCESS_LEVEL.priority ASC @@ -299,7 +299,7 @@ BEGIN -- Permission IDs IF v_has_filter_permission = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_permission_required, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_permission_required, ',', a_debug); INSERT INTO tmp_Split_Id_Calc_User ( substring @@ -308,7 +308,7 @@ BEGIN SELECT SPLIT_T.substring , CONVERT(SPLIT_T.substring, DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -320,10 +320,10 @@ BEGIN FROM tmp_Split_Id_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); # Invalid or inactive - IF EXISTS (SELECT PERMISSION.id_permission FROM tmp_Split_Id_Calc_User t_SPLIT LEFT JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(PERMISSION.id_permission) OR PERMISSION.active = 0) THEN + IF EXISTS (SELECT PERMISSION.id_permission FROM tmp_Split_Id_Calc_User t_SPLIT LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(PERMISSION.id_permission) OR PERMISSION.active = 0) THEN INSERT INTO tmp_Msg_Error_Calc_User ( id_type , code @@ -334,7 +334,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive permission IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL')) FROM tmp_Split_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission + LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(PERMISSION.id_permission) @@ -344,8 +344,8 @@ BEGIN SET v_id_permission_required := ( SELECT PERMISSION.id_permission FROM tmp_Split_Id_Calc_User t_SPLIT - INNER JOIN parts.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission - INNER JOIN parts.DOG_Access_Level ACCESS_LEVEL ON PERMISSION.id_access_level_required = ACCESS_LEVEL.id_access_level + INNER JOIN fetchmetrics.DOG_Permission PERMISSION ON t_SPLIT.as_int = PERMISSION.id_permission + INNER JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON PERMISSION.id_access_level_required = ACCESS_LEVEL.id_access_level ORDER BY ACCESS_LEVEL.priority ASC LIMIT 1 ); @@ -355,8 +355,8 @@ BEGIN SET v_priority_access_level_required := ( SELECT ACCESS_LEVEL.priority - FROM parts.DOG_Access_Level ACCESS_LEVEL - LEFT JOIN parts.DOG_Permission PERMISSION ON ACCESS_LEVEL.id_access_level = PERMISSION.id_access_level_required + FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL + LEFT JOIN fetchmetrics.DOG_Permission PERMISSION ON ACCESS_LEVEL.id_access_level = PERMISSION.id_access_level_required WHERE ACCESS_LEVEL.id_access_level = v_id_access_level_required OR PERMISSION.id_permission = v_id_permission_required @@ -367,7 +367,7 @@ BEGIN # Users # Ids IF v_has_filter_user_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_user, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_user, ',', a_debug); INSERT INTO tmp_Split_Id_Calc_User ( substring @@ -376,7 +376,7 @@ BEGIN SELECT SPLIT_T.substring , CONVERT(SPLIT_T.substring, DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -388,13 +388,13 @@ BEGIN FROM tmp_Split_Id_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); # Invalid or inactive IF EXISTS ( SELECT USER.id_user FROM tmp_Split_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_User USER ON t_SPLIT.as_int = USER.id_user + LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.as_int = USER.id_user WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(USER.id_user) @@ -414,7 +414,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive user IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL')) FROM tmp_Split_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_User USER ON t_SPLIT.as_int = USER.id_user + LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.as_int = USER.id_user WHERE ISNULL(t_SPLIT.as_int) OR ISNULL(USER.id_user) @@ -428,11 +428,11 @@ BEGIN # Auth0 Ids IF v_has_filter_user_auth0_id = 1 THEN - CALL parts.p_core_split(a_guid, a_auth0_ids_user, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_auth0_ids_user, ',', a_debug); INSERT INTO tmp_Split_Auth0_Id_Calc_User ( substring ) SELECT SPLIT_T.substring - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -444,13 +444,13 @@ BEGIN FROM tmp_Split_Auth0_Id_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); # Invalid or inactive IF EXISTS ( SELECT USER.id_user FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0 + LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0 WHERE ISNULL(USER.id_user) OR ( @@ -469,7 +469,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive user Auth0 IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT.substring SEPARATOR ','), 'NULL')) FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT - LEFT JOIN parts.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0 + LEFT JOIN fetchmetrics.DOG_User USER ON t_SPLIT.substring = USER.id_user_auth0 WHERE ISNULL(USER.id_user) OR ( @@ -482,11 +482,11 @@ BEGIN # Names IF v_has_filter_user_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_user, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_user, ',', a_debug); INSERT INTO tmp_Split_Name_Calc_User ( substring ) SELECT SPLIT_T.substring - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -498,16 +498,16 @@ BEGIN FROM tmp_Split_Name_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; # Emails IF v_has_filter_user_email = 1 THEN - CALL parts.p_core_split(a_guid, a_emails_user, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_emails_user, ',', a_debug); INSERT INTO tmp_Split_Email_Calc_User ( substring ) SELECT SPLIT_T.substring - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') != '' @@ -519,11 +519,11 @@ BEGIN FROM tmp_Split_Email_Calc_User; END IF; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; -- Get all users - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN INSERT INTO tmp_Calc_User ( id_user , id_permission_required @@ -542,17 +542,17 @@ BEGIN User_Id_Filter AS ( SELECT USER.id_user FROM tmp_Split_Id_Calc_User t_SPLIT_ID - INNER JOIN parts.DOG_User USER ON t_SPLIT_ID.as_int = USER.id_user + INNER JOIN fetchmetrics.DOG_User USER ON t_SPLIT_ID.as_int = USER.id_user ) , User_Auth0_Id_Filter AS ( SELECT USER.id_user FROM tmp_Split_Auth0_Id_Calc_User t_SPLIT_AUTH0_ID - INNER JOIN parts.DOG_User USER ON t_SPLIT_AUTH0_ID.substring = USER.id_user_auth0 + INNER JOIN fetchmetrics.DOG_User USER ON t_SPLIT_AUTH0_ID.substring = USER.id_user_auth0 ) , User_Name_Filter AS ( SELECT USER.id_user FROM tmp_Split_Name_Calc_User t_SPLIT_NAME - INNER JOIN parts.DOG_User USER ON CONCAT(USER.firstname, ' ', USER.surname) LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_User USER ON CONCAT(USER.firstname, ' ', USER.surname) LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE IFNULL(t_SPLIT_NAME.substring, '') <> '' ) , User_Email_Filter AS ( @@ -626,7 +626,7 @@ BEGIN OR IFNULL(USER_FILTERS.does_meet_name_filter, 0) = 1 OR IFNULL(USER_FILTERS.does_meet_email_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_User USER + FROM fetchmetrics.DOG_User USER LEFT JOIN User_Filters USER_FILTERS ON USER.id_user = USER_FILTERS.id_user WHERE ( @@ -666,7 +666,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_CALC_USER FROM tmp_Calc_User t_CALC_USER WHERE @@ -700,14 +700,14 @@ BEGIN SELECT USER.id_user , MIN(IFNULL(ACCESS_LEVEL.priority, v_priority_access_level_none)) AS priority_access_level - FROM parts.DOG_User USER -- tmp_Calc_User t_CALC_USER - LEFT JOIN parts.DOG_User_Role_Link USER_ROLE_LINK + FROM fetchmetrics.DOG_User USER -- tmp_Calc_User t_CALC_USER + LEFT JOIN fetchmetrics.DOG_User_Role_Link USER_ROLE_LINK ON USER.id_user = USER_ROLE_LINK.id_user AND USER_ROLE_LINK.active = 1 - LEFT JOIN parts.DOG_Role_Permission_Link ROLE_PERMISSION_LINK + LEFT JOIN fetchmetrics.DOG_Role_Permission_Link ROLE_PERMISSION_LINK ON USER_ROLE_LINK.id_role = ROLE_PERMISSION_LINK.id_role AND ROLE_PERMISSION_LINK.active = 1 - LEFT JOIN parts.DOG_Access_Level ACCESS_LEVEL + LEFT JOIN fetchmetrics.DOG_Access_Level ACCESS_LEVEL ON ROLE_PERMISSION_LINK.id_access_level = ACCESS_LEVEL.id_access_level AND ACCESS_LEVEL.active = 1 GROUP BY USER.id_user @@ -748,7 +748,7 @@ BEGIN -- Export data to staging table IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_User) THEN START TRANSACTION; - INSERT INTO parts.DOG_Calc_User_Temp ( + INSERT INTO fetchmetrics.DOG_Calc_User_Temp ( guid , id_user , id_permission_required @@ -795,7 +795,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_User t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -803,8 +803,8 @@ BEGIN SELECT 'End'; SELECT * FROM tmp_Msg_Error_Calc_User; SELECT * FROM tmp_Calc_User; - SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = a_guid; - CALL parts.p_dog_clear_calc_user ( a_guid, a_debug ); + SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = a_guid; + CALL fetchmetrics.p_dog_clear_calc_user ( a_guid, a_debug ); END IF; -- Clean up @@ -816,7 +816,7 @@ BEGIN DROP TABLE IF EXISTS tmp_Calc_User; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; @@ -840,15 +840,15 @@ DELIMITER ; , IN a_debug BIT --- SELECT * FROM parts.DOG_Calc_User_Temp; -SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = 'chips '; -CALL parts.p_dog_clear_calc_user ( 'chips ', 0 ); --- SELECT * FROM parts.DOG_Calc_User_Temp; +-- SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; +SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips '; +CALL fetchmetrics.p_dog_clear_calc_user ( 'chips ', 0 ); +-- SELECT * FROM fetchmetrics.DOG_Calc_User_Temp; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User; -DELETE FROM parts.DOG_Calc_User_Temp; +DELETE FROM fetchmetrics.DOG_Calc_User_Temp; -CALL parts.p_dog_calc_user( +CALL fetchmetrics.p_dog_calc_user( 'chips '-- a_guid , 0 -- a_get_all_user , 0 -- a_get_inactive_user @@ -865,8 +865,8 @@ CALL parts.p_dog_calc_user( , 1 -- a_show_errors , 0 -- a_debug ); -SELECT * FROM parts.DOG_Calc_User_Temp WHERE GUID = 'chips '; -CALL parts.p_dog_clear_calc_user ( 'chips ', 0 ); +SELECT * FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips '; +CALL fetchmetrics.p_dog_clear_calc_user ( 'chips ', 0 ); DROP TABLE IF EXISTS tmp_Msg_Error_Calc_User; diff --git a/static/MySQL/70531_p_dog_clear_calc_user.sql b/static/MySQL/70531_p_dog_clear_calc_user.sql index 66149be..d661fd7 100644 --- a/static/MySQL/70531_p_dog_clear_calc_user.sql +++ b/static/MySQL/70531_p_dog_clear_calc_user.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_user; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_user; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_user ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_user ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE CALC_USER_T - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_user ( +CALL fetchmetrics.p_dog_clear_calc_user ( 'chips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/70700_p_DOG_get_many_unit_measurement.sql b/static/MySQL/70700_p_DOG_get_many_unit_measurement.sql index edd4bd2..74e2156 100644 --- a/static/MySQL/70700_p_DOG_get_many_unit_measurement.sql +++ b/static/MySQL/70700_p_DOG_get_many_unit_measurement.sql @@ -1,5 +1,5 @@ -USE parts; +USE fetchmetrics; -- Clear previous proc DROP PROCEDURE IF EXISTS p_dog_get_many_unit_measurement; @@ -24,7 +24,7 @@ BEGIN UM.is_unit_of_time, UM.is_unit_of_volume, UM.active - FROM parts.DOG_Unit_Measurement UM + FROM fetchmetrics.DOG_Unit_Measurement UM WHERE a_get_inactive_unit_measurement = 1 OR UM.active = 1 @@ -39,5 +39,5 @@ CALL p_dog_get_many_unit_measurement ( ); select * -from parts.dog_unit_measurement +from fetchmetrics.dog_unit_measurement */ diff --git a/static/MySQL/71001_p_dog_calc_dog.sql b/static/MySQL/71001_p_dog_calc_dog.sql index 9243ce6..4227706 100644 --- a/static/MySQL/71001_p_dog_calc_dog.sql +++ b/static/MySQL/71001_p_dog_calc_dog.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_dog; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_dog; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_dog ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_dog ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_dog BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Dog t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Dog; @@ -81,12 +81,12 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_dog := IFNULL(a_get_all_dog, 0); @@ -159,19 +159,19 @@ BEGIN -- Dogs IF v_has_filter_dog_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_dog, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_dog, ',', a_debug); SET sql_mode = ''; IF a_debug = 1 THEN SELECT * - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; SELECT COUNT(*) AS count_split_ids - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' @@ -185,29 +185,29 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_dog_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_dog, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_dog, ',', a_debug); SET sql_mode = ''; IF a_debug = 1 THEN SELECT * - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; SELECT COUNT(*) AS count_split_names - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' @@ -221,13 +221,13 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF a_debug = 1 THEN @@ -239,11 +239,11 @@ BEGIN ; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Dog t_SPLIT_ID - LEFT JOIN parts.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog + LEFT JOIN fetchmetrics.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DOG.id_dog) @@ -262,7 +262,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Dog IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Dog t_SPLIT_ID - LEFT JOIN parts.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog + LEFT JOIN fetchmetrics.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DOG.id_dog) @@ -284,12 +284,12 @@ BEGIN Dog_Id_Filter AS ( SELECT DOG.id_dog FROM tmp_Split_Id_Calc_Dog t_SPLIT_ID - INNER JOIN parts.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog + INNER JOIN fetchmetrics.DOG_Dog DOG ON t_SPLIT_ID.as_int = DOG.id_dog ) , Dog_Name_Filter AS ( SELECT DOG.id_dog FROM tmp_Split_Name_Calc_Dog t_SPLIT_NAME - INNER JOIN parts.DOG_Dog DOG ON DOG.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Dog DOG ON DOG.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE IFNULL(t_SPLIT_NAME.substring, '') <> '' ) , Dog_Filters AS ( @@ -324,7 +324,7 @@ BEGIN ) OR IFNULL(DOG_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Dog DOG + FROM fetchmetrics.DOG_Dog DOG LEFT JOIN Dog_Filters DOG_FILTERS ON DOG.id_dog = DOG_FILTERS.id_dog WHERE ( @@ -355,7 +355,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_DOG FROM tmp_Dog_Calc_Dog t_DOG WHERE @@ -404,7 +404,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -426,7 +426,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.guid = a_guid LIMIT 1 ; @@ -453,12 +453,12 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Dog t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Dog_Calc_Dog; END IF; @@ -468,7 +468,7 @@ BEGIN -- Outputs -- Dogs - INSERT INTO parts.DOG_Dog_Temp ( + INSERT INTO fetchmetrics.DOG_Dog_Temp ( guid , id_dog , name @@ -491,7 +491,7 @@ BEGIN , t_DOG.does_meet_id_filters , t_DOG.does_meet_non_id_filters - FROM parts.DOG_Dog DOG + FROM fetchmetrics.DOG_Dog DOG INNER JOIN tmp_Dog_Calc_Dog t_DOG ON DOG.id_dog = t_DOG.id_dog ; @@ -508,7 +508,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Dog t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -522,7 +522,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Dog_Calc_Dog; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -531,7 +531,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_dog ( +CALL fetchmetrics.p_dog_calc_dog ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_dog @@ -547,7 +547,7 @@ CALL parts.p_dog_calc_dog ( ); -CALL parts.p_dog_calc_dog ( +CALL fetchmetrics.p_dog_calc_dog ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_dog @@ -563,10 +563,10 @@ CALL parts.p_dog_calc_dog ( ); SELECT * -FROM parts.DOG_Dog_Temp +FROM fetchmetrics.DOG_Dog_Temp ; -CALL parts.p_dog_clear_calc_dog ( +CALL fetchmetrics.p_dog_clear_calc_dog ( 'slips ' -- a_guid , 1 -- debug ); diff --git a/static/MySQL/71001_p_dog_clear_calc_dog.sql b/static/MySQL/71001_p_dog_clear_calc_dog.sql index a89d8a4..b61fbc0 100644 --- a/static/MySQL/71001_p_dog_clear_calc_dog.sql +++ b/static/MySQL/71001_p_dog_clear_calc_dog.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_dog; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_dog; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_dog ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_dog ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE DOG_T - FROM parts.DOG_Dog_Temp DOG_T + FROM fetchmetrics.DOG_Dog_Temp DOG_T WHERE DOG_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_dog ( +CALL fetchmetrics.p_dog_clear_calc_dog ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71001_p_dog_get_many_dog.sql b/static/MySQL/71001_p_dog_get_many_dog.sql index a150ef3..3ad9dd0 100644 --- a/static/MySQL/71001_p_dog_get_many_dog.sql +++ b/static/MySQL/71001_p_dog_get_many_dog.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_dog; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_dog; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_dog ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_dog ( IN a_id_user INT , IN a_get_all_dog BIT , IN a_get_inactive_dog BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -163,7 +163,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid-- guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -185,7 +185,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -214,14 +214,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Dog Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -239,7 +239,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_dog( + CALL fetchmetrics.p_dog_calc_dog( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_dog -- a_get_all_dog @@ -275,7 +275,7 @@ BEGIN , DOG_T.does_meet_id_filters , DOG_T.does_meet_non_id_filters - FROM parts.DOG_Dog_Temp DOG_T + FROM fetchmetrics.DOG_Dog_Temp DOG_T WHERE DOG_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Dog; END IF; @@ -305,7 +305,7 @@ BEGIN , DOG_T.does_meet_id_filters , DOG_T.does_meet_non_id_filters - FROM parts.DOG_Dog_Temp DOG_T + FROM fetchmetrics.DOG_Dog_Temp DOG_T ; -- Errors @@ -320,14 +320,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Dog; END IF; - CALL parts.p_dog_clear_calc_dog( + CALL fetchmetrics.p_dog_clear_calc_dog( v_guid -- a_guid , 0 -- a_debug ); @@ -336,7 +336,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Dog; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -344,7 +344,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_dog ( +CALL fetchmetrics.p_dog_get_many_dog ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_dog , 0 -- a_get_inactive_dog diff --git a/static/MySQL/71003_p_dog_save_command.sql b/static/MySQL/71003_p_dog_save_command.sql index cb64a19..b0a46c2 100644 --- a/static/MySQL/71003_p_dog_save_command.sql +++ b/static/MySQL/71003_p_dog_save_command.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_command ( +CREATE PROCEDURE fetchmetrics.p_dog_save_command ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -48,7 +48,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -63,7 +63,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,13 +71,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_admin := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_ADMIN' LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_admin := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_ADMIN' LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Command_Copy; DROP TABLE IF EXISTS tmp_Command; @@ -169,10 +169,10 @@ BEGIN , CASE WHEN COALESCE(COMMAND.id_command, COMMAND_T.id_command, 0) < 1 THEN 1 ELSE 0 END AS is_new , COMMAND_T.name_command_category AS name_command_category - FROM parts.DOG_Command_Temp COMMAND_T - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY_NAME + FROM fetchmetrics.DOG_Command_Temp COMMAND_T + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY_NAME ON COMMAND_T.name_command_category = COMMAND_CATEGORY_NAME.name - LEFT JOIN parts.DOG_Command COMMAND + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND_T.id_command = COMMAND.id_command OR ( ( @@ -201,8 +201,8 @@ BEGIN -- Error names UPDATE tmp_Command t_COMMAND - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND.id_command = COMMAND.id_command SET t_COMMAND.name_error = CONCAT( COALESCE(COMMAND_CATEGORY.name, t_COMMAND.id_command_category, '(No Command Category)') , ' - ' @@ -219,7 +219,7 @@ BEGIN /* -- Find missing id_command_category by name_command_category UPDATE tmp_Command t_COMMAND - INNER JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND.name_command_category = COMMAND_CATEGORY.name + INNER JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND.name_command_category = COMMAND_CATEGORY.name SET t_COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category WHERE t_COMMAND.id_command_category IS NULL @@ -234,7 +234,7 @@ BEGIN -- Missing Command Ids UPDATE tmp_Command t_COMMAND - LEFT JOIN parts.DOG_Command COMMAND + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND.id_command_category = COMMAND.id_command_category AND t_COMMAND.name = COMMAND.name SET @@ -343,11 +343,11 @@ BEGIN , COALESCE(COMMAND.name, t_COMMAND_COPY.name, t_COMMAND_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND LEFT JOIN tmp_Command_Copy t_COMMAND_COPY ON COMMAND.id_command_category = t_COMMAND_COPY.id_command_category AND COMMAND.name = t_COMMAND_COPY.name - INNER JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category + INNER JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category WHERE t_COMMAND_COPY.is_new = 1 UNION SELECT @@ -385,11 +385,11 @@ BEGIN , COALESCE(COMMAND.name, t_COMMAND_COPY.name, t_COMMAND_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND LEFT JOIN tmp_Command_Copy t_COMMAND_COPY ON COMMAND.id_command_category = t_COMMAND_COPY.id_command_category AND COMMAND.name = t_COMMAND_COPY.name - INNER JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category + INNER JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category WHERE t_COMMAND_COPY.is_new = 1 UNION SELECT @@ -432,11 +432,11 @@ BEGIN , COALESCE(COMMAND.name, t_COMMAND_COPY.name, t_COMMAND_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND LEFT JOIN tmp_Command_Copy t_COMMAND_COPY ON COMMAND.id_command_category = t_COMMAND_COPY.id_command_category AND COMMAND.name = t_COMMAND_COPY.name - INNER JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category + INNER JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category WHERE t_COMMAND_COPY.is_new = 1 UNION SELECT @@ -489,7 +489,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -511,12 +511,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -539,7 +539,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Command; END IF; @@ -547,10 +547,10 @@ BEGIN DELETE FROM tmp_Command; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -564,7 +564,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Command COMMAND + UPDATE fetchmetrics.DOG_Command COMMAND INNER JOIN tmp_Command t_COMMAND ON COMMAND.id_command = t_COMMAND.id_command AND t_COMMAND.is_new = 0 @@ -578,7 +578,7 @@ BEGIN , COMMAND.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Command ( + INSERT INTO fetchmetrics.DOG_Command ( id_command_category , name , hand_signal_default_description @@ -608,7 +608,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Command_Temp + DELETE FROM fetchmetrics.DOG_Command_Temp WHERE GUID = a_guid ; @@ -626,7 +626,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -638,7 +638,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Command; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -651,10 +651,10 @@ select * -- COUNT(*) -- delete -from parts.DOG_Command_Temp +from fetchmetrics.DOG_Command_Temp ; select COUNT(*) -from parts.DOG_Command_Temp +from fetchmetrics.DOG_Command_Temp ; INSERT INTO demo.DOG_Dog_Change_Set ( comment, id_user_updated_last_by ) VALUES ( 'Nullify empty hand_signal_default_descriptions.', 1 ) @@ -680,15 +680,15 @@ SELECT * CC.name , C.name */ -FROM parts.DOG_Command C -INNER JOIN parts.DOG_Command_Category CC ON C.id_command_category = CC.id_command_category +FROM fetchmetrics.DOG_Command C +INNER JOIN fetchmetrics.DOG_Command_Category CC ON C.id_command_category = CC.id_command_category ORDER BY CC.name, C.name ; select COUNT(*) -from parts.DOG_Command +from fetchmetrics.DOG_Command ; -INSERT INTO parts.DOG_Command_Temp ( +INSERT INTO fetchmetrics.DOG_Command_Temp ( id_command , id_command_category , name @@ -711,9 +711,9 @@ VALUES ( -CALL parts.p_dog_save_command ( +CALL fetchmetrics.p_dog_save_command ( 'ripplesipplenippletippledipplekipple' - , (SELECT GUID FROM parts.DOG_Command_Temp COMMAND_TEMP ORDER BY id_temp DESC LIMIT 1) + , (SELECT GUID FROM fetchmetrics.DOG_Command_Temp COMMAND_TEMP ORDER BY id_temp DESC LIMIT 1) , 1 , 1 ); @@ -723,20 +723,20 @@ select * -- COUNT(*) -- delete -from parts.DOG_Command_Temp +from fetchmetrics.DOG_Command_Temp ; select COUNT(*) -from parts.DOG_Command_Temp +from fetchmetrics.DOG_Command_Temp ; SELECT * /* CC.name , C.name */ -FROM parts.DOG_Command C -INNER JOIN parts.DOG_Command_Category CC ON C.id_command_category = CC.id_command_category +FROM fetchmetrics.DOG_Command C +INNER JOIN fetchmetrics.DOG_Command_Category CC ON C.id_command_category = CC.id_command_category ORDER BY CC.name, C.name ; select COUNT(*) -from parts.DOG_Command +from fetchmetrics.DOG_Command ; diff --git a/static/MySQL/71004_p_dog_test_save_command.sql b/static/MySQL/71004_p_dog_test_save_command.sql index 80b1e76..beb5cba 100644 --- a/static/MySQL/71004_p_dog_test_save_command.sql +++ b/static/MySQL/71004_p_dog_test_save_command.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_test_save_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_test_save_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_test_save_command () +CREATE PROCEDURE fetchmetrics.p_dog_test_save_command () BEGIN DECLARE v_guid BINARY(36); @@ -16,15 +16,15 @@ BEGIN SELECT 'Start of Test'; SELECT * - FROM parts.DOG_Command + FROM fetchmetrics.DOG_Command ; SELECT * - FROM parts.DOG_Command_Temp + FROM fetchmetrics.DOG_Command_Temp ; START TRANSACTION; - INSERT INTO parts.DOG_Command_Temp ( + INSERT INTO fetchmetrics.DOG_Command_Temp ( id_command , email , name_contact @@ -57,11 +57,11 @@ BEGIN COMMIT; SELECT * - FROM parts.DOG_Command_Temp + FROM fetchmetrics.DOG_Command_Temp -- WHERE GUID = v_guid ; - CALL parts.p_dog_save_command ( + CALL fetchmetrics.p_dog_save_command ( 'Test save Command' -- comment , v_guid -- guid , 3 -- 1 -- id_user @@ -69,13 +69,13 @@ BEGIN ); SELECT * - FROM parts.DOG_Command + FROM fetchmetrics.DOG_Command ; SELECT * - FROM parts.DOG_Command_Temp + FROM fetchmetrics.DOG_Command_Temp ; - CALL parts.p_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; @@ -83,24 +83,24 @@ DELIMITER ; /* SELECT 'Before Test'; SELECT * -FROM parts.DOG_Command +FROM fetchmetrics.DOG_Command ; SELECT * -FROM parts.DOG_Command_Temp +FROM fetchmetrics.DOG_Command_Temp ; -CALL parts.p_dog_test_save_command (); +CALL fetchmetrics.p_dog_test_save_command (); SELECT 'After Test'; SELECT * -FROM parts.DOG_Command +FROM fetchmetrics.DOG_Command ; SELECT * -FROM parts.DOG_Command_Temp +FROM fetchmetrics.DOG_Command_Temp ; -DELETE FROM parts.DOG_Command_Temp; +DELETE FROM fetchmetrics.DOG_Command_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; diff --git a/static/MySQL/71102_p_dog_save_command_category.sql b/static/MySQL/71102_p_dog_save_command_category.sql index d97d1ca..d1caffc 100644 --- a/static/MySQL/71102_p_dog_save_command_category.sql +++ b/static/MySQL/71102_p_dog_save_command_category.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_command_category; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_command_category; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_command_category ( +CREATE PROCEDURE fetchmetrics.p_dog_save_command_category ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Command_Category_Copy; DROP TABLE IF EXISTS tmp_Command_Category; @@ -130,8 +130,8 @@ BEGIN ) AS name , COALESCE(COMMAND_CATEGORY_T.active, 1) AS active , CASE WHEN IFNULL(COMMAND_CATEGORY_T.id_command_category, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND_CATEGORY_T.id_command_category = COMMAND_CATEGORY.id_command_category OR ( COMMAND_CATEGORY_T.code = COMMAND_CATEGORY.code @@ -160,7 +160,7 @@ BEGIN /* -- Missing Command Category Ids UPDATE tmp_Command_Category t_COMMAND_CATEGORY - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND_CATEGORY.code = COMMAND_CATEGORY.code + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_COMMAND_CATEGORY.code = COMMAND_CATEGORY.code SET t_COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY.id_command_category , t_COMMAND_CATEGORY.is_new = 0 @@ -241,7 +241,7 @@ BEGIN , COMMAND_CATEGORY.code , COMMAND_CATEGORY.name , COALESCE(t_COMMAND_CATEGORY_COPY.code, t_COMMAND_CATEGORY_COPY.name, t_COMMAND_CATEGORY_COPY.id_command_category, '(No Command Category)') AS name_error - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY LEFT JOIN tmp_Command_Category_Copy t_COMMAND_CATEGORY_COPY ON COMMAND_CATEGORY.code = t_COMMAND_CATEGORY_COPY.code OR COMMAND_CATEGORY.name = t_COMMAND_CATEGORY_COPY.name @@ -275,7 +275,7 @@ BEGIN , COMMAND_CATEGORY.code , COMMAND_CATEGORY.name , COALESCE(t_COMMAND_CATEGORY_COPY.code, t_COMMAND_CATEGORY_COPY.name, t_COMMAND_CATEGORY_COPY.id_command_category, '(No Command Category)') AS name_error - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY LEFT JOIN tmp_Command_Category_Copy t_COMMAND_CATEGORY_COPY ON COMMAND_CATEGORY.code = t_COMMAND_CATEGORY_COPY.code OR COMMAND_CATEGORY.name = t_COMMAND_CATEGORY_COPY.name @@ -314,7 +314,7 @@ BEGIN , COMMAND_CATEGORY.code , COMMAND_CATEGORY.name , COALESCE(t_COMMAND_CATEGORY_COPY.code, t_COMMAND_CATEGORY_COPY.name, t_COMMAND_CATEGORY_COPY.id_command_category, '(No Command Category)') AS name_error - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY LEFT JOIN tmp_Command_Category_Copy t_COMMAND_CATEGORY_COPY ON COMMAND_CATEGORY.code = t_COMMAND_CATEGORY_COPY.code OR COMMAND_CATEGORY.name = t_COMMAND_CATEGORY_COPY.name @@ -349,7 +349,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -371,12 +371,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -399,7 +399,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Command_Category; END IF; @@ -407,10 +407,10 @@ BEGIN DELETE FROM tmp_Command_Category; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -424,7 +424,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Command_Category COMMAND_CATEGORY + UPDATE fetchmetrics.DOG_Command_Category COMMAND_CATEGORY INNER JOIN tmp_Command_Category t_COMMAND_CATEGORY ON COMMAND_CATEGORY.id_command_category = t_COMMAND_CATEGORY.id_command_category AND t_COMMAND_CATEGORY.is_new = 0 @@ -435,7 +435,7 @@ BEGIN , COMMAND_CATEGORY.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Command_Category ( + INSERT INTO fetchmetrics.DOG_Command_Category ( code , name , active @@ -459,7 +459,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Command_Category_Temp + DELETE FROM fetchmetrics.DOG_Command_Category_Temp WHERE GUID = a_guid ; @@ -477,7 +477,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -488,7 +488,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -498,32 +498,32 @@ DELIMITER ; /* 'ripplesipplenippletippledipplekipple' -DELETE FROM parts.DOG_Command_Category_Audit WHERE id_command_category > 740; -DELETE FROM parts.DOG_Command_Category WHERE id_command_category > 740; +DELETE FROM fetchmetrics.DOG_Command_Category_Audit WHERE id_command_category > 740; +DELETE FROM fetchmetrics.DOG_Command_Category WHERE id_command_category > 740; * / delete -from parts.DOG_Command_Category_Temp +from fetchmetrics.DOG_Command_Category_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Category_Temp +from fetchmetrics.DOG_Command_Category_Temp ; select COUNT(*) -from parts.DOG_Command_Category_Temp +from fetchmetrics.DOG_Command_Category_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Category +from fetchmetrics.DOG_Command_Category ; select COUNT(*) -from parts.DOG_Command_Category +from fetchmetrics.DOG_Command_Category ; -INSERT INTO parts.DOG_Command_Category_Temp ( +INSERT INTO fetchmetrics.DOG_Command_Category_Temp ( id_command_category , code , name @@ -538,7 +538,7 @@ VALUES ( , 'ripplesipplenippletippledipplekipple' ); -CALL parts.p_dog_save_command_category ( +CALL fetchmetrics.p_dog_save_command_category ( 'nipples' , 'ripplesipplenippletippledipplekipple' , 1 @@ -550,19 +550,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Command_Category_Temp +from fetchmetrics.DOG_Command_Category_Temp ; select COUNT(*) -from parts.DOG_Command_Category_Temp +from fetchmetrics.DOG_Command_Category_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Category +from fetchmetrics.DOG_Command_Category ; select COUNT(*) -from parts.DOG_Command_Category +from fetchmetrics.DOG_Command_Category ; */ \ No newline at end of file diff --git a/static/MySQL/71104_p_dog_calc_command.sql b/static/MySQL/71104_p_dog_calc_command.sql index 95ae665..933a04a 100644 --- a/static/MySQL/71104_p_dog_calc_command.sql +++ b/static/MySQL/71104_p_dog_calc_command.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_command ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_command ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_command_category BIT @@ -67,7 +67,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -82,7 +82,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Command t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Command; @@ -91,13 +91,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_command_category := IFNULL(a_get_all_command_category, 0); @@ -209,7 +209,7 @@ BEGIN -- Command Categories IF v_has_filter_command_category_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_command_category, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_command_category, ',', a_debug); SET sql_mode = ''; @@ -220,17 +220,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_command_category_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_command_category, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_command_category, ',', a_debug); SET sql_mode = ''; @@ -241,20 +241,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND_CATEGORY.id_command_category) @@ -273,7 +273,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Command IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND_CATEGORY.id_command_category) @@ -294,13 +294,13 @@ BEGIN Command_Category_Id_Filter AS ( SELECT COMMAND_CATEGORY.id_command_category FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - RIGHT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category + RIGHT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON t_SPLIT_ID.as_int = COMMAND_CATEGORY.id_command_category WHERE t_SPLIT_ID.as_int IS NOT NULL ) , Command_Category_Name_Filter AS ( SELECT COMMAND_CATEGORY.id_command_category FROM tmp_Split_Name_Calc_Command t_SPLIT_NAME - RIGHT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON COMMAND_CATEGORY.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + RIGHT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND_CATEGORY.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -337,7 +337,7 @@ BEGIN ) OR COMMAND_CATEGORY_FILTERS.does_meet_name_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY LEFT JOIN Command_Category_Filters COMMAND_CATEGORY_FILTERS ON COMMAND_CATEGORY.id_command_category = COMMAND_CATEGORY_FILTERS.id_command_category WHERE ( @@ -364,7 +364,7 @@ BEGIN -- Commands IF v_has_filter_command_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_command, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_command, ',', a_debug); SET sql_mode = ''; @@ -375,17 +375,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_command_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_command, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_command, ',', a_debug); SET sql_mode = ''; @@ -396,17 +396,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_command_hand_signal_default_description = 1 THEN - CALL parts.p_core_split(a_guid, a_hand_signal_default_descriptions_command, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_hand_signal_default_descriptions_command, ',', a_debug); SET sql_mode = ''; @@ -417,17 +417,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_command_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_command, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_command, ',', a_debug); SET sql_mode = ''; @@ -438,20 +438,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - LEFT JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND.id_command) @@ -470,7 +470,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Command IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - LEFT JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND.id_command) @@ -489,12 +489,12 @@ BEGIN Command_Id_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - INNER JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + INNER JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command ) , Command_Name_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Name_Calc_Command t_SPLIT_NAME - INNER JOIN parts.DOG_Command COMMAND ON COMMAND.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -502,7 +502,7 @@ BEGIN , Command_Hand_Signal_Default_Description_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Hand_Signal_Default_Description_Calc_Command t_SPLIT_HSDD - INNER JOIN parts.DOG_Command COMMAND ON COMMAND.hand_signal_default_description LIKE CONCAT('%', t_SPLIT_HSDD.substring, '%') + INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.hand_signal_default_description LIKE CONCAT('%', t_SPLIT_HSDD.substring, '%') WHERE t_SPLIT_HSDD.substring IS NOT NULL AND t_SPLIT_HSDD.substring <> '' @@ -510,7 +510,7 @@ BEGIN , Command_Notes_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Notes_Calc_Command t_SPLIT_NOTES - INNER JOIN parts.DOG_Command COMMAND ON COMMAND.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -575,7 +575,7 @@ BEGIN OR COMMAND_FILTERS.does_meet_notes_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters , CASE WHEN t_COMMAND_CATEGORY.id_command_category IS NOT NULL THEN 1 ELSE 0 END AS does_command_category_already_exist_in_temp_table - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND INNER JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category LEFT JOIN Command_Filters COMMAND_FILTERS ON COMMAND.id_command = COMMAND_FILTERS.id_command WHERE @@ -615,12 +615,12 @@ BEGIN Command_Id_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Id_Calc_Command t_SPLIT_ID - INNER JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + INNER JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command ) , Command_Name_Filter AS ( SELECT COMMAND.id_command FROM tmp_Split_Name_Calc_Command t_SPLIT_NAME - INNER JOIN parts.DOG_Command COMMAND ON COMMAND.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Command COMMAND ON COMMAND.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -701,7 +701,7 @@ BEGIN OR IFNULL(COMMAND_FILTERS.does_meet_notes_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters , CASE WHEN t_COMMAND_CATEGORY.id_command_category IS NOT NULL THEN 1 ELSE 0 END AS does_command_category_already_exist_in_temp_table - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND INNER JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category LEFT JOIN Command_Filters COMMAND_FILTERS ON COMMAND.id_command = COMMAND_FILTERS.id_command WHERE @@ -744,7 +744,7 @@ BEGIN END IF; -- Missing Categories - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_require_all_id_search_filters_met = 0 @@ -759,7 +759,7 @@ BEGIN COMMAND_CATEGORY.id_command_category , 0 AS does_meet_id_filters , 0 AS does_meet_non_id_filters - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY INNER JOIN tmp_Command_Calc_Command t_COMMAND ON COMMAND_CATEGORY.id_command_category = t_COMMAND.id_command_category AND t_COMMAND.does_command_category_already_exist_in_temp_table = 0 @@ -768,7 +768,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_COMMAND FROM tmp_Command_Calc_Command t_COMMAND LEFT JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON t_COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category @@ -908,7 +908,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -930,7 +930,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -957,7 +957,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -969,7 +969,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Command; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Command t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command_Category_Calc_Command; SELECT * FROM tmp_Command_Calc_Command; @@ -986,7 +986,7 @@ BEGIN -- Outputs START TRANSACTION; -- Command Categories - INSERT INTO parts.DOG_Command_Category_Temp ( + INSERT INTO fetchmetrics.DOG_Command_Category_Temp ( guid , id_command_category , code @@ -1005,12 +1005,12 @@ BEGIN , t_COMMAND_CATEGORY.does_meet_id_filters , t_COMMAND_CATEGORY.does_meet_non_id_filters - FROM parts.DOG_Command_Category COMMAND_CATEGORY + FROM fetchmetrics.DOG_Command_Category COMMAND_CATEGORY INNER JOIN tmp_Command_Category_Calc_Command t_COMMAND_CATEGORY ON COMMAND_CATEGORY.id_command_category = t_COMMAND_CATEGORY.id_command_category ; -- Commands - INSERT INTO parts.DOG_Command_Temp ( + INSERT INTO fetchmetrics.DOG_Command_Temp ( guid , id_command , id_command_category @@ -1035,7 +1035,7 @@ BEGIN , t_COMMAND.does_meet_id_filters , t_COMMAND.does_meet_non_id_filters - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND INNER JOIN tmp_Command_Calc_Command t_COMMAND ON COMMAND.id_command = t_COMMAND.id_command ; COMMIT; @@ -1053,7 +1053,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Command t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -1071,7 +1071,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command_Category_Calc_Command; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1080,7 +1080,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_command ( +CALL fetchmetrics.p_dog_calc_command ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command_category @@ -1101,7 +1101,7 @@ CALL parts.p_dog_calc_command ( , 0 -- a_debug ); -CALL parts.p_dog_calc_command ( +CALL fetchmetrics.p_dog_calc_command ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command_category @@ -1122,36 +1122,36 @@ CALL parts.p_dog_calc_command ( , 0 -- a_debug ); SELECT * -FROM parts.DOG_Command_Category_Temp +FROM fetchmetrics.DOG_Command_Category_Temp ; SELECT * -FROM parts.DOG_Command_Temp +FROM fetchmetrics.DOG_Command_Temp ; /* SELECT * -FROM parts.DOG_Command_Category_Temp CC +FROM fetchmetrics.DOG_Command_Category_Temp CC WHERE CC.does_meet_id_filters AND CC.does_meet_non_id_filters ; SELECT * -FROM parts.DOG_Command_Temp C +FROM fetchmetrics.DOG_Command_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_command ( +CALL fetchmetrics.p_dog_clear_calc_command ( 'slips ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Command_Category_Temp +FROM fetchmetrics.DOG_Command_Category_Temp ; DELETE -FROM parts.DOG_Command_Temp +FROM fetchmetrics.DOG_Command_Temp ; */ diff --git a/static/MySQL/71104_p_dog_clear_calc_command.sql b/static/MySQL/71104_p_dog_clear_calc_command.sql index 7e85aad..51eaf4e 100644 --- a/static/MySQL/71104_p_dog_clear_calc_command.sql +++ b/static/MySQL/71104_p_dog_clear_calc_command.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_command; -DROP PROCEDURE IF EXISTS parts.p_command_clear_calc_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_command_clear_calc_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_command ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_command ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,37 +13,37 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE COMMAND_T - FROM parts.DOG_Command_Temp COMMAND_T + FROM fetchmetrics.DOG_Command_Temp COMMAND_T WHERE COMMAND_T.GUID = a_guid ; DELETE COMMAND_CATEGORY_T - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T WHERE COMMAND_CATEGORY_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_command ( +CALL fetchmetrics.p_dog_clear_calc_command ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71104_p_dog_get_many_command.sql b/static/MySQL/71104_p_dog_get_many_command.sql index a3b5f2d..9e4a865 100644 --- a/static/MySQL/71104_p_dog_get_many_command.sql +++ b/static/MySQL/71104_p_dog_get_many_command.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_command ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_command ( IN a_id_user INT , IN a_get_all_command_category BIT , IN a_get_inactive_command_category BIT @@ -62,7 +62,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -77,7 +77,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -87,10 +87,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -199,7 +199,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -221,7 +221,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -250,14 +250,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Command Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -281,7 +281,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command ( + CALL fetchmetrics.p_dog_calc_command ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_category @@ -303,10 +303,10 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Command_Category_Temp; - SELECT * FROM parts.DOG_Command_Category_Temp; - SELECT COUNT(*) FROM parts.DOG_Command_Temp; - SELECT * FROM parts.DOG_Command_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Command_Category_Temp; + SELECT * FROM fetchmetrics.DOG_Command_Category_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Command_Temp; + SELECT * FROM fetchmetrics.DOG_Command_Temp; END IF; INSERT INTO tmp_Command_Category ( @@ -326,7 +326,7 @@ BEGIN , COMMAND_CATEGORY_T.does_meet_id_filters , COMMAND_CATEGORY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T WHERE COMMAND_CATEGORY_T.GUID = v_guid ; @@ -353,7 +353,7 @@ BEGIN , COMMAND_T.does_meet_id_filters , COMMAND_T.does_meet_non_id_filters - FROM parts.DOG_Command_Temp COMMAND_T + FROM fetchmetrics.DOG_Command_Temp COMMAND_T WHERE COMMAND_T.GUID = v_guid ; @@ -366,7 +366,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command_Category; SELECT * FROM tmp_Command; @@ -426,14 +426,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Command; END IF; - CALL parts.p_dog_clear_calc_command( + CALL fetchmetrics.p_dog_clear_calc_command( v_guid -- a_guid , 0 -- a_debug ); @@ -443,7 +443,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command_Category; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -451,7 +451,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_command ( +CALL fetchmetrics.p_dog_get_many_command ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command_category , 0 -- a_get_inactive_command_category diff --git a/static/MySQL/71108_p_dog_get_many_dog_command_link.sql b/static/MySQL/71108_p_dog_get_many_dog_command_link.sql index b6be48b..5c07816 100644 --- a/static/MySQL/71108_p_dog_get_many_dog_command_link.sql +++ b/static/MySQL/71108_p_dog_get_many_dog_command_link.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_dog_command; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_dog_command_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_dog_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_dog_command_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_dog_command_link ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_dog_command_link ( IN a_id_user INT , IN a_get_all_link BIT , IN a_get_inactive_link BIT @@ -82,7 +82,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -97,7 +97,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -108,11 +108,11 @@ BEGIN SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; SET v_code_type_error_warning := 'WARNING'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_type_error_warning := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_warning LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_type_error_warning := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_warning LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_link := IFNULL(a_get_all_link, 0); @@ -302,7 +302,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -324,7 +324,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -351,14 +351,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Dog Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -376,7 +376,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_dog( + CALL fetchmetrics.p_dog_calc_dog( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_dog -- a_get_all_dog @@ -412,7 +412,7 @@ BEGIN , DOG_T.does_meet_id_filters , DOG_T.does_meet_non_id_filters - FROM parts.DOG_Dog_Temp DOG_T + FROM fetchmetrics.DOG_Dog_Temp DOG_T WHERE DOG_T.GUID = v_guid ; @@ -422,7 +422,7 @@ BEGIN END IF; -- Call Command Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -446,7 +446,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command ( + CALL fetchmetrics.p_dog_calc_command ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_category @@ -484,7 +484,7 @@ BEGIN , COMMAND_CATEGORY_T.does_meet_id_filters , COMMAND_CATEGORY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T WHERE COMMAND_CATEGORY_T.GUID = v_guid ; @@ -511,7 +511,7 @@ BEGIN , COMMAND_T.does_meet_id_filters , COMMAND_T.does_meet_non_id_filters - FROM parts.DOG_Command_Temp COMMAND_T + FROM fetchmetrics.DOG_Command_Temp COMMAND_T WHERE COMMAND_T.GUID = v_guid ; @@ -522,9 +522,9 @@ BEGIN END IF; -- Dog Command Links - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF v_has_filter_link_id = 1 THEN - CALL parts.p_core_split(v_guid, a_ids_link, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_ids_link, ',', a_debug); SET sql_mode = ''; @@ -535,17 +535,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF v_has_filter_link_hand_signal_description = 1 THEN - CALL parts.p_core_split(v_guid, a_hand_signal_descriptions_link, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_hand_signal_descriptions_link, ',', a_debug); SET sql_mode = ''; @@ -556,17 +556,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF v_has_filter_link_notes = 1 THEN - CALL parts.p_core_split(v_guid, a_notes_link, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_notes_link, ',', a_debug); SET sql_mode = ''; @@ -577,13 +577,13 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; INSERT INTO tmp_Dog_Command_Link ( @@ -601,14 +601,14 @@ BEGIN Link_Id_Filter AS ( SELECT DOG_COMMAND_LINK.id_link FROM tmp_Split_Id_Calc_Dog_Command_Link t_SPLIT_ID - INNER JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK ON t_SPLIT_ID.as_int = DOG_COMMAND_LINK.id_link + INNER JOIN fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK ON t_SPLIT_ID.as_int = DOG_COMMAND_LINK.id_link ) , Links_With_Hand_Signal_Descriptions AS ( SELECT DOG_COMMAND_LINK.id_link , COALESCE(DOG_COMMAND_LINK.hand_signal_description, COMMAND.hand_signal_default_description) AS hand_signal_description - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK - INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK + INNER JOIN fetchmetrics.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command ) , Link_Hand_Signal_Description_Filter AS ( SELECT @@ -626,7 +626,7 @@ BEGIN DOG_COMMAND_LINK.id_link , 1 AS does_meet_notes_filter FROM tmp_Split_Notes_Calc_Dog_Command_Link t_SPLIT_NOTES - INNER JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK ON DOG_COMMAND_LINK.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK ON DOG_COMMAND_LINK.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -680,7 +680,7 @@ BEGIN OR IFNULL(LINK_FILTERS.does_meet_hand_signal_description_filter, 0) = 1 OR IFNULL(LINK_FILTERS.does_meet_notes_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK INNER JOIN tmp_Dog t_DOG ON DOG_COMMAND_LINK.id_dog = t_DOG.id_dog INNER JOIN tmp_Command t_COMMAND ON DOG_COMMAND_LINK.id_command = t_COMMAND.id_command INNER JOIN tmp_Command_Category t_COMMAND_CATEGORY ON t_COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category @@ -722,7 +722,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_DOG_COMMAND_LINK FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK LEFT JOIN tmp_Dog t_DOG ON t_DOG_COMMAND_LINK.id_dog = t_DOG.id_dog @@ -773,7 +773,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Dog; SELECT * FROM tmp_Command; @@ -809,7 +809,7 @@ BEGIN , t_COMMAND_CATEGORY.does_meet_non_id_filters AS does_meet_command_category_non_id_search_filters , t_COMMAND.does_meet_id_filters AS does_meet_command_id_search_filters , t_COMMAND.does_meet_non_id_filters AS does_meet_command_non_id_search_filters - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK INNER JOIN tmp_Dog_Command_Link t_DOG_COMMAND_LINK ON DOG_COMMAND_LINK.id_link = t_DOG_COMMAND_LINK.id_link LEFT JOIN tmp_Dog t_DOG ON DOG_COMMAND_LINK.id_dog = t_DOG.id_dog LEFT JOIN tmp_Command t_COMMAND ON DOG_COMMAND_LINK.id_command = t_COMMAND.id_command @@ -832,7 +832,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN @@ -841,8 +841,8 @@ BEGIN SELECT * FROM tmp_Command_Category; END IF; - CALL parts.p_dog_clear_calc_dog ( v_guid, 0 ); - CALL parts.p_dog_clear_calc_command ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_command ( v_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Notes_Calc_Dog_Command_Link; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Hand_Signal_Description_Calc_Dog_Command_Link; @@ -854,7 +854,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Dog_Command_Link; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -862,7 +862,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_dog_command_link ( +CALL fetchmetrics.p_dog_get_many_dog_command_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link @@ -889,7 +889,7 @@ CALL parts.p_dog_get_many_dog_command_link ( , 1 -- a_debug ); -CALL parts.p_dog_get_many_dog_command_link ( +CALL fetchmetrics.p_dog_get_many_dog_command_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link @@ -916,7 +916,7 @@ CALL parts.p_dog_get_many_dog_command_link ( , 0 -- a_debug ); -CALL parts.p_dog_get_many_dog_command_link ( +CALL fetchmetrics.p_dog_get_many_dog_command_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link diff --git a/static/MySQL/71110_p_dog_save_dog_command_link.sql b/static/MySQL/71110_p_dog_save_dog_command_link.sql index 865c7b6..14fd346 100644 --- a/static/MySQL/71110_p_dog_save_dog_command_link.sql +++ b/static/MySQL/71110_p_dog_save_dog_command_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_dog_command_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_dog_command_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_dog_command_link ( +CREATE PROCEDURE fetchmetrics.p_dog_save_dog_command_link ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Dog_Command_Link_Copy; DROP TABLE IF EXISTS tmp_Dog_Command_Link; @@ -160,8 +160,8 @@ BEGIN ) AS notes , COALESCE(DOG_COMMAND_LINK_T.active, 1) AS active , CASE WHEN COALESCE(DOG_COMMAND_LINK.id_link, DOG_COMMAND_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Dog_Command_Link_Temp DOG_COMMAND_LINK_T - LEFT JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link_Temp DOG_COMMAND_LINK_T + LEFT JOIN fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK ON DOG_COMMAND_LINK_T.id_link = DOG_COMMAND_LINK.id_link OR ( DOG_COMMAND_LINK_T.id_dog = DOG_COMMAND_LINK.id_dog @@ -186,8 +186,8 @@ BEGIN -- Error names UPDATE tmp_Dog_Command_Link t_DOG_COMMAND_LINK - LEFT JOIN parts.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog - LEFT JOIN parts.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command SET t_DOG_COMMAND_LINK.name_error = CASE WHEN ISNULL(DOG.id_dog) AND ISNULL(COMMAND.id_command) @@ -208,7 +208,7 @@ BEGIN /* -- Missing Dog Command Link Ids UPDATE tmp_Dog_Command_Link t_DOG_COMMAND_LINK - LEFT JOIN parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + LEFT JOIN fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK -- ON t_DOG_COMMAND_LINK.id_link = DOG_COMMAND_LINK.id_link ON t_DOG_COMMAND_LINK.id_dog = DOG_COMMAND_LINK.id_dog AND t_DOG_COMMAND_LINK.id_command = DOG_COMMAND_LINK.id_command @@ -249,7 +249,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Command Link(s) do not have a valid Dog: ', GROUP_CONCAT(t_DOG_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK - LEFT JOIN parts.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog + LEFT JOIN fetchmetrics.DOG_Dog DOG ON t_DOG_COMMAND_LINK.id_dog = DOG.id_dog WHERE ISNULL(t_DOG_COMMAND_LINK.id_dog) OR ISNULL(DOG.id_dog) @@ -276,7 +276,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Command Link(s) do not have a valid Command: ', GROUP_CONCAT(t_DOG_COMMAND_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Dog_Command_Link t_DOG_COMMAND_LINK - LEFT JOIN parts.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_DOG_COMMAND_LINK.id_command = COMMAND.id_command WHERE ISNULL(t_DOG_COMMAND_LINK.id_command) OR ISNULL(COMMAND.id_command) @@ -327,12 +327,12 @@ BEGIN , COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command - INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog - INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command + INNER JOIN fetchmetrics.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog + INNER JOIN fetchmetrics.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1 UNION SELECT @@ -370,12 +370,12 @@ BEGIN , COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command - INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog - INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command + INNER JOIN fetchmetrics.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog + INNER JOIN fetchmetrics.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1 UNION SELECT @@ -418,12 +418,12 @@ BEGIN , COALESCE(COMMAND.name, t_DOG_COMMAND_LINK_COPY.id_command, '(No Command)') ) ) AS name_error - FROM parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + FROM fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK LEFT JOIN tmp_Dog_Command_Link_Copy t_DOG_COMMAND_LINK_COPY ON DOG_COMMAND_LINK.id_dog = t_DOG_COMMAND_LINK_COPY.id_dog AND DOG_COMMAND_LINK.id_command = t_DOG_COMMAND_LINK_COPY.id_command - INNER JOIN parts.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog - INNER JOIN parts.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command + INNER JOIN fetchmetrics.DOG_Dog DOG ON DOG_COMMAND_LINK.id_dog = DOG.id_dog + INNER JOIN fetchmetrics.DOG_Command COMMAND ON DOG_COMMAND_LINK.id_command = COMMAND.id_command WHERE t_DOG_COMMAND_LINK_COPY.is_new = 1 UNION SELECT @@ -457,7 +457,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -479,12 +479,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -507,7 +507,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Dog_Command_Link; END IF; @@ -515,10 +515,10 @@ BEGIN DELETE FROM tmp_Dog_Command_Link; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -532,7 +532,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Dog_Command_Link DOG_COMMAND_LINK + UPDATE fetchmetrics.DOG_Dog_Command_Link DOG_COMMAND_LINK INNER JOIN tmp_Dog_Command_Link t_DOG_COMMAND_LINK ON DOG_COMMAND_LINK.id_link = t_DOG_COMMAND_LINK.id_link AND t_DOG_COMMAND_LINK.is_new = 0 @@ -545,7 +545,7 @@ BEGIN , DOG_COMMAND_LINK.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Dog_Command_Link ( + INSERT INTO fetchmetrics.DOG_Dog_Command_Link ( id_dog , id_command , hand_signal_description @@ -573,7 +573,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Dog_Command_Link_Temp + DELETE FROM fetchmetrics.DOG_Dog_Command_Link_Temp WHERE GUID = a_guid ; @@ -591,7 +591,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -602,7 +602,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -612,39 +612,39 @@ DELIMITER ; /* 'ripplesipplenippletippledipplekipple' -DELETE FROM parts.DOG_Dog_Command_Link WHERE id_link > 740; +DELETE FROM fetchmetrics.DOG_Dog_Command_Link WHERE id_link > 740; * / delete -from parts.DOG_Dog_Command_Link_Audit +from fetchmetrics.DOG_Dog_Command_Link_Audit where id_link > 768 ; delete -from parts.DOG_Dog_Command_Link +from fetchmetrics.DOG_Dog_Command_Link where id_link > 768 ; delete -from parts.DOG_Dog_Command_Link_Temp +from fetchmetrics.DOG_Dog_Command_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Dog_Command_Link_Temp +from fetchmetrics.DOG_Dog_Command_Link_Temp ; select COUNT(*) -from parts.DOG_Dog_Command_Link_Temp +from fetchmetrics.DOG_Dog_Command_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Dog_Command_Link +from fetchmetrics.DOG_Dog_Command_Link ; select COUNT(*) -from parts.DOG_Dog_Command_Link +from fetchmetrics.DOG_Dog_Command_Link ; -INSERT INTO parts.DOG_Dog_Command_Link_Temp ( +INSERT INTO fetchmetrics.DOG_Dog_Command_Link_Temp ( id_link , id_dog , id_command @@ -663,7 +663,7 @@ VALUES ( , 'ripplesipplenippletippledipplekipple' ); -CALL parts.p_dog_save_dog_command_link ( +CALL fetchmetrics.p_dog_save_dog_command_link ( 'nipples' , 'ripplesipplenippletippledipplekipple' , 1 @@ -675,19 +675,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Dog_Command_Link_Temp +from fetchmetrics.DOG_Dog_Command_Link_Temp ; select COUNT(*) -from parts.DOG_Dog_Command_Link_Temp +from fetchmetrics.DOG_Dog_Command_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Dog_Command_Link +from fetchmetrics.DOG_Dog_Command_Link ; select COUNT(*) -from parts.DOG_Dog_Command_Link +from fetchmetrics.DOG_Dog_Command_Link ; */ \ No newline at end of file diff --git a/static/MySQL/71111_p_dog_calc_command_modality.sql b/static/MySQL/71111_p_dog_calc_command_modality.sql index a281755..46e1a98 100644 --- a/static/MySQL/71111_p_dog_calc_command_modality.sql +++ b/static/MySQL/71111_p_dog_calc_command_modality.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_command_modality; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_command_modality; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_command_modality ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_command_modality ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_command_modality BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Command_Modality; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_command_modality := IFNULL(a_get_all_command_modality, 0); @@ -160,7 +160,7 @@ BEGIN -- Command_Modalitys IF v_has_filter_command_modality_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_command_modality, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_command_modality, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_command_modality_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_command_modality, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_command_modality, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Command_Modality t_SPLIT_ID - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND_MODALITYS.id_command_modality) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Command_Modality IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Command_Modality t_SPLIT_ID - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND_MODALITYS.id_command_modality) @@ -246,12 +246,12 @@ BEGIN Command_Modality_Id_Filter AS ( SELECT COMMAND_MODALITYS.id_command_modality FROM tmp_Split_Id_Calc_Command_Modality t_SPLIT_ID - INNER JOIN parts.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality + INNER JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS ON t_SPLIT_ID.as_int = COMMAND_MODALITYS.id_command_modality ) , Command_Modality_Name_Filter AS ( SELECT COMMAND_MODALITYS.id_command_modality FROM tmp_Split_Name_Calc_Command_Modality t_SPLIT_NAME - INNER JOIN parts.DOG_Command_Modality COMMAND_MODALITYS ON COMMAND_MODALITYS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS ON COMMAND_MODALITYS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Command_Modality_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(COMMAND_MODALITYS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Command_Modality COMMAND_MODALITYS + FROM fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS LEFT JOIN Command_Modality_Filters COMMAND_MODALITYS_FILTERS ON COMMAND_MODALITYS.id_command_modality = COMMAND_MODALITYS_FILTERS.id_command_modality WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_COMMAND_MODALITYS FROM tmp_Command_Modality_Calc_Command_Modality t_COMMAND_MODALITYS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Command_Modality; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command_Modality_Calc_Command_Modality; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Command_Modalitys - INSERT INTO parts.DOG_Command_Modality_Temp ( + INSERT INTO fetchmetrics.DOG_Command_Modality_Temp ( guid , id_command_modality , code @@ -466,7 +466,7 @@ BEGIN , t_COMMAND_MODALITYS.does_meet_id_filters , t_COMMAND_MODALITYS.does_meet_non_id_filters - FROM parts.DOG_Command_Modality COMMAND_MODALITYS + FROM fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS INNER JOIN tmp_Command_Modality_Calc_Command_Modality t_COMMAND_MODALITYS ON COMMAND_MODALITYS.id_command_modality = t_COMMAND_MODALITYS.id_command_modality ORDER BY COMMAND_MODALITYS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Command_Modality t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Command_Modality_Calc_Command_Modality; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Command_Modality; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Command_Modality; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command_Modality_Calc_Command_Modality; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_command_modality ( +CALL fetchmetrics.p_dog_calc_command_modality ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command_modality @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_command_modality ( ); SELECT * -FROM parts.DOG_Command_Modality_Temp +FROM fetchmetrics.DOG_Command_Modality_Temp ; /* SELECT * -FROM parts.DOG_Command_Modality_Temp C +FROM fetchmetrics.DOG_Command_Modality_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_command_modality ( +CALL fetchmetrics.p_dog_clear_calc_command_modality ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Command_Modality_Temp +FROM fetchmetrics.DOG_Command_Modality_Temp ; */ diff --git a/static/MySQL/71111_p_dog_clear_calc_command_modality.sql b/static/MySQL/71111_p_dog_clear_calc_command_modality.sql index b850d8f..080a523 100644 --- a/static/MySQL/71111_p_dog_clear_calc_command_modality.sql +++ b/static/MySQL/71111_p_dog_clear_calc_command_modality.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_command_modality; -DROP PROCEDURE IF EXISTS parts.p_command_modality_clear_calc_command_modality; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_command_modality; +DROP PROCEDURE IF EXISTS fetchmetrics.p_command_modality_clear_calc_command_modality; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_command_modality ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_command_modality ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE COMMAND_MODALITYS_T - FROM parts.DOG_Command_Modality_Temp COMMAND_MODALITYS_T + FROM fetchmetrics.DOG_Command_Modality_Temp COMMAND_MODALITYS_T WHERE COMMAND_MODALITYS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_command_modality ( +CALL fetchmetrics.p_dog_clear_calc_command_modality ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71111_p_dog_get_many_command_modality.sql b/static/MySQL/71111_p_dog_get_many_command_modality.sql index 7f73fec..bac968f 100644 --- a/static/MySQL/71111_p_dog_get_many_command_modality.sql +++ b/static/MySQL/71111_p_dog_get_many_command_modality.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_command_modality; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_command_modality; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_command_modality ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_command_modality ( IN a_id_user INT , IN a_get_all_command_modality BIT , IN a_get_inactive_command_modality BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Command_Modality Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command_modality ( + CALL fetchmetrics.p_dog_calc_command_modality ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_modality -- a_get_all_command_modality @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Command_Modality_Temp; - SELECT * FROM parts.DOG_Command_Modality_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Command_Modality_Temp; + SELECT * FROM fetchmetrics.DOG_Command_Modality_Temp; END IF; INSERT INTO tmp_Command_Modality ( @@ -274,7 +274,7 @@ BEGIN , COMMAND_MODALITY_T.does_meet_id_filters , COMMAND_MODALITY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Modality_Temp COMMAND_MODALITY_T + FROM fetchmetrics.DOG_Command_Modality_Temp COMMAND_MODALITY_T WHERE COMMAND_MODALITY_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command_Modality; END IF; @@ -305,7 +305,7 @@ BEGIN , t_COMMAND_MODALITYS.does_meet_id_filters , t_COMMAND_MODALITYS.does_meet_non_id_filters FROM tmp_Command_Modality t_COMMAND_MODALITYS - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITYS ON t_COMMAND_MODALITYS.id_command_modality = COMMAND_MODALITYS.id_command_modality + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITYS ON t_COMMAND_MODALITYS.id_command_modality = COMMAND_MODALITYS.id_command_modality ORDER BY t_COMMAND_MODALITYS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Command_Modality; END IF; - CALL parts.p_dog_clear_calc_command_modality( + CALL fetchmetrics.p_dog_clear_calc_command_modality( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command_Modality; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_command_modality ( +CALL fetchmetrics.p_dog_get_many_command_modality ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command_modality , 0 -- a_get_inactive_command_modality diff --git a/static/MySQL/71200_p_dog_calc_location.sql b/static/MySQL/71200_p_dog_calc_location.sql index 4d81240..9219f0e 100644 --- a/static/MySQL/71200_p_dog_calc_location.sql +++ b/static/MySQL/71200_p_dog_calc_location.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_location; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_location; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_location ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_location ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_location BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Location t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Location; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_location := IFNULL(a_get_all_location, 0); @@ -173,7 +173,7 @@ BEGIN -- Locations IF v_has_filter_location_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_location, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_location, ',', a_debug); SET sql_mode = ''; @@ -184,17 +184,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_location_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_location, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_location, ',', a_debug); SET sql_mode = ''; @@ -205,20 +205,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Location t_SPLIT_ID - LEFT JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(LOCATIONS.id_location) @@ -237,7 +237,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Location IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Location t_SPLIT_ID - LEFT JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(LOCATIONS.id_location) @@ -256,12 +256,12 @@ BEGIN Location_Id_Filter AS ( SELECT LOCATIONS.id_location FROM tmp_Split_Id_Calc_Location t_SPLIT_ID - INNER JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location + INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location ) , Location_Name_Filter AS ( SELECT LOCATIONS.id_location FROM tmp_Split_Name_Calc_Location t_SPLIT_NAME - INNER JOIN parts.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Location_Filters AS ( @@ -296,7 +296,7 @@ BEGIN ) OR LOCATIONS_FILTERS.does_meet_name_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS LEFT JOIN Location_Filters LOCATIONS_FILTERS ON LOCATIONS.id_location = LOCATIONS_FILTERS.id_location WHERE ( @@ -326,12 +326,12 @@ BEGIN Location_Id_Filter AS ( SELECT LOCATIONS.id_location FROM tmp_Split_Id_Calc_Location t_SPLIT_ID - INNER JOIN parts.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location + INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON t_SPLIT_ID.as_int = LOCATIONS.id_location ) , Location_Name_Filter AS ( SELECT LOCATIONS.id_location FROM tmp_Split_Name_Calc_Location t_SPLIT_NAME - INNER JOIN parts.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Location LOCATIONS ON LOCATIONS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -369,7 +369,7 @@ BEGIN ) OR IFNULL(LOCATIONS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS LEFT JOIN Location_Filters LOCATIONS_FILTERS ON LOCATIONS.id_location = LOCATIONS_FILTERS.id_location WHERE ( @@ -400,7 +400,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_LOCATIONS FROM tmp_Location_Calc_Location t_LOCATIONS WHERE @@ -439,7 +439,7 @@ BEGIN SELECT LOCATIONS.id_location , GROUP_CONCAT(LOCATION_LINK.id_location_parent, ',') AS csv_id_locations_parent - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS INNER JOIN DOG_Location_Link LOCATION_LINK ON LOCATIONS.id_location = LOCATION_LINK.id_location_child WHERE a_get_inactive_location = 1 @@ -480,7 +480,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -502,7 +502,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -529,7 +529,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -540,7 +540,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Location; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Location t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Location_Calc_Location; END IF; @@ -555,7 +555,7 @@ BEGIN -- Outputs START TRANSACTION; -- Locations - INSERT INTO parts.DOG_Location_Temp ( + INSERT INTO fetchmetrics.DOG_Location_Temp ( guid , id_location , id_location_parent @@ -580,7 +580,7 @@ BEGIN , t_LOCATIONS.does_meet_id_filters , t_LOCATIONS.does_meet_non_id_filters - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS INNER JOIN tmp_Location_Calc_Location t_LOCATIONS ON LOCATIONS.id_location = t_LOCATIONS.id_location ORDER BY LOCATIONS.name ; @@ -599,7 +599,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Location t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -614,7 +614,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Location_Calc_Location; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -623,7 +623,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_location ( +CALL fetchmetrics.p_dog_calc_location ( 'grops ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_location @@ -638,7 +638,7 @@ CALL parts.p_dog_calc_location ( , 0 -- a_debug ); -CALL parts.p_dog_calc_location ( +CALL fetchmetrics.p_dog_calc_location ( 'grops ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_location @@ -653,24 +653,24 @@ CALL parts.p_dog_calc_location ( , 0 -- a_debug ); SELECT * -FROM parts.DOG_Location_Temp +FROM fetchmetrics.DOG_Location_Temp ; /* SELECT * -FROM parts.DOG_Location_Temp C +FROM fetchmetrics.DOG_Location_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_location ( +CALL fetchmetrics.p_dog_clear_calc_location ( 'grops ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Location_Temp +FROM fetchmetrics.DOG_Location_Temp ; */ diff --git a/static/MySQL/71200_p_dog_clear_calc_location.sql b/static/MySQL/71200_p_dog_clear_calc_location.sql index f56859c..eb61c5a 100644 --- a/static/MySQL/71200_p_dog_clear_calc_location.sql +++ b/static/MySQL/71200_p_dog_clear_calc_location.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_location; -DROP PROCEDURE IF EXISTS parts.p_location_clear_calc_location; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_location; +DROP PROCEDURE IF EXISTS fetchmetrics.p_location_clear_calc_location; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_location ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_location ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE LOCATIONS_T - FROM parts.DOG_Location_Temp LOCATIONS_T + FROM fetchmetrics.DOG_Location_Temp LOCATIONS_T WHERE LOCATIONS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_location ( +CALL fetchmetrics.p_dog_clear_calc_location ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71200_p_dog_get_many_location.sql b/static/MySQL/71200_p_dog_get_many_location.sql index 29d28fd..a08ec2d 100644 --- a/static/MySQL/71200_p_dog_get_many_location.sql +++ b/static/MySQL/71200_p_dog_get_many_location.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_location; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_location; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_location ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_location ( IN a_id_user INT , IN a_get_all_location BIT , IN a_get_inactive_location BIT @@ -55,7 +55,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -70,7 +70,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -80,10 +80,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -167,7 +167,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -189,7 +189,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -218,14 +218,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Location Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -243,7 +243,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_location ( + CALL fetchmetrics.p_dog_calc_location ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_location -- a_get_all_location @@ -259,8 +259,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Location_Temp; - SELECT * FROM parts.DOG_Location_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Location_Temp; + SELECT * FROM fetchmetrics.DOG_Location_Temp; END IF; INSERT INTO tmp_Location ( @@ -282,7 +282,7 @@ BEGIN , LOCATION_T.does_meet_id_filters , LOCATION_T.does_meet_non_id_filters - FROM parts.DOG_Location_Temp LOCATION_T + FROM fetchmetrics.DOG_Location_Temp LOCATION_T WHERE LOCATION_T.GUID = v_guid ; @@ -293,7 +293,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Location; END IF; @@ -316,7 +316,7 @@ BEGIN , t_LOCATIONS.does_meet_id_filters , t_LOCATIONS.does_meet_non_id_filters FROM tmp_Location t_LOCATIONS - LEFT JOIN parts.DOG_Location LOCATION_PARENT ON t_LOCATIONS.id_location_parent = LOCATION_PARENT.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATION_PARENT ON t_LOCATIONS.id_location_parent = LOCATION_PARENT.id_location ORDER BY LOCATION_PARENT.name , t_LOCATIONS.name @@ -335,14 +335,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Location; END IF; - CALL parts.p_dog_clear_calc_location( + CALL fetchmetrics.p_dog_clear_calc_location( v_guid -- a_guid , 0 -- a_debug ); @@ -351,7 +351,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Location; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -359,7 +359,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_location ( +CALL fetchmetrics.p_dog_get_many_location ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_location , 0 -- a_get_inactive_location diff --git a/static/MySQL/71202_p_dog_save_location.sql b/static/MySQL/71202_p_dog_save_location.sql index c45b817..17b460c 100644 --- a/static/MySQL/71202_p_dog_save_location.sql +++ b/static/MySQL/71202_p_dog_save_location.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_location; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_location; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_location ( +CREATE PROCEDURE fetchmetrics.p_dog_save_location ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Location_Copy; DROP TABLE IF EXISTS tmp_Location; @@ -137,8 +137,8 @@ BEGIN ) AS name , COALESCE(LOCATIONS_T.active, 1) AS active , CASE WHEN COALESCE(LOCATIONS.id_location, LOCATIONS_T.id_location, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Location_Temp LOCATIONS_T - LEFT JOIN parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location_Temp LOCATIONS_T + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON LOCATIONS_T.id_location = LOCATIONS.id_location OR ( LOCATIONS_T.id_location_parent = LOCATIONS.id_location_parent @@ -155,7 +155,7 @@ BEGIN -- Error names UPDATE tmp_Location t_LOCATIONS - LEFT JOIN parts.DOG_Location LOCATIONS_PARENT ON t_LOCATIONS.id_location_parent = LOCATIONS_PARENT.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS_PARENT ON t_LOCATIONS.id_location_parent = LOCATIONS_PARENT.id_location SET t_LOCATIONS.name_error = CONCAT( COALESCE(LOCATIONS_PARENT.name, t_LOCATIONS.id_location_parent, '(No Parent Location)') , ' - ' @@ -242,9 +242,9 @@ BEGIN , ' - ' , COALESCE(t_LOCATIONS_COPY.name, t_LOCATIONS_COPY.code, t_LOCATIONS_COPY.id_location, '(No Location)') ) AS name_error - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS LEFT JOIN tmp_Location_Copy t_LOCATIONS_COPY ON LOCATIONS.name = t_LOCATIONS_COPY.name - LEFT JOIN parts.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent WHERE t_LOCATIONS_COPY.is_new = 1 UNION SELECT @@ -283,9 +283,9 @@ BEGIN , ' - ' , COALESCE(t_LOCATIONS_COPY.name, t_LOCATIONS_COPY.code, t_LOCATIONS_COPY.id_location, '(No Location)') ) AS name_error - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS LEFT JOIN tmp_Location_Copy t_LOCATIONS_COPY ON LOCATIONS.name = t_LOCATIONS_COPY.name - LEFT JOIN parts.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent WHERE t_LOCATIONS_COPY.is_new = 1 UNION SELECT @@ -328,9 +328,9 @@ BEGIN , ' - ' , COALESCE(t_LOCATIONS_COPY.name, t_LOCATIONS_COPY.code, t_LOCATIONS_COPY.id_location, '(No Location)') ) AS name_error - FROM parts.DOG_Location LOCATIONS + FROM fetchmetrics.DOG_Location LOCATIONS LEFT JOIN tmp_Location_Copy t_LOCATIONS_COPY ON LOCATIONS.name = t_LOCATIONS_COPY.name - LEFT JOIN parts.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS_PARENT ON LOCATIONS.id_location = LOCATIONS_PARENT.id_location_parent WHERE t_LOCATIONS_COPY.is_new = 1 UNION SELECT @@ -363,7 +363,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -385,12 +385,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -413,7 +413,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Location; END IF; @@ -421,10 +421,10 @@ BEGIN DELETE FROM tmp_Location; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -438,7 +438,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Location LOCATIONS + UPDATE fetchmetrics.DOG_Location LOCATIONS INNER JOIN tmp_Location t_LOCATIONS ON LOCATIONS.id_location = t_LOCATIONS.id_location AND t_LOCATIONS.is_new = 0 @@ -450,7 +450,7 @@ BEGIN , LOCATIONS.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Location ( + INSERT INTO fetchmetrics.DOG_Location ( id_location_parent , code , name @@ -476,7 +476,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Location_Temp + DELETE FROM fetchmetrics.DOG_Location_Temp WHERE GUID = a_guid ; @@ -494,7 +494,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -505,7 +505,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -515,39 +515,39 @@ DELIMITER ; /* 'ripplesipplenippletippledipplekippsy' -DELETE FROM parts.DOG_Location WHERE id_location > 740; +DELETE FROM fetchmetrics.DOG_Location WHERE id_location > 740; * / delete -from parts.DOG_Location_Audit +from fetchmetrics.DOG_Location_Audit where id_location > 768 ; delete -from parts.DOG_Location +from fetchmetrics.DOG_Location where id_location > 768 ; delete -from parts.DOG_Location_Temp +from fetchmetrics.DOG_Location_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Location_Temp +from fetchmetrics.DOG_Location_Temp ; select COUNT(*) -from parts.DOG_Location_Temp +from fetchmetrics.DOG_Location_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Location +from fetchmetrics.DOG_Location ; select COUNT(*) -from parts.DOG_Location +from fetchmetrics.DOG_Location ; -INSERT INTO parts.DOG_Location_Temp ( +INSERT INTO fetchmetrics.DOG_Location_Temp ( id_location , id_location_parent , code @@ -564,7 +564,7 @@ VALUES ( , 'ripplesipplenippletippledipplekippsy' ); -CALL parts.p_dog_save_location ( +CALL fetchmetrics.p_dog_save_location ( 'nipples' , 'ripplesipplenippletippledipplekippsy' , 1 @@ -576,19 +576,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Location_Temp +from fetchmetrics.DOG_Location_Temp ; select COUNT(*) -from parts.DOG_Location_Temp +from fetchmetrics.DOG_Location_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Location +from fetchmetrics.DOG_Location ; select COUNT(*) -from parts.DOG_Location +from fetchmetrics.DOG_Location ; */ \ No newline at end of file diff --git a/static/MySQL/71220_p_dog_calc_button_shape.sql b/static/MySQL/71220_p_dog_calc_button_shape.sql index 0d55ba0..c581e51 100644 --- a/static/MySQL/71220_p_dog_calc_button_shape.sql +++ b/static/MySQL/71220_p_dog_calc_button_shape.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_button_shape; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_button_shape; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_button_shape ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_button_shape ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_button_shape BIT @@ -59,7 +59,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -74,7 +74,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Button_Shape; @@ -83,13 +83,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_button_shape := IFNULL(a_get_all_button_shape, 0); @@ -172,7 +172,7 @@ BEGIN -- Button_Shapes IF v_has_filter_button_shape_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_button_shape, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_button_shape, ',', a_debug); SET sql_mode = ''; @@ -183,17 +183,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_button_shape_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_button_shape, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_button_shape, ',', a_debug); SET sql_mode = ''; @@ -204,17 +204,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_button_shape_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_button_shape, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_button_shape, ',', a_debug); SET sql_mode = ''; @@ -225,20 +225,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Button_Shape t_SPLIT_ID - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BUTTON_SHAPES.id_button_shape) @@ -257,7 +257,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Button_Shape IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Button_Shape t_SPLIT_ID - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BUTTON_SHAPES.id_button_shape) @@ -279,18 +279,18 @@ BEGIN Button_Shape_Id_Filter AS ( SELECT BUTTON_SHAPES.id_button_shape FROM tmp_Split_Id_Calc_Button_Shape t_SPLIT_ID - INNER JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape + INNER JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON t_SPLIT_ID.as_int = BUTTON_SHAPES.id_button_shape ) , Button_Shape_Name_Filter AS ( SELECT BUTTON_SHAPES.id_button_shape FROM tmp_Split_Name_Calc_Button_Shape t_SPLIT_NAME - INNER JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON BUTTON_SHAPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON BUTTON_SHAPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Button_Shape_Notes_Filter AS ( SELECT BUTTON_SHAPES.id_button_shape FROM tmp_Split_Notes_Calc_Button_Shape t_SPLIT_NOTES - INNER JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON BUTTON_SHAPES.name LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON BUTTON_SHAPES.name LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL ) , Button_Shape_Filters AS ( @@ -337,7 +337,7 @@ BEGIN OR IFNULL(BUTTON_SHAPES_FILTERS.does_meet_name_filter, 0) = 1 OR IFNULL(BUTTON_SHAPES_FILTERS.does_meet_notes_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Button_Shape BUTTON_SHAPES + FROM fetchmetrics.DOG_Button_Shape BUTTON_SHAPES LEFT JOIN Button_Shape_Filters BUTTON_SHAPES_FILTERS ON BUTTON_SHAPES.id_button_shape = BUTTON_SHAPES_FILTERS.id_button_shape WHERE ( @@ -369,7 +369,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_BUTTON_SHAPES FROM tmp_Button_Shape_Calc_Button_Shape t_BUTTON_SHAPES WHERE @@ -424,7 +424,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -446,7 +446,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -473,7 +473,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -484,7 +484,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Button_Shape; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Button_Shape_Calc_Button_Shape; END IF; @@ -499,7 +499,7 @@ BEGIN -- Outputs START TRANSACTION; -- Button_Shapes - INSERT INTO parts.DOG_Button_Shape_Temp ( + INSERT INTO fetchmetrics.DOG_Button_Shape_Temp ( guid , id_button_shape , code @@ -520,7 +520,7 @@ BEGIN , t_BUTTON_SHAPES.does_meet_id_filters , t_BUTTON_SHAPES.does_meet_non_id_filters - FROM parts.DOG_Button_Shape BUTTON_SHAPES + FROM fetchmetrics.DOG_Button_Shape BUTTON_SHAPES INNER JOIN tmp_Button_Shape_Calc_Button_Shape t_BUTTON_SHAPES ON BUTTON_SHAPES.id_button_shape = t_BUTTON_SHAPES.id_button_shape ORDER BY BUTTON_SHAPES.name ; @@ -539,7 +539,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Button_Shape t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -547,7 +547,7 @@ BEGIN SELECT * FROM tmp_Button_Shape_Calc_Button_Shape; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Notes_Calc_Button_Shape; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Button_Shape; @@ -556,7 +556,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Button_Shape_Calc_Button_Shape; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -565,7 +565,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_button_shape ( +CALL fetchmetrics.p_dog_calc_button_shape ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_button_shape @@ -582,24 +582,24 @@ CALL parts.p_dog_calc_button_shape ( ); SELECT * -FROM parts.DOG_Button_Shape_Temp +FROM fetchmetrics.DOG_Button_Shape_Temp ; /* SELECT * -FROM parts.DOG_Button_Shape_Temp C +FROM fetchmetrics.DOG_Button_Shape_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_button_shape ( +CALL fetchmetrics.p_dog_clear_calc_button_shape ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Button_Shape_Temp +FROM fetchmetrics.DOG_Button_Shape_Temp ; */ diff --git a/static/MySQL/71220_p_dog_clear_calc_button_shape.sql b/static/MySQL/71220_p_dog_clear_calc_button_shape.sql index ec5a742..2962dff 100644 --- a/static/MySQL/71220_p_dog_clear_calc_button_shape.sql +++ b/static/MySQL/71220_p_dog_clear_calc_button_shape.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_button_shape; -DROP PROCEDURE IF EXISTS parts.p_button_shape_clear_calc_button_shape; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_button_shape; +DROP PROCEDURE IF EXISTS fetchmetrics.p_button_shape_clear_calc_button_shape; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_button_shape ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_button_shape ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE BUTTON_SHAPES_T - FROM parts.DOG_Button_Shape_Temp BUTTON_SHAPES_T + FROM fetchmetrics.DOG_Button_Shape_Temp BUTTON_SHAPES_T WHERE BUTTON_SHAPES_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_button_shape ( +CALL fetchmetrics.p_dog_clear_calc_button_shape ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71220_p_dog_get_many_button_shape.sql b/static/MySQL/71220_p_dog_get_many_button_shape.sql index fc1e7a9..267614f 100644 --- a/static/MySQL/71220_p_dog_get_many_button_shape.sql +++ b/static/MySQL/71220_p_dog_get_many_button_shape.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_button_shape; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_button_shape; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_button_shape ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_button_shape ( IN a_id_user INT , IN a_get_all_button_shape BIT , IN a_get_inactive_button_shape BIT @@ -55,7 +55,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -70,7 +70,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -80,10 +80,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -165,7 +165,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -187,7 +187,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -216,14 +216,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Button_Shape Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -242,7 +242,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_button_shape ( + CALL fetchmetrics.p_dog_calc_button_shape ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_button_shape -- a_get_all_button_shape @@ -259,8 +259,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Button_Shape_Temp; - SELECT * FROM parts.DOG_Button_Shape_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Button_Shape_Temp; + SELECT * FROM fetchmetrics.DOG_Button_Shape_Temp; END IF; INSERT INTO tmp_Button_Shape ( @@ -282,7 +282,7 @@ BEGIN , BUTTON_SHAPE_T.does_meet_id_filters , BUTTON_SHAPE_T.does_meet_non_id_filters - FROM parts.DOG_Button_Shape_Temp BUTTON_SHAPE_T + FROM fetchmetrics.DOG_Button_Shape_Temp BUTTON_SHAPE_T WHERE BUTTON_SHAPE_T.GUID = v_guid ; @@ -293,7 +293,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Button_Shape; END IF; @@ -314,7 +314,7 @@ BEGIN , t_BUTTON_SHAPES.does_meet_id_filters , t_BUTTON_SHAPES.does_meet_non_id_filters FROM tmp_Button_Shape t_BUTTON_SHAPES - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPES ON t_BUTTON_SHAPES.id_button_shape = BUTTON_SHAPES.id_button_shape + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPES ON t_BUTTON_SHAPES.id_button_shape = BUTTON_SHAPES.id_button_shape ORDER BY t_BUTTON_SHAPES.name ; @@ -330,14 +330,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Button_Shape; END IF; - CALL parts.p_dog_clear_calc_button_shape( + CALL fetchmetrics.p_dog_clear_calc_button_shape( v_guid -- a_guid , 0 -- a_debug ); @@ -346,7 +346,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Button_Shape; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -354,7 +354,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_button_shape ( +CALL fetchmetrics.p_dog_get_many_button_shape ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_button_shape , 0 -- a_get_inactive_button_shape diff --git a/static/MySQL/71224_p_dog_calc_colour.sql b/static/MySQL/71224_p_dog_calc_colour.sql index 2020a00..7838ced 100644 --- a/static/MySQL/71224_p_dog_calc_colour.sql +++ b/static/MySQL/71224_p_dog_calc_colour.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_colour; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_colour; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_colour ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_colour ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_colour BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Colour t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Colour; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_colour := IFNULL(a_get_all_colour, 0); @@ -160,7 +160,7 @@ BEGIN -- Colours IF v_has_filter_colour_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_colour, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_colour, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_colour_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_colour, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_colour, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Colour t_SPLIT_ID - LEFT JOIN parts.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour + LEFT JOIN fetchmetrics.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COLOURS.id_colour) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Colour IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Colour t_SPLIT_ID - LEFT JOIN parts.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour + LEFT JOIN fetchmetrics.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COLOURS.id_colour) @@ -246,12 +246,12 @@ BEGIN Colour_Id_Filter AS ( SELECT COLOURS.id_colour FROM tmp_Split_Id_Calc_Colour t_SPLIT_ID - INNER JOIN parts.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour + INNER JOIN fetchmetrics.DOG_Colour COLOURS ON t_SPLIT_ID.as_int = COLOURS.id_colour ) , Colour_Name_Filter AS ( SELECT COLOURS.id_colour FROM tmp_Split_Name_Calc_Colour t_SPLIT_NAME - INNER JOIN parts.DOG_Colour COLOURS ON COLOURS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Colour COLOURS ON COLOURS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Colour_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(COLOURS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Colour COLOURS + FROM fetchmetrics.DOG_Colour COLOURS LEFT JOIN Colour_Filters COLOURS_FILTERS ON COLOURS.id_colour = COLOURS_FILTERS.id_colour WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_COLOURS FROM tmp_Colour_Calc_Colour t_COLOURS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Colour; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Colour t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Colour_Calc_Colour; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Colours - INSERT INTO parts.DOG_Colour_Temp ( + INSERT INTO fetchmetrics.DOG_Colour_Temp ( guid , id_colour , code @@ -466,7 +466,7 @@ BEGIN , t_COLOURS.does_meet_id_filters , t_COLOURS.does_meet_non_id_filters - FROM parts.DOG_Colour COLOURS + FROM fetchmetrics.DOG_Colour COLOURS INNER JOIN tmp_Colour_Calc_Colour t_COLOURS ON COLOURS.id_colour = t_COLOURS.id_colour ORDER BY COLOURS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Colour t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Colour_Calc_Colour; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Colour; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Colour; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Colour_Calc_Colour; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_colour ( +CALL fetchmetrics.p_dog_calc_colour ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_colour @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_colour ( ); SELECT * -FROM parts.DOG_Colour_Temp +FROM fetchmetrics.DOG_Colour_Temp ; /* SELECT * -FROM parts.DOG_Colour_Temp C +FROM fetchmetrics.DOG_Colour_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_colour ( +CALL fetchmetrics.p_dog_clear_calc_colour ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Colour_Temp +FROM fetchmetrics.DOG_Colour_Temp ; */ diff --git a/static/MySQL/71224_p_dog_clear_calc_colour.sql b/static/MySQL/71224_p_dog_clear_calc_colour.sql index 1306eda..076eb91 100644 --- a/static/MySQL/71224_p_dog_clear_calc_colour.sql +++ b/static/MySQL/71224_p_dog_clear_calc_colour.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_colour; -DROP PROCEDURE IF EXISTS parts.p_colour_clear_calc_colour; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_colour; +DROP PROCEDURE IF EXISTS fetchmetrics.p_colour_clear_calc_colour; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_colour ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_colour ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE COLOURS_T - FROM parts.DOG_Colour_Temp COLOURS_T + FROM fetchmetrics.DOG_Colour_Temp COLOURS_T WHERE COLOURS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_colour ( +CALL fetchmetrics.p_dog_clear_calc_colour ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71224_p_dog_get_many_colour.sql b/static/MySQL/71224_p_dog_get_many_colour.sql index 02a1103..c66358b 100644 --- a/static/MySQL/71224_p_dog_get_many_colour.sql +++ b/static/MySQL/71224_p_dog_get_many_colour.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_colour; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_colour; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_colour ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_colour ( IN a_id_user INT , IN a_get_all_colour BIT , IN a_get_inactive_colour BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Colour Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_colour ( + CALL fetchmetrics.p_dog_calc_colour ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_colour -- a_get_all_colour @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Colour_Temp; - SELECT * FROM parts.DOG_Colour_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Colour_Temp; + SELECT * FROM fetchmetrics.DOG_Colour_Temp; END IF; INSERT INTO tmp_Colour ( @@ -274,7 +274,7 @@ BEGIN , COLOUR_T.does_meet_id_filters , COLOUR_T.does_meet_non_id_filters - FROM parts.DOG_Colour_Temp COLOUR_T + FROM fetchmetrics.DOG_Colour_Temp COLOUR_T WHERE COLOUR_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Colour; END IF; @@ -305,7 +305,7 @@ BEGIN , t_COLOURS.does_meet_id_filters , t_COLOURS.does_meet_non_id_filters FROM tmp_Colour t_COLOURS - LEFT JOIN parts.DOG_Colour COLOURS ON t_COLOURS.id_colour = COLOURS.id_colour + LEFT JOIN fetchmetrics.DOG_Colour COLOURS ON t_COLOURS.id_colour = COLOURS.id_colour ORDER BY t_COLOURS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Colour; END IF; - CALL parts.p_dog_clear_calc_colour( + CALL fetchmetrics.p_dog_clear_calc_colour( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Colour; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_colour ( +CALL fetchmetrics.p_dog_get_many_colour ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_colour , 0 -- a_get_inactive_colour diff --git a/static/MySQL/71228_p_dog_calc_image.sql b/static/MySQL/71228_p_dog_calc_image.sql index 70ce78f..3735f02 100644 --- a/static/MySQL/71228_p_dog_calc_image.sql +++ b/static/MySQL/71228_p_dog_calc_image.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_image; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_image; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_image ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_image ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_file_type BIT @@ -67,7 +67,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -82,7 +82,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Image t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Image; @@ -91,13 +91,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); -- SET a_get_all_dog := IFNULL(a_get_all_dog, 0); @@ -209,7 +209,7 @@ BEGIN -- File Types IF v_has_filter_file_type_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_file_type, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_file_type, ',', a_debug); SET sql_mode = ''; @@ -220,17 +220,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_file_type_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_file_type, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_file_type, ',', a_debug); SET sql_mode = ''; @@ -241,20 +241,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - LEFT JOIN parts.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type + LEFT JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(FILE_TYPES.id_file_type) @@ -273,7 +273,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive File_Type IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - LEFT JOIN parts.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type + LEFT JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(FILE_TYPES.id_file_type) @@ -292,12 +292,12 @@ BEGIN File_Type_Id_Filter AS ( SELECT FILE_TYPES.id_file_type FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - INNER JOIN parts.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type + INNER JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type ) , File_Type_Name_Filter AS ( SELECT FILE_TYPES.id_file_type FROM tmp_Split_Name_Calc_Image t_SPLIT_NAME - INNER JOIN parts.CORE_File_Type FILE_TYPES ON FILE_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON FILE_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , File_Type_Filters AS ( @@ -332,7 +332,7 @@ BEGIN ) OR FILE_TYPES_FILTERS.does_meet_name_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.CORE_File_Type FILE_TYPES + FROM fetchmetrics.CORE_File_Type FILE_TYPES LEFT JOIN File_Type_Filters FILE_TYPES_FILTERS ON FILE_TYPES.id_file_type = FILE_TYPES_FILTERS.id_file_type WHERE ( @@ -361,12 +361,12 @@ BEGIN File_Type_Id_Filter AS ( SELECT FILE_TYPES.id_file_type FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - INNER JOIN parts.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type + INNER JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON t_SPLIT_ID.as_int = FILE_TYPES.id_file_type ) , File_Type_Name_Filter AS ( SELECT FILE_TYPES.id_file_type FROM tmp_Split_Name_Calc_Image t_SPLIT_NAME - INNER JOIN parts.CORE_File_Type FILE_TYPES ON FILE_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.CORE_File_Type FILE_TYPES ON FILE_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -403,7 +403,7 @@ BEGIN ) OR IFNULL(FILE_TYPES_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.CORE_File_Type FILE_TYPES + FROM fetchmetrics.CORE_File_Type FILE_TYPES LEFT JOIN File_Type_Filters FILE_TYPES_FILTERS ON FILE_TYPES.id_file_type = FILE_TYPES_FILTERS.id_file_type WHERE ( @@ -430,7 +430,7 @@ BEGIN -- Call Dog Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -448,7 +448,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_dog( + CALL fetchmetrics.p_dog_calc_dog( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_dog -- a_get_all_dog @@ -484,7 +484,7 @@ BEGIN , DOG_T.does_meet_id_filters , DOG_T.does_meet_non_id_filters - FROM parts.DOG_Dog_Temp DOG_T + FROM fetchmetrics.DOG_Dog_Temp DOG_T WHERE DOG_T.GUID = a_guid ; @@ -496,7 +496,7 @@ BEGIN -- Images IF v_has_filter_image_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_image, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_image, ',', a_debug); SET sql_mode = ''; @@ -507,17 +507,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_image_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_image, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_image, ',', a_debug); SET sql_mode = ''; @@ -528,20 +528,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - LEFT JOIN parts.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image + LEFT JOIN fetchmetrics.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(IMAGES.id_image) @@ -560,7 +560,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Image IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - LEFT JOIN parts.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image + LEFT JOIN fetchmetrics.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(IMAGES.id_image) @@ -582,12 +582,12 @@ BEGIN Image_Id_Filter AS ( SELECT IMAGES.id_image FROM tmp_Split_Id_Calc_Image t_SPLIT_ID - INNER JOIN parts.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image + INNER JOIN fetchmetrics.DOG_Image IMAGES ON t_SPLIT_ID.as_int = IMAGES.id_image ) , Image_Name_Filter AS ( SELECT IMAGES.id_image FROM tmp_Split_Name_Calc_Image t_SPLIT_NAME - INNER JOIN parts.DOG_Image IMAGES ON IMAGES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Image IMAGES ON IMAGES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -624,7 +624,7 @@ BEGIN ) OR IFNULL(IMAGES_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Image IMAGES + FROM fetchmetrics.DOG_Image IMAGES INNER JOIN tmp_File_Type_Calc_Image t_FILE_TYPE ON IMAGES.id_file_type = t_FILE_TYPE.id_file_type LEFT JOIN tmp_Dog_Calc_Image t_DOG ON IMAGES.id_dog = t_DOG.id_dog LEFT JOIN Image_Filters IMAGES_FILTERS ON IMAGES.id_image = IMAGES_FILTERS.id_image @@ -657,7 +657,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_IMAGES FROM tmp_Image_Calc_Image t_IMAGES LEFT JOIN tmp_File_Type_Calc_Image t_FILE_TYPE ON t_IMAGES.id_file_type = t_FILE_TYPE.id_file_type @@ -717,7 +717,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -739,7 +739,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -766,7 +766,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -777,7 +777,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Image; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Image t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Image_Calc_Image; END IF; @@ -792,7 +792,7 @@ BEGIN -- Outputs START TRANSACTION; -- Images - INSERT INTO parts.DOG_Image_Temp ( + INSERT INTO fetchmetrics.DOG_Image_Temp ( guid , id_image , id_file_type @@ -815,7 +815,7 @@ BEGIN , t_IMAGES.does_meet_id_filters , t_IMAGES.does_meet_non_id_filters - FROM parts.DOG_Image IMAGES + FROM fetchmetrics.DOG_Image IMAGES INNER JOIN tmp_Image_Calc_Image t_IMAGES ON IMAGES.id_image = t_IMAGES.id_image ORDER BY IMAGES.name ; @@ -834,7 +834,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Image t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -842,7 +842,7 @@ BEGIN SELECT * FROM tmp_Image_Calc_Image; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Image; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Image; @@ -852,7 +852,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_File_Type_Calc_Image; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -861,7 +861,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_image ( +CALL fetchmetrics.p_dog_calc_image ( 'grope ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_file_type @@ -885,24 +885,24 @@ CALL parts.p_dog_calc_image ( ); SELECT * -FROM parts.DOG_Image_Temp +FROM fetchmetrics.DOG_Image_Temp ; /* SELECT * -FROM parts.DOG_Image_Temp C +FROM fetchmetrics.DOG_Image_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_image ( +CALL fetchmetrics.p_dog_clear_calc_image ( 'grope ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Image_Temp +FROM fetchmetrics.DOG_Image_Temp ; */ diff --git a/static/MySQL/71228_p_dog_clear_calc_image.sql b/static/MySQL/71228_p_dog_clear_calc_image.sql index 95d9b8d..023e4b8 100644 --- a/static/MySQL/71228_p_dog_clear_calc_image.sql +++ b/static/MySQL/71228_p_dog_clear_calc_image.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_image; -DROP PROCEDURE IF EXISTS parts.p_image_clear_calc_image; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_image; +DROP PROCEDURE IF EXISTS fetchmetrics.p_image_clear_calc_image; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_image ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_image ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE IMAGES_T - FROM parts.DOG_Image_Temp IMAGES_T + FROM fetchmetrics.DOG_Image_Temp IMAGES_T WHERE IMAGES_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_image ( +CALL fetchmetrics.p_dog_clear_calc_image ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71228_p_dog_get_many_image.sql b/static/MySQL/71228_p_dog_get_many_image.sql index 803b288..1544c1b 100644 --- a/static/MySQL/71228_p_dog_get_many_image.sql +++ b/static/MySQL/71228_p_dog_get_many_image.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_image; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_image; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_image ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_image ( IN a_id_user INT , IN a_get_all_file_type BIT , IN a_get_inactive_file_type BIT @@ -63,7 +63,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -78,7 +78,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -88,10 +88,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -190,7 +190,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -212,7 +212,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -241,14 +241,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Image Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -274,7 +274,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_image ( + CALL fetchmetrics.p_dog_calc_image ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_file_type -- a_get_all_file_type @@ -298,8 +298,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Image_Temp; - SELECT * FROM parts.DOG_Image_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Image_Temp; + SELECT * FROM fetchmetrics.DOG_Image_Temp; END IF; INSERT INTO tmp_Image ( @@ -323,7 +323,7 @@ BEGIN , IMAGE_T.does_meet_id_filters , IMAGE_T.does_meet_non_id_filters - FROM parts.DOG_Image_Temp IMAGE_T + FROM fetchmetrics.DOG_Image_Temp IMAGE_T WHERE IMAGE_T.GUID = v_guid ; @@ -334,7 +334,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Image; END IF; @@ -359,9 +359,9 @@ BEGIN , t_IMAGES.does_meet_id_filters , t_IMAGES.does_meet_non_id_filters FROM tmp_Image t_IMAGES - LEFT JOIN parts.DOG_Image IMAGES ON t_IMAGES.id_image = IMAGES.id_image - LEFT JOIN parts.CORE_File_Type FILE_TYPE ON IMAGES.id_file_type = FILE_TYPE.id_file_type - LEFT JOIN parts.DOG_Dog DOG ON IMAGES.id_dog = DOG.id_dog + LEFT JOIN fetchmetrics.DOG_Image IMAGES ON t_IMAGES.id_image = IMAGES.id_image + LEFT JOIN fetchmetrics.CORE_File_Type FILE_TYPE ON IMAGES.id_file_type = FILE_TYPE.id_file_type + LEFT JOIN fetchmetrics.DOG_Dog DOG ON IMAGES.id_dog = DOG.id_dog ORDER BY t_IMAGES.name ; END IF; @@ -378,14 +378,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Image; END IF; - CALL parts.p_dog_clear_calc_image( + CALL fetchmetrics.p_dog_clear_calc_image( v_guid -- a_guid , 0 -- a_debug ); @@ -394,7 +394,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Image; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -402,7 +402,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_image ( +CALL fetchmetrics.p_dog_get_many_image ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_file_type , 0 -- a_get_inactive_file_type diff --git a/static/MySQL/71232_p_dog_calc_button_icon.sql b/static/MySQL/71232_p_dog_calc_button_icon.sql index 2797433..1cc6554 100644 --- a/static/MySQL/71232_p_dog_calc_button_icon.sql +++ b/static/MySQL/71232_p_dog_calc_button_icon.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_button_icon; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_button_icon; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_button_icon ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_button_icon ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_file_type BIT @@ -69,7 +69,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -84,7 +84,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Button_Icon; @@ -93,13 +93,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -213,7 +213,7 @@ BEGIN SET v_has_filter_button_icon_notes = CASE WHEN a_notes_button_icon <> '' THEN 1 ELSE 0 END; -- Call Calc Images - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -239,7 +239,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_image ( + CALL fetchmetrics.p_dog_calc_image ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_file_type -- a_get_all_file_type @@ -283,7 +283,7 @@ BEGIN , IMAGES_T.does_meet_id_filters , IMAGES_T.does_meet_non_id_filters - FROM parts.DOG_Image_Temp IMAGES_T + FROM fetchmetrics.DOG_Image_Temp IMAGES_T WHERE IMAGES_T.GUID = a_guid ; @@ -294,7 +294,7 @@ BEGIN -- Button_Icons IF v_has_filter_button_icon_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_button_icon, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_button_icon, ',', a_debug); SET sql_mode = ''; @@ -305,17 +305,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_button_icon_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_button_icon, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_button_icon, ',', a_debug); SET sql_mode = ''; @@ -326,17 +326,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_button_icon_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_button_icon, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_button_icon, ',', a_debug); SET sql_mode = ''; @@ -347,20 +347,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Button_Icon t_SPLIT_ID - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BUTTON_ICON.id_button_icon) @@ -379,7 +379,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Button_Icon IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Button_Icon t_SPLIT_ID - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BUTTON_ICON.id_button_icon) @@ -398,12 +398,12 @@ BEGIN Button_Icon_Id_Filter AS ( SELECT BUTTON_ICON.id_button_icon FROM tmp_Split_Id_Calc_Button_Icon t_SPLIT_ID - INNER JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon + INNER JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon ) , Button_Icon_Name_Filter AS ( SELECT BUTTON_ICON.id_button_icon FROM tmp_Split_Name_Calc_Button_Icon t_SPLIT_NAME - INNER JOIN parts.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -411,7 +411,7 @@ BEGIN , Button_Icon_Notes_Filter AS ( SELECT BUTTON_ICON.id_button_icon FROM tmp_Split_Notes_Calc_Button_Icon t_SPLIT_NOTES - INNER JOIN parts.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -465,7 +465,7 @@ BEGIN OR BUTTON_ICON_FILTERS.does_meet_notes_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters , CASE WHEN t_IMAGE.id_image IS NOT NULL THEN 1 ELSE 0 END AS does_image_already_exist_in_temp_table - FROM parts.DOG_Button_Icon BUTTON_ICON + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICON LEFT JOIN tmp_Image_Calc_Button_Icon t_IMAGE ON BUTTON_ICON.id_image = t_IMAGE.id_image LEFT JOIN Button_Icon_Filters BUTTON_ICON_FILTERS ON BUTTON_ICON.id_button_icon = BUTTON_ICON_FILTERS.id_button_icon WHERE @@ -501,12 +501,12 @@ BEGIN Button_Icon_Id_Filter AS ( SELECT BUTTON_ICON.id_button_icon FROM tmp_Split_Id_Calc_Button_Icon t_SPLIT_ID - INNER JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon + INNER JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_SPLIT_ID.as_int = BUTTON_ICON.id_button_icon ) , Button_Icon_Name_Filter AS ( SELECT BUTTON_ICON.id_button_icon FROM tmp_Split_Name_Calc_Button_Icon t_SPLIT_NAME - INNER JOIN parts.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON BUTTON_ICON.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE t_SPLIT_NAME.substring IS NOT NULL AND t_SPLIT_NAME.substring <> '' @@ -565,7 +565,7 @@ BEGIN OR IFNULL(BUTTON_ICON_FILTERS.does_meet_notes_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters , CASE WHEN t_IMAGE.id_image IS NOT NULL THEN 1 ELSE 0 END AS does_image_already_exist_in_temp_table - FROM parts.DOG_Button_Icon BUTTON_ICON + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICON LEFT JOIN tmp_Image_Calc_Button_Icon t_IMAGE ON BUTTON_ICON.id_image = t_IMAGE.id_image LEFT JOIN Button_Icon_Filters BUTTON_ICON_FILTERS ON BUTTON_ICON.id_button_icon = BUTTON_ICON_FILTERS.id_button_icon WHERE @@ -603,7 +603,7 @@ BEGIN END IF; -- Missing Images - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_require_all_id_search_filters_met = 0 @@ -618,7 +618,7 @@ BEGIN IMAGE.id_image , 0 AS does_meet_id_filters , 0 AS does_meet_non_id_filters - FROM parts.DOG_Image IMAGE + FROM fetchmetrics.DOG_Image IMAGE INNER JOIN tmp_Button_Icon_Calc_Button_Icon t_BUTTON_ICON ON IMAGE.id_image = t_BUTTON_ICON.id_image AND t_BUTTON_ICON.does_image_already_exist_in_temp_table = 0 @@ -627,7 +627,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_BUTTON_ICON FROM tmp_Button_Icon_Calc_Button_Icon t_BUTTON_ICON LEFT JOIN tmp_Image_Calc_Button_Icon t_IMAGE ON t_BUTTON_ICON.id_image = t_IMAGE.id_image @@ -767,7 +767,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -789,7 +789,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -816,7 +816,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -828,7 +828,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Button_Icon; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Image_Calc_Button_Icon; SELECT * FROM tmp_Button_Icon_Calc_Button_Icon; @@ -845,7 +845,7 @@ BEGIN -- Outputs START TRANSACTION; -- Button_Icons - INSERT INTO parts.DOG_Button_Icon_Temp ( + INSERT INTO fetchmetrics.DOG_Button_Icon_Temp ( guid , id_button_icon , id_image @@ -868,7 +868,7 @@ BEGIN , t_BUTTON_ICON.does_meet_id_filters , t_BUTTON_ICON.does_meet_non_id_filters - FROM parts.DOG_Button_Icon BUTTON_ICON + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICON INNER JOIN tmp_Button_Icon_Calc_Button_Icon t_BUTTON_ICON ON BUTTON_ICON.id_button_icon = t_BUTTON_ICON.id_button_icon ; COMMIT; @@ -886,7 +886,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Button_Icon t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -903,7 +903,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Image_Calc_Button_Icon; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -912,7 +912,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_button_icon ( +CALL fetchmetrics.p_dog_calc_button_icon ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_file_type @@ -936,7 +936,7 @@ CALL parts.p_dog_calc_button_icon ( , 0 -- a_debug ); -CALL parts.p_dog_calc_button_icon ( +CALL fetchmetrics.p_dog_calc_button_icon ( 'slips ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_file_type @@ -960,16 +960,16 @@ CALL parts.p_dog_calc_button_icon ( , 0 -- a_debug ); SELECT * -FROM parts.DOG_Button_Icon_Temp +FROM fetchmetrics.DOG_Button_Icon_Temp ; -CALL parts.p_dog_clear_calc_button_icon ( +CALL fetchmetrics.p_dog_clear_calc_button_icon ( 'slips ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Button_Icon_Temp +FROM fetchmetrics.DOG_Button_Icon_Temp ; */ diff --git a/static/MySQL/71232_p_dog_clear_calc_button_icon.sql b/static/MySQL/71232_p_dog_clear_calc_button_icon.sql index d183874..902c66f 100644 --- a/static/MySQL/71232_p_dog_clear_calc_button_icon.sql +++ b/static/MySQL/71232_p_dog_clear_calc_button_icon.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_button_icon; -DROP PROCEDURE IF EXISTS parts.p_button_icon_clear_calc_button_icon; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_button_icon; +DROP PROCEDURE IF EXISTS fetchmetrics.p_button_icon_clear_calc_button_icon; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_button_icon ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_button_icon ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE BUTTON_ICONS_T - FROM parts.DOG_Button_Icon_Temp BUTTON_ICONS_T + FROM fetchmetrics.DOG_Button_Icon_Temp BUTTON_ICONS_T WHERE BUTTON_ICONS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_button_icon ( +CALL fetchmetrics.p_dog_clear_calc_button_icon ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71232_p_dog_get_many_button_icon.sql b/static/MySQL/71232_p_dog_get_many_button_icon.sql index 07a9885..5d36310 100644 --- a/static/MySQL/71232_p_dog_get_many_button_icon.sql +++ b/static/MySQL/71232_p_dog_get_many_button_icon.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_button_icon; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_button_icon; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_button_icon ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_button_icon ( IN a_id_user INT , IN a_get_all_file_type BIT , IN a_get_inactive_file_type BIT @@ -63,7 +63,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -78,7 +78,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -88,10 +88,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -190,7 +190,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -212,7 +212,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -241,14 +241,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Button_Icon Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -275,7 +275,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_button_icon ( + CALL fetchmetrics.p_dog_calc_button_icon ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_file_type -- a_get_all_file_type @@ -300,8 +300,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Button_Icon_Temp; - SELECT * FROM parts.DOG_Button_Icon_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Button_Icon_Temp; + SELECT * FROM fetchmetrics.DOG_Button_Icon_Temp; END IF; INSERT INTO tmp_Button_Icon ( @@ -325,7 +325,7 @@ BEGIN , BUTTON_ICON_T.does_meet_id_filters , BUTTON_ICON_T.does_meet_non_id_filters - FROM parts.DOG_Button_Icon_Temp BUTTON_ICON_T + FROM fetchmetrics.DOG_Button_Icon_Temp BUTTON_ICON_T WHERE BUTTON_ICON_T.GUID = v_guid ; @@ -336,7 +336,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Button_Icon; END IF; @@ -360,7 +360,7 @@ BEGIN , t_BUTTON_ICONS.does_meet_id_filters , t_BUTTON_ICONS.does_meet_non_id_filters FROM tmp_Button_Icon t_BUTTON_ICONS - LEFT JOIN parts.DOG_Image IMAGES ON t_BUTTON_ICONS.id_image = IMAGES.id_image + LEFT JOIN fetchmetrics.DOG_Image IMAGES ON t_BUTTON_ICONS.id_image = IMAGES.id_image ORDER BY t_BUTTON_ICONS.name ; @@ -376,14 +376,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Button_Icon; END IF; - CALL parts.p_dog_clear_calc_button_icon( + CALL fetchmetrics.p_dog_clear_calc_button_icon( v_guid -- a_guid , 0 -- a_debug ); @@ -392,7 +392,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Button_Icon; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -400,7 +400,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_button_icon ( +CALL fetchmetrics.p_dog_get_many_button_icon ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_file_type , 0 -- a_get_inactive_file_type diff --git a/static/MySQL/71234_p_dog_save_button_icon.sql b/static/MySQL/71234_p_dog_save_button_icon.sql index b8d524d..d679f9b 100644 --- a/static/MySQL/71234_p_dog_save_button_icon.sql +++ b/static/MySQL/71234_p_dog_save_button_icon.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_button_icon; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_button_icon; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_button_icon ( +CREATE PROCEDURE fetchmetrics.p_dog_save_button_icon ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Button_Icon_Copy; DROP TABLE IF EXISTS tmp_Button_Icon; @@ -137,8 +137,8 @@ BEGIN ) AS name , COALESCE(BUTTON_ICONS_T.active, 1) AS active , CASE WHEN COALESCE(BUTTON_ICONS.id_button_icon, BUTTON_ICONS_T.id_button_icon, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Button_Icon_Temp BUTTON_ICONS_T - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICONS + FROM fetchmetrics.DOG_Button_Icon_Temp BUTTON_ICONS_T + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICONS ON BUTTON_ICONS_T.id_button_icon = BUTTON_ICONS.id_button_icon OR ( BUTTON_ICONS_T.name = BUTTON_ICONS.name @@ -230,7 +230,7 @@ BEGIN BUTTON_ICONS.id_button_icon , BUTTON_ICONS.name , COALESCE(t_BUTTON_ICONS_COPY.name, t_BUTTON_ICONS_COPY.code, t_BUTTON_ICONS_COPY.id_button_icon, '(No Button_Icon)') AS name_error - FROM parts.DOG_Button_Icon BUTTON_ICONS + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICONS LEFT JOIN tmp_Button_Icon_Copy t_BUTTON_ICONS_COPY ON BUTTON_ICONS.name = t_BUTTON_ICONS_COPY.name WHERE t_BUTTON_ICONS_COPY.is_new = 1 UNION @@ -260,7 +260,7 @@ BEGIN BUTTON_ICONS.id_button_icon , BUTTON_ICONS.name , COALESCE(t_BUTTON_ICONS_COPY.name, t_BUTTON_ICONS_COPY.code, t_BUTTON_ICONS_COPY.id_button_icon, '(No Button_Icon)') AS name_error - FROM parts.DOG_Button_Icon BUTTON_ICONS + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICONS LEFT JOIN tmp_Button_Icon_Copy t_BUTTON_ICONS_COPY ON BUTTON_ICONS.name = t_BUTTON_ICONS_COPY.name WHERE t_BUTTON_ICONS_COPY.is_new = 1 UNION @@ -294,7 +294,7 @@ BEGIN BUTTON_ICONS.id_button_icon , BUTTON_ICONS.name , COALESCE(t_BUTTON_ICONS_COPY.name, t_BUTTON_ICONS_COPY.code, t_BUTTON_ICONS_COPY.id_button_icon, '(No Button_Icon)') AS name_error - FROM parts.DOG_Button_Icon BUTTON_ICONS + FROM fetchmetrics.DOG_Button_Icon BUTTON_ICONS LEFT JOIN tmp_Button_Icon_Copy t_BUTTON_ICONS_COPY ON BUTTON_ICONS.name = t_BUTTON_ICONS_COPY.name WHERE t_BUTTON_ICONS_COPY.is_new = 1 UNION @@ -324,7 +324,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -346,12 +346,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -374,7 +374,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Button_Icon; END IF; @@ -382,10 +382,10 @@ BEGIN DELETE FROM tmp_Button_Icon; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -399,7 +399,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Button_Icon BUTTON_ICONS + UPDATE fetchmetrics.DOG_Button_Icon BUTTON_ICONS INNER JOIN tmp_Button_Icon t_BUTTON_ICONS ON BUTTON_ICONS.id_button_icon = t_BUTTON_ICONS.id_button_icon AND t_BUTTON_ICONS.is_new = 0 @@ -411,7 +411,7 @@ BEGIN , BUTTON_ICONS.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Button_Icon ( + INSERT INTO fetchmetrics.DOG_Button_Icon ( id_image , code , name @@ -437,7 +437,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Button_Icon_Temp + DELETE FROM fetchmetrics.DOG_Button_Icon_Temp WHERE GUID = a_guid ; @@ -455,7 +455,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -466,7 +466,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -476,39 +476,39 @@ DELIMITER ; /* 'ripplesipplenippletippledippsykippsy' -DELETE FROM parts.DOG_Button_Icon WHERE id_button_icon > 740; +DELETE FROM fetchmetrics.DOG_Button_Icon WHERE id_button_icon > 740; * / delete -from parts.DOG_Button_Icon_Audit +from fetchmetrics.DOG_Button_Icon_Audit where id_button_icon > 768 ; delete -from parts.DOG_Button_Icon +from fetchmetrics.DOG_Button_Icon where id_button_icon > 768 ; delete -from parts.DOG_Button_Icon_Temp +from fetchmetrics.DOG_Button_Icon_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Button_Icon_Temp +from fetchmetrics.DOG_Button_Icon_Temp ; select COUNT(*) -from parts.DOG_Button_Icon_Temp +from fetchmetrics.DOG_Button_Icon_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Button_Icon +from fetchmetrics.DOG_Button_Icon ; select COUNT(*) -from parts.DOG_Button_Icon +from fetchmetrics.DOG_Button_Icon ; -INSERT INTO parts.DOG_Button_Icon_Temp ( +INSERT INTO fetchmetrics.DOG_Button_Icon_Temp ( id_button_icon , id_image , code @@ -525,7 +525,7 @@ VALUES ( , 'ripplesipplenippletippledippsykippsy' ); -CALL parts.p_dog_save_button_icon ( +CALL fetchmetrics.p_dog_save_button_icon ( 'nipples' , 'ripplesipplenippletippledippsykippsy' , 1 @@ -537,19 +537,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Button_Icon_Temp +from fetchmetrics.DOG_Button_Icon_Temp ; select COUNT(*) -from parts.DOG_Button_Icon_Temp +from fetchmetrics.DOG_Button_Icon_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Button_Icon +from fetchmetrics.DOG_Button_Icon ; select COUNT(*) -from parts.DOG_Button_Icon +from fetchmetrics.DOG_Button_Icon ; */ \ No newline at end of file diff --git a/static/MySQL/71238_p_dog_get_many_command_button_link.sql b/static/MySQL/71238_p_dog_get_many_command_button_link.sql index 39937e4..ff94e95 100644 --- a/static/MySQL/71238_p_dog_get_many_command_button_link.sql +++ b/static/MySQL/71238_p_dog_get_many_command_button_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_command_button_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_command_button_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_command_button_link ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_command_button_link ( IN a_id_user INT , IN a_get_all_link BIT , IN a_get_inactive_link BIT @@ -114,7 +114,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -129,7 +129,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -140,11 +140,11 @@ BEGIN SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; SET v_code_type_error_warning := 'WARNING'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_type_error_warning := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_warning LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_type_error_warning := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_warning LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_link := IFNULL(a_get_all_link, 0); @@ -389,7 +389,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -411,7 +411,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -438,14 +438,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Command Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -469,7 +469,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command ( + CALL fetchmetrics.p_dog_calc_command ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_category @@ -507,7 +507,7 @@ BEGIN , COMMAND_CATEGORY_T.does_meet_id_filters , COMMAND_CATEGORY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T WHERE COMMAND_CATEGORY_T.GUID = v_guid ; @@ -534,7 +534,7 @@ BEGIN , COMMAND_T.does_meet_id_filters , COMMAND_T.does_meet_non_id_filters - FROM parts.DOG_Command_Temp COMMAND_T + FROM fetchmetrics.DOG_Command_Temp COMMAND_T WHERE COMMAND_T.GUID = v_guid ; @@ -545,7 +545,7 @@ BEGIN END IF; -- Call Button_Shape Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -564,7 +564,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_button_shape( + CALL fetchmetrics.p_dog_calc_button_shape( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_button_shape -- a_get_all_button_shape @@ -599,7 +599,7 @@ BEGIN , BUTTON_SHAPE_T.does_meet_id_filters , BUTTON_SHAPE_T.does_meet_non_id_filters - FROM parts.DOG_Button_Shape_Temp BUTTON_SHAPE_T + FROM fetchmetrics.DOG_Button_Shape_Temp BUTTON_SHAPE_T WHERE BUTTON_SHAPE_T.GUID = v_guid ; @@ -609,7 +609,7 @@ BEGIN END IF; -- Call Colour Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -627,7 +627,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_colour( + CALL fetchmetrics.p_dog_calc_colour( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_colour -- a_get_all_colour @@ -659,7 +659,7 @@ BEGIN , COLOUR_T.does_meet_id_filters , COLOUR_T.does_meet_non_id_filters - FROM parts.DOG_Colour_Temp COLOUR_T + FROM fetchmetrics.DOG_Colour_Temp COLOUR_T WHERE COLOUR_T.GUID = v_guid ; @@ -669,7 +669,7 @@ BEGIN END IF; -- Call Button_Icon Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -696,7 +696,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_button_icon( + CALL fetchmetrics.p_dog_calc_button_icon( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_file_type @@ -745,8 +745,8 @@ BEGIN , BUTTON_ICON_T.does_meet_id_filters , BUTTON_ICON_T.does_meet_non_id_filters - FROM parts.DOG_Button_Icon_Temp BUTTON_ICON_T - LEFT JOIN parts.DOG_Image IMAGES ON BUTTON_ICON_T.id_image = IMAGES.id_image + FROM fetchmetrics.DOG_Button_Icon_Temp BUTTON_ICON_T + LEFT JOIN fetchmetrics.DOG_Image IMAGES ON BUTTON_ICON_T.id_image = IMAGES.id_image WHERE BUTTON_ICON_T.GUID = v_guid ; @@ -756,7 +756,7 @@ BEGIN END IF; -- Call Location Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -774,7 +774,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_location( + CALL fetchmetrics.p_dog_calc_location( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_location -- a_get_all_location @@ -808,7 +808,7 @@ BEGIN , LOCATION_T.does_meet_id_filters , LOCATION_T.does_meet_non_id_filters - FROM parts.DOG_Location_Temp LOCATION_T + FROM fetchmetrics.DOG_Location_Temp LOCATION_T WHERE LOCATION_T.GUID = v_guid ; @@ -818,9 +818,9 @@ BEGIN END IF; -- Command Button Links - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF v_has_filter_link_id = 1 THEN - CALL parts.p_core_split(v_guid, a_ids_link, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_ids_link, ',', a_debug); SET sql_mode = ''; @@ -831,13 +831,13 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; INSERT INTO tmp_Command_Button_Link ( @@ -856,7 +856,7 @@ BEGIN Link_Id_Filter AS ( SELECT COMMAND_BUTTON_LINK.id_link FROM tmp_Split_Id_Calc_Command_Button_Link t_SPLIT_ID - INNER JOIN parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK ON t_SPLIT_ID.as_int = COMMAND_BUTTON_LINK.id_link + INNER JOIN fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK ON t_SPLIT_ID.as_int = COMMAND_BUTTON_LINK.id_link ) , Link_Filters AS ( SELECT @@ -883,7 +883,7 @@ BEGIN OR IFNULL(LINK_FILTERS.does_meet_id_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_id_filters , 1 AS does_meet_non_id_filters - FROM parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK INNER JOIN tmp_Command t_COMMAND ON COMMAND_BUTTON_LINK.id_command = t_COMMAND.id_command INNER JOIN tmp_Button_Shape t_BUTTON_SHAPE ON COMMAND_BUTTON_LINK.id_button_shape = t_BUTTON_SHAPE.id_button_shape INNER JOIN tmp_Colour t_COLOUR ON COMMAND_BUTTON_LINK.id_button_colour = t_COLOUR.id_colour @@ -919,7 +919,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_COMMAND_BUTTON_LINK FROM tmp_Command_Button_Link t_COMMAND_BUTTON_LINK LEFT JOIN tmp_Command t_COMMAND ON t_COMMAND_BUTTON_LINK.id_command = t_COMMAND.id_command @@ -988,7 +988,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command; SELECT * FROM tmp_Command_Category; @@ -1042,7 +1042,7 @@ BEGIN , t_BUTTON_ICON.does_meet_non_id_filters AS does_meet_button_icon_non_id_search_filters , t_LOCATIONS.does_meet_id_filters AS does_meet_location_id_search_filters , t_LOCATIONS.does_meet_non_id_filters AS does_meet_location_non_id_search_filters - FROM parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK INNER JOIN tmp_Command_Button_Link t_COMMAND_BUTTON_LINK ON COMMAND_BUTTON_LINK.id_link = t_COMMAND_BUTTON_LINK.id_link LEFT JOIN tmp_Command t_COMMAND ON t_COMMAND_BUTTON_LINK.id_command = t_COMMAND.id_command LEFT JOIN tmp_Command_Category t_COMMAND_CATEGORY ON t_COMMAND.id_command_category = t_COMMAND_CATEGORY.id_command_category @@ -1071,7 +1071,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN @@ -1084,11 +1084,11 @@ BEGIN SELECT * FROM tmp_Command_Button_Link; END IF; - CALL parts.p_dog_clear_calc_command ( v_guid, 0 ); - CALL parts.p_dog_clear_calc_button_shape ( v_guid, 0 ); - CALL parts.p_dog_clear_calc_colour ( v_guid, 0 ); - CALL parts.p_dog_clear_calc_button_icon ( v_guid, 0 ); - CALL parts.p_dog_clear_calc_location ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_command ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_button_shape ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_colour ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_button_icon ( v_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_location ( v_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Command_Button_Link; DROP TEMPORARY TABLE IF EXISTS tmp_Msg_Error; @@ -1101,7 +1101,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command_Button_Link; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1109,7 +1109,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_command_button_link ( +CALL fetchmetrics.p_dog_get_many_command_button_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link @@ -1157,7 +1157,7 @@ CALL parts.p_dog_get_many_command_button_link ( , 0 -- a_debug ); -CALL parts.p_dog_get_many_command_button_link ( +CALL fetchmetrics.p_dog_get_many_command_button_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link diff --git a/static/MySQL/71240_p_dog_save_command_button_link.sql b/static/MySQL/71240_p_dog_save_command_button_link.sql index 6c4c66b..559277f 100644 --- a/static/MySQL/71240_p_dog_save_command_button_link.sql +++ b/static/MySQL/71240_p_dog_save_command_button_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_command_button_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_command_button_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_command_button_link ( +CREATE PROCEDURE fetchmetrics.p_dog_save_command_button_link ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Command_Button_Link_Copy; DROP TABLE IF EXISTS tmp_Command_Button_Link; @@ -148,8 +148,8 @@ BEGIN ) AS id_location , COALESCE(COMMAND_BUTTON_LINK_T.active, 1) AS active , CASE WHEN COALESCE(COMMAND_BUTTON_LINK.id_link, COMMAND_BUTTON_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Command_Button_Link_Temp COMMAND_BUTTON_LINK_T - LEFT JOIN parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link_Temp COMMAND_BUTTON_LINK_T + LEFT JOIN fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK ON COMMAND_BUTTON_LINK_T.id_link = COMMAND_BUTTON_LINK.id_link OR ( COMMAND_BUTTON_LINK_T.id_command = COMMAND_BUTTON_LINK.id_command @@ -172,11 +172,11 @@ BEGIN -- Error names UPDATE tmp_Command_Button_Link t_COMMAND_BUTTON_LINK - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK.id_button_shape = BUTTON_SHAPE.id_button_shape - LEFT JOIN parts.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK.id_button_colour = COLOUR.id_colour - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK.id_button_icon = BUTTON_ICON.id_button_icon - LEFT JOIN parts.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK.id_button_shape = BUTTON_SHAPE.id_button_shape + LEFT JOIN fetchmetrics.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK.id_button_colour = COLOUR.id_colour + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK.id_button_icon = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK.id_location = LOCATIONS.id_location SET t_COMMAND_BUTTON_LINK.name_error = CONCAT( COALESCE(COMMAND.name, t_COMMAND_BUTTON_LINK.id_command, '(No Command)') , ' - ' @@ -218,7 +218,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Command Link(s) do not have a valid Command: ', GROUP_CONCAT(t_COMMAND_BUTTON_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Command_Button_Link t_COMMAND_BUTTON_LINK - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK.id_command = COMMAND.id_command WHERE ISNULL(t_COMMAND_BUTTON_LINK.id_command) OR ISNULL(COMMAND.id_command) @@ -245,7 +245,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Button_Shape Link(s) do not have a valid Button_Shape: ', GROUP_CONCAT(t_COMMAND_BUTTON_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Command_Button_Link t_COMMAND_BUTTON_LINK - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK.id_button_shape = BUTTON_SHAPE.id_button_shape + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK.id_button_shape = BUTTON_SHAPE.id_button_shape WHERE ISNULL(t_COMMAND_BUTTON_LINK.id_button_shape) OR ISNULL(BUTTON_SHAPE.id_button_shape) @@ -272,7 +272,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Colour Link(s) do not have a valid Colour: ', GROUP_CONCAT(t_COMMAND_BUTTON_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Command_Button_Link t_COMMAND_BUTTON_LINK - LEFT JOIN parts.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK.id_button_colour = COLOUR.id_colour + LEFT JOIN fetchmetrics.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK.id_button_colour = COLOUR.id_colour WHERE ISNULL(t_COMMAND_BUTTON_LINK.id_button_colour) OR ISNULL(COLOUR.id_colour) @@ -299,7 +299,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Location Link(s) do not have a valid Location: ', GROUP_CONCAT(t_COMMAND_BUTTON_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Command_Button_Link t_COMMAND_BUTTON_LINK - LEFT JOIN parts.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK.id_location = LOCATIONS.id_location WHERE ISNULL(t_COMMAND_BUTTON_LINK.id_location) OR ISNULL(LOCATIONS.id_location) @@ -361,15 +361,15 @@ BEGIN , COALESCE(LOCATIONS.name, t_COMMAND_BUTTON_LINK_COPY.id_location, '(No Location)') ) ) AS name_error - FROM parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK LEFT JOIN tmp_Command_Button_Link_Copy t_COMMAND_BUTTON_LINK_COPY ON COMMAND_BUTTON_LINK.id_command = t_COMMAND_BUTTON_LINK_COPY.id_command AND COMMAND_BUTTON_LINK.id_location = t_COMMAND_BUTTON_LINK_COPY.id_location - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape - LEFT JOIN parts.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon - LEFT JOIN parts.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape + LEFT JOIN fetchmetrics.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location WHERE t_COMMAND_BUTTON_LINK_COPY.is_new = 1 UNION SELECT @@ -422,15 +422,15 @@ BEGIN , COALESCE(LOCATIONS.name, t_COMMAND_BUTTON_LINK_COPY.id_location, '(No Location)') ) ) AS name_error - FROM parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK LEFT JOIN tmp_Command_Button_Link_Copy t_COMMAND_BUTTON_LINK_COPY ON COMMAND_BUTTON_LINK.id_command = t_COMMAND_BUTTON_LINK_COPY.id_command AND COMMAND_BUTTON_LINK.id_location = t_COMMAND_BUTTON_LINK_COPY.id_location - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape - LEFT JOIN parts.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon - LEFT JOIN parts.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape + LEFT JOIN fetchmetrics.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location WHERE t_COMMAND_BUTTON_LINK_COPY.is_new = 1 UNION SELECT @@ -490,15 +490,15 @@ BEGIN , COALESCE(LOCATIONS.name, t_COMMAND_BUTTON_LINK_COPY.id_location, '(No Location)') ) ) AS name_error - FROM parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + FROM fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK LEFT JOIN tmp_Command_Button_Link_Copy t_COMMAND_BUTTON_LINK_COPY ON COMMAND_BUTTON_LINK.id_command = t_COMMAND_BUTTON_LINK_COPY.id_command AND COMMAND_BUTTON_LINK.id_location = t_COMMAND_BUTTON_LINK_COPY.id_location - LEFT JOIN parts.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape - LEFT JOIN parts.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour - LEFT JOIN parts.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon - LEFT JOIN parts.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_COMMAND_BUTTON_LINK_COPY.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Button_Shape BUTTON_SHAPE ON t_COMMAND_BUTTON_LINK_COPY.id_button_shape = BUTTON_SHAPE.id_button_shape + LEFT JOIN fetchmetrics.DOG_Colour COLOUR ON t_COMMAND_BUTTON_LINK_COPY.id_button_colour = COLOUR.id_colour + LEFT JOIN fetchmetrics.DOG_Button_Icon BUTTON_ICON ON t_COMMAND_BUTTON_LINK_COPY.id_button_icon = BUTTON_ICON.id_button_icon + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_COMMAND_BUTTON_LINK_COPY.id_location = LOCATIONS.id_location WHERE t_COMMAND_BUTTON_LINK_COPY.is_new = 1 UNION SELECT @@ -538,7 +538,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -560,12 +560,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -588,7 +588,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Command_Button_Link; END IF; @@ -596,10 +596,10 @@ BEGIN DELETE FROM tmp_Command_Button_Link; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -613,7 +613,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Command_Button_Link COMMAND_BUTTON_LINK + UPDATE fetchmetrics.DOG_Command_Button_Link COMMAND_BUTTON_LINK INNER JOIN tmp_Command_Button_Link t_COMMAND_BUTTON_LINK ON COMMAND_BUTTON_LINK.id_link = t_COMMAND_BUTTON_LINK.id_link AND t_COMMAND_BUTTON_LINK.is_new = 0 @@ -627,7 +627,7 @@ BEGIN , COMMAND_BUTTON_LINK.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Command_Button_Link ( + INSERT INTO fetchmetrics.DOG_Command_Button_Link ( id_command , id_button_shape , id_button_colour @@ -657,7 +657,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Command_Button_Link_Temp + DELETE FROM fetchmetrics.DOG_Command_Button_Link_Temp WHERE GUID = a_guid ; @@ -675,7 +675,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -686,7 +686,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -704,39 +704,39 @@ SELECT * FROM demo.DOG_Location; 'ripplysipplenippletippledipplekipple' -DELETE FROM parts.DOG_Command_Button_Link WHERE id_link > 740; +DELETE FROM fetchmetrics.DOG_Command_Button_Link WHERE id_link > 740; * / delete -from parts.DOG_Command_Button_Link_Audit +from fetchmetrics.DOG_Command_Button_Link_Audit where id_link > 768 ; delete -from parts.DOG_Command_Button_Link +from fetchmetrics.DOG_Command_Button_Link where id_link > 768 ; delete -from parts.DOG_Command_Button_Link_Temp +from fetchmetrics.DOG_Command_Button_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Button_Link_Temp +from fetchmetrics.DOG_Command_Button_Link_Temp ; select COUNT(*) -from parts.DOG_Command_Button_Link_Temp +from fetchmetrics.DOG_Command_Button_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Button_Link +from fetchmetrics.DOG_Command_Button_Link ; select COUNT(*) -from parts.DOG_Command_Button_Link +from fetchmetrics.DOG_Command_Button_Link ; -INSERT INTO parts.DOG_Command_Button_Link_Temp ( +INSERT INTO fetchmetrics.DOG_Command_Button_Link_Temp ( id_link , id_command , id_button_shape @@ -757,7 +757,7 @@ VALUES ( , 'ripplysipplenippletippledipplekipple' ); -CALL parts.p_dog_save_command_button_link ( +CALL fetchmetrics.p_dog_save_command_button_link ( 'nipples' , 'ripplysipplenippletippledipplekipple' , 1 @@ -769,19 +769,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Command_Button_Link_Temp +from fetchmetrics.DOG_Command_Button_Link_Temp ; select COUNT(*) -from parts.DOG_Command_Button_Link_Temp +from fetchmetrics.DOG_Command_Button_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Command_Button_Link +from fetchmetrics.DOG_Command_Button_Link ; select COUNT(*) -from parts.DOG_Command_Button_Link +from fetchmetrics.DOG_Command_Button_Link ; */ \ No newline at end of file diff --git a/static/MySQL/71300_p_dog_calc_weather.sql b/static/MySQL/71300_p_dog_calc_weather.sql index 7261a7f..c4f3eef 100644 --- a/static/MySQL/71300_p_dog_calc_weather.sql +++ b/static/MySQL/71300_p_dog_calc_weather.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_weather; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_weather; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_weather ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_weather ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_weather BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Weather t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Weather; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_weather := IFNULL(a_get_all_weather, 0); @@ -160,7 +160,7 @@ BEGIN -- Weathers IF v_has_filter_weather_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_weather, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_weather, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_weather_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_weather, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_weather, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Weather t_SPLIT_ID - LEFT JOIN parts.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather + LEFT JOIN fetchmetrics.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(WEATHERS.id_weather) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Weather IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Weather t_SPLIT_ID - LEFT JOIN parts.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather + LEFT JOIN fetchmetrics.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(WEATHERS.id_weather) @@ -246,12 +246,12 @@ BEGIN Weather_Id_Filter AS ( SELECT WEATHERS.id_weather FROM tmp_Split_Id_Calc_Weather t_SPLIT_ID - INNER JOIN parts.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather + INNER JOIN fetchmetrics.DOG_Weather WEATHERS ON t_SPLIT_ID.as_int = WEATHERS.id_weather ) , Weather_Name_Filter AS ( SELECT WEATHERS.id_weather FROM tmp_Split_Name_Calc_Weather t_SPLIT_NAME - INNER JOIN parts.DOG_Weather WEATHERS ON WEATHERS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Weather WEATHERS ON WEATHERS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Weather_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(WEATHERS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Weather WEATHERS + FROM fetchmetrics.DOG_Weather WEATHERS LEFT JOIN Weather_Filters WEATHERS_FILTERS ON WEATHERS.id_weather = WEATHERS_FILTERS.id_weather WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_WEATHERS FROM tmp_Weather_Calc_Weather t_WEATHERS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Weather; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Weather t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Weather_Calc_Weather; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Weathers - INSERT INTO parts.DOG_Weather_Temp ( + INSERT INTO fetchmetrics.DOG_Weather_Temp ( guid , id_weather , code @@ -466,7 +466,7 @@ BEGIN , t_WEATHERS.does_meet_id_filters , t_WEATHERS.does_meet_non_id_filters - FROM parts.DOG_Weather WEATHERS + FROM fetchmetrics.DOG_Weather WEATHERS INNER JOIN tmp_Weather_Calc_Weather t_WEATHERS ON WEATHERS.id_weather = t_WEATHERS.id_weather ORDER BY WEATHERS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Weather t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Weather_Calc_Weather; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Weather; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Weather; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Weather_Calc_Weather; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_weather ( +CALL fetchmetrics.p_dog_calc_weather ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_weather @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_weather ( ); SELECT * -FROM parts.DOG_Weather_Temp +FROM fetchmetrics.DOG_Weather_Temp ; /* SELECT * -FROM parts.DOG_Weather_Temp C +FROM fetchmetrics.DOG_Weather_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_weather ( +CALL fetchmetrics.p_dog_clear_calc_weather ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Weather_Temp +FROM fetchmetrics.DOG_Weather_Temp ; */ diff --git a/static/MySQL/71300_p_dog_clear_calc_weather.sql b/static/MySQL/71300_p_dog_clear_calc_weather.sql index 52a726e..0cbdac7 100644 --- a/static/MySQL/71300_p_dog_clear_calc_weather.sql +++ b/static/MySQL/71300_p_dog_clear_calc_weather.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_weather; -DROP PROCEDURE IF EXISTS parts.p_weather_clear_calc_weather; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_weather; +DROP PROCEDURE IF EXISTS fetchmetrics.p_weather_clear_calc_weather; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_weather ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_weather ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE WEATHERS_T - FROM parts.DOG_Weather_Temp WEATHERS_T + FROM fetchmetrics.DOG_Weather_Temp WEATHERS_T WHERE WEATHERS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_weather ( +CALL fetchmetrics.p_dog_clear_calc_weather ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71300_p_dog_get_many_weather.sql b/static/MySQL/71300_p_dog_get_many_weather.sql index aa28d7a..c3f26cc 100644 --- a/static/MySQL/71300_p_dog_get_many_weather.sql +++ b/static/MySQL/71300_p_dog_get_many_weather.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_weather; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_weather; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_weather ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_weather ( IN a_id_user INT , IN a_get_all_weather BIT , IN a_get_inactive_weather BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Weather Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_weather ( + CALL fetchmetrics.p_dog_calc_weather ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_weather -- a_get_all_weather @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Weather_Temp; - SELECT * FROM parts.DOG_Weather_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Weather_Temp; + SELECT * FROM fetchmetrics.DOG_Weather_Temp; END IF; INSERT INTO tmp_Weather ( @@ -274,7 +274,7 @@ BEGIN , WEATHER_T.does_meet_id_filters , WEATHER_T.does_meet_non_id_filters - FROM parts.DOG_Weather_Temp WEATHER_T + FROM fetchmetrics.DOG_Weather_Temp WEATHER_T WHERE WEATHER_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Weather; END IF; @@ -305,7 +305,7 @@ BEGIN , t_WEATHERS.does_meet_id_filters , t_WEATHERS.does_meet_non_id_filters FROM tmp_Weather t_WEATHERS - LEFT JOIN parts.DOG_Weather WEATHERS ON t_WEATHERS.id_weather = WEATHERS.id_weather + LEFT JOIN fetchmetrics.DOG_Weather WEATHERS ON t_WEATHERS.id_weather = WEATHERS.id_weather ORDER BY t_WEATHERS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Weather; END IF; - CALL parts.p_dog_clear_calc_weather( + CALL fetchmetrics.p_dog_clear_calc_weather( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Weather; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_weather ( +CALL fetchmetrics.p_dog_get_many_weather ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_weather , 0 -- a_get_inactive_weather diff --git a/static/MySQL/71304_p_dog_calc_lighting_level.sql b/static/MySQL/71304_p_dog_calc_lighting_level.sql index ab6f7d9..8b33b8c 100644 --- a/static/MySQL/71304_p_dog_calc_lighting_level.sql +++ b/static/MySQL/71304_p_dog_calc_lighting_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_lighting_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_lighting_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_lighting_level ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_lighting_level ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_lighting_level BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Lighting_Level; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_lighting_level := IFNULL(a_get_all_lighting_level, 0); @@ -160,7 +160,7 @@ BEGIN -- Lighting_Levels IF v_has_filter_lighting_level_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_lighting_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_lighting_level, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_lighting_level_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_lighting_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_lighting_level, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Lighting_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level + LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(LIGHTING_LEVELS.id_lighting_level) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Lighting_Level IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Lighting_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level + LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(LIGHTING_LEVELS.id_lighting_level) @@ -246,12 +246,12 @@ BEGIN Lighting_Level_Id_Filter AS ( SELECT LIGHTING_LEVELS.id_lighting_level FROM tmp_Split_Id_Calc_Lighting_Level t_SPLIT_ID - INNER JOIN parts.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level + INNER JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS ON t_SPLIT_ID.as_int = LIGHTING_LEVELS.id_lighting_level ) , Lighting_Level_Name_Filter AS ( SELECT LIGHTING_LEVELS.id_lighting_level FROM tmp_Split_Name_Calc_Lighting_Level t_SPLIT_NAME - INNER JOIN parts.DOG_Lighting_Level LIGHTING_LEVELS ON LIGHTING_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS ON LIGHTING_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Lighting_Level_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(LIGHTING_LEVELS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Lighting_Level LIGHTING_LEVELS + FROM fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS LEFT JOIN Lighting_Level_Filters LIGHTING_LEVELS_FILTERS ON LIGHTING_LEVELS.id_lighting_level = LIGHTING_LEVELS_FILTERS.id_lighting_level WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_LIGHTING_LEVELS FROM tmp_Lighting_Level_Calc_Lighting_Level t_LIGHTING_LEVELS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Lighting_Level_Calc_Lighting_Level; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Lighting_Levels - INSERT INTO parts.DOG_Lighting_Level_Temp ( + INSERT INTO fetchmetrics.DOG_Lighting_Level_Temp ( guid , id_lighting_level , code @@ -466,7 +466,7 @@ BEGIN , t_LIGHTING_LEVELS.does_meet_id_filters , t_LIGHTING_LEVELS.does_meet_non_id_filters - FROM parts.DOG_Lighting_Level LIGHTING_LEVELS + FROM fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS INNER JOIN tmp_Lighting_Level_Calc_Lighting_Level t_LIGHTING_LEVELS ON LIGHTING_LEVELS.id_lighting_level = t_LIGHTING_LEVELS.id_lighting_level ORDER BY LIGHTING_LEVELS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Lighting_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Lighting_Level_Calc_Lighting_Level; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Lighting_Level; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Lighting_Level; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Lighting_Level_Calc_Lighting_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_lighting_level ( +CALL fetchmetrics.p_dog_calc_lighting_level ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_lighting_level @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_lighting_level ( ); SELECT * -FROM parts.DOG_Lighting_Level_Temp +FROM fetchmetrics.DOG_Lighting_Level_Temp ; /* SELECT * -FROM parts.DOG_Lighting_Level_Temp C +FROM fetchmetrics.DOG_Lighting_Level_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_lighting_level ( +CALL fetchmetrics.p_dog_clear_calc_lighting_level ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Lighting_Level_Temp +FROM fetchmetrics.DOG_Lighting_Level_Temp ; */ diff --git a/static/MySQL/71304_p_dog_clear_calc_lighting_level.sql b/static/MySQL/71304_p_dog_clear_calc_lighting_level.sql index cf40498..c74c943 100644 --- a/static/MySQL/71304_p_dog_clear_calc_lighting_level.sql +++ b/static/MySQL/71304_p_dog_clear_calc_lighting_level.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_lighting_level; -DROP PROCEDURE IF EXISTS parts.p_lighting_level_clear_calc_lighting_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_lighting_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_lighting_level_clear_calc_lighting_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_lighting_level ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_lighting_level ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE LIGHTING_LEVELS_T - FROM parts.DOG_Lighting_Level_Temp LIGHTING_LEVELS_T + FROM fetchmetrics.DOG_Lighting_Level_Temp LIGHTING_LEVELS_T WHERE LIGHTING_LEVELS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_lighting_level ( +CALL fetchmetrics.p_dog_clear_calc_lighting_level ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71304_p_dog_get_many_lighting_level.sql b/static/MySQL/71304_p_dog_get_many_lighting_level.sql index ace8739..422a9e4 100644 --- a/static/MySQL/71304_p_dog_get_many_lighting_level.sql +++ b/static/MySQL/71304_p_dog_get_many_lighting_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_lighting_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_lighting_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_lighting_level ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_lighting_level ( IN a_id_user INT , IN a_get_all_lighting_level BIT , IN a_get_inactive_lighting_level BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Lighting_Level Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_lighting_level ( + CALL fetchmetrics.p_dog_calc_lighting_level ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_lighting_level -- a_get_all_lighting_level @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Lighting_Level_Temp; - SELECT * FROM parts.DOG_Lighting_Level_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Lighting_Level_Temp; + SELECT * FROM fetchmetrics.DOG_Lighting_Level_Temp; END IF; INSERT INTO tmp_Lighting_Level ( @@ -274,7 +274,7 @@ BEGIN , LIGHTING_LEVEL_T.does_meet_id_filters , LIGHTING_LEVEL_T.does_meet_non_id_filters - FROM parts.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T + FROM fetchmetrics.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T WHERE LIGHTING_LEVEL_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Lighting_Level; END IF; @@ -305,7 +305,7 @@ BEGIN , t_LIGHTING_LEVELS.does_meet_id_filters , t_LIGHTING_LEVELS.does_meet_non_id_filters FROM tmp_Lighting_Level t_LIGHTING_LEVELS - LEFT JOIN parts.DOG_Lighting_Level LIGHTING_LEVELS ON t_LIGHTING_LEVELS.id_lighting_level = LIGHTING_LEVELS.id_lighting_level + LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVELS ON t_LIGHTING_LEVELS.id_lighting_level = LIGHTING_LEVELS.id_lighting_level ORDER BY t_LIGHTING_LEVELS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Lighting_Level; END IF; - CALL parts.p_dog_clear_calc_lighting_level( + CALL fetchmetrics.p_dog_clear_calc_lighting_level( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Lighting_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_lighting_level ( +CALL fetchmetrics.p_dog_get_many_lighting_level ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_lighting_level , 0 -- a_get_inactive_lighting_level diff --git a/static/MySQL/71308_p_dog_calc_assessment.sql b/static/MySQL/71308_p_dog_calc_assessment.sql index ee76f00..bd1d2d3 100644 --- a/static/MySQL/71308_p_dog_calc_assessment.sql +++ b/static/MySQL/71308_p_dog_calc_assessment.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_assessment; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_assessment ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_assessment BIT @@ -79,7 +79,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -94,7 +94,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Assessment t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment; @@ -103,13 +103,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_assessment := IFNULL(a_get_all_assessment, 0); @@ -260,7 +260,7 @@ BEGIN SET v_has_filter_assessment_temperature_max := NOT ISNULL(a_max_temperature_assessment); -- Call Calc Weather - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -278,7 +278,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_weather ( + CALL fetchmetrics.p_dog_calc_weather ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_weather -- a_get_all_weather @@ -310,7 +310,7 @@ BEGIN , WEATHER_T.does_meet_id_filters , WEATHER_T.does_meet_non_id_filters - FROM parts.DOG_Weather_Temp WEATHER_T + FROM fetchmetrics.DOG_Weather_Temp WEATHER_T WHERE WEATHER_T.GUID = a_guid ; @@ -320,7 +320,7 @@ BEGIN END IF; -- Call Calc Lighting_Level - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -338,7 +338,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_lighting_level ( + CALL fetchmetrics.p_dog_calc_lighting_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_lighting_level -- a_get_all_lighting_level @@ -370,7 +370,7 @@ BEGIN , LIGHTING_LEVEL_T.does_meet_id_filters , LIGHTING_LEVEL_T.does_meet_non_id_filters - FROM parts.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T + FROM fetchmetrics.DOG_Lighting_Level_Temp LIGHTING_LEVEL_T WHERE LIGHTING_LEVEL_T.GUID = a_guid ; @@ -380,7 +380,7 @@ BEGIN END IF; -- Call Calc Location - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -398,7 +398,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_location ( + CALL fetchmetrics.p_dog_calc_location ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_location -- a_get_all_location @@ -430,7 +430,7 @@ BEGIN , LOCATION_T.does_meet_id_filters , LOCATION_T.does_meet_non_id_filters - FROM parts.DOG_Location_Temp LOCATION_T + FROM fetchmetrics.DOG_Location_Temp LOCATION_T WHERE LOCATION_T.GUID = a_guid ; @@ -440,7 +440,7 @@ BEGIN END IF; -- Call Calc User - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -461,7 +461,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user ( + CALL fetchmetrics.p_dog_calc_user ( a_guid -- a_guid , a_get_all_user_handler -- a_get_all_user , a_get_inactive_user_handler -- a_get_inactive_user @@ -506,7 +506,7 @@ BEGIN , CALC_USER_T.does_meet_id_filters , CALC_USER_T.does_meet_non_id_filters - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid ; @@ -517,7 +517,7 @@ BEGIN -- Assessments IF v_has_filter_assessment_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_assessment, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_assessment, ',', a_debug); SET sql_mode = ''; @@ -528,17 +528,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_assessment_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_assessment, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_assessment, ',', a_debug); SET sql_mode = ''; @@ -549,20 +549,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT.id_assessment) @@ -581,7 +581,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Assessment IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT.id_assessment) @@ -600,12 +600,12 @@ BEGIN Assessment_Id_Filter AS ( SELECT ASSESSMENT.id_assessment FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID - INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment ) , Assessment_Notes_Filter AS ( SELECT ASSESSMENT.id_assessment FROM tmp_Split_Notes_Calc_Assessment t_SPLIT_NOTES - INNER JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -665,7 +665,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment ASSESSMENT + FROM fetchmetrics.DOG_Assessment ASSESSMENT LEFT JOIN Assessment_Filters ASSESSMENT_FILTERS ON ASSESSMENT.id_assessment = ASSESSMENT_FILTERS.id_assessment WHERE ( @@ -709,12 +709,12 @@ BEGIN Assessment_Id_Filter AS ( SELECT ASSESSMENT.id_assessment FROM tmp_Split_Id_Calc_Assessment t_SPLIT_ID - INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_SPLIT_ID.as_int = ASSESSMENT.id_assessment ) , Assessment_Notes_Filter AS ( SELECT ASSESSMENT.id_assessment FROM tmp_Split_Notes_Calc_Assessment t_SPLIT_NOTES - INNER JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -774,7 +774,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment ASSESSMENT + FROM fetchmetrics.DOG_Assessment ASSESSMENT LEFT JOIN Assessment_Filters ASSESSMENT_FILTERS ON ASSESSMENT.id_assessment = ASSESSMENT_FILTERS.id_assessment WHERE ( @@ -813,7 +813,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_ASSESSMENT FROM tmp_Assessment_Calc_Assessment t_ASSESSMENT LEFT JOIN tmp_Weather_Calc_Assessment t_WEATHER ON t_ASSESSMENT.id_weather = t_WEATHER.id_weather @@ -891,7 +891,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -913,7 +913,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -940,7 +940,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -955,7 +955,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Assessment; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Weather_Calc_Assessment; SELECT * FROM tmp_Lighting_Level_Calc_Assessment; @@ -978,7 +978,7 @@ BEGIN -- Outputs START TRANSACTION; -- Assessments - INSERT INTO parts.DOG_Assessment_Temp ( + INSERT INTO fetchmetrics.DOG_Assessment_Temp ( guid , id_assessment , id_weather @@ -1005,7 +1005,7 @@ BEGIN , t_ASSESSMENT.does_meet_id_filters , t_ASSESSMENT.does_meet_non_id_filters - FROM parts.DOG_Assessment ASSESSMENT + FROM fetchmetrics.DOG_Assessment ASSESSMENT INNER JOIN tmp_Assessment_Calc_Assessment t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment ; COMMIT; @@ -1023,7 +1023,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Assessment t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -1043,7 +1043,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Image_Calc_Assessment; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1051,7 +1051,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_assessment ( +CALL fetchmetrics.p_dog_calc_assessment ( 'slippery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_assessment @@ -1086,7 +1086,7 @@ CALL parts.p_dog_calc_assessment ( , 0 -- a_debug ); -CALL parts.p_dog_calc_assessment ( +CALL fetchmetrics.p_dog_calc_assessment ( 'slippery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_assessment @@ -1119,14 +1119,14 @@ CALL parts.p_dog_calc_assessment ( , 0 -- a_debug ); SELECT * -FROM parts.DOG_Assessment_Temp +FROM fetchmetrics.DOG_Assessment_Temp ; -CALL parts.p_dog_clear_calc_assessment ( +CALL fetchmetrics.p_dog_clear_calc_assessment ( 'slippery ' -- a_guid , 1 -- debug ); --- DELETE FROM parts.DOG_Assessment_Temp; +-- DELETE FROM fetchmetrics.DOG_Assessment_Temp; */ diff --git a/static/MySQL/71308_p_dog_clear_calc_assessment.sql b/static/MySQL/71308_p_dog_clear_calc_assessment.sql index 0a171d0..f5dc853 100644 --- a/static/MySQL/71308_p_dog_clear_calc_assessment.sql +++ b/static/MySQL/71308_p_dog_clear_calc_assessment.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_assessment; -DROP PROCEDURE IF EXISTS parts.p_assessment_clear_calc_assessment; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment; +DROP PROCEDURE IF EXISTS fetchmetrics.p_assessment_clear_calc_assessment; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_assessment ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE ASSESSMENTS_T - FROM parts.DOG_Assessment_Temp ASSESSMENTS_T + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENTS_T WHERE ASSESSMENTS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_assessment ( +CALL fetchmetrics.p_dog_clear_calc_assessment ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71308_p_dog_get_many_assessment.sql b/static/MySQL/71308_p_dog_get_many_assessment.sql index fb3c52b..1b29fea 100644 --- a/static/MySQL/71308_p_dog_get_many_assessment.sql +++ b/static/MySQL/71308_p_dog_get_many_assessment.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_assessment; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_assessment ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment ( IN a_id_user INT , IN a_get_all_assessment BIT , IN a_get_inactive_assessment BIT @@ -74,7 +74,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -89,7 +89,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -99,10 +99,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* filters handled by Calc Stored Procedure @@ -197,7 +197,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -219,7 +219,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -248,14 +248,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Assessment Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -293,7 +293,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment ( + CALL fetchmetrics.p_dog_calc_assessment ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_assessment -- a_get_all_assessment @@ -329,8 +329,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Assessment_Temp; - SELECT * FROM parts.DOG_Assessment_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Assessment_Temp; + SELECT * FROM fetchmetrics.DOG_Assessment_Temp; END IF; INSERT INTO tmp_Assessment ( @@ -359,7 +359,7 @@ BEGIN , ASSESSMENT_T.does_meet_id_filters , ASSESSMENT_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Temp ASSESSMENT_T + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T WHERE ASSESSMENT_T.GUID = v_guid ; @@ -370,7 +370,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment; END IF; @@ -410,14 +410,14 @@ BEGIN , t_USER_HANDLER.does_meet_non_id_filters_user_handler */ FROM tmp_Assessment t_ASSESSMENT - INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment - LEFT JOIN parts.DOG_Weather WEATHER ON t_ASSESSMENT.id_weather = WEATHER.id_weather + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Weather WEATHER ON t_ASSESSMENT.id_weather = WEATHER.id_weather -- LEFT JOIN tmp_Weather t_WEATHER ON t_ASSESSMENT.id_weather = t_WEATHER.id_weather - LEFT JOIN parts.DOG_Lighting_Level LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level + LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level -- LEFT JOIN tmp_Lighting_Level t_LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level - LEFT JOIN parts.DOG_Location LOCATIONS ON t_ASSESSMENT.id_location = LOCATIONS.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATIONS ON t_ASSESSMENT.id_location = LOCATIONS.id_location -- LEFT JOIN tmp_Location t_LOCATIONS ON t_ASSESSMENT.id_location = t_LOCATIONS.id_location - LEFT JOIN parts.DOG_User USER ON t_ASSESSMENT.id_user_handler = USER.id_user + LEFT JOIN fetchmetrics.DOG_User USER ON t_ASSESSMENT.id_user_handler = USER.id_user -- LEFT JOIN tmp_User t_USER_HANDLER ON t_ASSESSMENT.id_user_handler = t_USER_HANDLER.id_user ORDER BY ASSESSMENT.created_on DESC LIMIT 1000 @@ -435,14 +435,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Assessment; END IF; - CALL parts.p_dog_clear_calc_assessment( + CALL fetchmetrics.p_dog_clear_calc_assessment( v_guid -- a_guid , 0 -- a_debug ); @@ -451,7 +451,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -459,7 +459,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_assessment ( +CALL fetchmetrics.p_dog_get_many_assessment ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_assessment , 0 -- a_get_inactive_assessment diff --git a/static/MySQL/71310_p_dog_save_assessment.sql b/static/MySQL/71310_p_dog_save_assessment.sql index 63ed91c..c73210d 100644 --- a/static/MySQL/71310_p_dog_save_assessment.sql +++ b/static/MySQL/71310_p_dog_save_assessment.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_assessment ( +CREATE PROCEDURE fetchmetrics.p_dog_save_assessment ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,11 +61,11 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; START TRANSACTION; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -87,11 +87,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Assessment_Copy; DROP TABLE IF EXISTS tmp_Assessment; @@ -172,8 +172,8 @@ BEGIN , ASSESSMENT_T.difficulty_level , COALESCE(ASSESSMENT_T.active, 1) AS active , CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Temp ASSESSMENT_T - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment WHERE ASSESSMENT_T.guid = a_guid ; @@ -185,7 +185,7 @@ BEGIN -- Error names UPDATE tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_assessment = ASSESSMENT.id_assessment SET t_ASSESSMENT.name_error = CONCAT( CONVERT(COALESCE(ASSESSMENT.created_on, v_time_start), CHAR) , CASE WHEN t_ASSESSMENT.notes IS NOT NULL THEN CONCAT(' - ', t_ASSESSMENT.notes) ELSE '' END @@ -232,7 +232,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Weather Assessment(s) do not have a valid Weather: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_Weather WEATHER ON t_ASSESSMENT.id_weather = WEATHER.id_weather + LEFT JOIN fetchmetrics.DOG_Weather WEATHER ON t_ASSESSMENT.id_weather = WEATHER.id_weather WHERE ISNULL(t_ASSESSMENT.id_weather) OR ISNULL(WEATHER.id_weather) @@ -259,7 +259,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Lighting_Level Assessment(s) do not have a valid Lighting_Level: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_Lighting_Level LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level + LEFT JOIN fetchmetrics.DOG_Lighting_Level LIGHTING_LEVEL ON t_ASSESSMENT.id_lighting_level = LIGHTING_LEVEL.id_lighting_level WHERE ISNULL(t_ASSESSMENT.id_lighting_level) OR ISNULL(LIGHTING_LEVEL.id_lighting_level) @@ -286,7 +286,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Location Assessment(s) do not have a valid Location: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_Location LOCATION ON t_ASSESSMENT.id_location = LOCATION.id_location + LEFT JOIN fetchmetrics.DOG_Location LOCATION ON t_ASSESSMENT.id_location = LOCATION.id_location WHERE ISNULL(t_ASSESSMENT.id_location) OR ISNULL(LOCATION.id_location) @@ -313,7 +313,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog User_Handler Assessment(s) do not have a valid User_Handler: ', GROUP_CONCAT(t_ASSESSMENT.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment t_ASSESSMENT - LEFT JOIN parts.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user + LEFT JOIN fetchmetrics.DOG_User USER_HANDLER ON t_ASSESSMENT.id_user_handler = USER_HANDLER.id_user WHERE ISNULL(t_ASSESSMENT.id_user_handler) OR ISNULL(USER_HANDLER.id_user) @@ -323,7 +323,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -345,12 +345,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -373,7 +373,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Assessment; END IF; @@ -381,10 +381,10 @@ BEGIN DELETE FROM tmp_Assessment; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -398,7 +398,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Assessment ASSESSMENT + UPDATE fetchmetrics.DOG_Assessment ASSESSMENT INNER JOIN tmp_Assessment t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment AND t_ASSESSMENT.is_new = 0 @@ -414,7 +414,7 @@ BEGIN , ASSESSMENT.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Assessment ( + INSERT INTO fetchmetrics.DOG_Assessment ( id_temp , id_weather , id_lighting_level @@ -445,7 +445,7 @@ BEGIN AND t_ASSESSMENT.active = 1 ; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -464,7 +464,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Assessment_Temp + DELETE FROM fetchmetrics.DOG_Assessment_Temp WHERE GUID = a_guid ; @@ -482,7 +482,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -493,7 +493,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -503,39 +503,39 @@ DELIMITER ; /* 'ripplesipplenippletippledipplekipple' -DELETE FROM parts.DOG_Assessment WHERE id_assessment > 740; +DELETE FROM fetchmetrics.DOG_Assessment WHERE id_assessment > 740; * / delete -from parts.DOG_Assessment_Audit +from fetchmetrics.DOG_Assessment_Audit where id_assessment > 768 ; delete -from parts.DOG_Assessment +from fetchmetrics.DOG_Assessment where id_assessment > 768 ; delete -from parts.DOG_Assessment_Temp +from fetchmetrics.DOG_Assessment_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Temp +from fetchmetrics.DOG_Assessment_Temp ; select COUNT(*) -from parts.DOG_Assessment_Temp +from fetchmetrics.DOG_Assessment_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment +from fetchmetrics.DOG_Assessment ; select COUNT(*) -from parts.DOG_Assessment +from fetchmetrics.DOG_Assessment ; -INSERT INTO parts.DOG_Assessment_Temp ( +INSERT INTO fetchmetrics.DOG_Assessment_Temp ( id_assessment , id_dog , id_command @@ -554,7 +554,7 @@ VALUES ( , 'ripplesipplenippletippledipplekipple' ); -CALL parts.p_dog_save_assessment ( +CALL fetchmetrics.p_dog_save_assessment ( 'nipples' , 'ripplesipplenippletippledipplekipple' , 1 @@ -566,19 +566,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Temp +from fetchmetrics.DOG_Assessment_Temp ; select COUNT(*) -from parts.DOG_Assessment_Temp +from fetchmetrics.DOG_Assessment_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment +from fetchmetrics.DOG_Assessment ; select COUNT(*) -from parts.DOG_Assessment +from fetchmetrics.DOG_Assessment ; */ \ No newline at end of file diff --git a/static/MySQL/71312_p_dog_calc_distraction_type.sql b/static/MySQL/71312_p_dog_calc_distraction_type.sql index ccbee6a..7da7334 100644 --- a/static/MySQL/71312_p_dog_calc_distraction_type.sql +++ b/static/MySQL/71312_p_dog_calc_distraction_type.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_distraction_type; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_distraction_type; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_distraction_type ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_distraction_type ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_distraction_type BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Distraction_Type; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_distraction_type := IFNULL(a_get_all_distraction_type, 0); @@ -160,7 +160,7 @@ BEGIN -- Distraction_Types IF v_has_filter_distraction_type_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_distraction_type, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_distraction_type, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_distraction_type_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_distraction_type, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_distraction_type, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Distraction_Type t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION_TYPES.id_type) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Distraction_Type IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Distraction_Type t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION_TYPES.id_type) @@ -246,12 +246,12 @@ BEGIN Distraction_Type_Id_Filter AS ( SELECT DISTRACTION_TYPES.id_type FROM tmp_Split_Id_Calc_Distraction_Type t_SPLIT_ID - INNER JOIN parts.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type + INNER JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES ON t_SPLIT_ID.as_int = DISTRACTION_TYPES.id_type ) , Distraction_Type_Name_Filter AS ( SELECT DISTRACTION_TYPES.id_type FROM tmp_Split_Name_Calc_Distraction_Type t_SPLIT_NAME - INNER JOIN parts.DOG_Distraction_Type DISTRACTION_TYPES ON DISTRACTION_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES ON DISTRACTION_TYPES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Distraction_Type_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(DISTRACTION_TYPES_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Distraction_Type DISTRACTION_TYPES + FROM fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES LEFT JOIN Distraction_Type_Filters DISTRACTION_TYPES_FILTERS ON DISTRACTION_TYPES.id_type = DISTRACTION_TYPES_FILTERS.id_type WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_DISTRACTION_TYPES FROM tmp_Distraction_Type_Calc_Distraction_Type t_DISTRACTION_TYPES WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Distraction_Type_Calc_Distraction_Type; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Distraction_Types - INSERT INTO parts.DOG_Distraction_Type_Temp ( + INSERT INTO fetchmetrics.DOG_Distraction_Type_Temp ( guid , id_type , code @@ -466,7 +466,7 @@ BEGIN , t_DISTRACTION_TYPES.does_meet_id_filters , t_DISTRACTION_TYPES.does_meet_non_id_filters - FROM parts.DOG_Distraction_Type DISTRACTION_TYPES + FROM fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES INNER JOIN tmp_Distraction_Type_Calc_Distraction_Type t_DISTRACTION_TYPES ON DISTRACTION_TYPES.id_type = t_DISTRACTION_TYPES.id_type ORDER BY DISTRACTION_TYPES.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction_Type t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Distraction_Type_Calc_Distraction_Type; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Distraction_Type; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Distraction_Type; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Type_Calc_Distraction_Type; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_distraction_type ( +CALL fetchmetrics.p_dog_calc_distraction_type ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction_type @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_distraction_type ( ); SELECT * -FROM parts.DOG_Distraction_Type_Temp +FROM fetchmetrics.DOG_Distraction_Type_Temp ; /* SELECT * -FROM parts.DOG_Distraction_Type_Temp C +FROM fetchmetrics.DOG_Distraction_Type_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_distraction_type ( +CALL fetchmetrics.p_dog_clear_calc_distraction_type ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Distraction_Type_Temp +FROM fetchmetrics.DOG_Distraction_Type_Temp ; */ diff --git a/static/MySQL/71312_p_dog_clear_calc_distraction_type.sql b/static/MySQL/71312_p_dog_clear_calc_distraction_type.sql index 533873f..79cf134 100644 --- a/static/MySQL/71312_p_dog_clear_calc_distraction_type.sql +++ b/static/MySQL/71312_p_dog_clear_calc_distraction_type.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_distraction_type; -DROP PROCEDURE IF EXISTS parts.p_distraction_type_clear_calc_distraction_type; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_distraction_type; +DROP PROCEDURE IF EXISTS fetchmetrics.p_distraction_type_clear_calc_distraction_type; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_distraction_type ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_distraction_type ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE DISTRACTION_TYPES_T - FROM parts.DOG_Distraction_Type_Temp DISTRACTION_TYPES_T + FROM fetchmetrics.DOG_Distraction_Type_Temp DISTRACTION_TYPES_T WHERE DISTRACTION_TYPES_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_distraction_type ( +CALL fetchmetrics.p_dog_clear_calc_distraction_type ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71312_p_dog_get_many_distraction_type.sql b/static/MySQL/71312_p_dog_get_many_distraction_type.sql index 161b96e..2e6b33d 100644 --- a/static/MySQL/71312_p_dog_get_many_distraction_type.sql +++ b/static/MySQL/71312_p_dog_get_many_distraction_type.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_distraction_type; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_distraction_type; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_distraction_type ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_distraction_type ( IN a_id_user INT , IN a_get_all_distraction_type BIT , IN a_get_inactive_distraction_type BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Distraction_Type Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_type ( + CALL fetchmetrics.p_dog_calc_distraction_type ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_distraction_type -- a_get_all_distraction_type @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Distraction_Type_Temp; - SELECT * FROM parts.DOG_Distraction_Type_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Distraction_Type_Temp; + SELECT * FROM fetchmetrics.DOG_Distraction_Type_Temp; END IF; INSERT INTO tmp_Distraction_Type ( @@ -274,7 +274,7 @@ BEGIN , DISTRACTION_TYPE_T.does_meet_id_filters , DISTRACTION_TYPE_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Type_Temp DISTRACTION_TYPE_T + FROM fetchmetrics.DOG_Distraction_Type_Temp DISTRACTION_TYPE_T WHERE DISTRACTION_TYPE_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Distraction_Type; END IF; @@ -305,7 +305,7 @@ BEGIN , t_DISTRACTION_TYPES.does_meet_id_filters , t_DISTRACTION_TYPES.does_meet_non_id_filters FROM tmp_Distraction_Type t_DISTRACTION_TYPES - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPES ON t_DISTRACTION_TYPES.id_type = DISTRACTION_TYPES.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPES ON t_DISTRACTION_TYPES.id_type = DISTRACTION_TYPES.id_type ORDER BY t_DISTRACTION_TYPES.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Distraction_Type; END IF; - CALL parts.p_dog_clear_calc_distraction_type( + CALL fetchmetrics.p_dog_clear_calc_distraction_type( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Type; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_distraction_type ( +CALL fetchmetrics.p_dog_get_many_distraction_type ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction_type , 0 -- a_get_inactive_distraction_type diff --git a/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql b/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql index a07a81c..e2ae6f0 100644 --- a/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql +++ b/static/MySQL/71316_p_dog_calc_distraction_intensity_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_distraction_intensity_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_distraction_intensity_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_distraction_intensity_level ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_distraction_intensity_level ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_distraction_intensity_level BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Distraction_Intensity_Level; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_distraction_intensity_level := IFNULL(a_get_all_distraction_intensity_level, 0); @@ -160,7 +160,7 @@ BEGIN -- Distraction_Intensity_Levels IF v_has_filter_distraction_intensity_level_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_distraction_intensity_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_distraction_intensity_level, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_distraction_intensity_level_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_distraction_intensity_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_distraction_intensity_level, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Distraction_Intensity_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION_INTENSITY_LEVELS.id_intensity_level) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Distraction_Intensity_Level IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Distraction_Intensity_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION_INTENSITY_LEVELS.id_intensity_level) @@ -246,12 +246,12 @@ BEGIN Distraction_Intensity_Level_Id_Filter AS ( SELECT DISTRACTION_INTENSITY_LEVELS.id_intensity_level FROM tmp_Split_Id_Calc_Distraction_Intensity_Level t_SPLIT_ID - INNER JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level + INNER JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_SPLIT_ID.as_int = DISTRACTION_INTENSITY_LEVELS.id_intensity_level ) , Distraction_Intensity_Level_Name_Filter AS ( SELECT DISTRACTION_INTENSITY_LEVELS.id_intensity_level FROM tmp_Split_Name_Calc_Distraction_Intensity_Level t_SPLIT_NAME - INNER JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON DISTRACTION_INTENSITY_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON DISTRACTION_INTENSITY_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Distraction_Intensity_Level_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(DISTRACTION_INTENSITY_LEVELS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS + FROM fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS LEFT JOIN Distraction_Intensity_Level_Filters DISTRACTION_INTENSITY_LEVELS_FILTERS ON DISTRACTION_INTENSITY_LEVELS.id_intensity_level = DISTRACTION_INTENSITY_LEVELS_FILTERS.id_intensity_level WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_DISTRACTION_INTENSITY_LEVELS FROM tmp_Distraction_Intensity_Level_Calc_Distraction_Intensity_Level t_DISTRACTION_INTENSITY_LEVELS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Distraction_Intensity_Level_Calc_Distraction_Intensity_Level; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Distraction_Intensity_Levels - INSERT INTO parts.DOG_Distraction_Intensity_Level_Temp ( + INSERT INTO fetchmetrics.DOG_Distraction_Intensity_Level_Temp ( guid , id_intensity_level , code @@ -466,7 +466,7 @@ BEGIN , t_DISTRACTION_INTENSITY_LEVELS.does_meet_id_filters , t_DISTRACTION_INTENSITY_LEVELS.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS + FROM fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS INNER JOIN tmp_Distraction_Intensity_Level_Calc_Distraction_Intensity_Level t_DISTRACTION_INTENSITY_LEVELS ON DISTRACTION_INTENSITY_LEVELS.id_intensity_level = t_DISTRACTION_INTENSITY_LEVELS.id_intensity_level ORDER BY DISTRACTION_INTENSITY_LEVELS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction_Intensity_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Distraction_Intensity_Level_Calc_Distraction_Intensity_Level; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Distraction_Intensity_Level; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Distraction_Intensity_Level; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Intensity_Level_Calc_Distraction_Intensity_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_distraction_intensity_level ( +CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction_intensity_level @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_distraction_intensity_level ( ); SELECT * -FROM parts.DOG_Distraction_Intensity_Level_Temp +FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp ; /* SELECT * -FROM parts.DOG_Distraction_Intensity_Level_Temp C +FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_distraction_intensity_level ( +CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Distraction_Intensity_Level_Temp +FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp ; */ diff --git a/static/MySQL/71316_p_dog_clear_calc_distraction_intensity_level.sql b/static/MySQL/71316_p_dog_clear_calc_distraction_intensity_level.sql index 55ae165..0c9bb96 100644 --- a/static/MySQL/71316_p_dog_clear_calc_distraction_intensity_level.sql +++ b/static/MySQL/71316_p_dog_clear_calc_distraction_intensity_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_distraction_intensity_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_distraction_intensity_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_distraction_intensity_level ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE DISTRACTION_INTENSITY_LEVELS_T - FROM parts.DOG_Distraction_Intensity_Level_Temp DISTRACTION_INTENSITY_LEVELS_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp DISTRACTION_INTENSITY_LEVELS_T WHERE DISTRACTION_INTENSITY_LEVELS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_distraction_intensity_level ( +CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql b/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql index 1268075..9138044 100644 --- a/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql +++ b/static/MySQL/71316_p_dog_get_many_distraction_intensity_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_distraction_intensity_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_distraction_intensity_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_distraction_intensity_level ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_distraction_intensity_level ( IN a_id_user INT , IN a_get_all_distraction_intensity_level BIT , IN a_get_inactive_distraction_intensity_level BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Distraction_Intensity_Level Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_distraction_intensity_level -- a_get_all_distraction_intensity_level @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Distraction_Intensity_Level_Temp; - SELECT * FROM parts.DOG_Distraction_Intensity_Level_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp; + SELECT * FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp; END IF; INSERT INTO tmp_Distraction_Intensity_Level ( @@ -274,7 +274,7 @@ BEGIN , DISTRACTION_INTENSITY_LEVEL_T.does_meet_id_filters , DISTRACTION_INTENSITY_LEVEL_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp DISTRACTION_INTENSITY_LEVEL_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp DISTRACTION_INTENSITY_LEVEL_T WHERE DISTRACTION_INTENSITY_LEVEL_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Distraction_Intensity_Level; END IF; @@ -305,7 +305,7 @@ BEGIN , t_DISTRACTION_INTENSITY_LEVELS.does_meet_id_filters , t_DISTRACTION_INTENSITY_LEVELS.does_meet_non_id_filters FROM tmp_Distraction_Intensity_Level t_DISTRACTION_INTENSITY_LEVELS - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_DISTRACTION_INTENSITY_LEVELS.id_intensity_level = DISTRACTION_INTENSITY_LEVELS.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVELS ON t_DISTRACTION_INTENSITY_LEVELS.id_intensity_level = DISTRACTION_INTENSITY_LEVELS.id_intensity_level ORDER BY t_DISTRACTION_INTENSITY_LEVELS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Distraction_Intensity_Level; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Distraction_Intensity_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_distraction_intensity_level ( +CALL fetchmetrics.p_dog_get_many_distraction_intensity_level ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction_intensity_level , 0 -- a_get_inactive_distraction_intensity_level diff --git a/static/MySQL/71320_p_dog_calc_distraction.sql b/static/MySQL/71320_p_dog_calc_distraction.sql index 0431e2b..0158b79 100644 --- a/static/MySQL/71320_p_dog_calc_distraction.sql +++ b/static/MySQL/71320_p_dog_calc_distraction.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_distraction; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_distraction; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_distraction ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_distraction ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_distraction BIT @@ -113,7 +113,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -128,7 +128,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Distraction; @@ -137,13 +137,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_distraction := IFNULL(a_get_all_distraction, 0); @@ -364,7 +364,7 @@ BEGIN SET v_has_filter_distraction_proximity_metres_max := NOT ISNULL(a_max_proximity_metres_distraction); -- Call Calc Assessment - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -402,7 +402,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment ( + CALL fetchmetrics.p_dog_calc_assessment ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_assessment -- a_get_all_assessment @@ -461,7 +461,7 @@ BEGIN , ASSESSMENT_T.does_meet_id_filters , ASSESSMENT_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Temp ASSESSMENT_T + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T WHERE ASSESSMENT_T.GUID = a_guid ; @@ -471,7 +471,7 @@ BEGIN END IF; -- Call Calc Distraction Type - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -489,7 +489,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_type ( + CALL fetchmetrics.p_dog_calc_distraction_type ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_distraction_type -- a_get_all_distraction_type @@ -521,7 +521,7 @@ BEGIN , DISTRACTION_TYPE_T.does_meet_id_filters , DISTRACTION_TYPE_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Type_Temp DISTRACTION_TYPE_T + FROM fetchmetrics.DOG_Distraction_Type_Temp DISTRACTION_TYPE_T WHERE DISTRACTION_TYPE_T.GUID = a_guid ; @@ -531,7 +531,7 @@ BEGIN END IF; -- Call Calc Intensity Level Emotional - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -549,7 +549,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_intensity_level_emotional -- a_get_all_intensity_level_emotional @@ -581,7 +581,7 @@ BEGIN , INTENSITY_LEVEL_EMOTIONAL_T.does_meet_id_filters , INTENSITY_LEVEL_EMOTIONAL_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_EMOTIONAL_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_EMOTIONAL_T WHERE INTENSITY_LEVEL_EMOTIONAL_T.GUID = a_guid ; @@ -589,14 +589,14 @@ BEGIN SELECT * FROM tmp_Intensity_Level_Emotional_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( a_guid , 0 -- a_debug ); END IF; -- Call Calc Intensity Level Scent - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -614,7 +614,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_intensity_level_scent -- a_get_all_intensity_level_scent @@ -646,7 +646,7 @@ BEGIN , INTENSITY_LEVEL_SCENT_T.does_meet_id_filters , INTENSITY_LEVEL_SCENT_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SCENT_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SCENT_T WHERE INTENSITY_LEVEL_SCENT_T.GUID = a_guid ; @@ -654,14 +654,14 @@ BEGIN SELECT * FROM tmp_Intensity_Level_Scent_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( a_guid , 0 -- a_debug ); END IF; -- Call Calc Intensity Level Sight - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -679,7 +679,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_intensity_level_sight -- a_get_all_intensity_level_sight @@ -711,7 +711,7 @@ BEGIN , INTENSITY_LEVEL_SIGHT_T.does_meet_id_filters , INTENSITY_LEVEL_SIGHT_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SIGHT_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SIGHT_T WHERE INTENSITY_LEVEL_SIGHT_T.GUID = a_guid ; @@ -719,14 +719,14 @@ BEGIN SELECT * FROM tmp_Intensity_Level_Sight_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( a_guid , 0 -- a_debug ); END IF; -- Call Calc Intensity Level Sound - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -744,7 +744,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_intensity_level_sound -- a_get_all_intensity_level_sound @@ -776,7 +776,7 @@ BEGIN , INTENSITY_LEVEL_SOUND_T.does_meet_id_filters , INTENSITY_LEVEL_SOUND_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SOUND_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_SOUND_T WHERE INTENSITY_LEVEL_SOUND_T.GUID = a_guid ; @@ -784,14 +784,14 @@ BEGIN SELECT * FROM tmp_Intensity_Level_Sound_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( a_guid , 0 -- a_debug ); END IF; -- Call Calc Intensity Level Touch - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -809,7 +809,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_calc_distraction_intensity_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_intensity_level_touch -- a_get_all_intensity_level_touch @@ -841,7 +841,7 @@ BEGIN , INTENSITY_LEVEL_TOUCH_T.does_meet_id_filters , INTENSITY_LEVEL_TOUCH_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_TOUCH_T + FROM fetchmetrics.DOG_Distraction_Intensity_Level_Temp INTENSITY_LEVEL_TOUCH_T WHERE INTENSITY_LEVEL_TOUCH_T.GUID = a_guid ; @@ -849,7 +849,7 @@ BEGIN SELECT * FROM tmp_Intensity_Level_Touch_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction_intensity_level ( + CALL fetchmetrics.p_dog_clear_calc_distraction_intensity_level ( a_guid , 0 -- a_debug ); @@ -857,7 +857,7 @@ BEGIN -- Distractions IF v_has_filter_distraction_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_distraction, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_distraction, ',', a_debug); SET sql_mode = ''; @@ -868,17 +868,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_distraction_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_distraction, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_distraction, ',', a_debug); SET sql_mode = ''; @@ -889,20 +889,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Distraction t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction + LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION.id_distraction) @@ -921,7 +921,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Distraction IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Distraction t_SPLIT_ID - LEFT JOIN parts.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction + LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(DISTRACTION.id_distraction) @@ -940,12 +940,12 @@ BEGIN Distraction_Id_Filter AS ( SELECT DISTRACTION.id_distraction FROM tmp_Split_Id_Calc_Distraction t_SPLIT_ID - INNER JOIN parts.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction + INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction ) , Distraction_Notes_Filter AS ( SELECT DISTRACTION.id_distraction FROM tmp_Split_Notes_Calc_Distraction t_SPLIT_NOTES - INNER JOIN parts.DOG_Distraction DISTRACTION ON DISTRACTION.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL ) , Distraction_Filters AS ( @@ -1023,7 +1023,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Distraction DISTRACTION + FROM fetchmetrics.DOG_Distraction DISTRACTION LEFT JOIN Distraction_Filters DISTRACTION_FILTERS ON DISTRACTION.id_distraction = DISTRACTION_FILTERS.id_distraction WHERE ( @@ -1079,12 +1079,12 @@ BEGIN Distraction_Id_Filter AS ( SELECT DISTRACTION.id_distraction FROM tmp_Split_Id_Calc_Distraction t_SPLIT_ID - INNER JOIN parts.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction + INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON t_SPLIT_ID.as_int = DISTRACTION.id_distraction ) , Distraction_Notes_Filter AS ( SELECT DISTRACTION.id_distraction FROM tmp_Split_Notes_Calc_Distraction t_SPLIT_NOTES - INNER JOIN parts.DOG_Distraction DISTRACTION ON DISTRACTION.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE t_SPLIT_NOTES.substring IS NOT NULL AND t_SPLIT_NOTES.substring <> '' @@ -1164,7 +1164,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Distraction DISTRACTION + FROM fetchmetrics.DOG_Distraction DISTRACTION LEFT JOIN Distraction_Filters DISTRACTION_FILTERS ON DISTRACTION.id_distraction = DISTRACTION_FILTERS.id_distraction WHERE ( @@ -1211,7 +1211,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_DISTRACTION FROM tmp_Distraction_Calc_Distraction t_DISTRACTION LEFT JOIN tmp_Assessment_Calc_Distraction t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment @@ -1307,7 +1307,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -1329,7 +1329,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -1356,7 +1356,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -1373,7 +1373,7 @@ BEGIN SELECT * FROM tmp_Distraction_Calc_Distraction; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Distraction t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment_Calc_Distraction; SELECT * FROM tmp_Distraction_Type_Calc_Distraction; @@ -1402,7 +1402,7 @@ BEGIN -- Outputs START TRANSACTION; -- Distractions - INSERT INTO parts.DOG_Distraction_Temp ( + INSERT INTO fetchmetrics.DOG_Distraction_Temp ( guid , id_distraction , id_assessment @@ -1437,7 +1437,7 @@ BEGIN , t_DISTRACTION.does_meet_id_filters , t_DISTRACTION.does_meet_non_id_filters - FROM parts.DOG_Distraction DISTRACTION + FROM fetchmetrics.DOG_Distraction DISTRACTION INNER JOIN tmp_Distraction_Calc_Distraction t_DISTRACTION ON DISTRACTION.id_distraction = t_DISTRACTION.id_distraction ; COMMIT; @@ -1455,7 +1455,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Distraction t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -1470,12 +1470,12 @@ BEGIN SELECT * FROM tmp_Distraction_Calc_Distraction; END IF; - CALL parts.p_dog_clear_calc_assessment ( + CALL fetchmetrics.p_dog_clear_calc_assessment ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_distraction_type ( + CALL fetchmetrics.p_dog_clear_calc_distraction_type ( a_guid , 0 -- a_debug ); @@ -1493,7 +1493,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Calc_Distraction; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1501,7 +1501,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_distraction ( +CALL fetchmetrics.p_dog_calc_distraction ( 'slippery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction @@ -1576,14 +1576,14 @@ CALL parts.p_dog_calc_distraction ( ); SELECT * -FROM parts.DOG_Distraction_Temp +FROM fetchmetrics.DOG_Distraction_Temp ; -CALL parts.p_dog_clear_calc_distraction ( +CALL fetchmetrics.p_dog_clear_calc_distraction ( 'slippery ' -- a_guid , 1 -- debug ); --- DELETE FROM parts.DOG_Distraction_Temp; +-- DELETE FROM fetchmetrics.DOG_Distraction_Temp; */ diff --git a/static/MySQL/71320_p_dog_clear_calc_distraction.sql b/static/MySQL/71320_p_dog_clear_calc_distraction.sql index 857c35c..9eb6530 100644 --- a/static/MySQL/71320_p_dog_clear_calc_distraction.sql +++ b/static/MySQL/71320_p_dog_clear_calc_distraction.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_distraction; -DROP PROCEDURE IF EXISTS parts.p_distraction_clear_calc_distraction; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_distraction; +DROP PROCEDURE IF EXISTS fetchmetrics.p_distraction_clear_calc_distraction; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_distraction ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_distraction ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE DISTRACTIONS_T - FROM parts.DOG_Distraction_Temp DISTRACTIONS_T + FROM fetchmetrics.DOG_Distraction_Temp DISTRACTIONS_T WHERE DISTRACTIONS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_distraction ( +CALL fetchmetrics.p_dog_clear_calc_distraction ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71320_p_dog_get_many_distraction.sql b/static/MySQL/71320_p_dog_get_many_distraction.sql index e8f3356..dcb61a1 100644 --- a/static/MySQL/71320_p_dog_get_many_distraction.sql +++ b/static/MySQL/71320_p_dog_get_many_distraction.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_distraction; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_distraction; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_distraction ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_distraction ( IN a_id_user INT , IN a_get_all_distraction BIT , IN a_get_inactive_distraction BIT @@ -107,7 +107,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -122,7 +122,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -132,10 +132,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -269,7 +269,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -291,7 +291,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -320,14 +320,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Distraction Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -397,7 +397,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_distraction ( + CALL fetchmetrics.p_dog_calc_distraction ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_distraction @@ -465,8 +465,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Distraction_Temp; - SELECT * FROM parts.DOG_Distraction_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Distraction_Temp; + SELECT * FROM fetchmetrics.DOG_Distraction_Temp; END IF; INSERT INTO tmp_Distraction ( @@ -501,7 +501,7 @@ BEGIN , DISTRACTION_T.does_meet_id_filters , DISTRACTION_T.does_meet_non_id_filters - FROM parts.DOG_Distraction_Temp DISTRACTION_T + FROM fetchmetrics.DOG_Distraction_Temp DISTRACTION_T WHERE DISTRACTION_T.GUID = v_guid ; @@ -512,7 +512,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Distraction; END IF; @@ -546,12 +546,12 @@ BEGIN , t_DISTRACTION.does_meet_id_filters , t_DISTRACTION.does_meet_non_id_filters FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type - LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = INTENSITY_LEVEL_EMOTIONAL.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = INTENSITY_LEVEL_SCENT.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = INTENSITY_LEVEL_SIGHT.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = INTENSITY_LEVEL_SOUND.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = INTENSITY_LEVEL_TOUCH.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = INTENSITY_LEVEL_EMOTIONAL.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = INTENSITY_LEVEL_SCENT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = INTENSITY_LEVEL_SIGHT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = INTENSITY_LEVEL_SOUND.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = INTENSITY_LEVEL_TOUCH.id_intensity_level ORDER BY DISTRACTION_TYPE.name LIMIT 1000 ; @@ -568,14 +568,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Distraction; END IF; - CALL parts.p_dog_clear_calc_distraction( + CALL fetchmetrics.p_dog_clear_calc_distraction( v_guid -- a_guid , 0 -- a_debug ); @@ -584,7 +584,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Distraction; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -592,7 +592,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_distraction ( +CALL fetchmetrics.p_dog_get_many_distraction ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_distraction , 0 -- a_get_inactive_distraction diff --git a/static/MySQL/71322_p_dog_save_distraction.sql b/static/MySQL/71322_p_dog_save_distraction.sql index 8883cae..e06d7f1 100644 --- a/static/MySQL/71322_p_dog_save_distraction.sql +++ b/static/MySQL/71322_p_dog_save_distraction.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_distraction; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_distraction; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_distraction ( +CREATE PROCEDURE fetchmetrics.p_dog_save_distraction ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,11 +61,11 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; START TRANSACTION; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -87,11 +87,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Distraction_Copy; DROP TABLE IF EXISTS tmp_Distraction; @@ -193,8 +193,8 @@ BEGIN , DISTRACTION_T.notes , COALESCE(DISTRACTION_T.active, 1) AS active , CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Distraction_Temp DISTRACTION_T - LEFT JOIN parts.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction + FROM fetchmetrics.DOG_Distraction_Temp DISTRACTION_T + LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction WHERE DISTRACTION_T.guid = a_guid ; @@ -206,12 +206,12 @@ BEGIN -- Error names UPDATE tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level SET t_DISTRACTION.name_error = CONCAT( /* CONVERT(COALESCE(t_DISTRACTION.created_on, DISTRACTION.created_on, v_time_start), CHAR) @@ -262,7 +262,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Assessment Distraction(s) do not have a valid Assessment: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_DISTRACTION.id_assessment = ASSESSMENT.id_assessment WHERE ISNULL(t_DISTRACTION.id_assessment) OR ISNULL(ASSESSMENT.id_assessment) @@ -289,7 +289,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Distraction_Type Distraction(s) do not have a valid Distraction_Type: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type + LEFT JOIN fetchmetrics.DOG_Distraction_Type DISTRACTION_TYPE ON t_DISTRACTION.id_distraction_type = DISTRACTION_TYPE.id_type WHERE ISNULL(t_DISTRACTION.id_distraction_type) OR ISNULL(DISTRACTION_TYPE.id_type) @@ -316,7 +316,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Distraction_Intensity_Level_Emotional: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_EMOTIONAL ON t_DISTRACTION.id_intensity_level_emotional = DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_emotional) OR ISNULL(DISTRACTION_INTENSITY_LEVEL_EMOTIONAL.id_intensity_level) @@ -343,7 +343,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Intensity Level Scent: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SCENT ON t_DISTRACTION.id_intensity_level_scent = DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_scent) OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SCENT.id_intensity_level) @@ -370,7 +370,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Intensity Level Sight: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SIGHT ON t_DISTRACTION.id_intensity_level_sight = DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sight) OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SIGHT.id_intensity_level) @@ -397,7 +397,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Intensity Level Sound: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_SOUND ON t_DISTRACTION.id_intensity_level_sound = DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_sound) OR ISNULL(DISTRACTION_INTENSITY_LEVEL_SOUND.id_intensity_level) @@ -424,7 +424,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Distraction(s) do not have a valid Intensity Level Touch: ', GROUP_CONCAT(t_DISTRACTION.name_error SEPARATOR ', ')) AS msg FROM tmp_Distraction t_DISTRACTION - LEFT JOIN parts.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level + LEFT JOIN fetchmetrics.DOG_Distraction_Intensity_Level DISTRACTION_INTENSITY_LEVEL_TOUCH ON t_DISTRACTION.id_intensity_level_touch = DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level WHERE ISNULL(t_DISTRACTION.id_intensity_level_touch) OR ISNULL(DISTRACTION_INTENSITY_LEVEL_TOUCH.id_intensity_level) @@ -434,7 +434,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -456,12 +456,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -484,7 +484,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Distraction; END IF; @@ -492,10 +492,10 @@ BEGIN DELETE FROM tmp_Distraction; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -509,7 +509,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Distraction DISTRACTION + UPDATE fetchmetrics.DOG_Distraction DISTRACTION INNER JOIN tmp_Distraction t_DISTRACTION ON DISTRACTION.id_distraction = t_DISTRACTION.id_distraction AND t_DISTRACTION.is_new = 0 @@ -528,7 +528,7 @@ BEGIN , DISTRACTION.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Distraction ( + INSERT INTO fetchmetrics.DOG_Distraction ( id_temp , id_assessment , id_distraction_type @@ -565,7 +565,7 @@ BEGIN AND t_DISTRACTION.active = 1 ; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -584,7 +584,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Distraction_Temp + DELETE FROM fetchmetrics.DOG_Distraction_Temp WHERE GUID = a_guid ; @@ -602,7 +602,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -613,7 +613,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -623,39 +623,39 @@ DELIMITER ; /* 'ripplesipplenippletippledipplekipple' -DELETE FROM parts.DOG_Distraction WHERE id_distraction > 740; +DELETE FROM fetchmetrics.DOG_Distraction WHERE id_distraction > 740; * / delete -from parts.DOG_Distraction_Audit +from fetchmetrics.DOG_Distraction_Audit where id_distraction > 768 ; delete -from parts.DOG_Distraction +from fetchmetrics.DOG_Distraction where id_distraction > 768 ; delete -from parts.DOG_Distraction_Temp +from fetchmetrics.DOG_Distraction_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Distraction_Temp +from fetchmetrics.DOG_Distraction_Temp ; select COUNT(*) -from parts.DOG_Distraction_Temp +from fetchmetrics.DOG_Distraction_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Distraction +from fetchmetrics.DOG_Distraction ; select COUNT(*) -from parts.DOG_Distraction +from fetchmetrics.DOG_Distraction ; -INSERT INTO parts.DOG_Distraction_Temp ( +INSERT INTO fetchmetrics.DOG_Distraction_Temp ( id_distraction , id_dog , id_command @@ -674,7 +674,7 @@ VALUES ( , 'ripplesipplenippletippledipplekipple' ); -CALL parts.p_dog_save_distraction ( +CALL fetchmetrics.p_dog_save_distraction ( 'nipples' , 'ripplesipplenippletippledipplekipple' , 1 @@ -686,19 +686,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Distraction_Temp +from fetchmetrics.DOG_Distraction_Temp ; select COUNT(*) -from parts.DOG_Distraction_Temp +from fetchmetrics.DOG_Distraction_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Distraction +from fetchmetrics.DOG_Distraction ; select COUNT(*) -from parts.DOG_Distraction +from fetchmetrics.DOG_Distraction ; */ \ No newline at end of file diff --git a/static/MySQL/71324_p_dog_calc_bribe.sql b/static/MySQL/71324_p_dog_calc_bribe.sql index 56bc267..9b2057a 100644 --- a/static/MySQL/71324_p_dog_calc_bribe.sql +++ b/static/MySQL/71324_p_dog_calc_bribe.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_bribe; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_bribe; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_bribe ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_bribe ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_bribe BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Bribe t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Bribe; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_bribe := IFNULL(a_get_all_bribe, 0); @@ -160,7 +160,7 @@ BEGIN -- Bribes IF v_has_filter_bribe_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_bribe, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_bribe, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_bribe_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_bribe, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_bribe, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Bribe t_SPLIT_ID - LEFT JOIN parts.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe + LEFT JOIN fetchmetrics.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BRIBES.id_bribe) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Bribe IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Bribe t_SPLIT_ID - LEFT JOIN parts.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe + LEFT JOIN fetchmetrics.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(BRIBES.id_bribe) @@ -246,12 +246,12 @@ BEGIN Bribe_Id_Filter AS ( SELECT BRIBES.id_bribe FROM tmp_Split_Id_Calc_Bribe t_SPLIT_ID - INNER JOIN parts.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe + INNER JOIN fetchmetrics.DOG_Bribe BRIBES ON t_SPLIT_ID.as_int = BRIBES.id_bribe ) , Bribe_Name_Filter AS ( SELECT BRIBES.id_bribe FROM tmp_Split_Name_Calc_Bribe t_SPLIT_NAME - INNER JOIN parts.DOG_Bribe BRIBES ON BRIBES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Bribe BRIBES ON BRIBES.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Bribe_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(BRIBES_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Bribe BRIBES + FROM fetchmetrics.DOG_Bribe BRIBES LEFT JOIN Bribe_Filters BRIBES_FILTERS ON BRIBES.id_bribe = BRIBES_FILTERS.id_bribe WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_BRIBES FROM tmp_Bribe_Calc_Bribe t_BRIBES WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Bribe; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Bribe t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Bribe_Calc_Bribe; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Bribes - INSERT INTO parts.DOG_Bribe_Temp ( + INSERT INTO fetchmetrics.DOG_Bribe_Temp ( guid , id_bribe , code @@ -466,7 +466,7 @@ BEGIN , t_BRIBES.does_meet_id_filters , t_BRIBES.does_meet_non_id_filters - FROM parts.DOG_Bribe BRIBES + FROM fetchmetrics.DOG_Bribe BRIBES INNER JOIN tmp_Bribe_Calc_Bribe t_BRIBES ON BRIBES.id_bribe = t_BRIBES.id_bribe ORDER BY BRIBES.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Bribe t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Bribe_Calc_Bribe; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Bribe; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Bribe; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Bribe_Calc_Bribe; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_bribe ( +CALL fetchmetrics.p_dog_calc_bribe ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_bribe @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_bribe ( ); SELECT * -FROM parts.DOG_Bribe_Temp +FROM fetchmetrics.DOG_Bribe_Temp ; /* SELECT * -FROM parts.DOG_Bribe_Temp C +FROM fetchmetrics.DOG_Bribe_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_bribe ( +CALL fetchmetrics.p_dog_clear_calc_bribe ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Bribe_Temp +FROM fetchmetrics.DOG_Bribe_Temp ; */ diff --git a/static/MySQL/71324_p_dog_clear_calc_bribe.sql b/static/MySQL/71324_p_dog_clear_calc_bribe.sql index 7deea47..0364d5c 100644 --- a/static/MySQL/71324_p_dog_clear_calc_bribe.sql +++ b/static/MySQL/71324_p_dog_clear_calc_bribe.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_bribe; -DROP PROCEDURE IF EXISTS parts.p_bribe_clear_calc_bribe; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_bribe; +DROP PROCEDURE IF EXISTS fetchmetrics.p_bribe_clear_calc_bribe; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_bribe ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_bribe ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE BRIBES_T - FROM parts.DOG_Bribe_Temp BRIBES_T + FROM fetchmetrics.DOG_Bribe_Temp BRIBES_T WHERE BRIBES_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_bribe ( +CALL fetchmetrics.p_dog_clear_calc_bribe ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71324_p_dog_get_many_bribe.sql b/static/MySQL/71324_p_dog_get_many_bribe.sql index 0cb6fbf..ee37cce 100644 --- a/static/MySQL/71324_p_dog_get_many_bribe.sql +++ b/static/MySQL/71324_p_dog_get_many_bribe.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_bribe; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_bribe; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_bribe ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_bribe ( IN a_id_user INT , IN a_get_all_bribe BIT , IN a_get_inactive_bribe BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Bribe Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_bribe ( + CALL fetchmetrics.p_dog_calc_bribe ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_bribe -- a_get_all_bribe @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Bribe_Temp; - SELECT * FROM parts.DOG_Bribe_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Bribe_Temp; + SELECT * FROM fetchmetrics.DOG_Bribe_Temp; END IF; INSERT INTO tmp_Bribe ( @@ -274,7 +274,7 @@ BEGIN , BRIBE_T.does_meet_id_filters , BRIBE_T.does_meet_non_id_filters - FROM parts.DOG_Bribe_Temp BRIBE_T + FROM fetchmetrics.DOG_Bribe_Temp BRIBE_T WHERE BRIBE_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Bribe; END IF; @@ -305,7 +305,7 @@ BEGIN , t_BRIBES.does_meet_id_filters , t_BRIBES.does_meet_non_id_filters FROM tmp_Bribe t_BRIBES - LEFT JOIN parts.DOG_Bribe BRIBES ON t_BRIBES.id_bribe = BRIBES.id_bribe + LEFT JOIN fetchmetrics.DOG_Bribe BRIBES ON t_BRIBES.id_bribe = BRIBES.id_bribe ORDER BY t_BRIBES.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Bribe; END IF; - CALL parts.p_dog_clear_calc_bribe( + CALL fetchmetrics.p_dog_clear_calc_bribe( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Bribe; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_bribe ( +CALL fetchmetrics.p_dog_get_many_bribe ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_bribe , 0 -- a_get_inactive_bribe diff --git a/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql b/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql index 0a2f314..123845e 100644 --- a/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql +++ b/static/MySQL/71328_p_dog_calc_assessment_command_modality_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_assessment_command_modality_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_command_modality_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_assessment_command_modality_link ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_command_modality_link ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_link BIT @@ -118,7 +118,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -133,7 +133,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_ACM_Link; @@ -142,13 +142,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_link := IFNULL(a_get_all_link, 0); @@ -354,7 +354,7 @@ BEGIN SET v_has_filter_assessment_command_modality_link_trial_count_max := NOT ISNULL(a_max_trial_count_link); -- Call Calc Assessment - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -392,7 +392,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment ( + CALL fetchmetrics.p_dog_calc_assessment ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_assessment -- a_get_all_assessment @@ -451,7 +451,7 @@ BEGIN , ASSESSMENT_T.does_meet_id_filters , ASSESSMENT_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Temp ASSESSMENT_T + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T WHERE ASSESSMENT_T.GUID = a_guid ; @@ -461,7 +461,7 @@ BEGIN END IF; -- Call Command Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -485,7 +485,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command ( + CALL fetchmetrics.p_dog_calc_command ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_category @@ -523,7 +523,7 @@ BEGIN , COMMAND_CATEGORY_T.does_meet_id_filters , COMMAND_CATEGORY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Category_Temp COMMAND_CATEGORY_T + FROM fetchmetrics.DOG_Command_Category_Temp COMMAND_CATEGORY_T WHERE COMMAND_CATEGORY_T.GUID = a_guid ; @@ -550,7 +550,7 @@ BEGIN , COMMAND_T.does_meet_id_filters , COMMAND_T.does_meet_non_id_filters - FROM parts.DOG_Command_Temp COMMAND_T + FROM fetchmetrics.DOG_Command_Temp COMMAND_T WHERE COMMAND_T.GUID = a_guid ; @@ -561,7 +561,7 @@ BEGIN END IF; -- Call Calc Command Modality - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -579,7 +579,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_command_modality ( + CALL fetchmetrics.p_dog_calc_command_modality ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_command_modality -- a_get_all_command_modality @@ -611,7 +611,7 @@ BEGIN , COMMAND_MODALITY_T.does_meet_id_filters , COMMAND_MODALITY_T.does_meet_non_id_filters - FROM parts.DOG_Command_Modality_Temp COMMAND_MODALITY_T + FROM fetchmetrics.DOG_Command_Modality_Temp COMMAND_MODALITY_T WHERE COMMAND_MODALITY_T.GUID = a_guid ; @@ -621,7 +621,7 @@ BEGIN END IF; -- Call Calc Bribe - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -639,7 +639,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_bribe ( + CALL fetchmetrics.p_dog_calc_bribe ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_bribe -- a_get_all_bribe @@ -671,7 +671,7 @@ BEGIN , BRIBE_T.does_meet_id_filters , BRIBE_T.does_meet_non_id_filters - FROM parts.DOG_Bribe_Temp BRIBE_T + FROM fetchmetrics.DOG_Bribe_Temp BRIBE_T WHERE BRIBE_T.GUID = a_guid ; @@ -679,7 +679,7 @@ BEGIN SELECT * FROM tmp_Bribe_Calc_ACM_Link; END IF; - CALL parts.p_dog_clear_calc_bribe ( + CALL fetchmetrics.p_dog_clear_calc_bribe ( a_guid , 0 -- a_debug ); @@ -687,7 +687,7 @@ BEGIN -- Assessment Command Modality Links IF v_has_filter_assessment_command_modality_link_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_link, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_link, ',', a_debug); SET sql_mode = ''; @@ -698,20 +698,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link) @@ -730,7 +730,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Assessment_Command_Modality_Link IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link) @@ -749,7 +749,7 @@ BEGIN Assessment_Command_Modality_Link_Id_Filter AS ( SELECT ASSESSMENT_COMMAND_MODALITY_LINK.id_link FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID - INNER JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link ) , Assessment_Command_Modality_Link_Filters AS ( SELECT @@ -824,7 +824,7 @@ BEGIN OR ASSESSMENT_COMMAND_MODALITY_LINK.trial_count <= a_max_trial_count_link ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK LEFT JOIN Assessment_Command_Modality_Link_Filters ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.id_link WHERE ( @@ -892,7 +892,7 @@ BEGIN Assessment_Command_Modality_Link_Id_Filter AS ( SELECT ASSESSMENT_COMMAND_MODALITY_LINK.id_link FROM tmp_Split_Id_Calc_ACM_Link t_SPLIT_ID - INNER JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_SPLIT_ID.as_int = ASSESSMENT_COMMAND_MODALITY_LINK.id_link ) , Assessment_Command_Modality_Link_Filters AS ( SELECT @@ -967,7 +967,7 @@ BEGIN OR ASSESSMENT_COMMAND_MODALITY_LINK.trial_count <= a_max_trial_count_link ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK LEFT JOIN Assessment_Command_Modality_Link_Filters ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK_FILTERS.id_link WHERE ( @@ -1025,7 +1025,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_ASSESSMENT_COMMAND_MODALITY_LINK FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link t_ASSESSMENT_COMMAND_MODALITY_LINK LEFT JOIN tmp_Assessment_Calc_ACM_Link t_ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment @@ -1109,7 +1109,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -1131,7 +1131,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -1158,7 +1158,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -1173,7 +1173,7 @@ BEGIN SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment_Calc_ACM_Link; SELECT * FROM tmp_Command_Category_Calc_ACM_Link; @@ -1198,13 +1198,13 @@ BEGIN -- Outputs /* IF ( - NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) + NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) AND EXISTS (SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link) ) THEN */ START TRANSACTION; -- Assessment_Command_Modality_Links - INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp ( + INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ( guid , id_link , id_assessment @@ -1239,7 +1239,7 @@ BEGIN , t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters , t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters - FROM parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK INNER JOIN tmp_Assessment_Command_Modality_Link_Calc_ACM_Link t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link ; COMMIT; @@ -1258,7 +1258,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_ACM_Link t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -1271,22 +1271,22 @@ BEGIN SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_ACM_Link; END IF; - CALL parts.p_dog_clear_calc_assessment ( + CALL fetchmetrics.p_dog_clear_calc_assessment ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_command ( + CALL fetchmetrics.p_dog_clear_calc_command ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_command_modality ( + CALL fetchmetrics.p_dog_clear_calc_command_modality ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_bribe ( + CALL fetchmetrics.p_dog_clear_calc_bribe ( a_guid , 0 -- a_debug ); @@ -1301,7 +1301,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Calc_ACM_Link; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1309,7 +1309,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_assessment_command_modality_link ( +CALL fetchmetrics.p_dog_calc_assessment_command_modality_link ( 'slappery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link @@ -1380,14 +1380,14 @@ CALL parts.p_dog_calc_assessment_command_modality_link ( ); SELECT * -FROM parts.DOG_Assessment_Command_Modality_Link_Temp +FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; -CALL parts.p_dog_clear_calc_assessment_command_modality_link ( +CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link ( 'slappery ' -- a_guid , 1 -- debug ); --- DELETE FROM parts.DOG_Assessment_Command_Modality_Link_Temp; +-- DELETE FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp; */ diff --git a/static/MySQL/71328_p_dog_clear_calc_assessment_command_modality_link.sql b/static/MySQL/71328_p_dog_clear_calc_assessment_command_modality_link.sql index ae085db..7daf05f 100644 --- a/static/MySQL/71328_p_dog_clear_calc_assessment_command_modality_link.sql +++ b/static/MySQL/71328_p_dog_clear_calc_assessment_command_modality_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_assessment_command_modality_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_command_modality_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_assessment_command_modality_link ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_command_modality_link ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE ASSESSMENT_COMMAND_MODALITY_LINKS_T - FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINKS_T + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINKS_T WHERE ASSESSMENT_COMMAND_MODALITY_LINKS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_assessment_command_modality_link ( +CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql b/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql index d693827..f26f45b 100644 --- a/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql +++ b/static/MySQL/71328_p_dog_get_many_assessment_command_modality_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_assessment_command_modality_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment_command_modality_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_assessment_command_modality_link ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_command_modality_link ( IN a_id_user INT , IN a_get_all_link BIT , IN a_get_inactive_link BIT @@ -108,7 +108,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -123,7 +123,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -133,10 +133,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -269,7 +269,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -291,7 +291,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -320,14 +320,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Assessment_Command_Modality_Link Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -399,7 +399,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment_command_modality_link ( + CALL fetchmetrics.p_dog_calc_assessment_command_modality_link ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_link @@ -469,8 +469,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Assessment_Command_Modality_Link_Temp; - SELECT * FROM parts.DOG_Assessment_Command_Modality_Link_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp; + SELECT * FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp; END IF; INSERT INTO tmp_Assessment_Command_Modality_Link ( @@ -504,7 +504,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK_T.active , ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_id_filters , ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.GUID = v_guid ; @@ -515,7 +515,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment_Command_Modality_Link; END IF; @@ -549,12 +549,12 @@ BEGIN , t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_id_filters , t_ASSESSMENT_COMMAND_MODALITY_LINK.does_meet_non_id_filters FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment - LEFT JOIN parts.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality - LEFT JOIN parts.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command_Category COMMAND_CATEGORY ON COMMAND.id_command_category = COMMAND_CATEGORY.id_command_category + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality + LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe LIMIT 1000 ; @@ -570,14 +570,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Assessment_Command_Modality_Link; END IF; - CALL parts.p_dog_clear_calc_assessment_command_modality_link( + CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link( v_guid -- a_guid , 0 -- a_debug ); @@ -586,7 +586,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -594,7 +594,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_assessment_command_modality_link ( +CALL fetchmetrics.p_dog_get_many_assessment_command_modality_link ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_link , 0 -- a_get_inactive_link diff --git a/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql b/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql index 765492a..f726511 100644 --- a/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql +++ b/static/MySQL/71330_p_dog_save_assessment_command_modality_link.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_command_modality_link; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_command_modality_link; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_assessment_command_modality_link ( +CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_command_modality_link ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,11 +61,11 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; START TRANSACTION; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -87,11 +87,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Copy; DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link; @@ -213,8 +213,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid ; @@ -226,10 +226,10 @@ BEGIN -- Error names UPDATE tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment - LEFT JOIN parts.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality - LEFT JOIN parts.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality + LEFT JOIN fetchmetrics.DOG_Bribe BRIBE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_bribe = BRIBE.id_bribe SET t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error = CONCAT( COALESCE(CONVERT(ASSESSMENT.created_on, CHAR), '(No Assessment)') , ' - ' @@ -270,7 +270,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Assessment: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = ASSESSMENT.id_assessment WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment) OR ISNULL(ASSESSMENT.id_assessment) @@ -324,7 +324,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Assessment Command Modality Link(s) do not have a valid Command Modality: ', GROUP_CONCAT(t_ASSESSMENT_COMMAND_MODALITY_LINK.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK - LEFT JOIN parts.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality + LEFT JOIN fetchmetrics.DOG_Command_Modality COMMAND_MODALITY ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality = COMMAND_MODALITY.id_command_modality WHERE ISNULL(t_ASSESSMENT_COMMAND_MODALITY_LINK.id_command_modality) OR ISNULL(COMMAND_MODALITY.id_command_modality) @@ -380,7 +380,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -402,12 +402,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -430,7 +430,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Assessment_Command_Modality_Link; END IF; @@ -438,10 +438,10 @@ BEGIN DELETE FROM tmp_Assessment_Command_Modality_Link; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -455,7 +455,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + UPDATE fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK INNER JOIN tmp_Assessment_Command_Modality_Link t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link AND t_ASSESSMENT_COMMAND_MODALITY_LINK.is_new = 0 @@ -474,7 +474,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Assessment_Command_Modality_Link ( + INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link ( id_temp , id_assessment , id_command @@ -511,7 +511,7 @@ BEGIN AND t_ASSESSMENT_COMMAND_MODALITY_LINK.active = 1 ; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -530,7 +530,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Assessment_Command_Modality_Link_Temp + DELETE FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp WHERE GUID = a_guid ; @@ -548,7 +548,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -559,7 +559,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -569,39 +569,39 @@ DELIMITER ; /* 'ripplesipplenippletippledipplykipple' -DELETE FROM parts.DOG_Assessment_Command_Modality_Link WHERE id_link > 740; +DELETE FROM fetchmetrics.DOG_Assessment_Command_Modality_Link WHERE id_link > 740; * / delete -from parts.DOG_Assessment_Command_Modality_Link_Audit +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Audit where id_link > 768 ; delete -from parts.DOG_Assessment_Command_Modality_Link +from fetchmetrics.DOG_Assessment_Command_Modality_Link where id_link > 768 ; delete -from parts.DOG_Assessment_Command_Modality_Link_Temp +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Command_Modality_Link_Temp +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; select COUNT(*) -from parts.DOG_Assessment_Command_Modality_Link_Temp +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Command_Modality_Link +from fetchmetrics.DOG_Assessment_Command_Modality_Link ; select COUNT(*) -from parts.DOG_Assessment_Command_Modality_Link +from fetchmetrics.DOG_Assessment_Command_Modality_Link ; -INSERT INTO parts.DOG_Assessment_Command_Modality_Link_Temp ( +INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ( id_link , id_assessment , id_command @@ -631,7 +631,7 @@ VALUES ( , 'ripplesipplenippletippledipplykipple' ); -CALL parts.p_dog_save_assessment_command_modality_link ( +CALL fetchmetrics.p_dog_save_assessment_command_modality_link ( 'nipples' , 'ripplesipplenippletippledipplykipple' , 1 @@ -643,19 +643,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Command_Modality_Link_Temp +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; select COUNT(*) -from parts.DOG_Assessment_Command_Modality_Link_Temp +from fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Command_Modality_Link +from fetchmetrics.DOG_Assessment_Command_Modality_Link ; select COUNT(*) -from parts.DOG_Assessment_Command_Modality_Link +from fetchmetrics.DOG_Assessment_Command_Modality_Link ; */ \ No newline at end of file diff --git a/static/MySQL/71332_p_dog_calc_response_quality_metric.sql b/static/MySQL/71332_p_dog_calc_response_quality_metric.sql index 470925c..71ad988 100644 --- a/static/MySQL/71332_p_dog_calc_response_quality_metric.sql +++ b/static/MySQL/71332_p_dog_calc_response_quality_metric.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_response_quality_metric; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_response_quality_metric; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_response_quality_metric ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_response_quality_metric ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_metric BIT @@ -59,7 +59,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -74,7 +74,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_RQM t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_RQM; @@ -83,13 +83,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_metric := IFNULL(a_get_all_metric, 0); @@ -168,7 +168,7 @@ BEGIN -- Response Quality Metrics IF v_has_filter_response_quality_metric_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_metric, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_metric, ',', a_debug); SET sql_mode = ''; @@ -179,17 +179,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_response_quality_metric_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_metric, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_metric, ',', a_debug); SET sql_mode = ''; @@ -200,20 +200,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_RQM t_SPLIT_ID - LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric) @@ -232,7 +232,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Response_Quality_Metric IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_RQM t_SPLIT_ID - LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(RESPONSE_QUALITY_METRIC.id_metric) @@ -251,12 +251,12 @@ BEGIN Response_Quality_Metric_Id_Filter AS ( SELECT RESPONSE_QUALITY_METRIC.id_metric FROM tmp_Split_Id_Calc_RQM t_SPLIT_ID - INNER JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric + INNER JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric ) , Response_Quality_Metric_Name_Filter AS ( SELECT RESPONSE_QUALITY_METRIC.id_metric FROM tmp_Split_Name_Calc_RQM t_SPLIT_NAME - INNER JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON RESPONSE_QUALITY_METRIC.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON RESPONSE_QUALITY_METRIC.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Response_Quality_Metric_Filters AS ( @@ -297,7 +297,7 @@ BEGIN ) OR RESPONSE_QUALITY_METRIC_FILTERS.does_meet_name_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC + FROM fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC LEFT JOIN Response_Quality_Metric_Filters RESPONSE_QUALITY_METRIC_FILTERS ON RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC_FILTERS.id_metric WHERE ( @@ -332,12 +332,12 @@ BEGIN Response_Quality_Metric_Id_Filter AS ( SELECT RESPONSE_QUALITY_METRIC.id_metric FROM tmp_Split_Id_Calc_RQM t_SPLIT_ID - INNER JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric + INNER JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_SPLIT_ID.as_int = RESPONSE_QUALITY_METRIC.id_metric ) , Response_Quality_Metric_Name_Filter AS ( SELECT RESPONSE_QUALITY_METRIC.id_metric FROM tmp_Split_Name_Calc_RQM t_SPLIT_NAME - INNER JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON RESPONSE_QUALITY_METRIC.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON RESPONSE_QUALITY_METRIC.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Response_Quality_Metric_Filters AS ( @@ -378,7 +378,7 @@ BEGIN ) OR RESPONSE_QUALITY_METRIC_FILTERS.does_meet_name_filter = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC + FROM fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC LEFT JOIN Response_Quality_Metric_Filters RESPONSE_QUALITY_METRIC_FILTERS ON RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC_FILTERS.id_metric WHERE ( @@ -408,7 +408,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_RESPONSE_QUALITY_METRIC FROM tmp_Response_Quality_Metric_Calc_RQM t_RESPONSE_QUALITY_METRIC WHERE @@ -462,7 +462,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -484,7 +484,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -511,7 +511,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -521,7 +521,7 @@ BEGIN SELECT * FROM tmp_Response_Quality_Metric_Calc_RQM; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Response_Quality_Metric_Calc_RQM; END IF; @@ -536,13 +536,13 @@ BEGIN -- Outputs /* IF ( - NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) + NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_RQM t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) AND EXISTS (SELECT * FROM tmp_Response_Quality_Metric_Calc_RQM) ) THEN */ START TRANSACTION; -- Response_Quality_Metrics - INSERT INTO parts.DOG_Response_Quality_Metric_Temp ( + INSERT INTO fetchmetrics.DOG_Response_Quality_Metric_Temp ( guid , id_metric , id_unit_measurement @@ -567,7 +567,7 @@ BEGIN , t_RESPONSE_QUALITY_METRIC.does_meet_id_filters , t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters - FROM parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC + FROM fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC INNER JOIN tmp_Response_Quality_Metric_Calc_RQM t_RESPONSE_QUALITY_METRIC ON RESPONSE_QUALITY_METRIC.id_metric = t_RESPONSE_QUALITY_METRIC.id_metric ; COMMIT; @@ -586,7 +586,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_RQM t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -599,7 +599,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric_Calc_RQM; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -607,7 +607,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_response_quality_metric ( +CALL fetchmetrics.p_dog_calc_response_quality_metric ( 'slappery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_metric @@ -623,14 +623,14 @@ CALL parts.p_dog_calc_response_quality_metric ( ); SELECT * -FROM parts.DOG_Response_Quality_Metric_Temp +FROM fetchmetrics.DOG_Response_Quality_Metric_Temp ; -CALL parts.p_dog_clear_calc_response_quality_metric ( +CALL fetchmetrics.p_dog_clear_calc_response_quality_metric ( 'slappery ' -- a_guid , 1 -- debug ); --- DELETE FROM parts.DOG_Response_Quality_Metric_Temp; +-- DELETE FROM fetchmetrics.DOG_Response_Quality_Metric_Temp; */ diff --git a/static/MySQL/71332_p_dog_clear_calc_response_quality_metric.sql b/static/MySQL/71332_p_dog_clear_calc_response_quality_metric.sql index b6232ae..6981302 100644 --- a/static/MySQL/71332_p_dog_clear_calc_response_quality_metric.sql +++ b/static/MySQL/71332_p_dog_clear_calc_response_quality_metric.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_response_quality_metric; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_response_quality_metric; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_response_quality_metric ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_response_quality_metric ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -12,32 +12,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE RESPONSE_QUALITY_METRICS_T - FROM parts.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRICS_T + FROM fetchmetrics.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRICS_T WHERE RESPONSE_QUALITY_METRICS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_response_quality_metric ( +CALL fetchmetrics.p_dog_clear_calc_response_quality_metric ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql b/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql index 3cc4392..26cc39e 100644 --- a/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql +++ b/static/MySQL/71332_p_dog_get_many_response_quality_metric.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_response_quality_metric; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_response_quality_metric; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_response_quality_metric ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_response_quality_metric ( IN a_id_user INT , IN a_get_all_response_quality_metric BIT , IN a_get_inactive_response_quality_metric BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -163,7 +163,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -185,7 +185,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -214,14 +214,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Response_Quality_Metric Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -239,7 +239,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_response_quality_metric ( + CALL fetchmetrics.p_dog_calc_response_quality_metric ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_response_quality_metric -- a_get_all_response_quality_metric @@ -255,8 +255,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Response_Quality_Metric_Temp; - SELECT * FROM parts.DOG_Response_Quality_Metric_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Response_Quality_Metric_Temp; + SELECT * FROM fetchmetrics.DOG_Response_Quality_Metric_Temp; END IF; INSERT INTO tmp_Response_Quality_Metric ( @@ -281,7 +281,7 @@ BEGIN , RESPONSE_QUALITY_METRIC_T.does_meet_id_filters , RESPONSE_QUALITY_METRIC_T.does_meet_non_id_filters - FROM parts.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T + FROM fetchmetrics.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T WHERE RESPONSE_QUALITY_METRIC_T.GUID = v_guid ; @@ -292,7 +292,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Response_Quality_Metric; END IF; @@ -318,8 +318,8 @@ BEGIN , t_RESPONSE_QUALITY_METRIC.does_meet_id_filters , t_RESPONSE_QUALITY_METRIC.does_meet_non_id_filters FROM tmp_Response_Quality_Metric t_RESPONSE_QUALITY_METRIC - LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC.id_metric - LEFT JOIN parts.DOG_Unit_Measurement UNIT_MEASUREMENT ON t_RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement + LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_RESPONSE_QUALITY_METRIC.id_metric = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN fetchmetrics.DOG_Unit_Measurement UNIT_MEASUREMENT ON t_RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement ORDER BY t_RESPONSE_QUALITY_METRIC.name ; @@ -335,14 +335,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Response_Quality_Metric; END IF; - CALL parts.p_dog_clear_calc_response_quality_metric( + CALL fetchmetrics.p_dog_clear_calc_response_quality_metric( v_guid -- a_guid , 0 -- a_debug ); @@ -351,7 +351,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Response_Quality_Metric; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -359,7 +359,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_response_quality_metric ( +CALL fetchmetrics.p_dog_get_many_response_quality_metric ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_response_quality_metric , 0 -- a_get_inactive_response_quality_metric diff --git a/static/MySQL/71336_p_dog_calc_obedience_level.sql b/static/MySQL/71336_p_dog_calc_obedience_level.sql index 5e2411e..af902a9 100644 --- a/static/MySQL/71336_p_dog_calc_obedience_level.sql +++ b/static/MySQL/71336_p_dog_calc_obedience_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_obedience_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_obedience_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_obedience_level ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_obedience_level ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_obedience_level BIT @@ -57,7 +57,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -72,7 +72,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Obedience_Level; @@ -81,13 +81,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_obedience_level := IFNULL(a_get_all_obedience_level, 0); @@ -160,7 +160,7 @@ BEGIN -- Obedience_Levels IF v_has_filter_obedience_level_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_obedience_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_obedience_level, ',', a_debug); SET sql_mode = ''; @@ -171,17 +171,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_obedience_level_name = 1 THEN - CALL parts.p_core_split(a_guid, a_names_obedience_level, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_names_obedience_level, ',', a_debug); SET sql_mode = ''; @@ -192,20 +192,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Obedience_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(OBEDIENCE_LEVELS.id_obedience_level) @@ -224,7 +224,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Obedience_Level IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Obedience_Level t_SPLIT_ID - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(OBEDIENCE_LEVELS.id_obedience_level) @@ -246,12 +246,12 @@ BEGIN Obedience_Level_Id_Filter AS ( SELECT OBEDIENCE_LEVELS.id_obedience_level FROM tmp_Split_Id_Calc_Obedience_Level t_SPLIT_ID - INNER JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level + INNER JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_SPLIT_ID.as_int = OBEDIENCE_LEVELS.id_obedience_level ) , Obedience_Level_Name_Filter AS ( SELECT OBEDIENCE_LEVELS.id_obedience_level FROM tmp_Split_Name_Calc_Obedience_Level t_SPLIT_NAME - INNER JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVELS ON OBEDIENCE_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') + INNER JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS ON OBEDIENCE_LEVELS.name LIKE CONCAT('%', t_SPLIT_NAME.substring, '%') WHERE NULLIF(t_SPLIT_NAME.substring, '') IS NOT NULL ) , Obedience_Level_Filters AS ( @@ -286,7 +286,7 @@ BEGIN ) OR IFNULL(OBEDIENCE_LEVELS_FILTERS.does_meet_name_filter, 0) = 1 THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Obedience_Level OBEDIENCE_LEVELS + FROM fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS LEFT JOIN Obedience_Level_Filters OBEDIENCE_LEVELS_FILTERS ON OBEDIENCE_LEVELS.id_obedience_level = OBEDIENCE_LEVELS_FILTERS.id_obedience_level WHERE ( @@ -317,7 +317,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_OBEDIENCE_LEVELS FROM tmp_Obedience_Level_Calc_Obedience_Level t_OBEDIENCE_LEVELS WHERE @@ -372,7 +372,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -394,7 +394,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -432,7 +432,7 @@ BEGIN SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Obedience_Level_Calc_Obedience_Level; END IF; @@ -447,7 +447,7 @@ BEGIN -- Outputs START TRANSACTION; -- Obedience_Levels - INSERT INTO parts.DOG_Obedience_Level_Temp ( + INSERT INTO fetchmetrics.DOG_Obedience_Level_Temp ( guid , id_obedience_level , code @@ -466,7 +466,7 @@ BEGIN , t_OBEDIENCE_LEVELS.does_meet_id_filters , t_OBEDIENCE_LEVELS.does_meet_non_id_filters - FROM parts.DOG_Obedience_Level OBEDIENCE_LEVELS + FROM fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS INNER JOIN tmp_Obedience_Level_Calc_Obedience_Level t_OBEDIENCE_LEVELS ON OBEDIENCE_LEVELS.id_obedience_level = t_OBEDIENCE_LEVELS.id_obedience_level ORDER BY OBEDIENCE_LEVELS.name ; @@ -485,7 +485,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Obedience_Level t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -493,7 +493,7 @@ BEGIN SELECT * FROM tmp_Obedience_Level_Calc_Obedience_Level; END IF; - CALL parts.p_dog_clear_calc_dog ( a_guid, 0 ); + CALL fetchmetrics.p_dog_clear_calc_dog ( a_guid, 0 ); DROP TEMPORARY TABLE IF EXISTS tmp_Split_Name_Calc_Obedience_Level; DROP TEMPORARY TABLE IF EXISTS tmp_Split_Id_Calc_Obedience_Level; @@ -501,7 +501,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Obedience_Level_Calc_Obedience_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -510,7 +510,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_obedience_level ( +CALL fetchmetrics.p_dog_calc_obedience_level ( 'gripe ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_obedience_level @@ -526,24 +526,24 @@ CALL parts.p_dog_calc_obedience_level ( ); SELECT * -FROM parts.DOG_Obedience_Level_Temp +FROM fetchmetrics.DOG_Obedience_Level_Temp ; /* SELECT * -FROM parts.DOG_Obedience_Level_Temp C +FROM fetchmetrics.DOG_Obedience_Level_Temp C WHERE C.does_meet_id_filters AND C.does_meet_non_id_filters ; */ -CALL parts.p_dog_clear_calc_obedience_level ( +CALL fetchmetrics.p_dog_clear_calc_obedience_level ( 'gripe ' -- a_guid , 1 -- debug ); DELETE -FROM parts.DOG_Obedience_Level_Temp +FROM fetchmetrics.DOG_Obedience_Level_Temp ; */ diff --git a/static/MySQL/71336_p_dog_clear_calc_obedience_level.sql b/static/MySQL/71336_p_dog_clear_calc_obedience_level.sql index b27b4f9..e9aa472 100644 --- a/static/MySQL/71336_p_dog_clear_calc_obedience_level.sql +++ b/static/MySQL/71336_p_dog_clear_calc_obedience_level.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_obedience_level; -DROP PROCEDURE IF EXISTS parts.p_obedience_level_clear_calc_obedience_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_obedience_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_obedience_level_clear_calc_obedience_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_obedience_level ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_obedience_level ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE OBEDIENCE_LEVELS_T - FROM parts.DOG_Obedience_Level_Temp OBEDIENCE_LEVELS_T + FROM fetchmetrics.DOG_Obedience_Level_Temp OBEDIENCE_LEVELS_T WHERE OBEDIENCE_LEVELS_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_obedience_level ( +CALL fetchmetrics.p_dog_clear_calc_obedience_level ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71336_p_dog_get_many_obedience_level.sql b/static/MySQL/71336_p_dog_get_many_obedience_level.sql index 11e1a87..a7c4321 100644 --- a/static/MySQL/71336_p_dog_get_many_obedience_level.sql +++ b/static/MySQL/71336_p_dog_get_many_obedience_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_obedience_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_obedience_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_obedience_level ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_obedience_level ( IN a_id_user INT , IN a_get_all_obedience_level BIT , IN a_get_inactive_obedience_level BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -161,7 +161,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -183,7 +183,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -212,14 +212,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Obedience_Level Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -237,7 +237,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_obedience_level ( + CALL fetchmetrics.p_dog_calc_obedience_level ( v_guid -- a_guid , a_id_user -- a_id_user , a_get_all_obedience_level -- a_get_all_obedience_level @@ -253,8 +253,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Obedience_Level_Temp; - SELECT * FROM parts.DOG_Obedience_Level_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Obedience_Level_Temp; + SELECT * FROM fetchmetrics.DOG_Obedience_Level_Temp; END IF; INSERT INTO tmp_Obedience_Level ( @@ -274,7 +274,7 @@ BEGIN , OBEDIENCE_LEVEL_T.does_meet_id_filters , OBEDIENCE_LEVEL_T.does_meet_non_id_filters - FROM parts.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T + FROM fetchmetrics.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T WHERE OBEDIENCE_LEVEL_T.GUID = v_guid ; @@ -285,7 +285,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Obedience_Level; END IF; @@ -305,7 +305,7 @@ BEGIN , t_OBEDIENCE_LEVELS.does_meet_id_filters , t_OBEDIENCE_LEVELS.does_meet_non_id_filters FROM tmp_Obedience_Level t_OBEDIENCE_LEVELS - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_OBEDIENCE_LEVELS.id_obedience_level = OBEDIENCE_LEVELS.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVELS ON t_OBEDIENCE_LEVELS.id_obedience_level = OBEDIENCE_LEVELS.id_obedience_level ORDER BY t_OBEDIENCE_LEVELS.name ; @@ -321,14 +321,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Obedience_Level; END IF; - CALL parts.p_dog_clear_calc_obedience_level( + CALL fetchmetrics.p_dog_clear_calc_obedience_level( v_guid -- a_guid , 0 -- a_debug ); @@ -337,7 +337,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Obedience_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -345,7 +345,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_obedience_level ( +CALL fetchmetrics.p_dog_get_many_obedience_level ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_obedience_level , 0 -- a_get_inactive_obedience_level diff --git a/static/MySQL/71340_p_dog_calc_assessment_response.sql b/static/MySQL/71340_p_dog_calc_assessment_response.sql index b47ecd9..a046eeb 100644 --- a/static/MySQL/71340_p_dog_calc_assessment_response.sql +++ b/static/MySQL/71340_p_dog_calc_assessment_response.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_calc_assessment_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_calc_assessment_response; DELIMITER // -CREATE PROCEDURE parts.p_dog_calc_assessment_response ( +CREATE PROCEDURE fetchmetrics.p_dog_calc_assessment_response ( IN a_guid BINARY(36) , IN a_id_user INT , IN a_get_all_assessment_response BIT @@ -126,7 +126,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -141,7 +141,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Calc_Assessment_Response; @@ -150,13 +150,13 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_assessment_response := IFNULL(a_get_all_assessment_response, 0); @@ -349,7 +349,7 @@ BEGIN SET v_has_filter_assessment_response_value_measured_max := NOT ISNULL(a_max_value_measured_assessment_response); -- Call Calc Assessment Command Modality Link - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -421,7 +421,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment_command_modality_link ( + CALL fetchmetrics.p_dog_calc_assessment_command_modality_link ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_ACM_link @@ -522,7 +522,7 @@ BEGIN , ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_id_filters , ASSESSMENT_COMMAND_MODALITY_LINK_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.GUID = a_guid ; @@ -532,7 +532,7 @@ BEGIN END IF; -- Call Calc Response Quality Metric - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -550,7 +550,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_response_quality_metric ( + CALL fetchmetrics.p_dog_calc_response_quality_metric ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_response_quality_metric -- a_get_all_response_quality_metric @@ -587,7 +587,7 @@ BEGIN , RESPONSE_QUALITY_METRIC_T.does_meet_id_filters , RESPONSE_QUALITY_METRIC_T.does_meet_non_id_filters - FROM parts.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T + FROM fetchmetrics.DOG_Response_Quality_Metric_Temp RESPONSE_QUALITY_METRIC_T WHERE RESPONSE_QUALITY_METRIC_T.GUID = a_guid ; @@ -597,7 +597,7 @@ BEGIN END IF; -- Call Calc Obedience Level - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT a_guid -- a_guid @@ -615,7 +615,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_obedience_level ( + CALL fetchmetrics.p_dog_calc_obedience_level ( a_guid -- a_guid , a_id_user -- a_id_user , a_get_all_obedience_level -- a_get_all_obedience_level @@ -647,7 +647,7 @@ BEGIN , OBEDIENCE_LEVEL_T.does_meet_id_filters , OBEDIENCE_LEVEL_T.does_meet_non_id_filters - FROM parts.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T + FROM fetchmetrics.DOG_Obedience_Level_Temp OBEDIENCE_LEVEL_T WHERE OBEDIENCE_LEVEL_T.GUID = a_guid ; @@ -658,7 +658,7 @@ BEGIN -- Assessment_Responses IF v_has_filter_assessment_response_id = 1 THEN - CALL parts.p_core_split(a_guid, a_ids_assessment_response, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_ids_assessment_response, ',', a_debug); SET sql_mode = ''; @@ -669,17 +669,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; IF v_has_filter_assessment_response_notes = 1 THEN - CALL parts.p_core_split(a_guid, a_notes_assessment_response, ',', a_debug); + CALL fetchmetrics.p_core_split(a_guid, a_notes_assessment_response, ',', a_debug); SET sql_mode = ''; @@ -690,20 +690,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = a_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( a_guid ); + CALL fetchmetrics.p_core_clear_split( a_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response + LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT_RESPONSE.id_response) @@ -722,7 +722,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Assessment_Response IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID - LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response + LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(ASSESSMENT_RESPONSE.id_response) @@ -741,12 +741,12 @@ BEGIN Assessment_Response_Id_Filter AS ( SELECT ASSESSMENT_RESPONSE.id_response FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID - INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response + INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response ) , Assessment_Response_Notes_Filter AS ( SELECT ASSESSMENT_RESPONSE.id_response FROM tmp_Split_Notes_Calc_Assessment_Response t_SPLIT_NOTES - INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL ) , Assessment_Response_Filters AS ( @@ -803,7 +803,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE + FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE LEFT JOIN Assessment_Response_Filters ASSESSMENT_RESPONSE_FILTERS ON ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE_FILTERS.id_response WHERE ( @@ -846,12 +846,12 @@ BEGIN Assessment_Response_Id_Filter AS ( SELECT ASSESSMENT_RESPONSE.id_response FROM tmp_Split_Id_Calc_Assessment_Response t_SPLIT_ID - INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response + INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_SPLIT_ID.as_int = ASSESSMENT_RESPONSE.id_response ) , Assessment_Response_Notes_Filter AS ( SELECT ASSESSMENT_RESPONSE.id_response FROM tmp_Split_Notes_Calc_Assessment_Response t_SPLIT_NOTES - INNER JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') + INNER JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.notes LIKE CONCAT('%', t_SPLIT_NOTES.substring, '%') WHERE NULLIF(t_SPLIT_NOTES.substring, '') IS NOT NULL ) , Assessment_Response_Filters AS ( @@ -908,7 +908,7 @@ BEGIN ) ) THEN 1 ELSE 0 END AS does_meet_non_id_filters - FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE + FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE LEFT JOIN Assessment_Response_Filters ASSESSMENT_RESPONSE_FILTERS ON ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE_FILTERS.id_response WHERE ( @@ -947,7 +947,7 @@ BEGIN END IF; -- Filter records - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN DELETE t_ASSESSMENT_RESPONSE FROM tmp_Assessment_Response_Calc_Assessment_Response t_ASSESSMENT_RESPONSE LEFT JOIN tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link @@ -1019,7 +1019,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid -- a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -1041,7 +1041,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -1068,7 +1068,7 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -1081,7 +1081,7 @@ BEGIN SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response; END IF; - IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response; SELECT * FROM tmp_Response_Quality_Metric_Calc_Assessment_Response; @@ -1102,7 +1102,7 @@ BEGIN -- Outputs START TRANSACTION; -- Assessment_Responses - INSERT INTO parts.DOG_Assessment_Response_Temp ( + INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp ( guid , id_response , id_assessment_command_modality_link @@ -1127,7 +1127,7 @@ BEGIN , t_ASSESSMENT_RESPONSE.does_meet_id_filters , t_ASSESSMENT_RESPONSE.does_meet_non_id_filters - FROM parts.DOG_Assessment_Response ASSESSMENT_RESPONSE + FROM fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE INNER JOIN tmp_Assessment_Response_Calc_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response ; COMMIT; @@ -1145,7 +1145,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Calc_Assessment_Response t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; END IF; @@ -1156,17 +1156,17 @@ BEGIN SELECT * FROM tmp_Assessment_Response_Calc_Assessment_Response; END IF; - CALL parts.p_dog_clear_calc_assessment_command_modality_link ( + CALL fetchmetrics.p_dog_clear_calc_assessment_command_modality_link ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_response_quality_metric ( + CALL fetchmetrics.p_dog_clear_calc_response_quality_metric ( a_guid , 0 -- a_debug ); - CALL parts.p_dog_clear_calc_obedience_level ( + CALL fetchmetrics.p_dog_clear_calc_obedience_level ( a_guid , 0 -- a_debug ); @@ -1180,7 +1180,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Calc_Assessment_Response; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -1188,7 +1188,7 @@ DELIMITER ; /* -CALL parts.p_dog_calc_assessment_response ( +CALL fetchmetrics.p_dog_calc_assessment_response ( 'slippery ' -- a_guid , 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_assessment_response @@ -1271,14 +1271,14 @@ CALL parts.p_dog_calc_assessment_response ( ); SELECT * -FROM parts.DOG_Assessment_Response_Temp +FROM fetchmetrics.DOG_Assessment_Response_Temp ; -CALL parts.p_dog_clear_calc_assessment_response ( +CALL fetchmetrics.p_dog_clear_calc_assessment_response ( 'slippery ' -- a_guid , 1 -- debug ); --- DELETE FROM parts.DOG_Assessment_Response_Temp; +-- DELETE FROM fetchmetrics.DOG_Assessment_Response_Temp; */ diff --git a/static/MySQL/71340_p_dog_clear_calc_assessment_response.sql b/static/MySQL/71340_p_dog_clear_calc_assessment_response.sql index f0ccdbf..45644a4 100644 --- a/static/MySQL/71340_p_dog_clear_calc_assessment_response.sql +++ b/static/MySQL/71340_p_dog_clear_calc_assessment_response.sql @@ -1,11 +1,11 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_clear_calc_assessment_response; -DROP PROCEDURE IF EXISTS parts.p_assessment_response_clear_calc_assessment_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_clear_calc_assessment_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_assessment_response_clear_calc_assessment_response; DELIMITER // -CREATE PROCEDURE parts.p_dog_clear_calc_assessment_response ( +CREATE PROCEDURE fetchmetrics.p_dog_clear_calc_assessment_response ( IN a_guid BINARY(36) , IN a_debug BIT ) @@ -13,32 +13,32 @@ BEGIN DECLARE v_time_start TIMESTAMP(6); SET v_time_start := CURRENT_TIMESTAMP(6); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); START TRANSACTION; DELETE ASSESSMENT_RESPONSES_T - FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSES_T + FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSES_T WHERE ASSESSMENT_RESPONSES_T.GUID = a_guid ; COMMIT; IF a_debug = 1 THEN - CALL parts.p_debug_timing_reporting( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting( v_time_start ); END IF; END // DELIMITER ; /* -CALL parts.p_dog_clear_calc_assessment_response ( +CALL fetchmetrics.p_dog_clear_calc_assessment_response ( 'crips ' -- a_guid , 1 -- debug ); SELECT * -FROM parts.DOG_Calc_User_Temp +FROM fetchmetrics.DOG_Calc_User_Temp WHERE GUID = 'chips ' ; diff --git a/static/MySQL/71340_p_dog_get_many_assessment_response.sql b/static/MySQL/71340_p_dog_get_many_assessment_response.sql index e12c1a1..79bd854 100644 --- a/static/MySQL/71340_p_dog_get_many_assessment_response.sql +++ b/static/MySQL/71340_p_dog_get_many_assessment_response.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_assessment_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_assessment_response; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_assessment_response ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_assessment_response ( IN a_id_user INT , IN a_get_all_assessment_response BIT , IN a_get_inactive_assessment_response BIT @@ -121,7 +121,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -136,7 +136,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -146,10 +146,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_dog_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); /* @@ -292,7 +292,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -314,7 +314,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -343,14 +343,14 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); -- Call Assessment_Response Calc - IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT v_guid -- a_guid @@ -436,7 +436,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_assessment_response ( + CALL fetchmetrics.p_dog_calc_assessment_response ( v_guid -- a_guid , a_id_user -- a_id_user @@ -520,8 +520,8 @@ BEGIN ); IF a_debug = 1 THEN - SELECT COUNT(*) FROM parts.DOG_Assessment_Response_Temp; - SELECT * FROM parts.DOG_Assessment_Response_Temp; + SELECT COUNT(*) FROM fetchmetrics.DOG_Assessment_Response_Temp; + SELECT * FROM fetchmetrics.DOG_Assessment_Response_Temp; END IF; INSERT INTO tmp_Assessment_Response ( @@ -547,7 +547,7 @@ BEGIN , ASSESSMENT_RESPONSE_T.does_meet_id_filters , ASSESSMENT_RESPONSE_T.does_meet_non_id_filters - FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T WHERE ASSESSMENT_RESPONSE_T.GUID = v_guid ; @@ -558,7 +558,7 @@ BEGIN END IF; -- Filter outputs - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Assessment_Response; END IF; @@ -584,10 +584,10 @@ BEGIN , t_ASSESSMENT_RESPONSE.does_meet_id_filters , t_ASSESSMENT_RESPONSE.does_meet_non_id_filters FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE - LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level - LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric - LEFT JOIN parts.DOG_Unit_Measurement UNIT_MEASUREMENT ON RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement + LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON t_ASSESSMENT_RESPONSE.id_response = ASSESSMENT_RESPONSE.id_response + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN fetchmetrics.DOG_Unit_Measurement UNIT_MEASUREMENT ON RESPONSE_QUALITY_METRIC.id_unit_measurement = UNIT_MEASUREMENT.id_unit_measurement ORDER BY ASSESSMENT_RESPONSE.created_on DESC LIMIT 1000 ; @@ -604,14 +604,14 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN SELECT * FROM tmp_Assessment_Response; END IF; - CALL parts.p_dog_clear_calc_assessment_response( + CALL fetchmetrics.p_dog_clear_calc_assessment_response( v_guid -- a_guid , 0 -- a_debug ); @@ -620,7 +620,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Assessment_Response; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -628,7 +628,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_assessment_response ( +CALL fetchmetrics.p_dog_get_many_assessment_response ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_assessment_response diff --git a/static/MySQL/71342_p_dog_save_assessment_response.sql b/static/MySQL/71342_p_dog_save_assessment_response.sql index 5a3e59d..3b972c9 100644 --- a/static/MySQL/71342_p_dog_save_assessment_response.sql +++ b/static/MySQL/71342_p_dog_save_assessment_response.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_response; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_assessment_response ( +CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_response ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,11 +61,11 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; START TRANSACTION; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -87,11 +87,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Assessment_Response_Copy; DROP TABLE IF EXISTS tmp_Assessment_Response; @@ -165,8 +165,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T - LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response + FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response WHERE ASSESSMENT_RESPONSE_T.guid = a_guid ; @@ -178,9 +178,9 @@ BEGIN -- Error names UPDATE tmp_Assessment_Response t_ASSESSMENT_RESPONSE - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link - LEFT JOIN parts.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN fetchmetrics.DOG_Response_Quality_Metric RESPONSE_QUALITY_METRIC ON t_ASSESSMENT_RESPONSE.id_response_quality_metric = RESPONSE_QUALITY_METRIC.id_metric + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level SET t_ASSESSMENT_RESPONSE.name_error = CONCAT( COALESCE(CONVERT(ASSESSMENT_COMMAND_MODALITY_LINK.created_on, CHAR), '(No Assessment Command Modality Link)') , ' - ' @@ -219,7 +219,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Assessment Response(s) do not have a valid Assessment_Command_Modality_Link: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link WHERE ISNULL(t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link) OR ISNULL(ASSESSMENT_COMMAND_MODALITY_LINK.id_link) @@ -273,7 +273,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('The following Dog Assessment Response(s) do not have a valid Obedience Level: ', GROUP_CONCAT(t_ASSESSMENT_RESPONSE.name_error SEPARATOR ', ')) AS msg FROM tmp_Assessment_Response t_ASSESSMENT_RESPONSE - LEFT JOIN parts.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level + LEFT JOIN fetchmetrics.DOG_Obedience_Level OBEDIENCE_LEVEL ON t_ASSESSMENT_RESPONSE.id_obedience_level = OBEDIENCE_LEVEL.id_obedience_level WHERE ISNULL(t_ASSESSMENT_RESPONSE.id_obedience_level) OR ISNULL(OBEDIENCE_LEVEL.id_obedience_level) @@ -283,7 +283,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -305,12 +305,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -333,7 +333,7 @@ BEGIN ; END IF; - IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * from tmp_Assessment_Response; END IF; @@ -341,10 +341,10 @@ BEGIN DELETE FROM tmp_Assessment_Response; END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.DOG_Dog_Change_Set ( + INSERT INTO fetchmetrics.DOG_Dog_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -358,7 +358,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.DOG_Assessment_Response ASSESSMENT_RESPONSE + UPDATE fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE INNER JOIN tmp_Assessment_Response t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE.id_response = t_ASSESSMENT_RESPONSE.id_response AND t_ASSESSMENT_RESPONSE.is_new = 0 @@ -372,7 +372,7 @@ BEGIN , ASSESSMENT_RESPONSE.id_change_set = v_id_change_set ; - INSERT INTO parts.DOG_Assessment_Response ( + INSERT INTO fetchmetrics.DOG_Assessment_Response ( id_temp , id_assessment_command_modality_link , id_response_quality_metric @@ -399,7 +399,7 @@ BEGIN AND t_ASSESSMENT_RESPONSE.active = 1 ; - INSERT INTO parts.DOG_Msg_Error_Temp ( + INSERT INTO fetchmetrics.DOG_Msg_Error_Temp ( id_type , code , msg @@ -418,7 +418,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.DOG_Assessment_Response_Temp + DELETE FROM fetchmetrics.DOG_Assessment_Response_Temp WHERE GUID = a_guid ; @@ -436,7 +436,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -447,7 +447,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -457,39 +457,39 @@ DELIMITER ; /* 'ripplesipplenipplytippledipplykipple' -DELETE FROM parts.DOG_Assessment_Response WHERE id_response > 740; +DELETE FROM fetchmetrics.DOG_Assessment_Response WHERE id_response > 740; * / delete -from parts.DOG_Assessment_Response_Audit +from fetchmetrics.DOG_Assessment_Response_Audit where id_response > 768 ; delete -from parts.DOG_Assessment_Response +from fetchmetrics.DOG_Assessment_Response where id_response > 768 ; delete -from parts.DOG_Assessment_Response_Temp +from fetchmetrics.DOG_Assessment_Response_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Response_Temp +from fetchmetrics.DOG_Assessment_Response_Temp ; select COUNT(*) -from parts.DOG_Assessment_Response_Temp +from fetchmetrics.DOG_Assessment_Response_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Response +from fetchmetrics.DOG_Assessment_Response ; select COUNT(*) -from parts.DOG_Assessment_Response +from fetchmetrics.DOG_Assessment_Response ; -INSERT INTO parts.DOG_Assessment_Response_Temp ( +INSERT INTO fetchmetrics.DOG_Assessment_Response_Temp ( id_response , id_assessment_command_modality_link , id_response_quality_metric @@ -510,7 +510,7 @@ VALUES ( , 'ripplesipplenipplytippledipplykipple' ); -CALL parts.p_dog_save_assessment_response ( +CALL fetchmetrics.p_dog_save_assessment_response ( 'nipples' , 'ripplesipplenipplytippledipplykipple' , 1 @@ -522,19 +522,19 @@ select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Response_Temp +from fetchmetrics.DOG_Assessment_Response_Temp ; select COUNT(*) -from parts.DOG_Assessment_Response_Temp +from fetchmetrics.DOG_Assessment_Response_Temp ; select * -- COUNT(*) -- delete -from parts.DOG_Assessment_Response +from fetchmetrics.DOG_Assessment_Response ; select COUNT(*) -from parts.DOG_Assessment_Response +from fetchmetrics.DOG_Assessment_Response ; */ \ No newline at end of file diff --git a/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql b/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql index 649e537..7a87701 100644 --- a/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql +++ b/static/MySQL/71344_p_dog_save_assessment_distraction_and_response.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_save_assessment_distraction_and_response; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_save_assessment_distraction_and_response; DELIMITER // -CREATE PROCEDURE parts.p_dog_save_assessment_distraction_and_response ( +CREATE PROCEDURE fetchmetrics.p_dog_save_assessment_distraction_and_response ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -46,7 +46,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -61,7 +61,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Combined t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error_Combined; @@ -71,11 +71,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); - SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_dog_new := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_CREATE' LIMIT 1); + SET v_id_access_level_edit := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'EDIT' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Assessment_Response_Save_ADR; DROP TABLE IF EXISTS tmp_Assessment_Command_Modality_Link_Save_ADR; @@ -143,8 +143,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(ASSESSMENT_T.id_assessment, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Temp ASSESSMENT_T - LEFT JOIN parts.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment + FROM fetchmetrics.DOG_Assessment_Temp ASSESSMENT_T + LEFT JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON ASSESSMENT_T.id_assessment = ASSESSMENT.id_assessment WHERE ASSESSMENT_T.guid = a_guid ; @@ -167,8 +167,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(DISTRACTION_T.id_distraction, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Distraction_Temp DISTRACTION_T - LEFT JOIN parts.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction + FROM fetchmetrics.DOG_Distraction_Temp DISTRACTION_T + LEFT JOIN fetchmetrics.DOG_Distraction DISTRACTION ON DISTRACTION_T.id_distraction = DISTRACTION.id_distraction WHERE DISTRACTION_T.guid = a_guid ; @@ -191,8 +191,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T - LEFT JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + LEFT JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK_T.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link WHERE ASSESSMENT_COMMAND_MODALITY_LINK_T.guid = a_guid ; @@ -215,8 +215,8 @@ BEGIN , 1 ) AS active , CASE WHEN COALESCE(ASSESSMENT_RESPONSE_T.id_response, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T - LEFT JOIN parts.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response + FROM fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + LEFT JOIN fetchmetrics.DOG_Assessment_Response ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_response = ASSESSMENT_RESPONSE.id_response WHERE ASSESSMENT_RESPONSE_T.guid = a_guid ; @@ -234,7 +234,7 @@ BEGIN -- Permissions -- Can Create - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -256,12 +256,12 @@ BEGIN IFNULL(CU_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CU_T + FROM fetchmetrics.DOG_Calc_User_Temp CU_T WHERE CU_T.GUID = a_guid LIMIT 1 ; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -288,7 +288,7 @@ BEGIN -- Save Assessments -- CREATE TEMPORARY TABLE tmp_Assessment_Save_ADR_Save_Error AS -- INSERT INTO tmp_Msg_Error_Combined_Save - CALL parts.p_dog_save_assessment ( + CALL fetchmetrics.p_dog_save_assessment ( a_comment , a_guid , a_id_user @@ -310,11 +310,11 @@ BEGIN */ -- Get New Assessment Ids - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN -- Update Temporary tables with new Ids UPDATE tmp_Assessment_Save_ADR t_ASSESSMENT - INNER JOIN parts.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp + INNER JOIN fetchmetrics.DOG_Assessment ASSESSMENT ON t_ASSESSMENT.id_temp = ASSESSMENT.id_temp INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON t_ASSESSMENT.id_assessment_old = t_DISTRACTION.id_assessment INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT.id_assessment_old = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment SET @@ -331,14 +331,14 @@ BEGIN START TRANSACTION; - UPDATE parts.DOG_Distraction_Temp DISTRACTION_T + UPDATE fetchmetrics.DOG_Distraction_Temp DISTRACTION_T INNER JOIN tmp_Distraction_Save_ADR t_DISTRACTION ON DISTRACTION_T.id_temp = t_DISTRACTION.id_temp INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_DISTRACTION.id_assessment = t_ASSESSMENT.id_assessment SET DISTRACTION_T.id_assessment = t_DISTRACTION.id_assessment WHERE t_ASSESSMENT.id_assessment <> t_ASSESSMENT.id_assessment_old ; - UPDATE parts.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T + UPDATE fetchmetrics.DOG_Assessment_Command_Modality_Link_Temp ASSESSMENT_COMMAND_MODALITY_LINK_T INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK_T.id_temp INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON t_ASSESSMENT.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment SET ASSESSMENT_COMMAND_MODALITY_LINK_T.id_assessment = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment @@ -362,7 +362,7 @@ BEGIN -- Save Distractions -- CREATE TEMPORARY TABLE tmp_Distraction_Save_ADR_Save_Error AS -- INSERT INTO tmp_Msg_Error_Combined_Save - CALL parts.p_dog_save_distraction ( + CALL fetchmetrics.p_dog_save_distraction ( a_comment , a_guid , a_id_user @@ -387,7 +387,7 @@ BEGIN -- Save Assessment Command Modality Links -- CREATE TEMPORARY TABLE tmp_Assessment_Command_Modality_Link_Save_ADR_Save_Error AS -- INSERT INTO tmp_Msg_Error_Combined_Save - CALL parts.p_dog_save_assessment_command_modality_link ( + CALL fetchmetrics.p_dog_save_assessment_command_modality_link ( a_comment , a_guid , a_id_user @@ -409,11 +409,11 @@ BEGIN */ -- Get New Assessment Command Modality Link Ids - IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; DELETE ASSESSMENT - FROM parts.DOG_Assessment ASSESSMENT + FROM fetchmetrics.DOG_Assessment ASSESSMENT INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment WHERE t_ASSESSMENT.is_new = 1 ; @@ -422,7 +422,7 @@ BEGIN ELSE -- Update Temporary tables with new Ids UPDATE tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK - INNER JOIN parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp + INNER JOIN fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_temp = ASSESSMENT_COMMAND_MODALITY_LINK.id_temp LEFT JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link SET t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link = ASSESSMENT_COMMAND_MODALITY_LINK.id_link @@ -437,7 +437,7 @@ BEGIN START TRANSACTION; - UPDATE parts.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T + UPDATE fetchmetrics.DOG_Assessment_Response_Temp ASSESSMENT_RESPONSE_T INNER JOIN tmp_Assessment_Response_Save_ADR t_ASSESSMENT_RESPONSE ON ASSESSMENT_RESPONSE_T.id_temp = t_ASSESSMENT_RESPONSE.id_temp INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_link SET ASSESSMENT_RESPONSE_T.id_assessment_command_modality_link = t_ASSESSMENT_RESPONSE.id_assessment_command_modality_link @@ -461,7 +461,7 @@ BEGIN -- Save Assessment Responses -- CREATE TEMPORARY TABLE tmp_Assessment_Response_Save_ADR_Save_Error AS -- INSERT INTO tmp_Msg_Error_Combined_Save - CALL parts.p_dog_save_assessment_response ( + CALL fetchmetrics.p_dog_save_assessment_response ( a_comment , a_guid , a_id_user @@ -483,11 +483,11 @@ BEGIN */ -- Get New Assessment Command Modality Link Ids - IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS (SELECT * FROM tmp_Msg_Error_Combined t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN START TRANSACTION; DELETE ASSESSMENT_COMMAND_MODALITY_LINK - FROM parts.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK + FROM fetchmetrics.DOG_Assessment_Command_Modality_Link ASSESSMENT_COMMAND_MODALITY_LINK INNER JOIN tmp_Assessment_Command_Modality_Link_Save_ADR t_ASSESSMENT_COMMAND_MODALITY_LINK ON ASSESSMENT_COMMAND_MODALITY_LINK.id_link = t_ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment_command_modality_link INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT_COMMAND_MODALITY_LINK.id_assessment = t_ASSESSMENT.id_assessment WHERE @@ -496,7 +496,7 @@ BEGIN ; DELETE ASSESSMENT - FROM parts.DOG_Assessment ASSESSMENT + FROM fetchmetrics.DOG_Assessment ASSESSMENT INNER JOIN tmp_Assessment_Save_ADR t_ASSESSMENT ON ASSESSMENT.id_assessment = t_ASSESSMENT.id_assessment WHERE t_ASSESSMENT.is_new = 1 ; @@ -516,7 +516,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error_Combined t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 THEN @@ -526,7 +526,7 @@ BEGIN SELECT * FROM tmp_Assessment_Response_Save_ADR; END IF; - CALL parts.p_dog_clear_msg_error ( + CALL fetchmetrics.p_dog_clear_msg_error ( a_guid , 0 -- debug ); @@ -542,7 +542,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error_Combined; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -551,7 +551,7 @@ DELIMITER ; /* -CALL parts.p_dog_save_assessment_distraction_and_response ( +CALL fetchmetrics.p_dog_save_assessment_distraction_and_response ( 'nipples' , 'ripplesipplenipplytippledipplykipple' , 1 diff --git a/static/MySQL/71601_p_ph_save_contact_form.sql b/static/MySQL/71601_p_ph_save_contact_form.sql index e6ed635..6ef3809 100644 --- a/static/MySQL/71601_p_ph_save_contact_form.sql +++ b/static/MySQL/71601_p_ph_save_contact_form.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_ph_save_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_save_contact_form; DELIMITER // -CREATE PROCEDURE parts.p_ph_save_contact_form ( +CREATE PROCEDURE fetchmetrics.p_ph_save_contact_form ( IN a_comment VARCHAR(500), IN a_guid BINARY(36), IN a_id_user INT, @@ -48,7 +48,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -60,11 +60,11 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_code_type_error_bad_data := 'BAD_DATA'; - SET v_id_type_error_bad_data := (SELECT id_type FROM parts.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); - SET v_id_permission_contact_form_admin := (SELECT id_permission FROM parts.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1); - SET v_id_permission_contact_form_new := (SELECT id_permission FROM parts.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_contact_form_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1); + SET v_id_permission_contact_form_new := (SELECT id_permission FROM fetchmetrics.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1); - CALL parts.p_core_validate_guid ( a_guid ); + CALL fetchmetrics.p_core_validate_guid ( a_guid ); DROP TABLE IF EXISTS tmp_Contact_Form; @@ -101,15 +101,15 @@ BEGIN ) SELECT CF_T.id_contact_form AS id_contact_form - , IFNULL(CF_T.email, CF.email) AS code + , IFNULL(CF_T.email, CF.email) AS email , IFNULL(CF_T.name_contact, CF.name_contact) AS name_contact , IFNULL(CF_T.name_company, CF.name_company) AS name_company , IFNULL(CF_T.message, CF.message) AS message , COALESCE(CF_T.receive_marketing_communications, CF.receive_marketing_communications, 0) AS receive_marketing_communications , COALESCE(CF_T.active, CF.active, 1) AS active , CASE WHEN IFNULL(CF_T.id_contact_form, 0) < 1 THEN 1 ELSE 0 END AS is_new - FROM parts.PH_Contact_Form_Temp CF_T - LEFT JOIN parts.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form + FROM fetchmetrics.PH_Contact_Form_Temp CF_T + LEFT JOIN fetchmetrics.PH_Contact_Form CF ON CF_T.id_contact_form = CF.id_contact_form WHERE CF_T.guid = a_guid ; @@ -201,7 +201,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -223,7 +223,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_admin - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -234,7 +234,7 @@ BEGIN SELECT * FROM tmp_Msg_Error t_ERROR; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -260,7 +260,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( a_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -282,7 +282,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_create - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = a_guid LIMIT 1 ; @@ -293,7 +293,7 @@ BEGIN SELECT * FROM tmp_Msg_Error t_ERROR; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( a_guid , 0 -- a_debug ); @@ -327,7 +327,7 @@ BEGIN IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN START TRANSACTION; - INSERT INTO parts.PH_Contact_Form_Change_Set ( + INSERT INTO fetchmetrics.PH_Contact_Form_Change_Set ( comment , id_user_updated_last_by , updated_last_on @@ -341,7 +341,7 @@ BEGIN SET v_id_change_set := LAST_INSERT_ID(); - UPDATE parts.PH_Contact_Form CF + UPDATE fetchmetrics.PH_Contact_Form CF INNER JOIN tmp_Contact_Form t_CF ON CF.id_contact_form = t_CF.id_contact_form AND t_CF.is_new = 0 @@ -355,7 +355,7 @@ BEGIN , CF.id_change_set = v_id_change_set ; - INSERT INTO parts.PH_Contact_Form ( + INSERT INTO fetchmetrics.PH_Contact_Form ( email , name_contact , name_company @@ -385,7 +385,7 @@ BEGIN START TRANSACTION; - DELETE FROM parts.PH_Contact_Form_Temp + DELETE FROM fetchmetrics.PH_Contact_Form_Temp WHERE GUID = a_guid ; @@ -394,7 +394,7 @@ BEGIN -- Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN parts.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 THEN @@ -405,7 +405,7 @@ BEGIN DROP TEMPORARY TABLE tmp_Msg_Error; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -415,13 +415,13 @@ select * -- COUNT(*) -- delete -from parts.PH_Contact_Form_Temp +from fetchmetrics.PH_Contact_Form_Temp ; -CALL parts.p_ph_save_contact_form ( +CALL fetchmetrics.p_ph_save_contact_form ( 'nipples' - , (SELECT GUID FROM parts.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1) + , (SELECT GUID FROM fetchmetrics.PH_Contact_Form_Temp ORDER BY id_temp DESC LIMIT 1) , 1 , 1 ); @@ -430,7 +430,7 @@ select * -- COUNT(*) -- delete -from parts.PH_Contact_Form_Temp +from fetchmetrics.PH_Contact_Form_Temp ; */ diff --git a/static/MySQL/71603_p_ph_get_many_contact_form.sql b/static/MySQL/71603_p_ph_get_many_contact_form.sql index 2c0e7da..a1aec6d 100644 --- a/static/MySQL/71603_p_ph_get_many_contact_form.sql +++ b/static/MySQL/71603_p_ph_get_many_contact_form.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_ph_get_many_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_get_many_contact_form; DELIMITER // -CREATE PROCEDURE parts.p_ph_get_many_contact_form ( +CREATE PROCEDURE fetchmetrics.p_ph_get_many_contact_form ( IN a_id_user INT , IN a_get_all_contact_form BIT , IN a_get_inactive_contact_form BIT @@ -22,8 +22,8 @@ BEGIN SET v_time_start := CURRENT_TIMESTAMP(6); SET v_guid := UUID(); - SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1); - SET v_id_permission_contact_form_admin := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'CONTACT_FORM_ADMIN' LIMIT 1); + SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1); + SET v_id_permission_contact_form_admin := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'CONTACT_FORM_ADMIN' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_contact_form := IFNULL(a_get_all_contact_form, 0); @@ -61,13 +61,13 @@ BEGIN ); DELETE FROM tmp_Split; - CALL parts.p_core_validate_guid ( v_guid ); + CALL fetchmetrics.p_core_validate_guid ( v_guid ); SET v_has_filter_contact_form = CASE WHEN a_ids_contact_form = '' THEN 0 ELSE 1 END; -- Contact Forms IF v_has_filter_contact_form = 1 THEN - CALL parts.p_split(v_guid, a_ids_contact_form, ',', a_debug); + CALL fetchmetrics.p_split(v_guid, a_ids_contact_form, ',', a_debug); INSERT INTO tmp_Split ( substring @@ -76,21 +76,21 @@ BEGIN SELECT substring , CONVERT(substring, DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp + FROM fetchmetrics.CORE_Split_Temp WHERE GUID = v_guid AND NOT ISNULL(substring) AND substring != '' ; - CALL parts.p_clear_split_temp( v_guid ); + CALL fetchmetrics.p_clear_split_temp( v_guid ); END IF; IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split t_S - LEFT JOIN parts.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form + LEFT JOIN fetchmetrics.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form WHERE ISNULL(t_S.as_int) OR ISNULL(CF.id_contact_form) @@ -109,7 +109,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Contact Form IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split t_S - LEFT JOIN parts.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form + LEFT JOIN fetchmetrics.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form WHERE ISNULL(t_S.as_int) OR ISNULL(CF.id_contact_form) @@ -125,7 +125,7 @@ BEGIN SELECT CF.id_contact_form FROM tmp_Split t_S - RIGHT JOIN parts.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form + RIGHT JOIN fetchmetrics.PH_Contact_Form CF ON t_S.as_int = CF.id_contact_form WHERE ( a_get_all_contact_form = 1 @@ -166,7 +166,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -188,7 +188,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -223,7 +223,7 @@ BEGIN DELETE FROM tmp_Contact_Form; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); @@ -239,7 +239,7 @@ BEGIN , CF.active , v_can_view FROM tmp_Contact_Form t_CF - INNER JOIN parts.PH_Contact_Form CF ON t_CF.id_contact_form = CF.id_contact_form + INNER JOIN fetchmetrics.PH_Contact_Form CF ON t_CF.id_contact_form = CF.id_contact_form GROUP BY t_CF.id_contact_form ORDER BY CF.created_on DESC ; @@ -247,7 +247,7 @@ BEGIN -- Errors SELECT * FROM tmp_Msg_Error t_ME - INNER JOIN parts.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN @@ -258,7 +258,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Contact_Form; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -266,7 +266,7 @@ DELIMITER ; /* -CALL parts.p_ph_get_many_contact_form ( +CALL fetchmetrics.p_ph_get_many_contact_form ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_contact_form , 0 -- a_get_inactive_contact_form diff --git a/static/MySQL/71620_p_ph_save_apply_founding_partner_form.sql b/static/MySQL/71620_p_ph_save_apply_founding_partner_form.sql new file mode 100644 index 0000000..357f852 --- /dev/null +++ b/static/MySQL/71620_p_ph_save_apply_founding_partner_form.sql @@ -0,0 +1,631 @@ + +USE fetchmetrics; + +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_save_apply_founding_partner_form; + +DELIMITER // +CREATE PROCEDURE fetchmetrics.p_ph_save_apply_founding_partner_form ( + IN a_comment VARCHAR(500), + IN a_guid BINARY(36), + IN a_id_user INT, + IN a_debug BIT +) +BEGIN + DECLARE v_code_type_error_bad_data VARCHAR(100); + DECLARE v_id_access_level_view INT; + DECLARE v_id_access_level_edit INT; + DECLARE v_id_change_set INT; + DECLARE v_id_permission_apply_founding_partner_form_admin INT; + DECLARE v_id_permission_apply_founding_partner_form_new INT; + DECLARE v_id_type_error_bad_data INT; + DECLARE v_time_start TIMESTAMP(6); + DECLARE v_can_admin BIT; + DECLARE v_can_create BIT; + + DECLARE exit handler for SQLEXCEPTION + BEGIN + GET DIAGNOSTICS CONDITION 1 + @sqlstate = RETURNED_SQLSTATE + , @errno = MYSQL_ERRNO + , @text = MESSAGE_TEXT + ; + + ROLLBACK; + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + MET.id_type + , @errno + , @text + FROM fetchmetrics.CORE_Msg_Error_Type MET + WHERE MET.code = 'MYSQL_ERROR' + ; + + SELECT * + FROM tmp_Msg_Error; + DROP TABLE IF EXISTS tmp_Msg_Error + ; + END; + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_code_type_error_bad_data := 'BAD_DATA'; + SET v_id_type_error_bad_data := (SELECT id_type FROM fetchmetrics.CORE_Msg_Error_Type WHERE code = v_code_type_error_bad_data LIMIT 1); + SET v_id_permission_apply_founding_partner_form_admin := (SELECT id_permission FROM fetchmetrics.DOG_Permission P WHERE P.code = 'CONTACT_FORM_ADMIN' LIMIT 1); + SET v_id_permission_apply_founding_partner_form_new := (SELECT id_permission FROM fetchmetrics.DOG_Permission P WHERE P.code = 'CONTACT_FORM_CREATE' LIMIT 1); + + CALL fetchmetrics.p_core_validate_guid ( a_guid ); + + DROP TABLE IF EXISTS tmp_Apply_Founding_Partner_Form; + + CREATE TEMPORARY TABLE tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form INT NOT NULL + , name_contact VARCHAR(255) + , email VARCHAR(255) + , phone_number VARCHAR(255) + , name_company VARCHAR(255) + , website VARCHAR(1000) + , dog_count INT + , id_years_of_experience INT + , ids_speciality VARCHAR(255) + , ids_existing_system VARCHAR(255) + , id_existing_challenges INT + , id_existing_time_sink_weekly INT + , id_commitment_frequency INT + -- , most_valuable_features TEXT + , notes TEXT + , active BIT NOT NULL + , name_error VARCHAR(255) + , is_new BIT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + + -- Get data from Temp table + INSERT INTO tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form + , name_contact + , email + , phone_number + , name_company + , website + , dog_count + , id_years_of_experience + , ids_speciality + , ids_existing_system + , id_existing_challenges + , id_existing_time_sink_weekly + , id_commitment_frequency + -- , most_valuable_features + , notes + , active + , is_new + ) + SELECT + AFPF_T.id_apply_founding_partner_form AS id_apply_founding_partner_form + , IFNULL(AFPF_T.name_contact, AFPF.name_contact) AS name_contact + , IFNULL(AFPF_T.email, AFPF.email) AS email + , IFNULL(AFPF_T.phone_number, AFPF.phone_number) AS phone_number + , IFNULL(AFPF_T.name_company, AFPF.name_company) AS name_company + , IFNULL(AFPF_T.website, AFPF.website) AS website + , IFNULL(AFPF_T.dog_count, AFPF.dog_count) AS dog_count + , IFNULL(AFPF_T.id_years_of_experience, AFPF.id_years_of_experience) AS id_years_of_experience + , IFNULL(AFPF_T.ids_speciality, AFPF.ids_speciality) AS ids_speciality + , IFNULL(AFPF_T.ids_existing_system, AFPF.ids_existing_system) AS ids_existing_system + , IFNULL(AFPF_T.id_existing_challenges, AFPF.id_existing_challenges) AS id_existing_challenges + , IFNULL(AFPF_T.id_existing_time_sink_weekly, AFPF.id_existing_time_sink_weekly) AS id_existing_time_sink_weekly + , IFNULL(AFPF_T.id_commitment_frequency, AFPF.id_commitment_frequency) AS id_commitment_frequency + -- , IFNULL(AFPF_T.most_valuable_features, AFPF.most_valuable_features) AS most_valuable_features + , IFNULL(AFPF_T.notes, AFPF.notes) AS notes + , COALESCE(AFPF_T.active, AFPF.active, 1) AS active + , CASE WHEN IFNULL(AFPF_T.id_apply_founding_partner_form, 0) < 1 THEN 1 ELSE 0 END AS is_new + FROM fetchmetrics.PH_Apply_Founding_Partner_Form_Temp AFPF_T + LEFT JOIN fetchmetrics.PH_Apply_Founding_Partner_Form AFPF ON AFPF_T.id_apply_founding_partner_form = AFPF.id_apply_founding_partner_form + WHERE AFPF_T.guid = a_guid + ; + + UPDATE tmp_Apply_Founding_Partner_Form t_AFPF + SET name_error = COALESCE(t_AFPF.email, t_AFPF.name_company, t_AFPF.name_contact, t_AFPF.message, '(No Apply Founding Partner Form)') + ; + + -- Validation + -- Missing mandatory fields + -- name_contact + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.name_contact) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Contact Name: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.name_contact) + ; + END IF; + -- email + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.email) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have an Email: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.email) + ; + END IF; + /* + -- phone_number + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.phone_number) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Phone_number: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.phone_number) + ; + END IF; + */ + -- name_company + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.name_company) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Company Name: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.name) + ; + END IF; + /* + -- website + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.website) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Website: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.website) + ; + END IF; + */ + -- dog_count + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.dog_count) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Dog_count: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.dog_count) + ; + END IF; + -- id_years_of_experience + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_years_of_experience) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_years_of_experience: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_years_of_experience) + ; + END IF; + -- ids_speciality + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.ids_speciality) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Ids_speciality: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.ids_speciality) + ; + END IF; + -- ids_existing_system + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.ids_existing_system) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Ids_existing_system: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.ids_existing_system) + ; + END IF; + -- id_existing_challenges + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_existing_challenges) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_existing_challenges: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_existing_challenges) + ; + END IF; + -- id_existing_time_sink_weekly + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_existing_time_sink_weekly) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_existing_time_sink_weekly: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_existing_time_sink_weekly) + ; + END IF; + -- id_commitment_frequency + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.id_commitment_frequency) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Id_commitment_frequency: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.id_commitment_frequency) + ; + END IF; + /* + -- most_valuable_features + IF EXISTS (SELECT * FROM tmp_Apply_Founding_Partner_Form t_AFPF WHERE ISNULL(t_AFPF.most_valuable_features) LIMIT 1) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('The following Apply Founding Partner Form(s) do not have a Most_valuable_features: ', GROUP_CONCAT(t_AFPF.name_error SEPARATOR ', ')) AS msg + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE ISNULL(t_AFPF.most_valuable_features) + ; + END IF; + */ + + -- Permissions + IF a_debug = 1 THEN + SELECT + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_admin -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ; + END IF; + + CALL fetchmetrics.p_dog_calc_user( + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_admin -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CALC_USER_T.has_access, 0) + INTO + v_can_admin + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T + WHERE CALC_USER_T.GUID = a_guid + LIMIT 1 + ; + + IF a_debug = 1 THEN + SELECT v_can_admin; + SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; + SELECT * FROM tmp_Msg_Error t_ERROR; + END IF; + + CALL fetchmetrics.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + + IF a_debug = 1 THEN + SELECT + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_new -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ; + END IF; + + CALL fetchmetrics.p_dog_calc_user( + a_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_new -- ids_permission + , v_id_access_level_view -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CALC_USER_T.has_access, 0) + INTO + v_can_create + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T + WHERE CALC_USER_T.GUID = a_guid + LIMIT 1 + ; + + IF a_debug = 1 THEN + SELECT v_can_create; + SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; + SELECT * FROM tmp_Msg_Error t_ERROR; + END IF; + + CALL fetchmetrics.p_dog_clear_calc_user( + a_guid + , 0 -- a_debug + ); + + IF (v_can_admin = 0 AND EXISTS(SELECT * FROM tmp_Apply_Founding_Partner_Form WHERE is_new = 0)) THEN + DELETE t_ME + FROM tmp_Msg_Error t_ME + WHERE t_ME.id_type <> v_id_type_error_no_permission + ; + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + VALUES ( + v_id_type_error_no_permission + , v_code_type_error_no_permission + , 'You do not have permission to admin Apply Founding Partner Forms.' + ) + ; + END IF; + + IF EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + IF a_debug = 1 THEN + SELECT * from tmp_Apply_Founding_Partner_Form; + END IF; + + DELETE FROM tmp_Apply_Founding_Partner_Form; + END IF; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + START TRANSACTION; + + INSERT INTO fetchmetrics.PH_Contact_Form_Change_Set ( + comment + , id_user_updated_last_by + , updated_last_on + ) + VALUES ( + a_comment + , a_id_user + , v_time_start + ) + ; + + SET v_id_change_set := LAST_INSERT_ID(); + + UPDATE fetchmetrics.PH_Apply_Founding_Partner_Form AFPF + INNER JOIN tmp_Apply_Founding_Partner_Form t_AFPF + ON AFPF.id_apply_founding_partner_form = t_AFPF.id_apply_founding_partner_form + AND t_AFPF.is_new = 0 + SET + AFPF.name_contact = t_AFPF.name_contact + , AFPF.email = t_AFPF.email + , AFPF.phone_number = t_AFPF.phone_number + , AFPF.name_company = t_AFPF.name_company + , AFPF.website = t_AFPF.website + , AFPF.dog_count = t_AFPF.dog_count + , AFPF.id_years_of_experience = t_AFPF.id_years_of_experience + , AFPF.ids_speciality = t_AFPF.ids_speciality + , AFPF.ids_existing_system = t_AFPF.ids_existing_system + , AFPF.id_existing_challenges = t_AFPF.id_existing_challenges + , AFPF.id_existing_time_sink_weekly = t_AFPF.id_existing_time_sink_weekly + , AFPF.id_commitment_frequency = t_AFPF.id_commitment_frequency + -- , AFPF.most_valuable_features = t_AFPF.most_valuable_features + , AFPF.notes = t_AFPF.notes + , AFPF.active = t_AFPF.active + , AFPF.id_change_set = v_id_change_set + ; + + INSERT INTO fetchmetrics.PH_Apply_Founding_Partner_Form ( + name_contact + , email + , phone_number + , name_company + , website + , dog_count + , id_years_of_experience + , ids_speciality + , ids_existing_system + , id_existing_challenges + , id_existing_time_sink_weekly + , id_commitment_frequency + -- , most_valuable_features + , notes + , active + , id_user_created_by + , created_on + ) + SELECT + t_AFPF.name_contact + , t_AFPF.email + , t_AFPF.phone_number + , t_AFPF.name_company + , t_AFPF.website + , t_AFPF.dog_count + , t_AFPF.id_years_of_experience + , t_AFPF.ids_speciality + , t_AFPF.ids_existing_system + , t_AFPF.id_existing_challenges + , t_AFPF.id_existing_time_sink_weekly + , t_AFPF.id_commitment_frequency + -- , t_AFPF.most_valuable_features + , t_AFPF.notes + , t_AFPF.active + , a_id_user + , v_time_start + FROM tmp_Apply_Founding_Partner_Form t_AFPF + WHERE + t_AFPF.is_new = 1 + AND t_AFPF.active = 1 + ; + + COMMIT; + END IF; + + START TRANSACTION; + + DELETE FROM fetchmetrics.PH_Apply_Founding_Partner_Form_Temp + WHERE GUID = a_guid + ; + + COMMIT; + + -- Errors + SELECT * + FROM tmp_Msg_Error t_ME + INNER JOIN fetchmetrics.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + ; + + IF a_debug = 1 THEN + SELECT * from tmp_Apply_Founding_Partner_Form; + END IF; + + DROP TEMPORARY TABLE tmp_Apply_Founding_Partner_Form; + DROP TEMPORARY TABLE tmp_Msg_Error; + + IF a_debug = 1 THEN + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); + END IF; +END // +DELIMITER ; + +/* +select + * + -- COUNT(*) +-- delete +from fetchmetrics.PH_Apply_Founding_Partner_Form_Temp +; + + +CALL fetchmetrics.p_ph_save_apply_founding_partner_form ( + 'nipples' + , (SELECT GUID FROM fetchmetrics.PH_Apply_Founding_Partner_Form_Temp ORDER BY id_temp DESC LIMIT 1) + , 1 + , 1 +); + +select + * + -- COUNT(*) +-- delete +from fetchmetrics.PH_Apply_Founding_Partner_Form_Temp +; + +*/ diff --git a/static/MySQL/71622_p_ph_get_many_founding_partner_form.sql b/static/MySQL/71622_p_ph_get_many_founding_partner_form.sql new file mode 100644 index 0000000..ed81c97 --- /dev/null +++ b/static/MySQL/71622_p_ph_get_many_founding_partner_form.sql @@ -0,0 +1,277 @@ + +USE fetchmetrics; + +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_get_many_apply_founding_partner_form; + +DELIMITER // +CREATE PROCEDURE fetchmetrics.p_ph_get_many_apply_founding_partner_form ( + IN a_id_user INT + , IN a_get_all_apply_founding_partner_form BIT + , IN a_get_inactive_apply_founding_partner_form BIT + , IN a_ids_apply_founding_partner_form VARCHAR(500) + , IN a_debug BIT +) +BEGIN + DECLARE v_has_filter_apply_founding_partner_form BIT; + DECLARE v_guid BINARY(36); + DECLARE v_id_access_level_admin INT; + DECLARE v_id_permission_apply_founding_partner_form_admin INT; + DECLARE v_id_minimum INT; + DECLARE v_time_start TIMESTAMP(6); + DECLARE v_can_view BIT; + + SET v_time_start := CURRENT_TIMESTAMP(6); + SET v_guid := UUID(); + SET v_id_access_level_admin := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'ADMIN' LIMIT 1); + SET v_id_permission_apply_founding_partner_form_admin := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'CONTACT_FORM_ADMIN' LIMIT 1); + + SET a_id_user := IFNULL(a_id_user, 0); + SET a_get_all_apply_founding_partner_form := IFNULL(a_get_all_apply_founding_partner_form, 0); + SET a_get_inactive_apply_founding_partner_form := IFNULL(a_get_inactive_apply_founding_partner_form, 0); + SET a_ids_apply_founding_partner_form := TRIM(IFNULL(a_ids_apply_founding_partner_form, '')); + SET a_debug := IFNULL(a_debug, 0); + + IF a_debug = 1 THEN + SELECT + a_id_user + , a_get_all_apply_founding_partner_form + , a_get_inactive_apply_founding_partner_form + , a_ids_apply_founding_partner_form + , a_debug + ; + END IF; + + DROP TEMPORARY TABLE IF EXISTS tmp_Split; + DROP TEMPORARY TABLE IF EXISTS tmp_Apply_Founding_Partner_Form; + + CREATE TEMPORARY TABLE tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form INT NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Msg_Error ( + display_order INT NOT NULL PRIMARY KEY AUTO_INCREMENT + , id_type INT + , code VARCHAR(50) NOT NULL + , msg VARCHAR(4000) NOT NULL + ); + + CREATE TEMPORARY TABLE IF NOT EXISTS tmp_Split ( + substring VARCHAR(4000) NOT NULL + , as_int INT + ); + DELETE FROM tmp_Split; + + CALL fetchmetrics.p_core_validate_guid ( v_guid ); + + SET v_has_filter_apply_founding_partner_form = CASE WHEN a_ids_apply_founding_partner_form = '' THEN 0 ELSE 1 END; + + -- Apply Founding Partner Forms + IF v_has_filter_apply_founding_partner_form = 1 THEN + CALL fetchmetrics.p_split(v_guid, a_ids_apply_founding_partner_form, ',', a_debug); + + INSERT INTO tmp_Split ( + substring + , as_int + ) + SELECT + substring + , CONVERT(substring, DECIMAL(10,0)) AS as_int + FROM fetchmetrics.CORE_Split_Temp + WHERE + GUID = v_guid + AND NOT ISNULL(substring) + AND substring != '' + ; + + CALL fetchmetrics.p_clear_split_temp( v_guid ); + END IF; + + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error LIMIT 1) THEN + IF EXISTS ( + SELECT * + FROM tmp_Split t_S + LEFT JOIN fetchmetrics.PH_Apply_Founding_Partner_Form CF ON t_S.as_int = CF.id_apply_founding_partner_form + WHERE + ISNULL(t_S.as_int) + OR ISNULL(CF.id_apply_founding_partner_form) + OR ( + CF.active = 0 + AND a_get_inactive_apply_founding_partner_form = 0 + ) + ) THEN + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + SELECT + v_id_type_error_bad_data + , v_code_type_error_bad_data + , CONCAT('Invalid or inactive Apply Founding Partner Form IDs: ', IFNULL(GROUP_CONCAT(t_S.substring SEPARATOR ', '), 'NULL')) + FROM tmp_Split t_S + LEFT JOIN fetchmetrics.PH_Apply_Founding_Partner_Form CF ON t_S.as_int = CF.id_apply_founding_partner_form + WHERE + ISNULL(t_S.as_int) + OR ISNULL(CF.id_apply_founding_partner_form) + OR ( + CF.active = 0 + AND a_get_inactive_apply_founding_partner_form = 0 + ) + ; + ELSE + INSERT INTO tmp_Apply_Founding_Partner_Form ( + id_apply_founding_partner_form + ) + SELECT + CF.id_apply_founding_partner_form + FROM tmp_Split t_S + RIGHT JOIN fetchmetrics.PH_Apply_Founding_Partner_Form CF ON t_S.as_int = CF.id_apply_founding_partner_form + WHERE + ( + a_get_all_apply_founding_partner_form = 1 + OR ( + v_has_filter_apply_founding_partner_form = 1 + AND NOT ISNULL(t_S.as_int) + ) + ) + AND ( + a_get_inactive_apply_founding_partner_form = 1 + OR CF.active = 1 + ) + ; + END IF; + END IF; + + DELETE FROM tmp_Split; + + + -- Permissions + IF a_debug = 1 THEN + SELECT + v_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_admin -- ids_permission + , v_id_access_level_admin -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ; + END IF; + + CALL fetchmetrics.p_dog_calc_user( + v_guid + , 0 -- get_all_user + , 0 -- get_inactive_user + , a_id_user -- ids_user + , '' -- a_auth0_ids_user + , '' -- a_names_user + , '' -- a_emails_user + , 1 -- a_require_all_id_search_filters_met + , 1 -- a_require_any_id_search_filters_met + , 0 -- a_require_all_non_id_search_filters_met + , 0 -- a_require_any_non_id_search_filters_met + , v_id_permission_apply_founding_partner_form_admin -- ids_permission + , v_id_access_level_admin -- ids_access_level + , 0 -- a_show_errors + , 0 -- a_debug + ); + + SELECT + IFNULL(CALC_USER_T.has_access, 0) + INTO + v_can_view + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T + WHERE CALC_USER_T.GUID = v_guid + LIMIT 1 + ; + + IF a_debug = 1 THEN + SELECT v_can_view; + SELECT COUNT(*) AS Count_Errors FROM tmp_Msg_Error t_ERROR; + SELECT * FROM tmp_Msg_Error t_ERROR; + END IF; + + IF (v_can_view = 0) THEN + DELETE t_ME + FROM tmp_Msg_Error t_ME + WHERE t_ME.id_type <> v_id_type_error_no_permission + ; + INSERT INTO tmp_Msg_Error ( + id_type + , code + , msg + ) + VALUES ( + v_id_type_error_no_permission + , v_code_type_error_no_permission + , 'You do not have permission to view Apply Founding Partner Forms.' + ) + ; + + IF a_debug = 1 THEN + SELECT * FROM tmp_Apply_Founding_Partner_Form; + END IF; + + DELETE FROM tmp_Apply_Founding_Partner_Form; + END IF; + + CALL fetchmetrics.p_dog_clear_calc_user( + v_guid + , 0 -- a_debug + ); + + -- Outputs + -- Apply Founding Partner Forms + SELECT + t_CF.id_apply_founding_partner_form + , CF.email + , CF.name_contact + , CF.name_company + , CF.message + , CF.active + , v_can_view + FROM tmp_Apply_Founding_Partner_Form t_CF + INNER JOIN fetchmetrics.PH_Apply_Founding_Partner_Form CF ON t_CF.id_apply_founding_partner_form = CF.id_apply_founding_partner_form + GROUP BY t_CF.id_apply_founding_partner_form + ORDER BY CF.created_on DESC + ; + + -- Errors + SELECT * + FROM tmp_Msg_Error t_ME + INNER JOIN fetchmetrics.CORE_Msg_Error_Type MET ON t_ME.id_type = MET.id_type + ; + + IF a_debug = 1 AND v_can_view = 1 THEN + SELECT * FROM tmp_Apply_Founding_Partner_Form; + END IF; + + DROP TEMPORARY TABLE IF EXISTS tmp_Split; + DROP TEMPORARY TABLE IF EXISTS tmp_Apply_Founding_Partner_Form; + + IF a_debug = 1 THEN + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); + END IF; +END // +DELIMITER ; + + +/* + +CALL fetchmetrics.p_ph_get_many_apply_founding_partner_form ( + 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user + , 1 -- a_get_all_apply_founding_partner_form + , 0 -- a_get_inactive_apply_founding_partner_form + , '' -- a_ids_apply_founding_partner_form + , 0 -- a_debug +); + +*/ diff --git a/static/MySQL/90000_populate.sql b/static/MySQL/90000_populate.sql index 260de60..788e29d 100644 --- a/static/MySQL/90000_populate.sql +++ b/static/MySQL/90000_populate.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -- Error Message Types /* Existing table */ -INSERT INTO parts.CORE_Msg_Error_Type ( +INSERT INTO fetchmetrics.CORE_Msg_Error_Type ( code , name , description @@ -37,7 +37,7 @@ VALUES ) ; -INSERT INTO parts.CORE_File_Type ( +INSERT INTO fetchmetrics.CORE_File_Type ( code , name , is_image @@ -51,7 +51,7 @@ VALUES ; -- Access Levels -INSERT INTO parts.DOG_Access_Level ( +INSERT INTO fetchmetrics.DOG_Access_Level ( display_order , code , name @@ -85,7 +85,7 @@ VALUES ; -- Permission Groups -INSERT INTO parts.DOG_Permission_Group ( +INSERT INTO fetchmetrics.DOG_Permission_Group ( display_order , code , name @@ -109,7 +109,7 @@ VALUES ; -- Permissions -INSERT INTO parts.DOG_Permission ( +INSERT INTO fetchmetrics.DOG_Permission ( display_order , code , name @@ -176,7 +176,7 @@ VALUES ; -- Users -INSERT INTO parts.DOG_User ( +INSERT INTO fetchmetrics.DOG_User ( id_user_auth0 , firstname , surname @@ -205,7 +205,7 @@ VALUES NULL -- id_user_auth0 , 'Command Bot' -- firstname , 'Bot' -- surname - , 'teddy@partsltd.co.uk' -- email + , 'teddy@fetchmetricsltd.co.uk' -- email , 0 -- is_super_user , 1 -- active ) @@ -213,14 +213,14 @@ VALUES 'auth0|679cc2fe0d652a47af90d16b' -- id_user_auth0 , 'Demo' -- firstname , 'Demo' -- surname - , 'bot@partsltd.co.uk' -- email + , 'bot@fetchmetricsltd.co.uk' -- email , 0 -- is_super_user , 1 -- active ) ; -- Roles -INSERT INTO parts.DOG_Role ( +INSERT INTO fetchmetrics.DOG_Role ( display_order , code , name @@ -242,7 +242,7 @@ VALUES ; -- Role Permission link -INSERT INTO parts.DOG_Role_Permission_Link ( +INSERT INTO fetchmetrics.DOG_Role_Permission_Link ( id_role , id_permission , id_access_level @@ -348,7 +348,7 @@ VALUES ; -- User Role link -INSERT INTO parts.DOG_User_Role_Link ( +INSERT INTO fetchmetrics.DOG_User_Role_Link ( id_user , id_role , id_user_created_by @@ -378,7 +378,7 @@ VALUES # Unit of Measurement -INSERT INTO parts.DOG_Unit_Measurement ( +INSERT INTO fetchmetrics.DOG_Unit_Measurement ( name_singular, name_plural, symbol, is_base_unit, is_unit_of_distance, is_unit_of_mass, is_unit_of_time, is_unit_of_volume ) VALUES @@ -396,7 +396,7 @@ VALUES ; # Unit of Measurement Conversion -INSERT INTO parts.DOG_Unit_Measurement_Conversion ( +INSERT INTO fetchmetrics.DOG_Unit_Measurement_Conversion ( id_unit_derived , id_unit_base , display_order @@ -441,7 +441,7 @@ VALUES -- Project-specific tables -INSERT INTO parts.DOG_Dog ( +INSERT INTO fetchmetrics.DOG_Dog ( name , appearance , mass_kg @@ -454,7 +454,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Breed ( +INSERT INTO fetchmetrics.DOG_Breed ( code , name ) @@ -465,7 +465,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Dog_Breed_Link ( +INSERT INTO fetchmetrics.DOG_Dog_Breed_Link ( id_dog , id_breed , lineage_ratio @@ -478,7 +478,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Drive ( +INSERT INTO fetchmetrics.DOG_Drive ( code , name ) @@ -493,7 +493,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Dog_Drive_Link ( +INSERT INTO fetchmetrics.DOG_Dog_Drive_Link ( id_dog , id_drive , dominance_ratio @@ -512,7 +512,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Understanding_Level ( +INSERT INTO fetchmetrics.DOG_Understanding_Level ( code , name ) @@ -543,7 +543,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Obedience_Level ( +INSERT INTO fetchmetrics.DOG_Obedience_Level ( code , name ) @@ -571,7 +571,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Command_Category ( +INSERT INTO fetchmetrics.DOG_Command_Category ( code , name ) @@ -667,7 +667,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Command ( +INSERT INTO fetchmetrics.DOG_Command ( code , name ) @@ -680,7 +680,7 @@ VALUES */ /* -INSERT INTO parts.DOG_Dog_Command_Link ( +INSERT INTO fetchmetrics.DOG_Dog_Command_Link ( id_dog , id_command , id_understanding_level @@ -695,7 +695,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Command_Modality ( +INSERT INTO fetchmetrics.DOG_Command_Modality ( code , name ) @@ -714,7 +714,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Location ( +INSERT INTO fetchmetrics.DOG_Location ( code , name ) @@ -726,7 +726,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Location_Link ( +INSERT INTO fetchmetrics.DOG_Location_Link ( id_location_parent , id_location_child ) @@ -738,7 +738,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Button_Shape ( +INSERT INTO fetchmetrics.DOG_Button_Shape ( code , name , description @@ -756,7 +756,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Colour ( +INSERT INTO fetchmetrics.DOG_Colour ( code , name ) @@ -772,7 +772,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Image ( +INSERT INTO fetchmetrics.DOG_Image ( id_file_type , id_dog , path @@ -789,7 +789,7 @@ VALUES */ /* -INSERT INTO parts.DOG_Button_Icon ( +INSERT INTO fetchmetrics.DOG_Button_Icon ( id_image , code , name @@ -804,7 +804,7 @@ VALUES */ /* -INSERT INTO parts.DOG_Command_Button_Link ( +INSERT INTO fetchmetrics.DOG_Command_Button_Link ( id_command , id_button_shape , id_button_colour @@ -822,7 +822,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Weather ( +INSERT INTO fetchmetrics.DOG_Weather ( code , name ) @@ -853,7 +853,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Lighting_Level ( +INSERT INTO fetchmetrics.DOG_Lighting_Level ( code , name ) @@ -881,7 +881,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Assessment ( +INSERT INTO fetchmetrics.DOG_Assessment ( id_weather , id_lighting_level , id_location @@ -897,7 +897,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Distraction_Type ( +INSERT INTO fetchmetrics.DOG_Distraction_Type ( code , name ) @@ -936,7 +936,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Distraction_Intensity_Level ( +INSERT INTO fetchmetrics.DOG_Distraction_Intensity_Level ( code , name ) @@ -964,7 +964,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Distraction ( +INSERT INTO fetchmetrics.DOG_Distraction ( id_assessment , id_distraction_type , id_intensity_level_emotional @@ -983,7 +983,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Bribe ( +INSERT INTO fetchmetrics.DOG_Bribe ( code , name ) @@ -1015,7 +1015,7 @@ VALUES ; /* -INSERT INTO parts.DOG_Assessment_Command_Modality_Link ( +INSERT INTO fetchmetrics.DOG_Assessment_Command_Modality_Link ( id_assessment , id_command , id_command_modality @@ -1035,7 +1035,7 @@ VALUES ; */ -INSERT INTO parts.DOG_Response_Quality_Metric ( +INSERT INTO fetchmetrics.DOG_Response_Quality_Metric ( id_unit_measurement , code , name @@ -1073,7 +1073,7 @@ VALUES ) ; -INSERT INTO parts.DOG_Obedience_Level ( +INSERT INTO fetchmetrics.DOG_Obedience_Level ( code , name ) @@ -1139,31 +1139,31 @@ VALUES /* Post Excel-insert: -SELECT COUNT(*) FROM parts.DOG_Command_Temp; +SELECT COUNT(*) FROM fetchmetrics.DOG_Command_Temp; -CALL parts.p_dog_save_command ( +CALL fetchmetrics.p_dog_save_command ( 'nipples' - , (SELECT GUID FROM parts.DOG_Command_Temp COMMAND_TEMP ORDER BY id_temp DESC LIMIT 1) + , (SELECT GUID FROM fetchmetrics.DOG_Command_Temp COMMAND_TEMP ORDER BY id_temp DESC LIMIT 1) , 1 , 1 ); SELECT * -FROM parts.DOG_Dog; +FROM fetchmetrics.DOG_Dog; / * SELECT * -FROM parts.DOG_Command; +FROM fetchmetrics.DOG_Command; * / SELECT * -- DELETE -FROM parts.DOG_Obedience_Level; +FROM fetchmetrics.DOG_Obedience_Level; / * -DELETE FROM parts.DOG_Dog_Command_Link; -INSERT INTO parts.DOG_Dog_Command_Link ( +DELETE FROM fetchmetrics.DOG_Dog_Command_Link; +INSERT INTO fetchmetrics.DOG_Dog_Command_Link ( id_dog , id_command , id_understanding_level @@ -1174,12 +1174,12 @@ SELECT DOG.id_dog , COMMAND.id_command , -FROM parts.DOG_Dog DOG -CROSS JOIN parts.DOG_Command COMMAND +FROM fetchmetrics.DOG_Dog DOG +CROSS JOIN fetchmetrics.DOG_Command COMMAND WHERE DOG.name = 'Molly' * / -SELECT * FROM parts.DOG_Dog_Command_Link; +SELECT * FROM fetchmetrics.DOG_Dog_Command_Link; */ diff --git a/static/MySQL/deprecated/10701_tbl_DOG_Unit_Measurement_Audit.sql b/static/MySQL/deprecated/10701_tbl_DOG_Unit_Measurement_Audit.sql index d0f9f6e..c85c492 100644 --- a/static/MySQL/deprecated/10701_tbl_DOG_Unit_Measurement_Audit.sql +++ b/static/MySQL/deprecated/10701_tbl_DOG_Unit_Measurement_Audit.sql @@ -2,12 +2,12 @@ # Unit of Measurement Audits -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Unit_Measurement_Audit' ; diff --git a/static/MySQL/deprecated/10705_tbl_DOG_Unit_Measurement_Conversion_Audit.sql b/static/MySQL/deprecated/10705_tbl_DOG_Unit_Measurement_Conversion_Audit.sql index 3f3319b..5400fd6 100644 --- a/static/MySQL/deprecated/10705_tbl_DOG_Unit_Measurement_Conversion_Audit.sql +++ b/static/MySQL/deprecated/10705_tbl_DOG_Unit_Measurement_Conversion_Audit.sql @@ -1,12 +1,12 @@ # Unit of Measurement Conversion Audits -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Unit_Measurement_Conversion_Audit' ; diff --git a/static/MySQL/deprecated/11204_tbl_DOG_Location_Link.sql b/static/MySQL/deprecated/11204_tbl_DOG_Location_Link.sql index d410b18..1a98939 100644 --- a/static/MySQL/deprecated/11204_tbl_DOG_Location_Link.sql +++ b/static/MySQL/deprecated/11204_tbl_DOG_Location_Link.sql @@ -1,31 +1,31 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location_Link' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location_Link ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_Link ( id_link INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_location_parent INT , CONSTRAINT FK_DOG_Location_Link_id_location_parent FOREIGN KEY (id_location_parent) - REFERENCES parts.DOG_Location(id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) , id_location_child INT , CONSTRAINT FK_DOG_Location_Link_id_location_child FOREIGN KEY (id_location_child) - REFERENCES parts.DOG_Location(id_location) + REFERENCES fetchmetrics.DOG_Location(id_location) , active BIT NOT NULL DEFAULT 1 , created_on DATETIME , id_user_created_by INT , CONSTRAINT FK_DOG_Location_Link_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Location_Link_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/11205_tbl_DOG_Location_Link_Audit.sql b/static/MySQL/deprecated/11205_tbl_DOG_Location_Link_Audit.sql index c993dc1..1ddf0cc 100644 --- a/static/MySQL/deprecated/11205_tbl_DOG_Location_Link_Audit.sql +++ b/static/MySQL/deprecated/11205_tbl_DOG_Location_Link_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location_Link_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location_Link_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_Link_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_link INT NOT NULL , CONSTRAINT FK_DOG_Location_Link_Audit_id_link FOREIGN KEY (id_link) - REFERENCES parts.DOG_Location_Link(id_link) + REFERENCES fetchmetrics.DOG_Location_Link(id_link) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Location_Link_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/11206_tbl_DOG_Location_Link_Temp.sql b/static/MySQL/deprecated/11206_tbl_DOG_Location_Link_Temp.sql index 54906b9..433be3f 100644 --- a/static/MySQL/deprecated/11206_tbl_DOG_Location_Link_Temp.sql +++ b/static/MySQL/deprecated/11206_tbl_DOG_Location_Link_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Location_Link_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Location_Link_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Location_Link_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_link INT , id_location_parent INT diff --git a/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level.sql b/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level.sql index cd9f2ef..ae328df 100644 --- a/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level.sql +++ b/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level ( id_understanding_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Understanding_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Understanding_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level_Audit.sql b/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level_Audit.sql index aee6d3e..20f0795 100644 --- a/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level_Audit.sql +++ b/static/MySQL/deprecated/1230_tbl_DOG_Visual_Understanding_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_understanding_level INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_understanding_level FOREIGN KEY (id_understanding_level) - REFERENCES parts.DOG_Understanding_Level(id_understanding_level) + REFERENCES fetchmetrics.DOG_Understanding_Level(id_understanding_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1232_tbl_DOG_Visual_Understanding_Level_Temp.sql b/static/MySQL/deprecated/1232_tbl_DOG_Visual_Understanding_Level_Temp.sql index 0cda181..fdf6766 100644 --- a/static/MySQL/deprecated/1232_tbl_DOG_Visual_Understanding_Level_Temp.sql +++ b/static/MySQL/deprecated/1232_tbl_DOG_Visual_Understanding_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_understanding_level INT , code VARCHAR(250) diff --git a/static/MySQL/deprecated/1234_tbl_DOG_Verbal_Understanding_Level.sql b/static/MySQL/deprecated/1234_tbl_DOG_Verbal_Understanding_Level.sql index cd9f2ef..ae328df 100644 --- a/static/MySQL/deprecated/1234_tbl_DOG_Verbal_Understanding_Level.sql +++ b/static/MySQL/deprecated/1234_tbl_DOG_Verbal_Understanding_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level ( id_understanding_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Understanding_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Understanding_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1235_tbl_DOG_Verbal_Understanding_Level_Audit.sql b/static/MySQL/deprecated/1235_tbl_DOG_Verbal_Understanding_Level_Audit.sql index aee6d3e..20f0795 100644 --- a/static/MySQL/deprecated/1235_tbl_DOG_Verbal_Understanding_Level_Audit.sql +++ b/static/MySQL/deprecated/1235_tbl_DOG_Verbal_Understanding_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_understanding_level INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_understanding_level FOREIGN KEY (id_understanding_level) - REFERENCES parts.DOG_Understanding_Level(id_understanding_level) + REFERENCES fetchmetrics.DOG_Understanding_Level(id_understanding_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1236_tbl_DOG_Verbal_Understanding_Level_Temp.sql b/static/MySQL/deprecated/1236_tbl_DOG_Verbal_Understanding_Level_Temp.sql index 0cda181..fdf6766 100644 --- a/static/MySQL/deprecated/1236_tbl_DOG_Verbal_Understanding_Level_Temp.sql +++ b/static/MySQL/deprecated/1236_tbl_DOG_Verbal_Understanding_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_understanding_level INT , code VARCHAR(250) diff --git a/static/MySQL/deprecated/1238_tbl_DOG_Button_Understanding_Level.sql b/static/MySQL/deprecated/1238_tbl_DOG_Button_Understanding_Level.sql index cd9f2ef..ae328df 100644 --- a/static/MySQL/deprecated/1238_tbl_DOG_Button_Understanding_Level.sql +++ b/static/MySQL/deprecated/1238_tbl_DOG_Button_Understanding_Level.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level ( id_understanding_level INT NOT NULL AUTO_INCREMENT PRIMARY KEY , code VARCHAR(250) NOT NULL , name VARCHAR(250) NOT NULL @@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level ( , id_user_created_by INT , CONSTRAINT FK_DOG_Understanding_Level_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Understanding_Level_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1239_tbl_DOG_Button_Understanding_Level_Audit.sql b/static/MySQL/deprecated/1239_tbl_DOG_Button_Understanding_Level_Audit.sql index aee6d3e..20f0795 100644 --- a/static/MySQL/deprecated/1239_tbl_DOG_Button_Understanding_Level_Audit.sql +++ b/static/MySQL/deprecated/1239_tbl_DOG_Button_Understanding_Level_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_understanding_level INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_understanding_level FOREIGN KEY (id_understanding_level) - REFERENCES parts.DOG_Understanding_Level(id_understanding_level) + REFERENCES fetchmetrics.DOG_Understanding_Level(id_understanding_level) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Understanding_Level_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1240_tbl_DOG_Button_Understanding_Level_Temp.sql b/static/MySQL/deprecated/1240_tbl_DOG_Button_Understanding_Level_Temp.sql index 0cda181..fdf6766 100644 --- a/static/MySQL/deprecated/1240_tbl_DOG_Button_Understanding_Level_Temp.sql +++ b/static/MySQL/deprecated/1240_tbl_DOG_Button_Understanding_Level_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Understanding_Level_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Understanding_Level_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Understanding_Level_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_understanding_level INT , code VARCHAR(250) diff --git a/static/MySQL/deprecated/1272_tbl_DOG_Personal_Best.sql b/static/MySQL/deprecated/1272_tbl_DOG_Personal_Best.sql index 97a8661..5b0d675 100644 --- a/static/MySQL/deprecated/1272_tbl_DOG_Personal_Best.sql +++ b/static/MySQL/deprecated/1272_tbl_DOG_Personal_Best.sql @@ -1,19 +1,19 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Personal_Best' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Personal_Best ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Personal_Best ( id_personal_best INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_dog_command_link INT NOT NULL , CONSTRAINT FK_DOG_Personal_Best_id_dog_command_link FOREIGN KEY (id_dog_command_link) - REFERENCES parts.DOG_Dog_Command_Link(id_link) + REFERENCES fetchmetrics.DOG_Dog_Command_Link(id_link) , is_achieved_using_button BIT NOT NULL DEFAULT 0 , situation TEXT NOT NULL , duration_seconds INT @@ -23,9 +23,9 @@ CREATE TABLE IF NOT EXISTS parts.DOG_Personal_Best ( , id_user_created_by INT , CONSTRAINT FK_DOG_Personal_Best_id_user_created_by FOREIGN KEY (id_user_created_by) - REFERENCES parts.DOG_User(id_user) + REFERENCES fetchmetrics.DOG_User(id_user) , id_change_set INT , CONSTRAINT FK_DOG_Personal_Best_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1273_tbl_DOG_Personal_Best_Audit.sql b/static/MySQL/deprecated/1273_tbl_DOG_Personal_Best_Audit.sql index 69cce9f..dffecac 100644 --- a/static/MySQL/deprecated/1273_tbl_DOG_Personal_Best_Audit.sql +++ b/static/MySQL/deprecated/1273_tbl_DOG_Personal_Best_Audit.sql @@ -1,24 +1,24 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Personal_Best_Audit' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Personal_Best_Audit ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Personal_Best_Audit ( id_audit INT NOT NULL AUTO_INCREMENT PRIMARY KEY , id_personal_best INT NOT NULL , CONSTRAINT FK_DOG_Personal_Best_Audit_id_personal_best FOREIGN KEY (id_personal_best) - REFERENCES parts.DOG_Personal_Best(id_personal_best) + REFERENCES fetchmetrics.DOG_Personal_Best(id_personal_best) , name_field VARCHAR(100) NOT NULL , value_prev TEXT , value_new TEXT , id_change_set INT NOT NULL , CONSTRAINT FK_DOG_Personal_Best_Audit_id_change_set FOREIGN KEY (id_change_set) - REFERENCES parts.DOG_Dog_Change_Set(id_change_set) + REFERENCES fetchmetrics.DOG_Dog_Change_Set(id_change_set) ); diff --git a/static/MySQL/deprecated/1274_tbl_DOG_Personal_Best_Temp.sql b/static/MySQL/deprecated/1274_tbl_DOG_Personal_Best_Temp.sql index 9f34ef0..3e63af0 100644 --- a/static/MySQL/deprecated/1274_tbl_DOG_Personal_Best_Temp.sql +++ b/static/MySQL/deprecated/1274_tbl_DOG_Personal_Best_Temp.sql @@ -1,14 +1,14 @@ -USE parts; +USE fetchmetrics; SELECT CONCAT('WARNING: Table ', TABLE_SCHEMA, '.', TABLE_NAME, ' already exists.') AS msg_warning FROM INFORMATION_SCHEMA.TABLES WHERE - TABLE_SCHEMA = 'parts' + TABLE_SCHEMA = 'fetchmetrics' AND TABLE_NAME = 'DOG_Personal_Best_Temp' ; -CREATE TABLE IF NOT EXISTS parts.DOG_Personal_Best_Temp ( +CREATE TABLE IF NOT EXISTS fetchmetrics.DOG_Personal_Best_Temp ( id_temp INT NOT NULL PRIMARY KEY AUTO_INCREMENT , id_personal_best INT , id_dog_command_link INT diff --git a/static/MySQL/deprecated/30700_tri_DOG_Unit_Measurement.sql b/static/MySQL/deprecated/30700_tri_DOG_Unit_Measurement.sql index 4a76061..80b2c27 100644 --- a/static/MySQL/deprecated/30700_tri_DOG_Unit_Measurement.sql +++ b/static/MySQL/deprecated/30700_tri_DOG_Unit_Measurement.sql @@ -9,18 +9,18 @@ DROP TRIGGER IF EXISTS before_update_DOG_Unit_Measurement; DELIMITER // CREATE TRIGGER before_insert_DOG_Unit_Measurement -BEFORE INSERT ON parts.DOG_Unit_Measurement +BEFORE INSERT ON fetchmetrics.DOG_Unit_Measurement FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); - SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT U.id_user FROM parts.DOG_User U WHERE U.firstname = CURRENT_USER()), -1)); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT U.id_user FROM fetchmetrics.DOG_User U WHERE U.firstname = CURRENT_USER()), -1)); END // DELIMITER ; DELIMITER // CREATE TRIGGER before_update_DOG_Unit_Measurement -BEFORE UPDATE ON parts.DOG_Unit_Measurement +BEFORE UPDATE ON fetchmetrics.DOG_Unit_Measurement FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -28,7 +28,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Unit_Measurement_Audit ( + INSERT INTO fetchmetrics.DOG_Unit_Measurement_Audit ( id_unit_measurement , name_field , value_prev diff --git a/static/MySQL/deprecated/30704_tri_DOG_Unit_Measurement_Conversion.sql b/static/MySQL/deprecated/30704_tri_DOG_Unit_Measurement_Conversion.sql index 3610ab3..9a929eb 100644 --- a/static/MySQL/deprecated/30704_tri_DOG_Unit_Measurement_Conversion.sql +++ b/static/MySQL/deprecated/30704_tri_DOG_Unit_Measurement_Conversion.sql @@ -9,18 +9,18 @@ DROP TRIGGER IF EXISTS before_update_DOG_Unit_Measurement_Conversion; DELIMITER // CREATE TRIGGER before_insert_DOG_Unit_Measurement_Conversion -BEFORE INSERT ON parts.DOG_Unit_Measurement_Conversion +BEFORE INSERT ON fetchmetrics.DOG_Unit_Measurement_Conversion FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); - SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT U.id_user FROM parts.DOG_User U WHERE U.firstname = CURRENT_USER()), -1)); + SET NEW.created_by := IFNULL(NEW.created_by, IFNULL((SELECT U.id_user FROM fetchmetrics.DOG_User U WHERE U.firstname = CURRENT_USER()), -1)); END // DELIMITER ; DELIMITER // CREATE TRIGGER before_update_DOG_Unit_Measurement_Conversion -BEFORE UPDATE ON parts.DOG_Unit_Measurement_Conversion +BEFORE UPDATE ON fetchmetrics.DOG_Unit_Measurement_Conversion FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -28,7 +28,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Unit_Measurement_Conversion_Audit ( + INSERT INTO fetchmetrics.DOG_Unit_Measurement_Conversion_Audit ( id_conversion , name_field , value_prev diff --git a/static/MySQL/deprecated/31204_tri_DOG_Location_Link.sql b/static/MySQL/deprecated/31204_tri_DOG_Location_Link.sql index 2564933..1eed685 100644 --- a/static/MySQL/deprecated/31204_tri_DOG_Location_Link.sql +++ b/static/MySQL/deprecated/31204_tri_DOG_Location_Link.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Location_Link; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Location_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Location_Link; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Location_Link; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Location_Link -BEFORE INSERT ON parts.DOG_Location_Link +CREATE TRIGGER fetchmetrics.before_insert_DOG_Location_Link +BEFORE INSERT ON fetchmetrics.DOG_Location_Link FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Location_Link -BEFORE UPDATE ON parts.DOG_Location_Link +CREATE TRIGGER fetchmetrics.before_update_DOG_Location_Link +BEFORE UPDATE ON fetchmetrics.DOG_Location_Link FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Location_Link_Audit ( + INSERT INTO fetchmetrics.DOG_Location_Link_Audit ( id_link , name_field , value_prev diff --git a/static/MySQL/deprecated/3213_0_tri_DOG_Understanding_Level.sql b/static/MySQL/deprecated/3213_0_tri_DOG_Understanding_Level.sql index 17aa34b..dea85a4 100644 --- a/static/MySQL/deprecated/3213_0_tri_DOG_Understanding_Level.sql +++ b/static/MySQL/deprecated/3213_0_tri_DOG_Understanding_Level.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Understanding_Level; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Understanding_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Understanding_Level; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Understanding_Level; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Understanding_Level -BEFORE INSERT ON parts.DOG_Understanding_Level +CREATE TRIGGER fetchmetrics.before_insert_DOG_Understanding_Level +BEFORE INSERT ON fetchmetrics.DOG_Understanding_Level FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Understanding_Level -BEFORE UPDATE ON parts.DOG_Understanding_Level +CREATE TRIGGER fetchmetrics.before_update_DOG_Understanding_Level +BEFORE UPDATE ON fetchmetrics.DOG_Understanding_Level FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Understanding_Level_Audit ( + INSERT INTO fetchmetrics.DOG_Understanding_Level_Audit ( id_understanding_level , name_field , value_prev diff --git a/static/MySQL/deprecated/3229_0_tri_DOG_Personal_Best.sql b/static/MySQL/deprecated/3229_0_tri_DOG_Personal_Best.sql index d9cf15b..e74d42b 100644 --- a/static/MySQL/deprecated/3229_0_tri_DOG_Personal_Best.sql +++ b/static/MySQL/deprecated/3229_0_tri_DOG_Personal_Best.sql @@ -1,12 +1,12 @@ -USE parts; +USE fetchmetrics; -DROP TRIGGER IF EXISTS parts.before_insert_DOG_Personal_Best; -DROP TRIGGER IF EXISTS parts.before_update_DOG_Personal_Best; +DROP TRIGGER IF EXISTS fetchmetrics.before_insert_DOG_Personal_Best; +DROP TRIGGER IF EXISTS fetchmetrics.before_update_DOG_Personal_Best; DELIMITER // -CREATE TRIGGER parts.before_insert_DOG_Personal_Best -BEFORE INSERT ON parts.DOG_Personal_Best +CREATE TRIGGER fetchmetrics.before_insert_DOG_Personal_Best +BEFORE INSERT ON fetchmetrics.DOG_Personal_Best FOR EACH ROW BEGIN SET NEW.created_on := IFNULL(NEW.created_on, NOW()); @@ -14,8 +14,8 @@ END // DELIMITER ; DELIMITER // -CREATE TRIGGER parts.before_update_DOG_Personal_Best -BEFORE UPDATE ON parts.DOG_Personal_Best +CREATE TRIGGER fetchmetrics.before_update_DOG_Personal_Best +BEFORE UPDATE ON fetchmetrics.DOG_Personal_Best FOR EACH ROW BEGIN IF OLD.id_change_set <=> NEW.id_change_set THEN @@ -23,7 +23,7 @@ BEGIN SET MESSAGE_TEXT = 'New change Set ID must be provided.'; END IF; - INSERT INTO parts.DOG_Personal_Best_Audit ( + INSERT INTO fetchmetrics.DOG_Personal_Best_Audit ( id_personal_best , name_field , value_prev diff --git a/static/MySQL/deprecated/71104_p_dog_get_many_command.sql b/static/MySQL/deprecated/71104_p_dog_get_many_command.sql index 215bc1f..148668f 100644 --- a/static/MySQL/deprecated/71104_p_dog_get_many_command.sql +++ b/static/MySQL/deprecated/71104_p_dog_get_many_command.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_command; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_command; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_command ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_command ( IN a_id_user INT , IN a_get_all_command BIT , IN a_get_inactive_command BIT @@ -52,7 +52,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -67,7 +67,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -77,10 +77,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_command_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_command_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_command := IFNULL(a_get_all_command, 0); @@ -137,14 +137,14 @@ BEGIN ); DELETE FROM tmp_Split_Name; - CALL parts.p_core_validate_guid ( v_guid ); + CALL fetchmetrics.p_core_validate_guid ( v_guid ); SET v_has_filter_command_id = CASE WHEN a_ids_command = '' THEN 0 ELSE 1 END; SET v_has_filter_command_name = CASE WHEN a_names_command = '' THEN 0 ELSE 1 END; -- Commands IF v_has_filter_command_id = 1 THEN - CALL parts.p_core_split(v_guid, a_ids_command, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_ids_command, ',', a_debug); INSERT INTO tmp_Split_Id ( substring @@ -153,17 +153,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF v_has_filter_command_name = 1 THEN - CALL parts.p_core_split(v_guid, a_names_command, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_names_command, ',', a_debug); INSERT INTO tmp_Split_Name ( substring @@ -172,20 +172,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id t_SPLIT_ID - LEFT JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND.id_command) @@ -204,7 +204,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Command IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id t_SPLIT_ID - LEFT JOIN parts.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command + LEFT JOIN fetchmetrics.DOG_Command COMMAND ON t_SPLIT_ID.as_int = COMMAND.id_command WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(COMMAND.id_command) @@ -225,7 +225,7 @@ BEGIN SELECT COMMAND.id_command , COMMAND.name - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND LEFT JOIN tmp_Split_Id t_SPLIT_ID ON COMMAND.id_command = t_SPLIT_ID.as_int LEFT JOIN tmp_Split_Name t_SPLIT_NAME ON COMMAND.name = t_SPLIT_NAME.substring WHERE @@ -269,7 +269,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -291,7 +291,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -318,12 +318,12 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Command; END IF; @@ -341,7 +341,7 @@ BEGIN , COMMAND.can_have_button , COMMAND.notes , COMMAND.active - FROM parts.DOG_Command COMMAND + FROM fetchmetrics.DOG_Command COMMAND INNER JOIN tmp_Command t_COMMAND ON COMMAND.id_command = t_COMMAND.id_command ; @@ -357,7 +357,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN @@ -370,7 +370,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Command; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -378,7 +378,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_command ( +CALL fetchmetrics.p_dog_get_many_command ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_command , 0 -- a_get_inactive_command diff --git a/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql b/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql index 7075c06..888c726 100644 --- a/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql +++ b/static/MySQL/deprecated/7213_p_dog_get_many_understanding_level.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_dog_get_many_understanding_level; +DROP PROCEDURE IF EXISTS fetchmetrics.p_dog_get_many_understanding_level; DELIMITER // -CREATE PROCEDURE parts.p_dog_get_many_understanding_level ( +CREATE PROCEDURE fetchmetrics.p_dog_get_many_understanding_level ( IN a_id_user INT , IN a_get_all_understanding_level BIT , IN a_get_inactive_understanding_level BIT @@ -54,7 +54,7 @@ BEGIN MET.id_type , @errno , @text - FROM parts.CORE_Msg_Error_Type MET + FROM fetchmetrics.CORE_Msg_Error_Type MET WHERE MET.code = 'MYSQL_ERROR' ; @@ -69,7 +69,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; DROP TABLE IF EXISTS tmp_Msg_Error; @@ -79,10 +79,10 @@ BEGIN SET v_guid := UUID(); SET v_code_type_error_bad_data := 'BAD_DATA'; SET v_code_type_error_no_permission := 'NO_PERMISSION'; - SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); - SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM parts.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); - SET v_id_permission_understanding_level_view := (SELECT PERMISSION.id_permission FROM parts.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); - SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM parts.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); + SET v_id_type_error_bad_data := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_bad_data LIMIT 1); + SET v_id_type_error_no_permission := (SELECT ERROR_TYPE.id_type FROM fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE WHERE ERROR_TYPE.code = v_code_type_error_no_permission LIMIT 1); + SET v_id_permission_understanding_level_view := (SELECT PERMISSION.id_permission FROM fetchmetrics.DOG_Permission PERMISSION WHERE PERMISSION.code = 'DOG_VIEW' LIMIT 1); + SET v_id_access_level_view := (SELECT ACCESS_LEVEL.id_access_level FROM fetchmetrics.DOG_Access_Level ACCESS_LEVEL WHERE ACCESS_LEVEL.code = 'VIEW' LIMIT 1); SET a_id_user := IFNULL(a_id_user, 0); SET a_get_all_understanding_level := IFNULL(a_get_all_understanding_level, 0); @@ -149,7 +149,7 @@ BEGIN ); DELETE FROM tmp_Split_Name; - CALL parts.p_core_validate_guid ( v_guid ); + CALL fetchmetrics.p_core_validate_guid ( v_guid ); SET v_has_filter_understanding_level_id = CASE WHEN a_ids_understanding_level <> '' THEN 1 ELSE 0 END; SET v_has_filter_understanding_level_code = CASE WHEN a_codes_understanding_level = '' THEN 0 ELSE 1 END; @@ -157,7 +157,7 @@ BEGIN -- Understanding_Levels IF v_has_filter_understanding_level_id = 1 THEN - CALL parts.p_core_split(v_guid, a_ids_understanding_level, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_ids_understanding_level, ',', a_debug); INSERT INTO tmp_Split_Id ( substring @@ -166,17 +166,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF v_has_filter_understanding_level_code = 1 THEN - CALL parts.p_core_split(v_guid, a_codes_understanding_level, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_codes_understanding_level, ',', a_debug); INSERT INTO tmp_Split_Code ( substring @@ -185,17 +185,17 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; IF v_has_filter_understanding_level_name = 1 THEN - CALL parts.p_core_split(v_guid, a_names_understanding_level, ',', a_debug); + CALL fetchmetrics.p_core_split(v_guid, a_names_understanding_level, ',', a_debug); INSERT INTO tmp_Split_Name ( substring @@ -204,20 +204,20 @@ BEGIN SELECT SPLIT_T.substring , CAST(SPLIT_T.substring AS DECIMAL(10,0)) AS as_int - FROM parts.CORE_Split_Temp SPLIT_T + FROM fetchmetrics.CORE_Split_Temp SPLIT_T WHERE SPLIT_T.GUID = v_guid AND IFNULL(SPLIT_T.substring, '') <> '' ; - CALL parts.p_core_clear_split( v_guid ); + CALL fetchmetrics.p_core_clear_split( v_guid ); END IF; - IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF NOT EXISTS (SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF EXISTS ( SELECT * FROM tmp_Split_Id t_SPLIT_ID - LEFT JOIN parts.DOG_Understanding_Level UNDERSTANDING_LEVEL ON t_SPLIT_ID.as_int = UNDERSTANDING_LEVEL.id_understanding_level + LEFT JOIN fetchmetrics.DOG_Understanding_Level UNDERSTANDING_LEVEL ON t_SPLIT_ID.as_int = UNDERSTANDING_LEVEL.id_understanding_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(UNDERSTANDING_LEVEL.id_understanding_level) @@ -236,7 +236,7 @@ BEGIN , v_code_type_error_bad_data , CONCAT('Invalid or inactive Understanding_Level IDs: ', IFNULL(GROUP_CONCAT(t_SPLIT_ID.substring SEPARATOR ', '), 'NULL')) FROM tmp_Split_Id t_SPLIT_ID - LEFT JOIN parts.DOG_Understanding_Level UNDERSTANDING_LEVEL ON t_SPLIT_ID.as_int = UNDERSTANDING_LEVEL.id_understanding_level + LEFT JOIN fetchmetrics.DOG_Understanding_Level UNDERSTANDING_LEVEL ON t_SPLIT_ID.as_int = UNDERSTANDING_LEVEL.id_understanding_level WHERE ISNULL(t_SPLIT_ID.as_int) OR ISNULL(UNDERSTANDING_LEVEL.id_understanding_level) @@ -259,7 +259,7 @@ BEGIN UNDERSTANDING_LEVEL.id_understanding_level , UNDERSTANDING_LEVEL.code , UNDERSTANDING_LEVEL.name - FROM parts.DOG_Understanding_Level UNDERSTANDING_LEVEL + FROM fetchmetrics.DOG_Understanding_Level UNDERSTANDING_LEVEL LEFT JOIN tmp_Split_Id t_SPLIT_ID ON UNDERSTANDING_LEVEL.id_understanding_level = t_SPLIT_ID.as_int LEFT JOIN tmp_Split_Code t_SPLIT_CODE ON UNDERSTANDING_LEVEL.code = t_SPLIT_CODE.substring LEFT JOIN tmp_Split_Name t_SPLIT_NAME ON UNDERSTANDING_LEVEL.name = t_SPLIT_NAME.substring @@ -306,7 +306,7 @@ BEGIN ; END IF; - CALL parts.p_dog_calc_user( + CALL fetchmetrics.p_dog_calc_user( v_guid , 0 -- get_all_user , 0 -- get_inactive_user @@ -328,7 +328,7 @@ BEGIN IFNULL(CALC_USER_T.has_access, 0) INTO v_can_view - FROM parts.DOG_Calc_User_Temp CALC_USER_T + FROM fetchmetrics.DOG_Calc_User_Temp CALC_USER_T WHERE CALC_USER_T.GUID = v_guid LIMIT 1 ; @@ -355,12 +355,12 @@ BEGIN ; END IF; - CALL parts.p_dog_clear_calc_user( + CALL fetchmetrics.p_dog_clear_calc_user( v_guid , 0 -- a_debug ); - IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN + IF EXISTS(SELECT * FROM tmp_Msg_Error t_ERROR INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type WHERE ERROR_TYPE.is_breaking_error = 1 LIMIT 1) THEN IF a_debug = 1 THEN SELECT * FROM tmp_Understanding_Level; END IF; @@ -375,7 +375,7 @@ BEGIN , t_UNDERSTANDING_LEVEL.code , t_UNDERSTANDING_LEVEL.name , UNDERSTANDING_LEVEL.active - FROM parts.DOG_Understanding_Level UNDERSTANDING_LEVEL + FROM fetchmetrics.DOG_Understanding_Level UNDERSTANDING_LEVEL INNER JOIN tmp_Understanding_Level t_UNDERSTANDING_LEVEL ON UNDERSTANDING_LEVEL.id_understanding_level = t_UNDERSTANDING_LEVEL.id_understanding_level ; @@ -391,7 +391,7 @@ BEGIN , ERROR_TYPE.text_colour , t_ERROR.msg FROM tmp_Msg_Error t_ERROR - INNER JOIN parts.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type + INNER JOIN fetchmetrics.CORE_Msg_Error_Type ERROR_TYPE ON t_ERROR.id_type = ERROR_TYPE.id_type ; IF a_debug = 1 AND v_can_view = 1 THEN @@ -405,7 +405,7 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS tmp_Understanding_Level; IF a_debug = 1 THEN - CALL parts.p_core_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_core_debug_timing_reporting ( v_time_start ); END IF; END // DELIMITER ; @@ -413,7 +413,7 @@ DELIMITER ; /* -CALL parts.p_dog_get_many_understanding_level ( +CALL fetchmetrics.p_dog_get_many_understanding_level ( 1 -- 'auth0|6582b95c895d09a70ba10fef', -- a_id_user , 1 -- a_get_all_understanding_level , 0 -- a_get_inactive_understanding_level diff --git a/static/MySQL/deprecated/90001_view.sql b/static/MySQL/deprecated/90001_view.sql index b818d91..1fb6e37 100644 --- a/static/MySQL/deprecated/90001_view.sql +++ b/static/MySQL/deprecated/90001_view.sql @@ -1,105 +1,105 @@ -- Core tables -- Error Message type -SELECT * FROM parts.CORE_Msg_Error_Type; +SELECT * FROM fetchmetrics.CORE_Msg_Error_Type; -- Common project tables -- User Change Sets -SELECT * FROM parts.DOG_User_Change_Set; +SELECT * FROM fetchmetrics.DOG_User_Change_Set; -- Access Levels -SELECT * FROM parts.DOG_Access_Level; +SELECT * FROM fetchmetrics.DOG_Access_Level; -- Permission Groups -SELECT * FROM parts.DOG_Permission_Group; +SELECT * FROM fetchmetrics.DOG_Permission_Group; -- Permissions -SELECT * FROM parts.DOG_Permission; +SELECT * FROM fetchmetrics.DOG_Permission; -- Users -SELECT * FROM parts.DOG_User; -SELECT * FROM parts.DOG_User_Audit; +SELECT * FROM fetchmetrics.DOG_User; +SELECT * FROM fetchmetrics.DOG_User_Audit; -- Roles -SELECT * FROM parts.DOG_Role; -SELECT * FROM parts.DOG_Role_Audit; +SELECT * FROM fetchmetrics.DOG_Role; +SELECT * FROM fetchmetrics.DOG_Role_Audit; -- Role Permission link -SELECT * FROM parts.DOG_Role_Permission_Link; -SELECT * FROM parts.DOG_Role_Permission_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Role_Permission_Link; +SELECT * FROM fetchmetrics.DOG_Role_Permission_Link_Audit; -- User Role link -SELECT * FROM parts.DOG_User_Role_Link; -SELECT * FROM parts.DOG_User_Role_Link_Audit; +SELECT * FROM fetchmetrics.DOG_User_Role_Link; +SELECT * FROM fetchmetrics.DOG_User_Role_Link_Audit; -- Project-specific tables -- Command Change Sets -SELECT * FROM parts.DOG_Dog_Change_Set; +SELECT * FROM fetchmetrics.DOG_Dog_Change_Set; -- Commands -SELECT * FROM parts.DOG_Dog; -SELECT * FROM parts.DOG_Dog_Audit; -SELECT * FROM parts.DOG_Dog_Temp; +SELECT * FROM fetchmetrics.DOG_Dog; +SELECT * FROM fetchmetrics.DOG_Dog_Audit; +SELECT * FROM fetchmetrics.DOG_Dog_Temp; -SELECT * FROM parts.DOG_Breed; -SELECT * FROM parts.DOG_Breed_Audit; -SELECT * FROM parts.DOG_Breed_Temp; +SELECT * FROM fetchmetrics.DOG_Breed; +SELECT * FROM fetchmetrics.DOG_Breed_Audit; +SELECT * FROM fetchmetrics.DOG_Breed_Temp; -SELECT * FROM parts.DOG_Dog_Breed_Link; -SELECT * FROM parts.DOG_Dog_Breed_Link_Audit; -SELECT * FROM parts.DOG_Dog_Breed_Link_Temp; +SELECT * FROM fetchmetrics.DOG_Dog_Breed_Link; +SELECT * FROM fetchmetrics.DOG_Dog_Breed_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Dog_Breed_Link_Temp; -SELECT * FROM parts.DOG_Obedience_Level; -SELECT * FROM parts.DOG_Obedience_Level_Audit; -SELECT * FROM parts.DOG_Obedience_Level_Temp; +SELECT * FROM fetchmetrics.DOG_Obedience_Level; +SELECT * FROM fetchmetrics.DOG_Obedience_Level_Audit; +SELECT * FROM fetchmetrics.DOG_Obedience_Level_Temp; -SELECT * FROM parts.DOG_Command_Category; -SELECT * FROM parts.DOG_Command_Category_Audit; -SELECT * FROM parts.DOG_Command_Category_Temp; +SELECT * FROM fetchmetrics.DOG_Command_Category; +SELECT * FROM fetchmetrics.DOG_Command_Category_Audit; +SELECT * FROM fetchmetrics.DOG_Command_Category_Temp; -SELECT * FROM parts.DOG_Command; -SELECT * FROM parts.DOG_Command_Audit; -SELECT * FROM parts.DOG_Command_Temp; +SELECT * FROM fetchmetrics.DOG_Command; +SELECT * FROM fetchmetrics.DOG_Command_Audit; +SELECT * FROM fetchmetrics.DOG_Command_Temp; -SELECT * FROM parts.DOG_Dog_Command_Link; -SELECT * FROM parts.DOG_Dog_Command_Link_Audit; -SELECT * FROM parts.DOG_Dog_Command_Link_Temp; +SELECT * FROM fetchmetrics.DOG_Dog_Command_Link; +SELECT * FROM fetchmetrics.DOG_Dog_Command_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Dog_Command_Link_Temp; -SELECT * FROM parts.DOG_Location; -SELECT * FROM parts.DOG_Location_Audit; -SELECT * FROM parts.DOG_Location_Temp; +SELECT * FROM fetchmetrics.DOG_Location; +SELECT * FROM fetchmetrics.DOG_Location_Audit; +SELECT * FROM fetchmetrics.DOG_Location_Temp; -SELECT * FROM parts.DOG_Location_Link; -SELECT * FROM parts.DOG_Location_Link_Audit; -SELECT * FROM parts.DOG_Location_Link_Temp; +SELECT * FROM fetchmetrics.DOG_Location_Link; +SELECT * FROM fetchmetrics.DOG_Location_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Location_Link_Temp; -SELECT * FROM parts.DOG_Colour; -SELECT * FROM parts.DOG_Colour_Audit; -SELECT * FROM parts.DOG_Colour_Temp; +SELECT * FROM fetchmetrics.DOG_Colour; +SELECT * FROM fetchmetrics.DOG_Colour_Audit; +SELECT * FROM fetchmetrics.DOG_Colour_Temp; -SELECT * FROM parts.DOG_Button_Shape; -SELECT * FROM parts.DOG_Button_Shape_Audit; -SELECT * FROM parts.DOG_Button_Shape_Temp; +SELECT * FROM fetchmetrics.DOG_Button_Shape; +SELECT * FROM fetchmetrics.DOG_Button_Shape_Audit; +SELECT * FROM fetchmetrics.DOG_Button_Shape_Temp; -SELECT * FROM parts.DOG_Image; -SELECT * FROM parts.DOG_Image_Audit; -SELECT * FROM parts.DOG_Image_Temp; +SELECT * FROM fetchmetrics.DOG_Image; +SELECT * FROM fetchmetrics.DOG_Image_Audit; +SELECT * FROM fetchmetrics.DOG_Image_Temp; -SELECT * FROM parts.DOG_Button_Icon; -SELECT * FROM parts.DOG_Button_Icon_Audit; -SELECT * FROM parts.DOG_Button_Icon_Temp; +SELECT * FROM fetchmetrics.DOG_Button_Icon; +SELECT * FROM fetchmetrics.DOG_Button_Icon_Audit; +SELECT * FROM fetchmetrics.DOG_Button_Icon_Temp; -SELECT * FROM parts.DOG_Command_Button_Link; -SELECT * FROM parts.DOG_Command_Button_Link_Audit; -SELECT * FROM parts.DOG_Command_Button_Link_Temp; +SELECT * FROM fetchmetrics.DOG_Command_Button_Link; +SELECT * FROM fetchmetrics.DOG_Command_Button_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Command_Button_Link_Temp; -SELECT * FROM parts.DOG_Drive; -SELECT * FROM parts.DOG_Drive_Audit; -SELECT * FROM parts.DOG_Drive_Temp; +SELECT * FROM fetchmetrics.DOG_Drive; +SELECT * FROM fetchmetrics.DOG_Drive_Audit; +SELECT * FROM fetchmetrics.DOG_Drive_Temp; -SELECT * FROM parts.DOG_Dog_Drive_Link; -SELECT * FROM parts.DOG_Dog_Drive_Link_Audit; -SELECT * FROM parts.DOG_Dog_Drive_Link_Temp; +SELECT * FROM fetchmetrics.DOG_Dog_Drive_Link; +SELECT * FROM fetchmetrics.DOG_Dog_Drive_Link_Audit; +SELECT * FROM fetchmetrics.DOG_Dog_Drive_Link_Temp; diff --git a/static/MySQL/deprecated/DEPRECATED_71602_p_ph_test_save_contact_form.sql b/static/MySQL/deprecated/DEPRECATED_71602_p_ph_test_save_contact_form.sql index e284da8..25fbb49 100644 --- a/static/MySQL/deprecated/DEPRECATED_71602_p_ph_test_save_contact_form.sql +++ b/static/MySQL/deprecated/DEPRECATED_71602_p_ph_test_save_contact_form.sql @@ -1,10 +1,10 @@ -USE parts; +USE fetchmetrics; -DROP PROCEDURE IF EXISTS parts.p_ph_test_save_contact_form; +DROP PROCEDURE IF EXISTS fetchmetrics.p_ph_test_save_contact_form; DELIMITER // -CREATE PROCEDURE parts.p_ph_test_save_contact_form () +CREATE PROCEDURE fetchmetrics.p_ph_test_save_contact_form () BEGIN DECLARE v_guid BINARY(36); @@ -16,15 +16,15 @@ BEGIN SELECT 'Start of Test'; SELECT * - FROM parts.PH_Contact_Form + FROM fetchmetrics.PH_Contact_Form ; SELECT * - FROM parts.PH_Contact_Form_Temp + FROM fetchmetrics.PH_Contact_Form_Temp ; START TRANSACTION; - INSERT INTO parts.PH_Contact_Form_Temp ( + INSERT INTO fetchmetrics.PH_Contact_Form_Temp ( id_contact_form , email , name_contact @@ -57,11 +57,11 @@ BEGIN COMMIT; SELECT * - FROM parts.PH_Contact_Form_Temp + FROM fetchmetrics.PH_Contact_Form_Temp -- WHERE GUID = v_guid ; - CALL parts.p_ph_save_contact_form ( + CALL fetchmetrics.p_ph_save_contact_form ( 'Test save Contact Form' -- comment , v_guid -- guid , 3 -- 1 -- id_user @@ -69,13 +69,13 @@ BEGIN ); SELECT * - FROM parts.PH_Contact_Form + FROM fetchmetrics.PH_Contact_Form ; SELECT * - FROM parts.PH_Contact_Form_Temp + FROM fetchmetrics.PH_Contact_Form_Temp ; - CALL parts.p_debug_timing_reporting ( v_time_start ); + CALL fetchmetrics.p_debug_timing_reporting ( v_time_start ); END // DELIMITER ; @@ -83,24 +83,24 @@ DELIMITER ; /* SELECT 'Before Test'; SELECT * -FROM parts.PH_Contact_Form +FROM fetchmetrics.PH_Contact_Form ; SELECT * -FROM parts.PH_Contact_Form_Temp +FROM fetchmetrics.PH_Contact_Form_Temp ; -CALL parts.p_ph_test_save_contact_form (); +CALL fetchmetrics.p_ph_test_save_contact_form (); SELECT 'After Test'; SELECT * -FROM parts.PH_Contact_Form +FROM fetchmetrics.PH_Contact_Form ; SELECT * -FROM parts.PH_Contact_Form_Temp +FROM fetchmetrics.PH_Contact_Form_Temp ; -DELETE FROM parts.PH_Contact_Form_Temp; +DELETE FROM fetchmetrics.PH_Contact_Form_Temp; DROP TABLE IF EXISTS tmp_Msg_Error; diff --git a/static/css/main.css b/static/css/main.css index b4b8984..2c87a92 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -92,8 +92,8 @@ script, link { } #pageBody > * > * { align-self: center; - padding-top: 0.5vh; - padding-bottom: 0.5vh; + padding-top: 0.5vh 0.5vw; + padding-bottom: 0.5vh 0.5vw; } #pageBody > .card { height: fit-content; @@ -106,7 +106,7 @@ script, link { .card { background-color: var(--colour-text-background); padding: 1vh 2.5vw; - margin: 1vh; + margin: 1vh 1vw; display: flex; flex-wrap: wrap; align-items: center; @@ -120,7 +120,7 @@ script, link { .container { flex: 1; - margin: 0px; + margin: 0; align-items: flex-start; justify-content: flex-start; text-align: flex-start; @@ -166,7 +166,7 @@ script, link { */ .container-input { - padding: 1vh; + padding: 1vh 1vw; display: flex; flex-wrap: wrap; align-items: center; @@ -183,7 +183,7 @@ script, link { .container-input > input, .container-input > textarea { border: 2px solid var(--colour-accent); - padding: 1vh; + padding: 1vh 1vw; } .label-title { diff --git a/static/css/pages/core/apply_founding_partner.css b/static/css/pages/core/apply_founding_partner.css new file mode 100644 index 0000000..84488c1 --- /dev/null +++ b/static/css/pages/core/apply_founding_partner.css @@ -0,0 +1,38 @@ + +.contact-form { + max-width: 75vw; +} + +.label-question { + width: 20vw; + align-self: center; +} +.container.column .container.row .container-input { + width: 42vw; + margin: 0 auto; + padding: 0.25vh 0.5vw; +} + +.container.column .container.row .container-input .form-input { + min-width: 40vw; + max-width: 40vw; +} + +#id_speciality li, +#id_existing_system li { + list-style: none; +} +/* +#id_speciality li::marker, +#id_existing_system li::marker { + display: none; +} +*/ + +.container.row.captcha > div { + margin: 0 auto; +} + +input[type="submit"] { + margin: 0 auto; +} \ No newline at end of file diff --git a/static/css/pages/core/contact.css b/static/css/pages/core/contact.css index 917bed4..8be213a 100644 --- a/static/css/pages/core/contact.css +++ b/static/css/pages/core/contact.css @@ -58,7 +58,11 @@ textarea.form-input { } .container.captcha > p:last-child{ font-size: 0.9rem; - margin: 1vh 0; + margin: 1vh 1vw; +} +.container.captcha .altcha-widget, +.container.captcha .altcha-widget div.altcha { + width: 200px; } .container.captcha .altcha-main { padding-left: 1rem; diff --git a/static/dist/css/core_apply_founding_partner.bundle.css b/static/dist/css/core_apply_founding_partner.bundle.css new file mode 100644 index 0000000..4ccbd52 --- /dev/null +++ b/static/dist/css/core_apply_founding_partner.bundle.css @@ -0,0 +1,257 @@ + +/* Home page +*/ + +/* Footer */ +.footer { + background: #1f2937; + color: #f3f4f6; + padding: 4rem 2rem 2rem; +} + +.footer-content { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 2rem; + margin-bottom: 2rem; +} + +.footer-section h3 { + color: #fff; + margin-bottom: 1rem; + font-size: 1.2rem; + text-align: center; +} + +.footer-section ul { + list-style: none; + padding: 0; +} + +.footer-section ul li { + margin-bottom: 0.5rem; +} + +.footer-section a { + color: #f3f4f6; + text-decoration: none; + transition: color 0.3s ease; +} + +.footer-section a:hover { + color: #fff; + text-decoration: underline; +} + +.footer-bottom { + border-top: 1px solid #374151; + padding-top: 2rem; + text-align: center; + font-size: 0.9rem; +} + +.footer-bottom a { + color: aquamarine; +} + +.footer-section.contact { + width: 100%; +} +.footer-section .container { + padding: 0; +} +.footer-section .container.row .container.column { + padding: 1vh 2vw; +} + +@media (max-width: 768px) { + .footer-content { + grid-template-columns: 1fr; + text-align: center; + } +} + +@media (max-width: 540px) { + .nav-links { + display: none; + } +} + +.contact-section { + padding: 2rem 2rem 4rem; +} +.contact-section h1 { + margin: 1rem auto; +} +.contact-section p { + margin: 0.5rem auto; +} + +.contact-form { + max-width: 60vw; + width: fit-content; + margin: 0 auto; + background: #fff; + padding: 2rem; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0,0,0,0.1); +} +.contact-form textarea { + max-width: 40vw; +} + +.form-grid { + display: grid; + grid-template-columns: 200px 1fr; + gap: 1.5rem; + margin-bottom: 1rem; +} +.form-label { + padding-top: 0.5rem; + font-weight: 500; +} +.form-input { + width: 100%; + padding: 0.5rem; + border: 1px solid #d1d5db; + border-radius: 4px; + font-size: 1rem; +} +textarea.form-input { + min-height: 120px; +} + +.marketing-consent input { + display: inline-block; + margin-left: 20%; + margin-bottom: 1.25rem; +} + +.container.captcha > div:first-child > label:first-child { + display: flex; + justify-content: center; + width: fit-content; + text-align: center; + margin: 0 auto; +} +.container.captcha > p:last-child{ + font-size: 0.9rem; + margin: 1vh 1vw; +} +.container.captcha .altcha-widget, +.container.captcha .altcha-widget div.altcha { + width: 200px; +} +.container.captcha .altcha-main { + padding-left: 1rem; + padding-top: 0.75rem; + padding-bottom: 0; +} +.container.captcha .altcha-main > :last-child { + display: none; +} +.container.captcha .altcha, +altcha-widget > div:first-child, +.container.captcha > div > .altcha-widget > div { + width: fit-content; + display: flex; + margin-left: auto; + margin-right: auto; +} + +input[type="submit"] { + margin-left: 40%; + padding: 0.75rem 1.5rem; + background: #2563eb; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 1rem; +} + +input[type="submit"]:hover { + background: #1d4ed8; +} + +.data-notice { + margin-top: 3rem; + padding: 1.5rem; + background: #f3f4f6; + border-radius: 4px; + font-size: 0.95rem; +} + +.data-notice h3 { + margin-bottom: 1rem; + font-size: 1.1rem; +} + +.data-notice ul li { + list-style-position: inside; +} + +@media (max-width: 768px) { + .contact-form { + max-width: 80vw; + } + .contact-form textarea { + max-width: 60vw; + } + .form-grid { + grid-template-columns: 1fr; + gap: 0.5rem; + } + + .form-label { + padding-top: 0; + } + + .submit-button { + margin-left: 0; + width: 100%; + } +} + +@media (max-width: 400px) { +} + +.contact-form { + max-width: 75vw; +} + +.label-question { + width: 20vw; + align-self: center; +} +.container.column .container.row .container-input { + width: 42vw; + margin: 0 auto; + padding: 0.25vh 0.5vw; +} + +.container.column .container.row .container-input .form-input { + min-width: 40vw; + max-width: 40vw; +} + +#id_speciality li, +#id_existing_system li { + list-style: none; +} +/* +#id_speciality li::marker, +#id_existing_system li::marker { + display: none; +} +*/ + +.container.row.captcha > div { + margin: 0 auto; +} + +input[type="submit"] { + margin: 0 auto; +} + +/*# sourceMappingURL=core_apply_founding_partner.bundle.css.map*/ \ No newline at end of file diff --git a/static/dist/css/core_apply_founding_partner.bundle.css.map b/static/dist/css/core_apply_founding_partner.bundle.css.map new file mode 100644 index 0000000..becce8e --- /dev/null +++ b/static/dist/css/core_apply_founding_partner.bundle.css.map @@ -0,0 +1 @@ +{"version":3,"file":"css/core_apply_founding_partner.bundle.css","mappings":";AACA;CACC;;AAED,WAAW;AACX;IACI,mBAAmB;IACnB,cAAc;IACd,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,2DAA2D;IAC3D,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,UAAU;AACd;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,cAAc;IACd,qBAAqB;IACrB,2BAA2B;AAC/B;;AAEA;IACI,WAAW;IACX,0BAA0B;AAC9B;;AAEA;IACI,6BAA6B;IAC7B,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,WAAW;AACf;AACA;IACI,UAAU;AACd;AACA;IACI,gBAAgB;AACpB;;AAEA;IACI;QACI,0BAA0B;QAC1B,kBAAkB;IACtB;AACJ;;AAEA;IACI;QACI,aAAa;IACjB;AACJ,C;;AC5EA;IACI,uBAAuB;AAC3B;AACA;IACI,iBAAiB;AACrB;AACA;IACI,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,qCAAqC;AACzC;AACA;IACI,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,gCAAgC;IAChC,WAAW;IACX,mBAAmB;AACvB;AACA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,eAAe;AACnB;AACA;IACI,iBAAiB;AACrB;;AAEA;IACI,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;AAClB;AACA;IACI,iBAAiB;IACjB,eAAe;AACnB;AACA;;IAEI,YAAY;AAChB;AACA;IACI,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;AACrB;AACA;IACI,aAAa;AACjB;AACA;;;IAGI,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,eAAe;AACnB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI;QACI,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,0BAA0B;QAC1B,WAAW;IACf;;IAEA;QACI,cAAc;IAClB;;IAEA;QACI,cAAc;QACd,WAAW;IACf;AACJ;;AAEA;AACA,C;;ACzIA;IACI,eAAe;AACnB;;AAEA;IACI,WAAW;IACX,kBAAkB;AACtB;AACA;IACI,WAAW;IACX,cAAc;IACd,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,eAAe;AACnB;;AAEA;;IAEI,gBAAgB;AACpB;AACA;;;;;CAKC;;AAED;IACI,cAAc;AAClB;;AAEA;IACI,cAAc;AAClB,C","sources":["webpack://app/./static/css/sections/core.css","webpack://app/./static/css/pages/core/contact.css","webpack://app/./static/css/pages/core/apply_founding_partner.css"],"sourcesContent":["\n/* Home page\n*/\n\n/* Footer */\n.footer {\n background: #1f2937;\n color: #f3f4f6;\n padding: 4rem 2rem 2rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-bottom: 2rem;\n}\n\n.footer-section h3 {\n color: #fff;\n margin-bottom: 1rem;\n font-size: 1.2rem;\n text-align: center;\n}\n\n.footer-section ul {\n list-style: none;\n padding: 0;\n}\n\n.footer-section ul li {\n margin-bottom: 0.5rem;\n}\n\n.footer-section a {\n color: #f3f4f6;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.footer-section a:hover {\n color: #fff;\n text-decoration: underline;\n}\n\n.footer-bottom {\n border-top: 1px solid #374151;\n padding-top: 2rem;\n text-align: center;\n font-size: 0.9rem;\n}\n\n.footer-bottom a {\n color: aquamarine;\n}\n\n.footer-section.contact {\n width: 100%;\n}\n.footer-section .container {\n padding: 0;\n}\n.footer-section .container.row .container.column {\n padding: 1vh 2vw;\n}\n\n@media (max-width: 768px) {\n .footer-content {\n grid-template-columns: 1fr;\n text-align: center;\n }\n}\n\n@media (max-width: 540px) {\n .nav-links {\n display: none;\n }\n}","\n.contact-section {\n padding: 2rem 2rem 4rem;\n}\n.contact-section h1 {\n margin: 1rem auto;\n}\n.contact-section p {\n margin: 0.5rem auto;\n}\n\n.contact-form {\n max-width: 60vw;\n width: fit-content;\n margin: 0 auto;\n background: #fff;\n padding: 2rem;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n.contact-form textarea {\n max-width: 40vw;\n}\n\n.form-grid {\n display: grid;\n grid-template-columns: 200px 1fr;\n gap: 1.5rem;\n margin-bottom: 1rem;\n}\n.form-label {\n padding-top: 0.5rem;\n font-weight: 500;\n}\n.form-input {\n width: 100%;\n padding: 0.5rem;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 1rem;\n}\ntextarea.form-input {\n min-height: 120px;\n}\n\n.marketing-consent input {\n display: inline-block;\n margin-left: 20%;\n margin-bottom: 1.25rem;\n}\n\n.container.captcha > div:first-child > label:first-child {\n display: flex;\n justify-content: center;\n width: fit-content;\n text-align: center;\n margin: 0 auto;\n}\n.container.captcha > p:last-child{\n font-size: 0.9rem;\n margin: 1vh 1vw;\n}\n.container.captcha .altcha-widget,\n.container.captcha .altcha-widget div.altcha {\n width: 200px;\n}\n.container.captcha .altcha-main {\n padding-left: 1rem;\n padding-top: 0.75rem;\n padding-bottom: 0;\n}\n.container.captcha .altcha-main > :last-child {\n display: none;\n}\n.container.captcha .altcha,\naltcha-widget > div:first-child,\n.container.captcha > div > .altcha-widget > div {\n width: fit-content;\n display: flex;\n margin-left: auto;\n margin-right: auto;\n}\n\ninput[type=\"submit\"] {\n margin-left: 40%;\n padding: 0.75rem 1.5rem;\n background: #2563eb;\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 1rem;\n}\n\ninput[type=\"submit\"]:hover {\n background: #1d4ed8;\n}\n\n.data-notice {\n margin-top: 3rem;\n padding: 1.5rem;\n background: #f3f4f6;\n border-radius: 4px;\n font-size: 0.95rem;\n}\n\n.data-notice h3 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n}\n\n.data-notice ul li {\n list-style-position: inside;\n}\n\n@media (max-width: 768px) {\n .contact-form {\n max-width: 80vw;\n }\n .contact-form textarea {\n max-width: 60vw;\n }\n .form-grid {\n grid-template-columns: 1fr;\n gap: 0.5rem;\n }\n\n .form-label {\n padding-top: 0;\n }\n\n .submit-button {\n margin-left: 0;\n width: 100%;\n }\n}\n\n@media (max-width: 400px) {\n}","\n.contact-form {\n max-width: 75vw;\n}\n\n.label-question {\n width: 20vw;\n align-self: center;\n}\n.container.column .container.row .container-input {\n width: 42vw;\n margin: 0 auto;\n padding: 0.25vh 0.5vw;\n}\n\n.container.column .container.row .container-input .form-input {\n min-width: 40vw;\n max-width: 40vw;\n}\n\n#id_speciality li,\n#id_existing_system li {\n list-style: none;\n}\n/*\n#id_speciality li::marker,\n#id_existing_system li::marker {\n display: none;\n}\n*/\n\n.container.row.captcha > div {\n margin: 0 auto;\n}\n\ninput[type=\"submit\"] {\n margin: 0 auto;\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/css/core_contact.bundle.css b/static/dist/css/core_contact.bundle.css index 72eef05..49b14e3 100644 --- a/static/dist/css/core_contact.bundle.css +++ b/static/dist/css/core_contact.bundle.css @@ -136,7 +136,11 @@ textarea.form-input { } .container.captcha > p:last-child{ font-size: 0.9rem; - margin: 1vh 0; + margin: 1vh 1vw; +} +.container.captcha .altcha-widget, +.container.captcha .altcha-widget div.altcha { + width: 200px; } .container.captcha .altcha-main { padding-left: 1rem; diff --git a/static/dist/css/core_contact.bundle.css.map b/static/dist/css/core_contact.bundle.css.map index 14e1f2d..115b188 100644 --- a/static/dist/css/core_contact.bundle.css.map +++ b/static/dist/css/core_contact.bundle.css.map @@ -1 +1 @@ -{"version":3,"file":"css/core_contact.bundle.css","mappings":";AACA;CACC;;AAED,WAAW;AACX;IACI,mBAAmB;IACnB,cAAc;IACd,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,2DAA2D;IAC3D,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,UAAU;AACd;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,cAAc;IACd,qBAAqB;IACrB,2BAA2B;AAC/B;;AAEA;IACI,WAAW;IACX,0BAA0B;AAC9B;;AAEA;IACI,6BAA6B;IAC7B,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,WAAW;AACf;AACA;IACI,UAAU;AACd;AACA;IACI,gBAAgB;AACpB;;AAEA;IACI;QACI,0BAA0B;QAC1B,kBAAkB;IACtB;AACJ;;AAEA;IACI;QACI,aAAa;IACjB;AACJ,C;;AC5EA;IACI,uBAAuB;AAC3B;AACA;IACI,iBAAiB;AACrB;AACA;IACI,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,qCAAqC;AACzC;AACA;IACI,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,gCAAgC;IAChC,WAAW;IACX,mBAAmB;AACvB;AACA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,eAAe;AACnB;AACA;IACI,iBAAiB;AACrB;;AAEA;IACI,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;AAClB;AACA;IACI,iBAAiB;IACjB,aAAa;AACjB;AACA;IACI,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;AACrB;AACA;IACI,aAAa;AACjB;AACA;;;IAGI,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,eAAe;AACnB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI;QACI,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,0BAA0B;QAC1B,WAAW;IACf;;IAEA;QACI,cAAc;IAClB;;IAEA;QACI,cAAc;QACd,WAAW;IACf;AACJ;;AAEA;AACA,C","sources":["webpack://app/./static/css/sections/core.css","webpack://app/./static/css/pages/core/contact.css"],"sourcesContent":["\n/* Home page\n*/\n\n/* Footer */\n.footer {\n background: #1f2937;\n color: #f3f4f6;\n padding: 4rem 2rem 2rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-bottom: 2rem;\n}\n\n.footer-section h3 {\n color: #fff;\n margin-bottom: 1rem;\n font-size: 1.2rem;\n text-align: center;\n}\n\n.footer-section ul {\n list-style: none;\n padding: 0;\n}\n\n.footer-section ul li {\n margin-bottom: 0.5rem;\n}\n\n.footer-section a {\n color: #f3f4f6;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.footer-section a:hover {\n color: #fff;\n text-decoration: underline;\n}\n\n.footer-bottom {\n border-top: 1px solid #374151;\n padding-top: 2rem;\n text-align: center;\n font-size: 0.9rem;\n}\n\n.footer-bottom a {\n color: aquamarine;\n}\n\n.footer-section.contact {\n width: 100%;\n}\n.footer-section .container {\n padding: 0;\n}\n.footer-section .container.row .container.column {\n padding: 1vh 2vw;\n}\n\n@media (max-width: 768px) {\n .footer-content {\n grid-template-columns: 1fr;\n text-align: center;\n }\n}\n\n@media (max-width: 540px) {\n .nav-links {\n display: none;\n }\n}","\n.contact-section {\n padding: 2rem 2rem 4rem;\n}\n.contact-section h1 {\n margin: 1rem auto;\n}\n.contact-section p {\n margin: 0.5rem auto;\n}\n\n.contact-form {\n max-width: 60vw;\n width: fit-content;\n margin: 0 auto;\n background: #fff;\n padding: 2rem;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n.contact-form textarea {\n max-width: 40vw;\n}\n\n.form-grid {\n display: grid;\n grid-template-columns: 200px 1fr;\n gap: 1.5rem;\n margin-bottom: 1rem;\n}\n.form-label {\n padding-top: 0.5rem;\n font-weight: 500;\n}\n.form-input {\n width: 100%;\n padding: 0.5rem;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 1rem;\n}\ntextarea.form-input {\n min-height: 120px;\n}\n\n.marketing-consent input {\n display: inline-block;\n margin-left: 20%;\n margin-bottom: 1.25rem;\n}\n\n.container.captcha > div:first-child > label:first-child {\n display: flex;\n justify-content: center;\n width: fit-content;\n text-align: center;\n margin: 0 auto;\n}\n.container.captcha > p:last-child{\n font-size: 0.9rem;\n margin: 1vh 0;\n}\n.container.captcha .altcha-main {\n padding-left: 1rem;\n padding-top: 0.75rem;\n padding-bottom: 0;\n}\n.container.captcha .altcha-main > :last-child {\n display: none;\n}\n.container.captcha .altcha,\naltcha-widget > div:first-child,\n.container.captcha > div > .altcha-widget > div {\n width: fit-content;\n display: flex;\n margin-left: auto;\n margin-right: auto;\n}\n\ninput[type=\"submit\"] {\n margin-left: 40%;\n padding: 0.75rem 1.5rem;\n background: #2563eb;\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 1rem;\n}\n\ninput[type=\"submit\"]:hover {\n background: #1d4ed8;\n}\n\n.data-notice {\n margin-top: 3rem;\n padding: 1.5rem;\n background: #f3f4f6;\n border-radius: 4px;\n font-size: 0.95rem;\n}\n\n.data-notice h3 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n}\n\n.data-notice ul li {\n list-style-position: inside;\n}\n\n@media (max-width: 768px) {\n .contact-form {\n max-width: 80vw;\n }\n .contact-form textarea {\n max-width: 60vw;\n }\n .form-grid {\n grid-template-columns: 1fr;\n gap: 0.5rem;\n }\n\n .form-label {\n padding-top: 0;\n }\n\n .submit-button {\n margin-left: 0;\n width: 100%;\n }\n}\n\n@media (max-width: 400px) {\n}"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/core_contact.bundle.css","mappings":";AACA;CACC;;AAED,WAAW;AACX;IACI,mBAAmB;IACnB,cAAc;IACd,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,2DAA2D;IAC3D,SAAS;IACT,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,UAAU;AACd;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,cAAc;IACd,qBAAqB;IACrB,2BAA2B;AAC/B;;AAEA;IACI,WAAW;IACX,0BAA0B;AAC9B;;AAEA;IACI,6BAA6B;IAC7B,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;AACrB;;AAEA;IACI,iBAAiB;AACrB;;AAEA;IACI,WAAW;AACf;AACA;IACI,UAAU;AACd;AACA;IACI,gBAAgB;AACpB;;AAEA;IACI;QACI,0BAA0B;QAC1B,kBAAkB;IACtB;AACJ;;AAEA;IACI;QACI,aAAa;IACjB;AACJ,C;;AC5EA;IACI,uBAAuB;AAC3B;AACA;IACI,iBAAiB;AACrB;AACA;IACI,mBAAmB;AACvB;;AAEA;IACI,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,qCAAqC;AACzC;AACA;IACI,eAAe;AACnB;;AAEA;IACI,aAAa;IACb,gCAAgC;IAChC,WAAW;IACX,mBAAmB;AACvB;AACA;IACI,mBAAmB;IACnB,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,eAAe;AACnB;AACA;IACI,iBAAiB;AACrB;;AAEA;IACI,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;AAC1B;;AAEA;IACI,aAAa;IACb,uBAAuB;IACvB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;AAClB;AACA;IACI,iBAAiB;IACjB,eAAe;AACnB;AACA;;IAEI,YAAY;AAChB;AACA;IACI,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;AACrB;AACA;IACI,aAAa;AACjB;AACA;;;IAGI,kBAAkB;IAClB,aAAa;IACb,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,eAAe;AACnB;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;IACnB,iBAAiB;AACrB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI;QACI,eAAe;IACnB;IACA;QACI,eAAe;IACnB;IACA;QACI,0BAA0B;QAC1B,WAAW;IACf;;IAEA;QACI,cAAc;IAClB;;IAEA;QACI,cAAc;QACd,WAAW;IACf;AACJ;;AAEA;AACA,C","sources":["webpack://app/./static/css/sections/core.css","webpack://app/./static/css/pages/core/contact.css"],"sourcesContent":["\n/* Home page\n*/\n\n/* Footer */\n.footer {\n background: #1f2937;\n color: #f3f4f6;\n padding: 4rem 2rem 2rem;\n}\n\n.footer-content {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 2rem;\n margin-bottom: 2rem;\n}\n\n.footer-section h3 {\n color: #fff;\n margin-bottom: 1rem;\n font-size: 1.2rem;\n text-align: center;\n}\n\n.footer-section ul {\n list-style: none;\n padding: 0;\n}\n\n.footer-section ul li {\n margin-bottom: 0.5rem;\n}\n\n.footer-section a {\n color: #f3f4f6;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\n.footer-section a:hover {\n color: #fff;\n text-decoration: underline;\n}\n\n.footer-bottom {\n border-top: 1px solid #374151;\n padding-top: 2rem;\n text-align: center;\n font-size: 0.9rem;\n}\n\n.footer-bottom a {\n color: aquamarine;\n}\n\n.footer-section.contact {\n width: 100%;\n}\n.footer-section .container {\n padding: 0;\n}\n.footer-section .container.row .container.column {\n padding: 1vh 2vw;\n}\n\n@media (max-width: 768px) {\n .footer-content {\n grid-template-columns: 1fr;\n text-align: center;\n }\n}\n\n@media (max-width: 540px) {\n .nav-links {\n display: none;\n }\n}","\n.contact-section {\n padding: 2rem 2rem 4rem;\n}\n.contact-section h1 {\n margin: 1rem auto;\n}\n.contact-section p {\n margin: 0.5rem auto;\n}\n\n.contact-form {\n max-width: 60vw;\n width: fit-content;\n margin: 0 auto;\n background: #fff;\n padding: 2rem;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n.contact-form textarea {\n max-width: 40vw;\n}\n\n.form-grid {\n display: grid;\n grid-template-columns: 200px 1fr;\n gap: 1.5rem;\n margin-bottom: 1rem;\n}\n.form-label {\n padding-top: 0.5rem;\n font-weight: 500;\n}\n.form-input {\n width: 100%;\n padding: 0.5rem;\n border: 1px solid #d1d5db;\n border-radius: 4px;\n font-size: 1rem;\n}\ntextarea.form-input {\n min-height: 120px;\n}\n\n.marketing-consent input {\n display: inline-block;\n margin-left: 20%;\n margin-bottom: 1.25rem;\n}\n\n.container.captcha > div:first-child > label:first-child {\n display: flex;\n justify-content: center;\n width: fit-content;\n text-align: center;\n margin: 0 auto;\n}\n.container.captcha > p:last-child{\n font-size: 0.9rem;\n margin: 1vh 1vw;\n}\n.container.captcha .altcha-widget,\n.container.captcha .altcha-widget div.altcha {\n width: 200px;\n}\n.container.captcha .altcha-main {\n padding-left: 1rem;\n padding-top: 0.75rem;\n padding-bottom: 0;\n}\n.container.captcha .altcha-main > :last-child {\n display: none;\n}\n.container.captcha .altcha,\naltcha-widget > div:first-child,\n.container.captcha > div > .altcha-widget > div {\n width: fit-content;\n display: flex;\n margin-left: auto;\n margin-right: auto;\n}\n\ninput[type=\"submit\"] {\n margin-left: 40%;\n padding: 0.75rem 1.5rem;\n background: #2563eb;\n color: white;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 1rem;\n}\n\ninput[type=\"submit\"]:hover {\n background: #1d4ed8;\n}\n\n.data-notice {\n margin-top: 3rem;\n padding: 1.5rem;\n background: #f3f4f6;\n border-radius: 4px;\n font-size: 0.95rem;\n}\n\n.data-notice h3 {\n margin-bottom: 1rem;\n font-size: 1.1rem;\n}\n\n.data-notice ul li {\n list-style-position: inside;\n}\n\n@media (max-width: 768px) {\n .contact-form {\n max-width: 80vw;\n }\n .contact-form textarea {\n max-width: 60vw;\n }\n .form-grid {\n grid-template-columns: 1fr;\n gap: 0.5rem;\n }\n\n .form-label {\n padding-top: 0;\n }\n\n .submit-button {\n margin-left: 0;\n width: 100%;\n }\n}\n\n@media (max-width: 400px) {\n}"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/css/main.bundle.css b/static/dist/css/main.bundle.css index a431c60..a7a2504 100644 --- a/static/dist/css/main.bundle.css +++ b/static/dist/css/main.bundle.css @@ -92,8 +92,8 @@ script, link { } #pageBody > * > * { align-self: center; - padding-top: 0.5vh; - padding-bottom: 0.5vh; + padding-top: 0.5vh 0.5vw; + padding-bottom: 0.5vh 0.5vw; } #pageBody > .card { height: fit-content; @@ -106,7 +106,7 @@ script, link { .card { background-color: var(--colour-text-background); padding: 1vh 2.5vw; - margin: 1vh; + margin: 1vh 1vw; display: flex; flex-wrap: wrap; align-items: center; @@ -120,7 +120,7 @@ script, link { .container { flex: 1; - margin: 0px; + margin: 0; align-items: flex-start; justify-content: flex-start; text-align: flex-start; @@ -166,7 +166,7 @@ script, link { */ .container-input { - padding: 1vh; + padding: 1vh 1vw; display: flex; flex-wrap: wrap; align-items: center; @@ -183,7 +183,7 @@ script, link { .container-input > input, .container-input > textarea { border: 2px solid var(--colour-accent); - padding: 1vh; + padding: 1vh 1vw; } .label-title { diff --git a/static/dist/css/main.bundle.css.map b/static/dist/css/main.bundle.css.map index e75d0dc..02413b9 100644 --- a/static/dist/css/main.bundle.css.map +++ b/static/dist/css/main.bundle.css.map @@ -1 +1 @@ -{"version":3,"file":"css/main.bundle.css","mappings":"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;AACnD;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,qBAAqB;AACzB,C;;;ACzDA,eAAe;AACf;IACI,aAAa;IACb,eAAe;IACf,OAAO;IACP,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,WAAW;IACX,uBAAuB;IACvB,yCAAyC;IACzC,qCAAqC;IACrC,uBAAuB,EAAE,kBAAkB;IAC3C,mBAAmB;AACvB;AACA;;;;IAII,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;IACX,eAAe;IACf,uBAAuB;AAC3B;AACA;IACI,sCAAsC;AAC1C;AACA;IACI,+CAA+C;IAC/C;AACJ;AACA;IACI,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;AACA;IACI,eAAe;AACnB;AACA;IACI,qBAAqB;IACrB,eAAe;IACf,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,eAAe;IACf,kBAAkB;AACtB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;AACvB;AACA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;AACxB;AACA;IACI,oCAAoC;IACpC,cAAc;IACd,iBAAiB;AACrB;;;AAGA,iBAAiB;AACjB;IACI,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;;AAEtB;AACA;IACI,eAAe;AACnB;;AAEA;AACA;AACA;IACI,sBAAsB;IACtB,gBAAgB;AACpB;AACA;IACI,sCAAsC;AAC1C;;AAEA;IACI,WAAW;IACX,eAAe;IACf,YAAY;AAChB;AACA;;;;;;;CAOC;;AAED;IACI,UAAU;AACd;AACA;IACI,aAAa;AACjB;AACA;IACI,YAAY;IACZ,mCAAmC;IACnC,sCAAsC;IACtC;2BACuB;IACvB,WAAW;AACf;AACA;IACI,0BAA0B;IAC1B,+CAA+C;AACnD;AACA;IACI,WAAW;AACf;;AAEA;;;;;;;;;;;;;;CAcC;;AAED;IACI,aAAa;IACb,gBAAgB;AACpB;AACA;IACI,aAAa;IACb,kBAAkB;AACtB;;AAEA;;;;;;CAMC;;AAED;IACI;;;;KAIC;IACD;QACI,aAAa;IACjB;IACA;QACI,2BAA2B;QAC3B,kBAAkB;IACtB;AACJ,C;AChMA,gBAAgB,C;;ACChB;IACI,kBAAkB;IAClB,eAAe;AACnB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe,EAAE,yCAAyC;IAC1D,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;AAC3B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,mBAAmB;IACnB,+CAA+C;AACnD;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;AACvB;AACA;IACI,cAAc;AAClB;AACA;AACA;AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,WAAW,EAAE,iCAAiC;AAClD;;AAEA;;;;IAII,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,YAAY;IACZ,sCAAsC;IACtC,oBAAoB;IACpB,kBAAkB;IAClB,+CAA+C;IAC/C,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,wBAAwB;AAC5B;AACA;;IAEI,sBAAsB;AAC1B;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,+CAA+C;AACnD;AACA;IACI,sBAAsB;AAC1B;AACA;IACI,eAAe;AACnB;AACA;;IAEI,iBAAiB;IACjB,kBAAkB;AACtB;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;IACI,2BAA2B;IAC3B,sCAAsC;IACtC,sCAAsC;IACtC,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;;AAGA;AACA;AACA;IACI;;QAEI,WAAW;QACX,iBAAiB;IACrB;IACA;QACI,cAAc;QACd,eAAe;QACf,eAAe;IACnB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;AACJ,C;;;;;ACxJA,YAAY;AACZ;IACI,kCAAkC;IAClC,wBAAwB;IACxB,mBAAmB;IACnB,8BAA8B;IAC9B,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,mCAAmC;IACnC,mCAAmC;IACnC,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,mCAAmC;IACnC,+BAA+B;IAC/B,sBAAsB;IACtB,+BAA+B;IAC/B,qCAAqC;IACrC,mCAAmC;AACvC;;AAEA;;;;;;;;;;;;;;;;CAgBC,C","sources":["webpack://app/./static/css/main.css","webpack://app/./static/css/components/button.css","webpack://app/./static/css/components/form.css","webpack://app/./static/css/components/image.css","webpack://app/./static/css/components/label.css","webpack://app/./static/css/components/overlay.css","webpack://app/./static/css/components/table.css","webpack://app/./static/css/layouts/header.css","webpack://app/./static/css/layouts/footer.css","webpack://app/./static/css/layouts/table-main.css","webpack://app/./static/css/themes/light.css"],"sourcesContent":["\n:root {\n --font-family-base: 'Open Sans', Arial, sans-serif;\n /* Declare global variables */\n /*\n --c_purple: #5B29FF;\n --c_purple_pastel: #D1D1FF;\n --c_purple_lighter: #E8E1FF;\n --c_purple_light: #C6BDFF;\n --c_purple_dark: #4700B3;\n */\n /* purple theme\n - light https://coolors.co/palette/a172fd-a77afe-ac82fe-b691fe-c1a0fe-cbaffe-d6bffe-e0cefe-ebddfe-f5ecfe\n - dark https://coolors.co/palette/310055-3c0663-4a0a77-5a108f-6818a5-8b2fc9-ab51e3-bd68ee-d283ff-dc97ff\n */\n /*\n --c_purple_darker: #310055;\n --c_purple_dark: #4A0A77;\n --c_purple: #6818A5;\n --c_purple_light: #CBAFFE;\n --c_purple_lighter: #F5ECFE;\n\n --c_blue: #0044FF;\n --c_blue_pastel: #B8E0FF;\n --c_blue_light: #73E8FF;\n --c_blue_dark: #003ADB;\n */\n /* --c_red: * /\n --c-red: #FF0000;\n --c_red_pastel: #FAE0E2;\n --c_red_lighter: #FAE0E2;\n */\n}\n\nhtml {\n height: 100vh;\n /* overflow-y: clip; */\n}\n\nbody {\n background-color: var(--colour-page-background);\n color: var(--colour-text);\n font-family: var(--font-family-base);\n font-family: Arial;\n padding: 0;\n margin: 0;\n border: 0;\n background: linear-gradient(to bottom right, var(--colour-page-background-1), var(--colour-page-background-2)); /* var(--c_purple); */\n height: 100vh;\n /* max-height: 100vh;\n overflow-y: clip; */\n}\n\n* {\n margin: 0;\n}\n\nscript, link {\n display: none !important;\n}\n\n/*\n#pageBody {\n / * height: 69vh !important; * /\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n*/\n\n.page-body > * {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n align-self: center;\n font-size: 1rem;\n color: var(--colour-text);\n}\n#pageBody > * > * {\n align-self: center;\n padding-top: 0.5vh;\n padding-bottom: 0.5vh;\n}\n#pageBody > .card {\n height: fit-content;\n margin: 0.5vh auto;\n}\n\n\n\n/* Add a card effect for articles */\n.card {\n background-color: var(--colour-text-background);\n padding: 1vh 2.5vw;\n margin: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: 1.5vh;\n position: relative;\n height: fit-content;\n max-width: 80vw;\n}\n\n.container {\n flex: 1;\n margin: 0px;\n align-items: flex-start;\n justify-content: flex-start;\n text-align: flex-start;\n /* max-width: 100%; */\n /* min-width: fit-content; */\n}\n\n.column {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: auto 0;\n}\n\n.row {\n display: flex; \n flex-direction: row;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.container > .card:first-of-type {\n margin-top: none;\n}\n\n\n/*\n/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other *\n@media screen and (max-width: 800px) {\n .leftcolumn, .rightcolumn { \n width: 100%;\n /* padding: 0; *\n }\n}\n\n/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other *\n@media screen and (max-width: 400px) {\n .topnav a {\n float: none;\n width: 100%;\n }\n}\n*/\n\n.container-input {\n padding: 1vh;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.container-input > label {\n width: 100%;\n margin-bottom: 1vh;\n margin-top: 0;\n}\n\n.container-input > input,\n.container-input > textarea {\n border: 2px solid var(--colour-accent);\n padding: 1vh;\n}\n\n.label-title {\n width: 100%;\n}\n\n\nul {\n max-width: 90%;\n padding: 5px 0 10px 0;\n width: fit-content;\n margin: auto;\n}\nli {\n text-align: left;\n font-size: 18px;\n}\n\n\n:not(input,textarea,select,button).dirty {\n background-color: var(--colour-accent);\n}\ninput.dirty, textarea.dirty, select.dirty {\n border-color: var(--colour-primary);\n}\n\n\n\n\n@media screen and (max-width: 400px) {\n /*\n img.logo {\n border-radius: 3vh;\n }\n .company-name {\n font-size: 14px;\n }\n */\n}",".button {\n display: inline-block;\n padding: 0.5vh 0.75vh;\n border-radius: 0.75vh;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n width: fit-content;\n}\n.button:not(.is_collapsed) {\n cursor: pointer;\n}\n.button.is_collapsed {\n display: block;\n opacity: 0;\n}\n\n.button-primary {\n background: var(--colour-accent);\n color: var(--colour-primary);\n border: 2px solid var(--colour-primary);\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-accent);\n}\n\n.logo:hover{\n cursor: pointer;\n}\n\n\n.button.icon.active.delete, \n.button.icon.active.add {\n height: 2vh;\n}","\n\nselect {\n border: 1px solid var(--colour-accent);\n}","\nimg, video {\n border-radius: 3vh;\n}\n","\nh1 {\n font-size: 2.5rem;\n}\nh2 {\n font-size: 1.8rem;\n}\nh3 {\n font-size: 1.2rem;\n margin-top: 1vh;\n}\nh4 {\n font-size: 13px;\n margin: 1vh;\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n}\nh5 {\n font-size: 11px;\n margin: 1vh;\n}\n\n\n.text-center {\n text-align: center;\n}\n.section-title {\n font-size: 1.8rem;\n margin-bottom: 1rem;\n}\n.section-subtitle {\n font-size: 1.2rem;\n margin-bottom: 2rem;\n}","\n\n/* Overlay modal */\n.overlay {\n /*\n display: none;\n */\n position: fixed;\n width: 100px;\n /* height: 50%; */ \n background: var(--colour-page-background);\n justify-content: right;\n align-items: right;\n align-self: right;\n z-index: 999;\n}\n.is_collapsed {\n display: none;\n}\n\n/* Hamburger menu overlay */\n#buttonHamburger {\n cursor: pointer;\n position: fixed;\n right: 1vh;\n min-height: 3.5vh;\n max-height: 3.5vh;\n min-width: 4vh;\n max-width: 4vh;\n z-index: 10;\n padding: 0;\n}\n#buttonHamburger.expanded {\n min-width: 100px;\n max-width: 100px;\n min-height: 5vh;\n max-height: 5vh;\n padding-left: calc(100 * 1px - 5 * 1vh);\n padding-bottom: 1vh;\n}\n#buttonHamburger .icon.hamburger {\n min-height: 2.5vh;\n max-height: 2.5vh;\n min-width: 2.5vh;\n max-width: 2.5vh;\n padding: 0.5vh 0.75vh;\n}\n/*\n#buttonHamburger:hover {\n text-decoration: none;\n cursor: pointer;\n}\n*/\n#overlayHamburger {\n top: 7vh;\n right: 1vh;\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 60vh;\n background-color: var(--colour-accent);\n border: 2px solid var(--border-colour);\n border-radius: 0.75vh;\n width: 100px;\n z-index: 2;\n padding-top: 3.5vh;\n}\n#overlayHamburger:first-child {\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n}\n#overlayHamburger:last-child {\n border-bottom-left-radius: 12px;\n border-bottom-right-radius: 12px;\n}\n\n#overlayHamburger .container {\n background-color: var(--colour-page-background);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n /* color: var(--colour-text); */\n font-weight: bold;\n font-size: 15px;\n /* height: 18px; */\n cursor: pointer;\n padding-top: 5vh;\n}\n#overlayHamburger > :hover {\n color: var(--colour-page-background);\n background-color: var(--colour-primary);\n}\n#overlayHamburger .container a {\n width: 100%;\n /*\n margin-top: 4.5px;\n margin-bottom: 4.5px;\n */\n}\n#overlayHamburger > .container {\n padding-top: 4.5px;\n padding-bottom: 4.5px;\n}\n\n@media screen and (max-width: 400px) {\n #buttonHamburger {\n min-height: 5vh;\n max-height: 5vh;\n min-width: 5.5vh;\n max-width: 5.5vh;\n }\n #buttonHamburger .icon.hamburger {\n min-height: 4vh;\n max-height: 4vh;\n min-width: 4vh;\n max-width: 4vh;\n }\n #overlayHamburger {\n padding-top: 5vh;\n }\n}\n\n/* Confirm overlay */\n#overlayConfirm {\n position: absolute;\n left: 25vw;\n width: 50vw;\n height: 50vh;\n}\n\n#overlayConfirm .row > * {\n margin-left: auto;\n margin-right: auto;\n}\n\n#overlayConfirm .row .button.button-cancel {\n margin-right: 0.5vh;\n}\n#overlayConfirm .row .button.submit {\n margin-left: 0.5vh;\n}\n\n\n","\n#formFilters .container {\n max-width: fit-content;\n}\n\nthead, tbody {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n\nth {\n background-color: transparent;\n}\ntd {\n font-size: min(16px, calc(1vh * 3));\n}\n\nth, td {\n min-width: fit-content;\n}\ntr:not(:last-child) > td {\n border-bottom: 1px dashed var(--border-colour);\n}\ntd > table > tbody > tr > td {\n border: none !important;\n}\nth.is_collapsed, td.is_collapsed {\n display: table-cell !important;\n}\ntd.dirty {\n background-color: var(--colour-primary);\n}\ntd:not(.dirty) {\n background-color: transparent;\n}\n\ntr {\n min-height: 1px;\n border-bottom: 1px solid;\n border-top: 1px solid;\n border-color: var(--border-colour);\n background-color: transparent;\n}\n\ntable button {\n margin: 0.25vh;\n padding: 0.5vh 1vh;\n}\n\ntable button.active {\n background-color: var(--colour-page-background);\n}\n\ntr.delete, tr.delete > td {\n background-color: var(--colour-error);\n}\n\ntable div {\n align-content: center;\n}","\n\n/* Navigation */\n.topnav {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n flex-direction: row;\n font-weight: bold;\n font-size: 1vh;\n max-height: 7vh;\n height: 7vh;\n align-items: flex-start;\n background: var(--colour-text-background);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n justify-content: center; /* space-between */\n align-items: center;\n}\n.topnav a,\n.topnav label,\n.topnav p,\n.topnav h1 {\n float: left;\n display: flex;\n text-align: center;\n text-decoration: none;\n width: 100%;\n max-height: 7vh;\n justify-content: center;\n}\n.topnav h1 {\n color: var(--colour-text-link-visited);\n}\n.topnav a:hover {\n background-color: var(--colour-page-background);\n color: var(--colour-text)\n}\n.topnav > .container {\n width: 10vh;\n height: 100%;\n align-items: center;\n align-self: center;\n display: flex;\n}\n.topnav .container.logo {\n cursor: pointer;\n}\n.topnav .container .logo {\n /* min-width: 35vh; */\n max-width: 35vw;\n /* min-height: 6vh; */\n max-height: 6vh;\n margin: 0.5vh;\n margin-right: auto;\n}\n.topnav .container.company-name {\n min-width: 30vw;\n max-width: 30vw;\n margin-right: 35vw;\n}\n.company-name {\n font-size: 1.6rem;\n}\n.nav-links {\n display: flex;\n gap: 1vh 2rem;\n display: flex;\n flex-wrap: wrap;\n max-width: calc(1vw * 100 - 1vh * 35);\n align-items: center;\n margin: 0.5vh 0.5vw;\n}\n.nav-links a {\n text-decoration: none;\n color: var(--text);\n font-weight: normal;\n align-content: center;\n font-size: 1.2rem;\n width: fit-content;\n padding: 0.5vh 0.5vw;\n border-radius: 0.5vh;\n}\n.nav-links a.button {\n color: var(--colour-text-background);\n margin: 0 auto;\n font-weight: bold;\n}\n\n\n/* Page Filters */\n#formFilters {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n \n}\n#formFilters * {\n font-size: 1rem;\n}\n\n#formFilters .container {\n}\n#formFilters .container-input {\n max-width: fit-content;\n padding: 0 0.5vh;\n}\n#formFilters .container-input:has(.dirty) {\n background-color: var(--colour-accent);\n} \n\n#formFilters .container-input input {\n width: 10vh;\n max-width: 10vh;\n height: 20px;\n}\n/*\n#formFilters .container-input input {\n height: 1.7vh;\n}\n#formFilters .container-input select {\n height: 2vh;\n}\n*/\n\n#formFilters .container-input.filter.active_only {\n width: 8vh;\n}\n#formFilters .container-input.filter.active_only input {\n display: none;\n}\n#formFilters .container-input.filter.active_only svg.active_only {\n height: 25px;\n fill: var(--colour-text-background);\n background-color: var(--colour-accent);\n /* border: 1px solid var(--colour-accent);\n border-radius: 0.5vh; */\n width: 25px;\n}\n#formFilters .container-input.filter.active_only svg.active_only.is_checked {\n fill: var(--colour-accent);\n background-color: var(--colour-text-background);\n}\n#formFilters .container-input.filter.is_not_empty {\n width: 12vh;\n}\n\n/*\n#formFilters button {\n padding: 0.5vh 0.75vh;\n background-color: var(--colour-accent);\n color: var(--colour-primary);\n font-weight: bold;\n border-radius: 0.75vh;\n border: 2px solid var(--colour-primary);\n}\n\n#formFilters button.is_collapsed {\n display: block;\n opacity: 0;\n}\n*/\n\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 0;\n}\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 1px;\n}\n\n/*\n@media screen and (max-width: 400px) {\n .topnav h1 {\n font-size: 16px;\n }\n}\n*/\n\n@media screen and (max-width: 980px) {\n /*\n .hero h1 {\n font-size: 2.5rem;\n }\n */\n .nav-links {\n display: none;\n }\n .topnav {\n justify-content: flex-start;\n align-items: start;\n }\n}","/* In sections */","\n#formFilters {\n padding: 0.5vh 1vw;\n margin-top: 1vh;\n}\n\ntable.table-main {\n overflow-x: auto;\n padding: 1vh 1vw;\n max-width: 88vw; /* min(calc(1vh * 80), calc(1vw * 90)); */\n width: min-content;\n align-items: normal;\n justify-content: normal;\n}\n\ntable.table-main * {\n padding: 0.25vh 0.5vh;\n}\n\ntable.table-main thead {\n max-height: 4vh;\n overflow-y: visible;\n background-color: var(--colour-text-background);\n}\n\ntable.table-main tbody {\n max-height: 75vh;\n overflow-y: auto;\n min-width: fit-content;\n max-width: fit-content;\n overflow-x: visible;\n}\ntable.table-main tbody.is_collapsed {\n display: block;\n}\ntable.table-main:has(tbody > div) tbody {\n}\ntable.table-main tbody > div {\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n justify-content: center;\n justify-items: center;\n justify-self: center;\n align-content: center;\n align-items: center;\n align-self: center;\n position: relative;\n display: block;\n width: 100%; /* min(calc(90vh), calc(70vw)); */\n}\n\ntable.table-main select, \ntable.table-main input:not([type=\"checkbox\"]), \ntable.table-main textarea, \ntable.table-main div {\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n border: 1px solid var(--colour-accent);\n border-radius: 0.5vh;\n text-align: center;\n background-color: var(--colour-text-background);\n font-size: 16px;\n}\n\ntable.table-main thead tr th, \ntable.table-main tbody tr td {\n max-width: 20vh;\n min-width: 20vh;\n padding: 0 0.5vh;\n}\ntable.table-main tbody tr td {\n height: 3vh;\n /* padding-top: 0.5vh; */\n}\ntable.table-main thead tr th.notes, \ntable.table-main tbody tr td.notes {\n max-width: fit-content;\n}\ntable.table-main tbody tr td:has(.dirty) {\n background-color: var(--colour-primary);\n}\ntable.table-main tbody tr td:has(.dirty) table tr:not(:has(.dirty)) {\n background-color: var(--colour-text-background);\n}\ntable.table-main tbody tr:not(:last-of-type) td {\n padding-bottom: 0.25vh;\n}\ntable.table-main tbody tr td.ddl-preview div {\n cursor: pointer;\n}\ntable.table-main tbody tr td.ddl-preview div,\ntable.table-main tbody tr td.ddl-preview select {\n padding-left: 2vh;\n padding-right: 2vh;\n}\ntable.table-main thead tr th.active, \ntable.table-main tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main thead tr th.active svg.active.add {\n fill: var(--colour-primary);\n background-color: var(--colour-accent);\n border: 2px solid var(--colour-accent);\n padding: 0;\n border-radius: 1vh;\n}\ntable.table-main tbody tr td.active svg.active.add {\n fill: var(--colour-primary);\n}\ntable.table-main tbody tr td.active svg.active.delete {\n fill: var(--colour-error);\n}\ntable.table-main tbody tr td.display_order, \ntable.table-main thead tr th.display_order {\n max-width: 5vh;\n min-width: 5vh;\n}\n\n#container-template-elements {\n display: none;\n}\n\n\n@media screen and (max-width: 850px) {\n}\n@media screen and (max-width: 400px) {\n #formFilters input[type=\"text\"],\n #formFilters select {\n width: 15vh;\n /* height: 3vh; */\n }\n .topnav .container.company-name {\n margin: 0 auto;\n min-width: 40vw;\n max-width: 64vw;\n }\n .company-name {\n font-size: 1.2rem;\n }\n table.table-main {\n max-height: 61vh;\n }\n table.table-main thead {\n font-size: 0.8rem;\n }\n table.table-main tbody {\n max-height: 53vh;\n }\n}","/* Default */\n:root {\n /* Claude dark blue / grey theme */\n --colour-accent: #C77DFF;\n --colour-error: red;\n --colour-error-accent: #fc8181;\n --colour-error-highlight: #fff5f5;\n --colour-error-title: #c53030;\n --colour-page-background: #E0AAFF;\n --colour-page-background-1: #F5ECFE;\n --colour-page-background-2: #FAE0E2;\n --colour-primary: #240046;\n --colour-secondary: #3C096C;\n --colour-success: #38a169;\n --colour-success-highlight: #f0fff4;\n --colour-success-title: #16a34a;\n --colour-text: #10002B;\n --colour-text-background: white;\n --colour-text-link-unvisited: #0000EE;\n --colour-text-link-visited: #551A8B;\n}\n\n/*\n--c_purple_darker: #310055;\n--c_purple_dark: #4A0A77;\n--c_purple: #6818A5;\n--c_purple_light: #CBAFFE;\n--c_purple_lighter: #F5ECFE;\n\n--c_blue: #0044FF;\n--c_blue_pastel: #B8E0FF;\n--c_blue_light: #73E8FF;\n--c_blue_dark: #003ADB;\n/* --c_red: * /\n--c-red: #FF0000;\n--c_red_pastel: #FAE0E2;\n--c_red_lighter: #FAE0E2;\n}\n*/"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"css/main.bundle.css","mappings":";AACA;IACI,kDAAkD;IAClD,6BAA6B;IAC7B;;;;;;KAMC;IACD;;;KAGC;IACD;;;;;;;;;;;KAWC;IACD;;;;KAIC;AACL;;AAEA;IACI,aAAa;IACb,sBAAsB;AAC1B;;AAEA;IACI,+CAA+C;IAC/C,yBAAyB;IACzB,oCAAoC;IACpC,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,SAAS;IACT,8GAA8G,EAAE,qBAAqB;IACrI,aAAa;IACb;uBACmB;AACvB;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,wBAAwB;AAC5B;;AAEA;;;;;;;;;;;;;;;;;;CAkBC;;AAED;IACI,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,yBAAyB;AAC7B;AACA;IACI,kBAAkB;IAClB,wBAAwB;IACxB,2BAA2B;AAC/B;AACA;IACI,mBAAmB;IACnB,kBAAkB;AACtB;;;;AAIA,mCAAmC;AACnC;IACI,+CAA+C;IAC/C,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;AACnB;;AAEA;IACI,OAAO;IACP,SAAS;IACT,uBAAuB;IACvB,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;IACrB,4BAA4B;AAChC;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,cAAc;AAClB;;AAEA;IACI,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;AACnB;;AAEA;IACI,gBAAgB;AACpB;;;AAGA;;;;;;;;;;;;;;;;CAgBC;;AAED;IACI,gBAAgB;IAChB,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;AACtB;;AAEA;IACI,WAAW;IACX,kBAAkB;IAClB,aAAa;AACjB;;AAEA;;IAEI,sCAAsC;IACtC,gBAAgB;AACpB;;AAEA;IACI,WAAW;AACf;;;AAGA;IACI,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,YAAY;AAChB;AACA;IACI,gBAAgB;IAChB,eAAe;AACnB;;;AAGA;IACI,sCAAsC;AAC1C;AACA;IACI,mCAAmC;AACvC;;;;;AAKA;IACI;;;;;;;SAOK;AACT,C;AChOA;IACI,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,iBAAiB;IACjB,yBAAyB;IACzB,kBAAkB;AACtB;AACA;IACI,eAAe;AACnB;AACA;IACI,cAAc;IACd,UAAU;AACd;;AAEA;IACI,gCAAgC;IAChC,4BAA4B;IAC5B,uCAAuC;AAC3C;;AAEA;IACI,mCAAmC;AACvC;;AAEA;IACI,iBAAiB;IACjB,4BAA4B;AAChC;;AAEA;IACI,gCAAgC;AACpC;;AAEA;IACI,eAAe;AACnB;;;AAGA;;IAEI,WAAW;AACf,C;;;;;AC1CA;IACI,sCAAsC;AAC1C,C;;ACHA;IACI,kBAAkB;AACtB;;;ACFA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,iBAAiB;IACjB,eAAe;AACnB;AACA;IACI,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,WAAW;AACf;;;AAGA;IACI,kBAAkB;AACtB;AACA;IACI,iBAAiB;IACjB,mBAAmB;AACvB;AACA;IACI,iBAAiB;IACjB,mBAAmB;AACvB,C;;;;;AChCA,kBAAkB;AAClB;IACI;;KAEC;IACD,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,yCAAyC;IACzC,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;AAChB;AACA;IACI,aAAa;AACjB;;AAEA,2BAA2B;AAC3B;IACI,eAAe;IACf,eAAe;IACf,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,WAAW;IACX,UAAU;AACd;AACA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,uCAAuC;IACvC,mBAAmB;AACvB;AACA;IACI,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,qBAAqB;AACzB;AACA;;;;;CAKC;AACD;IACI,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,sCAAsC;IACtC,sCAAsC;IACtC,qBAAqB;IACrB,YAAY;IACZ,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,4BAA4B;IAC5B,6BAA6B;AACjC;AACA;IACI,+BAA+B;IAC/B,gCAAgC;AACpC;;AAEA;IACI,+CAA+C;IAC/C,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,WAAW;IACX,+BAA+B;IAC/B,iBAAiB;IACjB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,oCAAoC;IACpC,uCAAuC;AAC3C;AACA;IACI,WAAW;IACX;;;KAGC;AACL;AACA;IACI,kBAAkB;IAClB,qBAAqB;AACzB;;AAEA;IACI;QACI,eAAe;QACf,eAAe;QACf,gBAAgB;QAChB,gBAAgB;IACpB;IACA;QACI,eAAe;QACf,eAAe;QACf,cAAc;QACd,cAAc;IAClB;IACA;QACI,gBAAgB;IACpB;AACJ;;AAEA,oBAAoB;AACpB;IACI,kBAAkB;IAClB,UAAU;IACV,WAAW;IACX,YAAY;AAChB;;AAEA;IACI,iBAAiB;IACjB,kBAAkB;AACtB;;AAEA;IACI,mBAAmB;AACvB;AACA;IACI,kBAAkB;AACtB;;;;;AC7IA;IACI,sBAAsB;AAC1B;;AAEA;IACI,2BAA2B;IAC3B,8BAA8B;AAClC;;AAEA;IACI,6BAA6B;AACjC;AACA;IACI,mCAAmC;AACvC;;AAEA;IACI,sBAAsB;AAC1B;AACA;IACI,8CAA8C;AAClD;AACA;IACI,uBAAuB;AAC3B;AACA;IACI,8BAA8B;AAClC;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,6BAA6B;AACjC;;AAEA;IACI,eAAe;IACf,wBAAwB;IACxB,qBAAqB;IACrB,kCAAkC;IAClC,6BAA6B;AACjC;;AAEA;IACI,cAAc;IACd,kBAAkB;AACtB;;AAEA;IACI,+CAA+C;AACnD;;AAEA;IACI,qCAAqC;AACzC;;AAEA;IACI,qBAAqB;AACzB,C;;;ACzDA,eAAe;AACf;IACI,aAAa;IACb,eAAe;IACf,OAAO;IACP,mBAAmB;IACnB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,WAAW;IACX,uBAAuB;IACvB,yCAAyC;IACzC,qCAAqC;IACrC,uBAAuB,EAAE,kBAAkB;IAC3C,mBAAmB;AACvB;AACA;;;;IAII,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,WAAW;IACX,eAAe;IACf,uBAAuB;AAC3B;AACA;IACI,sCAAsC;AAC1C;AACA;IACI,+CAA+C;IAC/C;AACJ;AACA;IACI,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;AACjB;AACA;IACI,eAAe;AACnB;AACA;IACI,qBAAqB;IACrB,eAAe;IACf,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,kBAAkB;AACtB;AACA;IACI,eAAe;IACf,eAAe;IACf,kBAAkB;AACtB;AACA;IACI,iBAAiB;AACrB;AACA;IACI,aAAa;IACb,aAAa;IACb,aAAa;IACb,eAAe;IACf,qCAAqC;IACrC,mBAAmB;IACnB,mBAAmB;AACvB;AACA;IACI,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;AACxB;AACA;IACI,oCAAoC;IACpC,cAAc;IACd,iBAAiB;AACrB;;;AAGA,iBAAiB;AACjB;IACI,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;;AAEtB;AACA;IACI,eAAe;AACnB;;AAEA;AACA;AACA;IACI,sBAAsB;IACtB,gBAAgB;AACpB;AACA;IACI,sCAAsC;AAC1C;;AAEA;IACI,WAAW;IACX,eAAe;IACf,YAAY;AAChB;AACA;;;;;;;CAOC;;AAED;IACI,UAAU;AACd;AACA;IACI,aAAa;AACjB;AACA;IACI,YAAY;IACZ,mCAAmC;IACnC,sCAAsC;IACtC;2BACuB;IACvB,WAAW;AACf;AACA;IACI,0BAA0B;IAC1B,+CAA+C;AACnD;AACA;IACI,WAAW;AACf;;AAEA;;;;;;;;;;;;;;CAcC;;AAED;IACI,aAAa;IACb,gBAAgB;AACpB;AACA;IACI,aAAa;IACb,kBAAkB;AACtB;;AAEA;;;;;;CAMC;;AAED;IACI;;;;KAIC;IACD;QACI,aAAa;IACjB;IACA;QACI,2BAA2B;QAC3B,kBAAkB;IACtB;AACJ,C;AChMA,gBAAgB,C;;ACChB;IACI,kBAAkB;IAClB,eAAe;AACnB;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,eAAe,EAAE,yCAAyC;IAC1D,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;AAC3B;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,eAAe;IACf,mBAAmB;IACnB,+CAA+C;AACnD;;AAEA;IACI,gBAAgB;IAChB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;AACvB;AACA;IACI,cAAc;AAClB;AACA;AACA;AACA;IACI,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;IACvB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,WAAW,EAAE,iCAAiC;AAClD;;AAEA;;;;IAII,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,YAAY;IACZ,sCAAsC;IACtC,oBAAoB;IACpB,kBAAkB;IAClB,+CAA+C;IAC/C,eAAe;AACnB;;AAEA;;IAEI,eAAe;IACf,eAAe;IACf,gBAAgB;AACpB;AACA;IACI,WAAW;IACX,wBAAwB;AAC5B;AACA;;IAEI,sBAAsB;AAC1B;AACA;IACI,uCAAuC;AAC3C;AACA;IACI,+CAA+C;AACnD;AACA;IACI,sBAAsB;AAC1B;AACA;IACI,eAAe;AACnB;AACA;;IAEI,iBAAiB;IACjB,kBAAkB;AACtB;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;AACA;IACI,2BAA2B;IAC3B,sCAAsC;IACtC,sCAAsC;IACtC,UAAU;IACV,kBAAkB;AACtB;AACA;IACI,2BAA2B;AAC/B;AACA;IACI,yBAAyB;AAC7B;AACA;;IAEI,cAAc;IACd,cAAc;AAClB;;AAEA;IACI,aAAa;AACjB;;;AAGA;AACA;AACA;IACI;;QAEI,WAAW;QACX,iBAAiB;IACrB;IACA;QACI,cAAc;QACd,eAAe;QACf,eAAe;IACnB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;IACA;QACI,iBAAiB;IACrB;IACA;QACI,gBAAgB;IACpB;AACJ,C;;;;;ACxJA,YAAY;AACZ;IACI,kCAAkC;IAClC,wBAAwB;IACxB,mBAAmB;IACnB,8BAA8B;IAC9B,iCAAiC;IACjC,6BAA6B;IAC7B,iCAAiC;IACjC,mCAAmC;IACnC,mCAAmC;IACnC,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,mCAAmC;IACnC,+BAA+B;IAC/B,sBAAsB;IACtB,+BAA+B;IAC/B,qCAAqC;IACrC,mCAAmC;AACvC;;AAEA;;;;;;;;;;;;;;;;CAgBC,C","sources":["webpack://app/./static/css/main.css","webpack://app/./static/css/components/button.css","webpack://app/./static/css/components/form.css","webpack://app/./static/css/components/image.css","webpack://app/./static/css/components/label.css","webpack://app/./static/css/components/overlay.css","webpack://app/./static/css/components/table.css","webpack://app/./static/css/layouts/header.css","webpack://app/./static/css/layouts/footer.css","webpack://app/./static/css/layouts/table-main.css","webpack://app/./static/css/themes/light.css"],"sourcesContent":["\n:root {\n --font-family-base: 'Open Sans', Arial, sans-serif;\n /* Declare global variables */\n /*\n --c_purple: #5B29FF;\n --c_purple_pastel: #D1D1FF;\n --c_purple_lighter: #E8E1FF;\n --c_purple_light: #C6BDFF;\n --c_purple_dark: #4700B3;\n */\n /* purple theme\n - light https://coolors.co/palette/a172fd-a77afe-ac82fe-b691fe-c1a0fe-cbaffe-d6bffe-e0cefe-ebddfe-f5ecfe\n - dark https://coolors.co/palette/310055-3c0663-4a0a77-5a108f-6818a5-8b2fc9-ab51e3-bd68ee-d283ff-dc97ff\n */\n /*\n --c_purple_darker: #310055;\n --c_purple_dark: #4A0A77;\n --c_purple: #6818A5;\n --c_purple_light: #CBAFFE;\n --c_purple_lighter: #F5ECFE;\n\n --c_blue: #0044FF;\n --c_blue_pastel: #B8E0FF;\n --c_blue_light: #73E8FF;\n --c_blue_dark: #003ADB;\n */\n /* --c_red: * /\n --c-red: #FF0000;\n --c_red_pastel: #FAE0E2;\n --c_red_lighter: #FAE0E2;\n */\n}\n\nhtml {\n height: 100vh;\n /* overflow-y: clip; */\n}\n\nbody {\n background-color: var(--colour-page-background);\n color: var(--colour-text);\n font-family: var(--font-family-base);\n font-family: Arial;\n padding: 0;\n margin: 0;\n border: 0;\n background: linear-gradient(to bottom right, var(--colour-page-background-1), var(--colour-page-background-2)); /* var(--c_purple); */\n height: 100vh;\n /* max-height: 100vh;\n overflow-y: clip; */\n}\n\n* {\n margin: 0;\n}\n\nscript, link {\n display: none !important;\n}\n\n/*\n#pageBody {\n / * height: 69vh !important; * /\n max-height: 79vh;\n padding: 0 5vw;\n margin: 0;\n border: 0;\n align-content: center;\n justify-content: flex-start;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n position: absolute;\n width: 90vw;\n color: var(--colour-text);\n}\n*/\n\n.page-body > * {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n align-self: center;\n font-size: 1rem;\n color: var(--colour-text);\n}\n#pageBody > * > * {\n align-self: center;\n padding-top: 0.5vh 0.5vw;\n padding-bottom: 0.5vh 0.5vw;\n}\n#pageBody > .card {\n height: fit-content;\n margin: 0.5vh auto;\n}\n\n\n\n/* Add a card effect for articles */\n.card {\n background-color: var(--colour-text-background);\n padding: 1vh 2.5vw;\n margin: 1vh 1vw;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n border-radius: 1.5vh;\n position: relative;\n height: fit-content;\n max-width: 80vw;\n}\n\n.container {\n flex: 1;\n margin: 0;\n align-items: flex-start;\n justify-content: flex-start;\n text-align: flex-start;\n /* max-width: 100%; */\n /* min-width: fit-content; */\n}\n\n.column {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: auto 0;\n}\n\n.row {\n display: flex; \n flex-direction: row;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.container > .card:first-of-type {\n margin-top: none;\n}\n\n\n/*\n/* Responsive layout - when the screen is less than 800px wide, make the two columns stack on top of each other instead of next to each other *\n@media screen and (max-width: 800px) {\n .leftcolumn, .rightcolumn { \n width: 100%;\n /* padding: 0; *\n }\n}\n\n/* Responsive layout - when the screen is less than 400px wide, make the navigation links stack on top of each other instead of next to each other *\n@media screen and (max-width: 400px) {\n .topnav a {\n float: none;\n width: 100%;\n }\n}\n*/\n\n.container-input {\n padding: 1vh 1vw;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.container-input > label {\n width: 100%;\n margin-bottom: 1vh;\n margin-top: 0;\n}\n\n.container-input > input,\n.container-input > textarea {\n border: 2px solid var(--colour-accent);\n padding: 1vh 1vw;\n}\n\n.label-title {\n width: 100%;\n}\n\n\nul {\n max-width: 90%;\n padding: 5px 0 10px 0;\n width: fit-content;\n margin: auto;\n}\nli {\n text-align: left;\n font-size: 18px;\n}\n\n\n:not(input,textarea,select,button).dirty {\n background-color: var(--colour-accent);\n}\ninput.dirty, textarea.dirty, select.dirty {\n border-color: var(--colour-primary);\n}\n\n\n\n\n@media screen and (max-width: 400px) {\n /*\n img.logo {\n border-radius: 3vh;\n }\n .company-name {\n font-size: 14px;\n }\n */\n}",".button {\n display: inline-block;\n padding: 0.5vh 0.75vh;\n border-radius: 0.75vh;\n text-decoration: none;\n font-weight: bold;\n transition: all 0.3s ease;\n width: fit-content;\n}\n.button:not(.is_collapsed) {\n cursor: pointer;\n}\n.button.is_collapsed {\n display: block;\n opacity: 0;\n}\n\n.button-primary {\n background: var(--colour-accent);\n color: var(--colour-primary);\n border: 2px solid var(--colour-primary);\n}\n\n.button-primary:hover {\n background: var(--colour-secondary);\n}\n\n.button-light {\n background: white;\n color: var(--colour-primary);\n}\n\n.button-light:hover {\n background: var(--colour-accent);\n}\n\n.logo:hover{\n cursor: pointer;\n}\n\n\n.button.icon.active.delete, \n.button.icon.active.add {\n height: 2vh;\n}","\n\nselect {\n border: 1px solid var(--colour-accent);\n}","\nimg, video {\n border-radius: 3vh;\n}\n","\nh1 {\n font-size: 2.5rem;\n}\nh2 {\n font-size: 1.8rem;\n}\nh3 {\n font-size: 1.2rem;\n margin-top: 1vh;\n}\nh4 {\n font-size: 13px;\n margin: 1vh;\n text-align: center;\n margin-left: auto;\n margin-right: auto;\n}\nh5 {\n font-size: 11px;\n margin: 1vh;\n}\n\n\n.text-center {\n text-align: center;\n}\n.section-title {\n font-size: 1.8rem;\n margin-bottom: 1rem;\n}\n.section-subtitle {\n font-size: 1.2rem;\n margin-bottom: 2rem;\n}","\n\n/* Overlay modal */\n.overlay {\n /*\n display: none;\n */\n position: fixed;\n width: 100px;\n /* height: 50%; */ \n background: var(--colour-page-background);\n justify-content: right;\n align-items: right;\n align-self: right;\n z-index: 999;\n}\n.is_collapsed {\n display: none;\n}\n\n/* Hamburger menu overlay */\n#buttonHamburger {\n cursor: pointer;\n position: fixed;\n right: 1vh;\n min-height: 3.5vh;\n max-height: 3.5vh;\n min-width: 4vh;\n max-width: 4vh;\n z-index: 10;\n padding: 0;\n}\n#buttonHamburger.expanded {\n min-width: 100px;\n max-width: 100px;\n min-height: 5vh;\n max-height: 5vh;\n padding-left: calc(100 * 1px - 5 * 1vh);\n padding-bottom: 1vh;\n}\n#buttonHamburger .icon.hamburger {\n min-height: 2.5vh;\n max-height: 2.5vh;\n min-width: 2.5vh;\n max-width: 2.5vh;\n padding: 0.5vh 0.75vh;\n}\n/*\n#buttonHamburger:hover {\n text-decoration: none;\n cursor: pointer;\n}\n*/\n#overlayHamburger {\n top: 7vh;\n right: 1vh;\n overflow-x: hidden;\n overflow-y: auto;\n max-height: 60vh;\n background-color: var(--colour-accent);\n border: 2px solid var(--border-colour);\n border-radius: 0.75vh;\n width: 100px;\n z-index: 2;\n padding-top: 3.5vh;\n}\n#overlayHamburger:first-child {\n border-top-left-radius: 12px;\n border-top-right-radius: 12px;\n}\n#overlayHamburger:last-child {\n border-bottom-left-radius: 12px;\n border-bottom-right-radius: 12px;\n}\n\n#overlayHamburger .container {\n background-color: var(--colour-page-background);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n width: 100%;\n /* color: var(--colour-text); */\n font-weight: bold;\n font-size: 15px;\n /* height: 18px; */\n cursor: pointer;\n padding-top: 5vh;\n}\n#overlayHamburger > :hover {\n color: var(--colour-page-background);\n background-color: var(--colour-primary);\n}\n#overlayHamburger .container a {\n width: 100%;\n /*\n margin-top: 4.5px;\n margin-bottom: 4.5px;\n */\n}\n#overlayHamburger > .container {\n padding-top: 4.5px;\n padding-bottom: 4.5px;\n}\n\n@media screen and (max-width: 400px) {\n #buttonHamburger {\n min-height: 5vh;\n max-height: 5vh;\n min-width: 5.5vh;\n max-width: 5.5vh;\n }\n #buttonHamburger .icon.hamburger {\n min-height: 4vh;\n max-height: 4vh;\n min-width: 4vh;\n max-width: 4vh;\n }\n #overlayHamburger {\n padding-top: 5vh;\n }\n}\n\n/* Confirm overlay */\n#overlayConfirm {\n position: absolute;\n left: 25vw;\n width: 50vw;\n height: 50vh;\n}\n\n#overlayConfirm .row > * {\n margin-left: auto;\n margin-right: auto;\n}\n\n#overlayConfirm .row .button.button-cancel {\n margin-right: 0.5vh;\n}\n#overlayConfirm .row .button.submit {\n margin-left: 0.5vh;\n}\n\n\n","\n#formFilters .container {\n max-width: fit-content;\n}\n\nthead, tbody {\n padding-top: 0px !important;\n padding-bottom: 0px !important;\n}\n\nth {\n background-color: transparent;\n}\ntd {\n font-size: min(16px, calc(1vh * 3));\n}\n\nth, td {\n min-width: fit-content;\n}\ntr:not(:last-child) > td {\n border-bottom: 1px dashed var(--border-colour);\n}\ntd > table > tbody > tr > td {\n border: none !important;\n}\nth.is_collapsed, td.is_collapsed {\n display: table-cell !important;\n}\ntd.dirty {\n background-color: var(--colour-primary);\n}\ntd:not(.dirty) {\n background-color: transparent;\n}\n\ntr {\n min-height: 1px;\n border-bottom: 1px solid;\n border-top: 1px solid;\n border-color: var(--border-colour);\n background-color: transparent;\n}\n\ntable button {\n margin: 0.25vh;\n padding: 0.5vh 1vh;\n}\n\ntable button.active {\n background-color: var(--colour-page-background);\n}\n\ntr.delete, tr.delete > td {\n background-color: var(--colour-error);\n}\n\ntable div {\n align-content: center;\n}","\n\n/* Navigation */\n.topnav {\n display: flex;\n flex-wrap: wrap;\n flex: 1;\n flex-direction: row;\n font-weight: bold;\n font-size: 1vh;\n max-height: 7vh;\n height: 7vh;\n align-items: flex-start;\n background: var(--colour-text-background);\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n justify-content: center; /* space-between */\n align-items: center;\n}\n.topnav a,\n.topnav label,\n.topnav p,\n.topnav h1 {\n float: left;\n display: flex;\n text-align: center;\n text-decoration: none;\n width: 100%;\n max-height: 7vh;\n justify-content: center;\n}\n.topnav h1 {\n color: var(--colour-text-link-visited);\n}\n.topnav a:hover {\n background-color: var(--colour-page-background);\n color: var(--colour-text)\n}\n.topnav > .container {\n width: 10vh;\n height: 100%;\n align-items: center;\n align-self: center;\n display: flex;\n}\n.topnav .container.logo {\n cursor: pointer;\n}\n.topnav .container .logo {\n /* min-width: 35vh; */\n max-width: 35vw;\n /* min-height: 6vh; */\n max-height: 6vh;\n margin: 0.5vh;\n margin-right: auto;\n}\n.topnav .container.company-name {\n min-width: 30vw;\n max-width: 30vw;\n margin-right: 35vw;\n}\n.company-name {\n font-size: 1.6rem;\n}\n.nav-links {\n display: flex;\n gap: 1vh 2rem;\n display: flex;\n flex-wrap: wrap;\n max-width: calc(1vw * 100 - 1vh * 35);\n align-items: center;\n margin: 0.5vh 0.5vw;\n}\n.nav-links a {\n text-decoration: none;\n color: var(--text);\n font-weight: normal;\n align-content: center;\n font-size: 1.2rem;\n width: fit-content;\n padding: 0.5vh 0.5vw;\n border-radius: 0.5vh;\n}\n.nav-links a.button {\n color: var(--colour-text-background);\n margin: 0 auto;\n font-weight: bold;\n}\n\n\n/* Page Filters */\n#formFilters {\n width: fit-content;\n margin-left: auto;\n margin-right: auto;\n \n}\n#formFilters * {\n font-size: 1rem;\n}\n\n#formFilters .container {\n}\n#formFilters .container-input {\n max-width: fit-content;\n padding: 0 0.5vh;\n}\n#formFilters .container-input:has(.dirty) {\n background-color: var(--colour-accent);\n} \n\n#formFilters .container-input input {\n width: 10vh;\n max-width: 10vh;\n height: 20px;\n}\n/*\n#formFilters .container-input input {\n height: 1.7vh;\n}\n#formFilters .container-input select {\n height: 2vh;\n}\n*/\n\n#formFilters .container-input.filter.active_only {\n width: 8vh;\n}\n#formFilters .container-input.filter.active_only input {\n display: none;\n}\n#formFilters .container-input.filter.active_only svg.active_only {\n height: 25px;\n fill: var(--colour-text-background);\n background-color: var(--colour-accent);\n /* border: 1px solid var(--colour-accent);\n border-radius: 0.5vh; */\n width: 25px;\n}\n#formFilters .container-input.filter.active_only svg.active_only.is_checked {\n fill: var(--colour-accent);\n background-color: var(--colour-text-background);\n}\n#formFilters .container-input.filter.is_not_empty {\n width: 12vh;\n}\n\n/*\n#formFilters button {\n padding: 0.5vh 0.75vh;\n background-color: var(--colour-accent);\n color: var(--colour-primary);\n font-weight: bold;\n border-radius: 0.75vh;\n border: 2px solid var(--colour-primary);\n}\n\n#formFilters button.is_collapsed {\n display: block;\n opacity: 0;\n}\n*/\n\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 0;\n}\nform.filter button.save, form.filter button.button-cancel {\n margin-top: 0;\n margin-bottom: 1px;\n}\n\n/*\n@media screen and (max-width: 400px) {\n .topnav h1 {\n font-size: 16px;\n }\n}\n*/\n\n@media screen and (max-width: 980px) {\n /*\n .hero h1 {\n font-size: 2.5rem;\n }\n */\n .nav-links {\n display: none;\n }\n .topnav {\n justify-content: flex-start;\n align-items: start;\n }\n}","/* In sections */","\n#formFilters {\n padding: 0.5vh 1vw;\n margin-top: 1vh;\n}\n\ntable.table-main {\n overflow-x: auto;\n padding: 1vh 1vw;\n max-width: 88vw; /* min(calc(1vh * 80), calc(1vw * 90)); */\n width: min-content;\n align-items: normal;\n justify-content: normal;\n}\n\ntable.table-main * {\n padding: 0.25vh 0.5vh;\n}\n\ntable.table-main thead {\n max-height: 4vh;\n overflow-y: visible;\n background-color: var(--colour-text-background);\n}\n\ntable.table-main tbody {\n max-height: 75vh;\n overflow-y: auto;\n min-width: fit-content;\n max-width: fit-content;\n overflow-x: visible;\n}\ntable.table-main tbody.is_collapsed {\n display: block;\n}\ntable.table-main:has(tbody > div) tbody {\n}\ntable.table-main tbody > div {\n margin-left: auto;\n margin-right: auto;\n text-align: center;\n justify-content: center;\n justify-items: center;\n justify-self: center;\n align-content: center;\n align-items: center;\n align-self: center;\n position: relative;\n display: block;\n width: 100%; /* min(calc(90vh), calc(70vw)); */\n}\n\ntable.table-main select, \ntable.table-main input:not([type=\"checkbox\"]), \ntable.table-main textarea, \ntable.table-main div {\n box-sizing: border-box;\n width: 100%;\n max-width: 100%;\n height: 100%;\n border: 1px solid var(--colour-accent);\n border-radius: 0.5vh;\n text-align: center;\n background-color: var(--colour-text-background);\n font-size: 16px;\n}\n\ntable.table-main thead tr th, \ntable.table-main tbody tr td {\n max-width: 20vh;\n min-width: 20vh;\n padding: 0 0.5vh;\n}\ntable.table-main tbody tr td {\n height: 3vh;\n /* padding-top: 0.5vh; */\n}\ntable.table-main thead tr th.notes, \ntable.table-main tbody tr td.notes {\n max-width: fit-content;\n}\ntable.table-main tbody tr td:has(.dirty) {\n background-color: var(--colour-primary);\n}\ntable.table-main tbody tr td:has(.dirty) table tr:not(:has(.dirty)) {\n background-color: var(--colour-text-background);\n}\ntable.table-main tbody tr:not(:last-of-type) td {\n padding-bottom: 0.25vh;\n}\ntable.table-main tbody tr td.ddl-preview div {\n cursor: pointer;\n}\ntable.table-main tbody tr td.ddl-preview div,\ntable.table-main tbody tr td.ddl-preview select {\n padding-left: 2vh;\n padding-right: 2vh;\n}\ntable.table-main thead tr th.active, \ntable.table-main tbody tr td.active {\n max-width: 6vh;\n min-width: 6vh;\n}\ntable.table-main thead tr th.active svg.active.add {\n fill: var(--colour-primary);\n background-color: var(--colour-accent);\n border: 2px solid var(--colour-accent);\n padding: 0;\n border-radius: 1vh;\n}\ntable.table-main tbody tr td.active svg.active.add {\n fill: var(--colour-primary);\n}\ntable.table-main tbody tr td.active svg.active.delete {\n fill: var(--colour-error);\n}\ntable.table-main tbody tr td.display_order, \ntable.table-main thead tr th.display_order {\n max-width: 5vh;\n min-width: 5vh;\n}\n\n#container-template-elements {\n display: none;\n}\n\n\n@media screen and (max-width: 850px) {\n}\n@media screen and (max-width: 400px) {\n #formFilters input[type=\"text\"],\n #formFilters select {\n width: 15vh;\n /* height: 3vh; */\n }\n .topnav .container.company-name {\n margin: 0 auto;\n min-width: 40vw;\n max-width: 64vw;\n }\n .company-name {\n font-size: 1.2rem;\n }\n table.table-main {\n max-height: 61vh;\n }\n table.table-main thead {\n font-size: 0.8rem;\n }\n table.table-main tbody {\n max-height: 53vh;\n }\n}","/* Default */\n:root {\n /* Claude dark blue / grey theme */\n --colour-accent: #C77DFF;\n --colour-error: red;\n --colour-error-accent: #fc8181;\n --colour-error-highlight: #fff5f5;\n --colour-error-title: #c53030;\n --colour-page-background: #E0AAFF;\n --colour-page-background-1: #F5ECFE;\n --colour-page-background-2: #FAE0E2;\n --colour-primary: #240046;\n --colour-secondary: #3C096C;\n --colour-success: #38a169;\n --colour-success-highlight: #f0fff4;\n --colour-success-title: #16a34a;\n --colour-text: #10002B;\n --colour-text-background: white;\n --colour-text-link-unvisited: #0000EE;\n --colour-text-link-visited: #551A8B;\n}\n\n/*\n--c_purple_darker: #310055;\n--c_purple_dark: #4A0A77;\n--c_purple: #6818A5;\n--c_purple_light: #CBAFFE;\n--c_purple_lighter: #F5ECFE;\n\n--c_blue: #0044FF;\n--c_blue_pastel: #B8E0FF;\n--c_blue_light: #73E8FF;\n--c_blue_dark: #003ADB;\n/* --c_red: * /\n--c-red: #FF0000;\n--c_red_pastel: #FAE0E2;\n--c_red_lighter: #FAE0E2;\n}\n*/"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/js/core_apply_founding_partner.bundle.js b/static/dist/js/core_apply_founding_partner.bundle.js new file mode 100644 index 0000000..81ccaf0 --- /dev/null +++ b/static/dist/js/core_apply_founding_partner.bundle.js @@ -0,0 +1,23 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules. +(() => { +// extracted by mini-css-extract-plugin + +})(); + +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules. +(() => { +// extracted by mini-css-extract-plugin + +})(); + +// This entry needs to be wrapped in an IIFE because it needs to be isolated against other entry modules. +(() => { +// extracted by mini-css-extract-plugin + +})(); + +/******/ })() +; +//# sourceMappingURL=core_apply_founding_partner.bundle.js.map \ No newline at end of file diff --git a/static/dist/js/core_apply_founding_partner.bundle.js.map b/static/dist/js/core_apply_founding_partner.bundle.js.map new file mode 100644 index 0000000..ef45bc1 --- /dev/null +++ b/static/dist/js/core_apply_founding_partner.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/core_apply_founding_partner.bundle.js","mappings":";;;;AAAA;;;;;;ACAA;;;;;;ACAA","sources":["webpack://app/./static/css/sections/core.css?6d04","webpack://app/./static/css/pages/core/contact.css?164a","webpack://app/./static/css/pages/core/apply_founding_partner.css?026e"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/dist/js/main.bundle.js b/static/dist/js/main.bundle.js index 9b4cf3d..2751692 100644 --- a/static/dist/js/main.bundle.js +++ b/static/dist/js/main.bundle.js @@ -4925,6 +4925,82 @@ var PageContactSuccess = /*#__PURE__*/function (_BasePage) { }(BasePage); contact_success_defineProperty(PageContactSuccess, "hash", hashPageContactSuccess); +;// ./static/js/pages/core/apply-founding-partner.js +function apply_founding_partner_typeof(o) { "@babel/helpers - typeof"; return apply_founding_partner_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, apply_founding_partner_typeof(o); } +function apply_founding_partner_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function apply_founding_partner_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, apply_founding_partner_toPropertyKey(o.key), o); } } +function apply_founding_partner_createClass(e, r, t) { return r && apply_founding_partner_defineProperties(e.prototype, r), t && apply_founding_partner_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function apply_founding_partner_callSuper(t, o, e) { return o = apply_founding_partner_getPrototypeOf(o), apply_founding_partner_possibleConstructorReturn(t, apply_founding_partner_isNativeReflectConstruct() ? Reflect.construct(o, e || [], apply_founding_partner_getPrototypeOf(t).constructor) : o.apply(t, e)); } +function apply_founding_partner_possibleConstructorReturn(t, e) { if (e && ("object" == apply_founding_partner_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return apply_founding_partner_assertThisInitialized(t); } +function apply_founding_partner_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function apply_founding_partner_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (apply_founding_partner_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function apply_founding_partner_getPrototypeOf(t) { return apply_founding_partner_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, apply_founding_partner_getPrototypeOf(t); } +function apply_founding_partner_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && apply_founding_partner_setPrototypeOf(t, e); } +function apply_founding_partner_setPrototypeOf(t, e) { return apply_founding_partner_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, apply_founding_partner_setPrototypeOf(t, e); } +function apply_founding_partner_defineProperty(e, r, t) { return (r = apply_founding_partner_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function apply_founding_partner_toPropertyKey(t) { var i = apply_founding_partner_toPrimitive(t, "string"); return "symbol" == apply_founding_partner_typeof(i) ? i : i + ""; } +function apply_founding_partner_toPrimitive(t, r) { if ("object" != apply_founding_partner_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != apply_founding_partner_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +// internal + +// vendor + +var PageApplyFoundingPartner = /*#__PURE__*/function (_BasePage) { + function PageApplyFoundingPartner(router) { + apply_founding_partner_classCallCheck(this, PageApplyFoundingPartner); + return apply_founding_partner_callSuper(this, PageApplyFoundingPartner, [router]); + } + apply_founding_partner_inherits(PageApplyFoundingPartner, _BasePage); + return apply_founding_partner_createClass(PageApplyFoundingPartner, [{ + key: "initialize", + value: function initialize() { + this.sharedInitialize(); + this.hookupButtonSubmitFormApplyFoundingPartnerUs(); + } + }, { + key: "hookupButtonSubmitFormApplyFoundingPartnerUs", + value: function hookupButtonSubmitFormApplyFoundingPartnerUs() { + var button = document.querySelector('form input[type="submit"]'); + button.classList.add(flagButton); + button.classList.add(flagButtonPrimary); + } + }]); +}(BasePage); +apply_founding_partner_defineProperty(PageApplyFoundingPartner, "hash", hashPageApplyFoundingPartner); + +;// ./static/js/pages/core/apply-founding-partner-success.js +function apply_founding_partner_success_typeof(o) { "@babel/helpers - typeof"; return apply_founding_partner_success_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, apply_founding_partner_success_typeof(o); } +function apply_founding_partner_success_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } +function apply_founding_partner_success_defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, apply_founding_partner_success_toPropertyKey(o.key), o); } } +function apply_founding_partner_success_createClass(e, r, t) { return r && apply_founding_partner_success_defineProperties(e.prototype, r), t && apply_founding_partner_success_defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } +function apply_founding_partner_success_callSuper(t, o, e) { return o = apply_founding_partner_success_getPrototypeOf(o), apply_founding_partner_success_possibleConstructorReturn(t, apply_founding_partner_success_isNativeReflectConstruct() ? Reflect.construct(o, e || [], apply_founding_partner_success_getPrototypeOf(t).constructor) : o.apply(t, e)); } +function apply_founding_partner_success_possibleConstructorReturn(t, e) { if (e && ("object" == apply_founding_partner_success_typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return apply_founding_partner_success_assertThisInitialized(t); } +function apply_founding_partner_success_assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } +function apply_founding_partner_success_isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (apply_founding_partner_success_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } +function apply_founding_partner_success_getPrototypeOf(t) { return apply_founding_partner_success_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, apply_founding_partner_success_getPrototypeOf(t); } +function apply_founding_partner_success_inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && apply_founding_partner_success_setPrototypeOf(t, e); } +function apply_founding_partner_success_setPrototypeOf(t, e) { return apply_founding_partner_success_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, apply_founding_partner_success_setPrototypeOf(t, e); } +function apply_founding_partner_success_defineProperty(e, r, t) { return (r = apply_founding_partner_success_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } +function apply_founding_partner_success_toPropertyKey(t) { var i = apply_founding_partner_success_toPrimitive(t, "string"); return "symbol" == apply_founding_partner_success_typeof(i) ? i : i + ""; } +function apply_founding_partner_success_toPrimitive(t, r) { if ("object" != apply_founding_partner_success_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != apply_founding_partner_success_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +// internal + +// vendor + +var PageApplyFoundingPartnerSuccess = /*#__PURE__*/function (_BasePage) { + function PageApplyFoundingPartnerSuccess(router) { + apply_founding_partner_success_classCallCheck(this, PageApplyFoundingPartnerSuccess); + return apply_founding_partner_success_callSuper(this, PageApplyFoundingPartnerSuccess, [router]); + } + apply_founding_partner_success_inherits(PageApplyFoundingPartnerSuccess, _BasePage); + return apply_founding_partner_success_createClass(PageApplyFoundingPartnerSuccess, [{ + key: "initialize", + value: function initialize() { + this.sharedInitialize(); + } + }]); +}(BasePage); +apply_founding_partner_success_defineProperty(PageApplyFoundingPartnerSuccess, "hash", hashPageApplyFoundingPartnerSuccess); + ;// ./static/js/pages/dog/home.js function dog_home_typeof(o) { "@babel/helpers - typeof"; return dog_home_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, dog_home_typeof(o); } function dog_home_classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } @@ -8315,6 +8391,8 @@ function router_toPrimitive(t, r) { if ("object" != router_typeof(t) || !t) retu + + // Dog @@ -8360,6 +8438,14 @@ var Router = /*#__PURE__*/function () { name: 'PageContactSuccess', module: PageContactSuccess }; + this.pages[hashPageApplyFoundingPartner] = { + name: 'PageApplyFoundingPartner', + module: PageApplyFoundingPartner + }; + this.pages[hashPageApplyFoundingPartnerSuccess] = { + name: 'PageApplyFoundingPartnerSuccess', + module: PageApplyFoundingPartnerSuccess + }; // Dog this.pages[hashPageDogHome] = { name: 'PageDogHome', @@ -8438,6 +8524,14 @@ var Router = /*#__PURE__*/function () { var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; return _this.navigateToHash(hashPageContactSuccess, isPopState); }; + this.routes[hashPageApplyFoundingPartner] = function () { + var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return _this.navigateToHash(hashPageApplyFoundingPartner, isPopState); + }; + this.routes[hashPageApplyFoundingPartnerSuccess] = function () { + var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + return _this.navigateToHash(hashPageApplyFoundingPartnerSuccess, isPopState); + }; // Dog this.routes[hashPageDogHome] = function () { var isPopState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; diff --git a/static/dist/js/main.bundle.js.map b/static/dist/js/main.bundle.js.map index 84696ff..97bd3fb 100644 --- a/static/dist/js/main.bundle.js.map +++ b/static/dist/js/main.bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"js/main.bundle.js","mappings":"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","sources":["webpack://app/./static/js/lib/validation.js","webpack://app/./static/js/dom.js","webpack://app/./static/js/lib/events.js","webpack://app/./static/js/lib/local_storage.js","webpack://app/./static/js/api.js","webpack://app/./static/js/lib/utils.js","webpack://app/./static/js/components/common/temporary/overlay_confirm.js","webpack://app/./static/js/pages/base.js","webpack://app/./static/js/pages/core/home.js","webpack://app/./static/js/vendor/altcha.js","webpack://app/./static/js/pages/core/contact.js","webpack://app/./static/js/pages/core/contact-success.js","webpack://app/./static/js/pages/dog/home.js","webpack://app/./static/js/lib/business_objects/business_objects.js","webpack://app/./static/js/components/common/temporary/overlay_error.js","webpack://app/./static/js/pages/base_table.js","webpack://app/./static/js/pages/dog/mixin.js","webpack://app/./static/js/pages/dog/mixin_table.js","webpack://app/./static/js/pages/dog/command_categories.js","webpack://app/./static/js/pages/dog/commands.js","webpack://app/./static/js/pages/dog/dog_command_links.js","webpack://app/./static/js/pages/dog/locations.js","webpack://app/./static/js/pages/dog/button_icons.js","webpack://app/./static/js/pages/dog/command_button_links.js","webpack://app/./static/js/pages/dog/assessment.js","webpack://app/./static/js/pages/dog/assessments.js","webpack://app/./static/js/pages/dog/calendar_entries.js","webpack://app/./static/js/pages/legal/accessibility_report.js","webpack://app/./static/js/pages/legal/accessibility_statement.js","webpack://app/./static/js/pages/legal/license.js","webpack://app/./static/js/pages/legal/privacy_policy.js","webpack://app/./static/js/pages/legal/retention_schedule.js","webpack://app/./static/js/router.js","webpack://app/./static/js/app.js","webpack://app/./static/css/main.css?0a91","webpack://app/./static/css/components/button.css?0e0b","webpack://app/./static/css/components/card.css","webpack://app/./static/css/components/dialog.css","webpack://app/./static/css/components/form.css?94e1","webpack://app/./static/css/components/image.css?9f9c","webpack://app/./static/css/components/label.css?b78f","webpack://app/./static/css/components/modal.css","webpack://app/./static/css/components/navigation.css","webpack://app/./static/css/components/overlay.css?6dfd","webpack://app/./static/css/components/table.css?e553","webpack://app/./static/css/layouts/header.css?da75","webpack://app/./static/css/layouts/footer.css?65e3","webpack://app/./static/css/layouts/table-main.css?8c15","webpack://app/./static/css/lib/reset.css","webpack://app/./static/css/lib/typography.css","webpack://app/./static/css/lib/utils.css","webpack://app/./static/css/lib/variables.css","webpack://app/./static/css/themes/light.css?855e"],"sourcesContent":["\nexport default class Validation {\n /*\n isNullOrWhitespace(v) {\n let txt = JSON.stringify(v).replace('/\\s\\g', '');\n return (txt == '' || 'null');\n }\n */\n\n static isEmpty(object) {\n\n let isEmpty = true;\n\n if (object !== null && object !== \"null\" && object !== undefined && object !== \"undefined\") {\n\n if (object.length == undefined) {\n isEmpty = false; // object exists but isn't a collection\n }\n else if (typeof object === \"function\") {\n isEmpty = false; // object is reference\n }\n else { // string or collection\n\n let isString = (typeof object == \"string\");\n\n if (isString) object = object.trim();\n\n if (object.length > 0) {\n\n if (isString) {\n isEmpty = false; // String greater than length 0\n }\n else {\n\n if (typeof object[0] != \"string\") {\n isEmpty = false;\n }\n else {\n for(let i = 0; i < object.length; i++) {\n if (object[i] != \"\") {\n isEmpty = false;\n break\n }\n }\n }\n }\n }\n }\n }\n\n return isEmpty;\n }\n\n static isValidNumber(value, positiveOnly) {\n return !Validation.isEmpty(value) && !isNaN(value) && (!positiveOnly || parseFloat(value) > 0);\n }\n\n static getDataContentType(params) {\n\n var data = null;\n var contentType = '';\n\n if (!Validation.isEmpty(params)) {\n\n if (typeof params === \"string\") {\n data = params;\n contentType = \"application/x-www-form-urlencoded; charset=UTF-8\";\n }\n else {\n data = JSON.stringify(params);\n contentType = \"application/json; charset=UTF-8\";\n }\n }\n\n return { Data: data, ContentType: contentType };\n }\n\n static arrayContainsItem(array, itemValue) {\n\n var hasItem = false;\n\n if (!Validation.isEmpty(array) && !Validation.isEmpty(itemValue)) {\n\n var isJQueryElementArray = array[0] instanceof jQuery;\n\n if (isJQueryElementArray) {\n\n for (let i = 0; i < array.length; i++) {\n\n if (document.querySelectorAll(array[i]).is(itemValue)) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n var isDate = array[0] instanceof Date;\n\n if (isDate) {\n \n for (let i = 0; i < array.length; i++) {\n\n if (array[i].getTime() === itemValue.getTime()) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n for (let i = 0; i < array.length; i++) {\n\n if (array[i] == itemValue) {\n hasItem = true;\n break;\n }\n }\n }\n }\n }\n\n return hasItem;\n }\n\n static dictHasKey(d, k) {\n return (k in d);\n }\n static areEqualDicts(dict1, dict2) {\n const keys1 = Object.keys(dict1);\n const keys2 = Object.keys(dict2);\n \n if (keys1.length !== keys2.length) {\n return false;\n }\n \n for (let key of keys1) {\n if (dict1[key] !== dict2[key]) {\n return false;\n }\n }\n \n return true;\n }\n\n static imageExists(url, callback) {\n\n var img = new Image();\n\n img.onload = function() { callback(true); };\n img.onerror = function() { callback(false); };\n img.src = url;\n }\n\n static toFixedOrDefault(value, decimalPlaces, defaultValue = null) {\n return Validation.isValidNumber(value) ? parseFloat(value).toFixed(decimalPlaces) : defaultValue;\n }\n}\n","\nimport Utils from \"./lib/utils.js\";\nimport Validation from \"./lib/validation.js\";\n\nexport default class DOM {\n static setElementAttributesValuesCurrentAndPrevious(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementAttributeValueCurrent(element, data) {\n element.setAttribute(attrValueCurrent, data);\n }\n static setElementAttributeValuePrevious(element, data) {\n element.setAttribute(attrValuePrevious, data);\n }\n static setElementValuesCurrentAndPrevious(element, data) {\n DOM.setElementValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementValueCurrent(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n element.checked = data;\n }\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n element.value = data;\n }\n else {\n element.textContent = data;\n }\n }\n static setElementValueCurrentIfEmpty(element, data) {\n if (Validation.isEmpty(DOM.getElementValueCurrent(element))) {\n DOM.setElementValueCurrent(element, data);\n }\n }\n static getCellFromElement(element) {\n return element.closest('td');\n }\n static getRowFromElement(element, flagRow) {\n let selector = Validation.isEmpty(flagRow) ? 'tr' : 'tr.' + flagRow;\n return element.closest(selector);\n }\n static getClosestParent(element, parentSelector) {\n let parent = element.parentElement;\n while (parent) {\n if (parent.matches(parentSelector)) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n static convertForm2JSON(elementForm) {\n let dataForm = {};\n if (Validation.isEmpty(elementForm)) {\n return dataForm;\n }\n let containersFilter = elementForm.querySelectorAll('.' + flagContainerInput + '.' + flagFilter);\n let containerFilter, labelFilter, keyFilter, filter;\n for (let indexFilter = 0; indexFilter < containersFilter.length; indexFilter++) {\n containerFilter = containersFilter[indexFilter];\n labelFilter = containerFilter.querySelector('label');\n keyFilter = labelFilter.getAttribute('for');\n filter = containerFilter.querySelector(`#${keyFilter}`);\n dataForm[keyFilter] = DOM.getElementValueCurrent(filter);\n }\n return dataForm;\n }\n static loadPageBody(contentNew) {\n let pageBody = document.querySelector(idPageBody);\n pageBody.innerHTML = contentNew;\n }\n static getHashPageCurrent() {\n const hashPageCurrent = document.body.dataset.page;\n return hashPageCurrent;\n }\n static updateAndCheckIsElementDirty(element) {\n element.setAttribute(attrValueCurrent, DOM.getElementValueCurrent(element));\n return DOM.isElementDirty(element);\n }\n static isElementDirty(element) {\n let isDirty = element.getAttribute(attrValuePrevious) != element.getAttribute(attrValueCurrent);\n DOM.handleDirtyElement(element, isDirty);\n return isDirty;\n }\n static handleDirtyElement(element, isDirty) {\n DOM.toggleElementHasClassnameFlag(element, isDirty, flagDirty);\n }\n static toggleElementHasClassnameFlag(element, elementHasFlag, flag) {\n let elementAlreadyHasFlag = element.classList.contains(flag);\n if (elementHasFlag == elementAlreadyHasFlag) return;\n if (elementHasFlag) {\n element.classList.add(flag);\n } else {\n element.classList.remove(flag);\n }\n }\n static hasDirtyChildrenContainer(container) {\n if (container == null) return false;\n return container.querySelector('.' + flagDirty) != null;\n }\n static hasDirtyChildrenNotDeletedContainer(container) {\n if (container == null || container.classList.contains(flagDelete)) return false;\n return container.querySelector('.' + flagDirty + ':not(.' + flagDelete + ', .' + flagDelete + ' *)') != null;\n }\n static getElementValueCurrent(element) {\n let returnVal = '';\n \n if (!Validation.isEmpty(element)) {\n \n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n returnVal = element.checked;\n }\n /*\n else if (element.classList.contains(flagIsDatePicker)) {\n returnVal = getDatePickerDate(element, adjust4DayLightSavings);\n }\n */\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n returnVal = element.value;\n }\n else if (element.classList.contains(flagButton) && element.classList.contains(flagActive)) { // tagName === 'BUTTON'\n returnVal = element.classList.contains(flagDelete);\n }\n else if (tagName === 'TD') {\n returnVal = DOM.getElementAttributeValueCurrent(element);\n }\n else if (tagName == 'SVG' && element.classList.contains(flagCheckbox)) {\n returnVal = (element.classList.contains(flagIsChecked))\n }\n else {\n returnVal = element.textContent;\n }\n }\n \n if (Validation.isEmpty(returnVal)) returnVal = '';\n \n return returnVal;\n }\n static getElementAttributeValueCurrent(element) {\n // debugger;\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValueCurrent);\n }\n static getElementAttributeValuePrevious(element) {\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValuePrevious);\n }\n /* base_table.handleChangeElementCellTable\n static updateAndCheckIsTableElementDirty(element) {\n let wasDirty = DOM.isElementDirty(element);\n let row = DOM.getRowFromElement(element);\n let wasDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n let isDirty = DOM.updateAndCheckIsElementDirty(element);\n let cell = DOM.getCellFromElement(element);\n Utils.consoleLogIfNotProductionEnvironment({element, row, cell, isDirty, wasDirty});\n if (isDirty != wasDirty) {\n DOM.handleDirtyElement(cell, isDirty);\n let isDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(row, isDirtyRow);\n }\n }\n }\n */\n static scrollToElement(parent, element) {\n // REQUIRED: parent has scroll-bar\n parent.scrollTop(parent.scrollTop() + (element.offset().top - parent.offset().top));\n }\n static isElementInContainer(container, element) {\n\n if (typeof jQuery === 'function') {\n if (container instanceof jQuery) container = container[0];\n if (element instanceof jQuery) element = element[0];\n }\n\n var containerBounds = container.getBoundingClientRect();\n var elementBounds = element.getBoundingClientRect();\n\n return (\n containerBounds.top <= elementBounds.top &&\n containerBounds.left <= elementBounds.left &&\n ((elementBounds.top + elementBounds.height) <= (containerBounds.top + containerBounds.height)) &&\n ((elementBounds.left + elementBounds.width) <= (containerBounds.left + containerBounds.width))\n );\n }\n static alertError(errorType, errorText) {\n alert(errorType + '\\n' + errorText);\n }\n static createOptionUnselectedProductVariation() {\n return {\n [flagProductVariationType]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariationType],\n [flagName]: 'Select Variation Type',\n [attrIdProductVariationType]: 0,\n },\n [flagProductVariation]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariation],\n [flagName]: 'Select Variation',\n [attrIdProductVariation]: 0,\n },\n };\n }\n static createOption(optionJson) {\n if (Validation.isEmpty(optionJson)) optionJson = {\n text: 'Select',\n value: 0,\n };\n let option = document.createElement('option');\n option.value = optionJson.value;\n option.textContent = optionJson.text;\n option.selected = optionJson.selected;\n return option;\n }\n\n static escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n static unescapeHtml(html) {\n const div = document.createElement('div');\n div.innerHTML = html;\n return div.textContent || div.innerText || '';\n }\n}\n","\nexport default class Events {\n static initialiseEventHandler(selectorElement, classInitialised, eventHandler) {\n document.querySelectorAll(selectorElement).forEach(function(element) {\n if (element.classList.contains(classInitialised)) return;\n eventHandler(element);\n element.classList.add(classInitialised);\n });\n }\n static hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n}","\nimport Validation from \"./validation.js\";\n\nexport default class LocalStorage {\n/*\nfunction getPageLocalStorage(pageHash) {\n\n let ls;\n try {\n ls = JSON.parse(localStorage.getItem(pageHash));\n } catch {\n\n }\n\n if (Validation.isEmpty(ls)) return {}\n\n return ls;\n}\nfunction getPageLocalStorageCurrent() {\n\n return JSON.parse(localStorage.getItem(hashPageCurrent));\n}\n\nfunction setPageLocalStorage(pageHash, newLS) {\n\n localStorage.setItem(pageHash, JSON.stringify(newLS));\n}\n\nfunction clearPageLocalStorage(pageHash) {\n localStorage.removeItem(pageHash);\n}\n\nfunction setupPageLocalStorage(pageHash) {\n\n let ls = getPageLocalStorage(pageHash);\n\n if (Validation.isEmpty(ls)) ls = {};\n\n setPageLocalStorage(pageHash, ls);\n}\n*/\n\n static getLocalStorage(key) {\n return JSON.parse(localStorage.getItem(key));\n }\n\n static setLocalStorage(key, newLS) {\n localStorage.setItem(key, JSON.stringify(newLS));\n }\n\n/*\nfunction setupPageLocalStorageNext(pageHashNext) {\n let lsOld = getPageLocalStorage(hashPageCurrent);\n hashPageCurrent = pageHashNext;\n clearPageLocalStorage(hashPageCurrent);\n setupPageLocalStorage(hashPageCurrent);\n let lsNew = getPageLocalStorage(hashPageCurrent);\n lsNew[keyBasket] = (keyBasket in lsOld) ? lsOld[keyBasket] : {'items': []};\n setPageLocalStorage(hashPageCurrent, lsNew);\n}\n*/\n}","import DOM from './dom.js';\n\nexport default class API {\n \n static getCsrfToken() {\n return document.querySelector(idCSRFToken).getAttribute('content');\n }\n \n static async request(hashEndpoint, method = 'GET', data = null, params = null) {\n const url = API.getUrlFromHash(hashEndpoint, params);\n const csrfToken = API.getCsrfToken();\n const options = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n [flagCsrfToken]: csrfToken,\n }\n };\n\n if (data && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {\n data = { \n ...data, \n [flagCsrfToken]: csrfToken,\n };\n options.body = JSON.stringify(data);\n }\n\n try {\n const response = await fetch(url, options);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error('API request failed:', error);\n throw error;\n }\n }\n \n static getUrlFromHash(hash, params = null) {\n if (hash == null) hash = hashPageHome;\n let url = API.parameteriseUrl(_pathHost + hash, params);\n return url;\n }\n static parameteriseUrl(url, params) {\n if (params) {\n url += '?' + new URLSearchParams(params).toString();\n }\n return url;\n }\n static goToUrl(url) {\n window.location.href = url;\n }\n static goToHash(hash, params = null) {\n const url = API.getUrlFromHash(hash, params);\n API.goToUrl(url);\n }\n\n // specific api calls\n /* Example:\n getUsers: () => request('/users'),\n getUserById: (id) => request(`/users/${id}`),\n createUser: (userData) => request('/users', 'POST', userData),\n updateUser: (id, userData) => request(`/users/${id}`, 'PUT', userData),\n deleteUser: (id) => request(`/users/${id}`, 'DELETE'),\n */\n static async loginUser() {\n let callback = {};\n callback[flagCallback] = DOM.getHashPageCurrent();\n return await API.request(hashPageUserLogin, 'POST', callback);\n }\n\n // dog\n // Command categories\n static async saveCommandCategories(commandCategories, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandCategory] = commandCategories;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandCategory, 'POST', dataRequest);\n }\n \n // Commands\n static async saveCommands(commands, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommand] = commands;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommand, 'POST', dataRequest);\n }\n \n // Dog Command Links\n static async saveDogCommandLinks(dogCommandLinks, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagDogCommandLink] = dogCommandLinks;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogDogCommandLink, 'POST', dataRequest);\n }\n \n // Locations\n static async saveLocations(locations, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagLocation] = locations;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogLocation, 'POST', dataRequest);\n }\n \n // Button Icons\n static async saveButtonIcons(buttonIcons, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagButtonIcon] = buttonIcons;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogButtonIcon, 'POST', dataRequest);\n }\n \n // Command Button Links\n static async saveCommandButtonLinks(links, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandButtonLink] = links;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandButtonLink, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessments(assessments, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessment, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessmentsDistractionsAndResponses(assessments, formFilters, comment) {\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = null;\n let dataRequest = {};\n dataRequest[flagFormFilters] = filtersJson;\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest);\n }\n \n}\n","// Utility functions\n/*\nfunction $(selector) {\n return document.querySelector(selector);\n}\n\nfunction $$(selector) {\n return document.querySelectorAll(selector);\n}\n*/\nexport default class Utils {\n static getListFromDict(dict) {\n let list = [];\n for (let key in dict) {\n list.push(dict[key]);\n }\n return list;\n }\n static consoleLogIfNotProductionEnvironment(message) {\n if (environment.is_production != \"true\") {\n console.log(message);\n }\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayConfirm {\n static hookup(callbackSuccess) {\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.style.visibility = 'hidden';\n });\n });\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagSubmit, flagInitialised, (buttonConfirm) => {\n buttonConfirm.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n let textarea = overlay.querySelector('textarea');\n overlay.style.visibility = 'hidden';\n callbackSuccess(textarea.value);\n });\n });\n }\n static show() {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.classList.remove(flagIsCollapsed);\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\nimport Validation from \"../lib/validation.js\";\n\nexport default class BasePage {\n constructor(router) {\n if (!router) {\n throw new Error(\"Router is required\");\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"initialising with router: \", router);\n }\n this.router = router;\n this.title = titlePageCurrent;\n if (this.constructor === BasePage) {\n throw new Error(\"Cannot instantiate abstract class\");\n }\n \n if (!this.constructor.hash) {\n throw new Error(`Class ${this.constructor.name} must have a static hash attribute.`);\n }\n }\n\n initialize() {\n throw new Error(\"Method 'initialize()' must be implemented.\");\n }\n\n sharedInitialize() {\n this.logInitialisation();\n this.hookupCommonElements();\n }\n\n logInitialisation() {\n Utils.consoleLogIfNotProductionEnvironment('Initializing ' + this.title + ' page');\n }\n \n hookupCommonElements() {\n // hookupVideos();\n this.hookupLogos();\n this.hookupNavigation();\n this.hookupOverlays();\n }\n hookupLogos() {\n Events.hookupEventHandler(\"click\", \".\" + flagImageLogo + \",\" + \".\" + flagLogo, (event, element) => {\n Utils.consoleLogIfNotProductionEnvironment('clicking logo');\n this.router.navigateToHash(hashPageHome);\n });\n }\n /*\n hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n */\n hookupNavigation() {\n Events.hookupEventHandler(\"click\", idButtonHamburger, (event, element) => {\n let overlayHamburger = document.querySelector(idOverlayHamburger);\n if (overlayHamburger.classList.contains(flagIsCollapsed)) {\n overlayHamburger.classList.remove(flagIsCollapsed);\n overlayHamburger.classList.add(flagExpanded);\n } else {\n overlayHamburger.classList.remove(flagExpanded);\n overlayHamburger.classList.add(flagIsCollapsed);\n }\n });\n\n this.hookupButtonsNavHome();\n this.hookupButtonsNavContact();\n // this.hookupButtonsNavAdminHome();\n this.hookupButtonsNavUserAccount();\n this.hookupButtonsNavUserLogout();\n this.hookupButtonsNavUserLogin();\n\n // this.hookupButtonsNavStoreHome();\n // this.hookupButtonsNavStoreManufacturingPurchaseOrders();\n this.hookupButtonsNavDogHome();\n this.hookupButtonsNavDogCommandCategories();\n this.hookupButtonsNavDogCommands();\n this.hookupButtonsNavDogDogCommandLinks();\n this.hookupButtonsNavDogDogs();\n this.hookupButtonsNavDogLocations();\n this.hookupButtonsNavDogButtonIcons();\n this.hookupButtonsNavDogCommandButtonLinks();\n this.hookupButtonsNavDogAssessments();\n this.hookupButtonsNavDogCalendarEntries();\n }\n hookupButtonsNavHome() {\n this.hookupButtonsNav('.' + flagNavHome, hashPageHome);\n }\n hookupButtonsNav(buttonSelector, hashPageNav) {\n Events.hookupEventHandler(\"click\", buttonSelector, (event, button) => { \n this.router.navigateToHash(hashPageNav); \n });\n }\n hookupButtonsNavContact() {\n this.hookupButtonsNav('.' + flagNavContact, hashPageContact);\n }\n /*\n hookupButtonsNavAdminHome() {\n this.hookupButtonsNav('.' + flagNavAdminHome, hashPageAdminHome);\n }\n hookupButtonsNavServices() {\n this.hookupButtonsNav('.' + flagNavServices, hashPageServices);\n }\n */\n hookupButtonsNavUserAccount() {\n this.hookupButtonsNav('.' + flagNavUserAccount, hashPageUserAccount);\n }\n hookupButtonsNavUserLogout() {\n this.hookupButtonsNav('.' + flagNavUserLogout, hashPageUserLogout);\n }\n hookupButtonsNavUserLogin() {\n Events.hookupEventHandler(\"click\", '.' + flagNavUserLogin, (event, navigator) => { \n event.stopPropagation();\n this.leave();\n API.loginUser()\n .then((response) => {\n if (response.Success) {\n window.location.href = response[flagCallback];\n } else {\n DOM.alertError(\"Error\", response.Message);\n }\n });\n });\n }\n hookupButtonsNavDogHome() {\n this.hookupButtonsNav('.' + flagNavDogHome, hashPageDogHome);\n }\n hookupButtonsNavDogCommandCategories() {\n this.hookupButtonsNav('.' + flagNavDogCommandCategories, hashPageDogCommandCategories);\n }\n hookupButtonsNavDogCommands() {\n this.hookupButtonsNav('.' + flagNavDogCommands, hashPageDogCommands);\n }\n hookupButtonsNavDogDogCommandLinks() {\n this.hookupButtonsNav('.' + flagNavDogDogCommandLinks, hashPageDogDogCommandLinks);\n }\n hookupButtonsNavDogDogs() {\n this.hookupButtonsNav('.' + flagNavDogDogs, hashPageDogDogs);\n }\n hookupButtonsNavDogLocations() {\n this.hookupButtonsNav('.' + flagNavDogLocations, hashPageDogLocations);\n }\n hookupButtonsNavDogButtonIcons() {\n this.hookupButtonsNav('.' + flagNavDogButtonIcons, hashPageDogButtonIcons);\n }\n hookupButtonsNavDogCommandButtonLinks() {\n this.hookupButtonsNav('.' + flagNavDogCommandButtonLinks, hashPageDogCommandButtonLinks);\n }\n hookupButtonsNavDogAssessments() {\n this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);\n }\n hookupButtonsNavDogCalendarEntries() {\n this.hookupButtonsNav('.' + flagNavDogCalendarEntries, hashPageDogCalendarEntries);\n }\n\n hookupOverlays() {\n this.hookupOverlayFromId(idOverlayConfirm);\n this.hookupOverlayFromId(idOverlayError);\n }\n\n hookupOverlayFromId(idOverlay) {\n Events.initialiseEventHandler(idOverlay, flagInitialised, (overlay) => {\n overlay.querySelector('button.' + flagCancel).addEventListener(\"click\", (event) => {\n event.stopPropagation();\n overlay.style.display = 'none';\n });\n });\n }\n\n hookupButtonSave() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n Utils.consoleLogIfNotProductionEnvironment('saving page: ', this.title);\n OverlayConfirm.show();\n });\n });\n }\n\n leave() {\n Utils.consoleLogIfNotProductionEnvironment('Leaving ' + this.title + ' page');\n if (this.constructor === BasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n }\n setLocalStoragePage(dataPage) {\n LocalStorage.setLocalStorage(this.hash, dataPage);\n }\n getLocalStoragePage() {\n return LocalStorage.getLocalStorage(this.hash);\n }\n\n toggleShowButtonsSaveCancel(show, buttonContainerSelector = null) { // , buttonSave = null, buttonCancel = null\n if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel;\n let buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave);\n let buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel);\n Utils.consoleLogIfNotProductionEnvironment({ show, buttonContainerSelector, buttonCancel, buttonSave });\n if (show) {\n buttonCancel.classList.remove(flagIsCollapsed);\n buttonSave.classList.remove(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('showing buttons');\n } else {\n buttonCancel.classList.add(flagIsCollapsed);\n buttonSave.classList.add(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('hiding buttons');\n }\n }\n\n static isDirtyFilter(filter) {\n let isDirty = DOM.updateAndCheckIsElementDirty(filter);\n if (isDirty) document.querySelectorAll(idTableMain + ' tbody tr').remove();\n return isDirty;\n }\n\n}","\n// internal\nimport BasePage from \"../base.js\";\n// external\n\n\nexport default class PageHome extends BasePage {\n static hash = hashPageHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n // this.hookupButtonsNav();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","var hi = Object.defineProperty;\nvar Or = (e) => {\n throw TypeError(e);\n};\nvar gi = (e, t, r) => t in e ? hi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar ne = (e, t, r) => gi(e, typeof t != \"symbol\" ? t + \"\" : t, r), zr = (e, t, r) => t.has(e) || Or(\"Cannot \" + r);\nvar H = (e, t, r) => (zr(e, t, \"read from private field\"), r ? r.call(e) : t.get(e)), Mt = (e, t, r) => t.has(e) ? Or(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Ut = (e, t, r, l) => (zr(e, t, \"write to private field\"), l ? l.call(e, r) : t.set(e, r), r);\nconst en = `(function(){\"use strict\";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,\"0\")).join(\"\")}async function b(e,t,r){if(typeof crypto>\"u\"||!(\"subtle\"in crypto)||!(\"digest\"in crypto.subtle))throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r=\"SHA-256\",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest(\"SHA-256\",d.encode(t));c=await crypto.subtle.importKey(\"raw\",u,s,!1,[\"decrypt\"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t===\"abort\")i==null||i.abort(),i=void 0;else if(t===\"work\"){if(\"obfuscated\"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n`, Fr = typeof self < \"u\" && self.Blob && new Blob([en], { type: \"text/javascript;charset=utf-8\" });\nfunction _i(e) {\n let t;\n try {\n if (t = Fr && (self.URL || self.webkitURL).createObjectURL(Fr), !t) throw \"\";\n const r = new Worker(t, {\n name: e == null ? void 0 : e.name\n });\n return r.addEventListener(\"error\", () => {\n (self.URL || self.webkitURL).revokeObjectURL(t);\n }), r;\n } catch {\n return new Worker(\n \"data:text/javascript;charset=utf-8,\" + encodeURIComponent(en),\n {\n name: e == null ? void 0 : e.name\n }\n );\n } finally {\n t && (self.URL || self.webkitURL).revokeObjectURL(t);\n }\n}\nconst mi = \"5\";\nvar Qr;\ntypeof window < \"u\" && ((Qr = window.__svelte ?? (window.__svelte = {})).v ?? (Qr.v = /* @__PURE__ */ new Set())).add(mi);\nconst wi = 1, pi = 4, yi = 8, bi = 16, Ei = 1, xi = 2, Wt = \"[\", tn = \"[!\", rn = \"]\", Je = {}, W = Symbol(), $i = \"http://www.w3.org/1999/xhtml\", Mr = !1, oe = 2, nn = 4, It = 8, Yt = 16, pe = 32, ze = 64, yt = 128, re = 256, bt = 512, K = 1024, ye = 2048, et = 4096, Ke = 8192, St = 16384, ki = 32768, Zt = 65536, Ci = 1 << 19, ln = 1 << 20, ut = Symbol(\"$state\"), an = Symbol(\"legacy props\"), Ai = Symbol(\"\");\nvar on = Array.isArray, Ri = Array.prototype.indexOf, Ii = Array.from, Et = Object.keys, xt = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, Si = Object.getOwnPropertyDescriptors, Ti = Object.prototype, Ni = Array.prototype, sn = Object.getPrototypeOf;\nfunction fn(e) {\n for (var t = 0; t < e.length; t++)\n e[t]();\n}\nconst Li = typeof requestIdleCallback > \"u\" ? (e) => setTimeout(e, 1) : requestIdleCallback;\nlet dt = [], vt = [];\nfunction un() {\n var e = dt;\n dt = [], fn(e);\n}\nfunction cn() {\n var e = vt;\n vt = [], fn(e);\n}\nfunction Gt(e) {\n dt.length === 0 && queueMicrotask(un), dt.push(e);\n}\nfunction Di(e) {\n vt.length === 0 && Li(cn), vt.push(e);\n}\nfunction Ur() {\n dt.length > 0 && un(), vt.length > 0 && cn();\n}\nfunction dn(e) {\n return e === this.v;\n}\nfunction Pi(e, t) {\n return e != e ? t == t : e !== t || e !== null && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction vn(e) {\n return !Pi(e, this.v);\n}\nfunction Oi(e) {\n throw new Error(\"https://svelte.dev/e/effect_in_teardown\");\n}\nfunction zi() {\n throw new Error(\"https://svelte.dev/e/effect_in_unowned_derived\");\n}\nfunction Fi(e) {\n throw new Error(\"https://svelte.dev/e/effect_orphan\");\n}\nfunction Mi() {\n throw new Error(\"https://svelte.dev/e/effect_update_depth_exceeded\");\n}\nfunction Ui() {\n throw new Error(\"https://svelte.dev/e/hydration_failed\");\n}\nfunction ji(e) {\n throw new Error(\"https://svelte.dev/e/props_invalid_value\");\n}\nfunction Vi() {\n throw new Error(\"https://svelte.dev/e/state_descriptors_fixed\");\n}\nfunction Bi() {\n throw new Error(\"https://svelte.dev/e/state_prototype_fixed\");\n}\nfunction qi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_local_read\");\n}\nfunction Hi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_mutation\");\n}\nlet Wi = !1;\nfunction ue(e, t) {\n var r = {\n f: 0,\n // TODO ideally we could skip this altogether, but it causes type errors\n v: e,\n reactions: null,\n equals: dn,\n rv: 0,\n wv: 0\n };\n return r;\n}\nfunction He(e) {\n return /* @__PURE__ */ Yi(ue(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hn(e, t = !1) {\n const r = ue(e);\n return t || (r.equals = vn), r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yi(e) {\n return k !== null && !ae && (k.f & oe) !== 0 && (ce === null ? Qi([e]) : ce.push(e)), e;\n}\nfunction P(e, t) {\n return k !== null && !ae && Dn() && (k.f & (oe | Yt)) !== 0 && // If the source was created locally within the current derived, then\n // we allow the mutation.\n (ce === null || !ce.includes(e)) && Hi(), Zi(e, t);\n}\nfunction Zi(e, t) {\n return e.equals(t) || (e.v, e.v = t, e.wv = En(), gn(e, ye), A !== null && (A.f & K) !== 0 && (A.f & (pe | ze)) === 0 && (ge === null ? el([e]) : ge.push(e))), t;\n}\nfunction gn(e, t) {\n var r = e.reactions;\n if (r !== null)\n for (var l = r.length, i = 0; i < l; i++) {\n var a = r[i], o = a.f;\n (o & ye) === 0 && (de(a, t), (o & (K | re)) !== 0 && ((o & oe) !== 0 ? gn(\n /** @type {Derived} */\n a,\n et\n ) : Lt(\n /** @type {Effect} */\n a\n )));\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction De(e) {\n var t = oe | ye, r = k !== null && (k.f & oe) !== 0 ? (\n /** @type {Derived} */\n k\n ) : null;\n return A === null || r !== null && (r.f & re) !== 0 ? t |= re : A.f |= ln, {\n ctx: B,\n deps: null,\n effects: null,\n equals: dn,\n f: t,\n fn: e,\n reactions: null,\n rv: 0,\n v: (\n /** @type {V} */\n null\n ),\n wv: 0,\n parent: r ?? A\n };\n}\nfunction _n(e) {\n var t = e.effects;\n if (t !== null) {\n e.effects = null;\n for (var r = 0; r < t.length; r += 1)\n we(\n /** @type {Effect} */\n t[r]\n );\n }\n}\nfunction Gi(e) {\n for (var t = e.parent; t !== null; ) {\n if ((t.f & oe) === 0)\n return (\n /** @type {Effect} */\n t\n );\n t = t.parent;\n }\n return null;\n}\nfunction Ji(e) {\n var t, r = A;\n Se(Gi(e));\n try {\n _n(e), t = $n(e);\n } finally {\n Se(r);\n }\n return t;\n}\nfunction mn(e) {\n var t = Ji(e), r = (Ce || (e.f & re) !== 0) && e.deps !== null ? et : K;\n de(e, r), e.equals(t) || (e.v = t, e.wv = En());\n}\nfunction Tt(e) {\n console.warn(\"https://svelte.dev/e/hydration_mismatch\");\n}\nlet D = !1;\nfunction Ge(e) {\n D = e;\n}\nlet O;\nfunction Re(e) {\n if (e === null)\n throw Tt(), Je;\n return O = e;\n}\nfunction Xe() {\n return Re(\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(O)\n );\n}\nfunction Z(e) {\n if (D) {\n if (/* @__PURE__ */ Te(O) !== null)\n throw Tt(), Je;\n O = e;\n }\n}\nfunction Ki() {\n for (var e = 0, t = O; ; ) {\n if (t.nodeType === 8) {\n var r = (\n /** @type {Comment} */\n t.data\n );\n if (r === rn) {\n if (e === 0) return t;\n e -= 1;\n } else (r === Wt || r === tn) && (e += 1);\n }\n var l = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(t)\n );\n t.remove(), t = l;\n }\n}\nfunction le(e, t = null, r) {\n if (typeof e != \"object\" || e === null || ut in e)\n return e;\n const l = sn(e);\n if (l !== Ti && l !== Ni)\n return e;\n var i = /* @__PURE__ */ new Map(), a = on(e), o = ue(0);\n a && i.set(\"length\", ue(\n /** @type {any[]} */\n e.length\n ));\n var f;\n return new Proxy(\n /** @type {any} */\n e,\n {\n defineProperty(s, c, v) {\n (!(\"value\" in v) || v.configurable === !1 || v.enumerable === !1 || v.writable === !1) && Vi();\n var h = i.get(c);\n return h === void 0 ? (h = ue(v.value), i.set(c, h)) : P(h, le(v.value, f)), !0;\n },\n deleteProperty(s, c) {\n var v = i.get(c);\n if (v === void 0)\n c in s && i.set(c, ue(W));\n else {\n if (a && typeof c == \"string\") {\n var h = (\n /** @type {Source} */\n i.get(\"length\")\n ), g = Number(c);\n Number.isInteger(g) && g < h.v && P(h, g);\n }\n P(v, W), jr(o);\n }\n return !0;\n },\n get(s, c, v) {\n var w;\n if (c === ut)\n return e;\n var h = i.get(c), g = c in s;\n if (h === void 0 && (!g || (w = Pe(s, c)) != null && w.writable) && (h = ue(le(g ? s[c] : W, f)), i.set(c, h)), h !== void 0) {\n var m = d(h);\n return m === W ? void 0 : m;\n }\n return Reflect.get(s, c, v);\n },\n getOwnPropertyDescriptor(s, c) {\n var v = Reflect.getOwnPropertyDescriptor(s, c);\n if (v && \"value\" in v) {\n var h = i.get(c);\n h && (v.value = d(h));\n } else if (v === void 0) {\n var g = i.get(c), m = g == null ? void 0 : g.v;\n if (g !== void 0 && m !== W)\n return {\n enumerable: !0,\n configurable: !0,\n value: m,\n writable: !0\n };\n }\n return v;\n },\n has(s, c) {\n var m;\n if (c === ut)\n return !0;\n var v = i.get(c), h = v !== void 0 && v.v !== W || Reflect.has(s, c);\n if (v !== void 0 || A !== null && (!h || (m = Pe(s, c)) != null && m.writable)) {\n v === void 0 && (v = ue(h ? le(s[c], f) : W), i.set(c, v));\n var g = d(v);\n if (g === W)\n return !1;\n }\n return h;\n },\n set(s, c, v, h) {\n var F;\n var g = i.get(c), m = c in s;\n if (a && c === \"length\")\n for (var w = v; w < /** @type {Source} */\n g.v; w += 1) {\n var z = i.get(w + \"\");\n z !== void 0 ? P(z, W) : w in s && (z = ue(W), i.set(w + \"\", z));\n }\n g === void 0 ? (!m || (F = Pe(s, c)) != null && F.writable) && (g = ue(void 0), P(g, le(v, f)), i.set(c, g)) : (m = g.v !== W, P(g, le(v, f)));\n var T = Reflect.getOwnPropertyDescriptor(s, c);\n if (T != null && T.set && T.set.call(h, v), !m) {\n if (a && typeof c == \"string\") {\n var Y = (\n /** @type {Source} */\n i.get(\"length\")\n ), M = Number(c);\n Number.isInteger(M) && M >= Y.v && P(Y, M + 1);\n }\n jr(o);\n }\n return !0;\n },\n ownKeys(s) {\n d(o);\n var c = Reflect.ownKeys(s).filter((g) => {\n var m = i.get(g);\n return m === void 0 || m.v !== W;\n });\n for (var [v, h] of i)\n h.v !== W && !(v in s) && c.push(v);\n return c;\n },\n setPrototypeOf() {\n Bi();\n }\n }\n );\n}\nfunction jr(e, t = 1) {\n P(e, e.v + t);\n}\nvar Vr, wn, pn, yn;\nfunction jt() {\n if (Vr === void 0) {\n Vr = window, wn = /Firefox/.test(navigator.userAgent);\n var e = Element.prototype, t = Node.prototype;\n pn = Pe(t, \"firstChild\").get, yn = Pe(t, \"nextSibling\").get, e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0, Text.prototype.__t = void 0;\n }\n}\nfunction Jt(e = \"\") {\n return document.createTextNode(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction me(e) {\n return pn.call(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction Te(e) {\n return yn.call(e);\n}\nfunction G(e, t) {\n if (!D)\n return /* @__PURE__ */ me(e);\n var r = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(O)\n );\n return r === null && (r = O.appendChild(Jt())), Re(r), r;\n}\nfunction Br(e, t) {\n if (!D) {\n var r = (\n /** @type {DocumentFragment} */\n /* @__PURE__ */ me(\n /** @type {Node} */\n e\n )\n );\n return r instanceof Comment && r.data === \"\" ? /* @__PURE__ */ Te(r) : r;\n }\n return O;\n}\nfunction he(e, t = 1, r = !1) {\n let l = D ? O : e;\n for (var i; t--; )\n i = l, l = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l);\n if (!D)\n return l;\n var a = l == null ? void 0 : l.nodeType;\n if (r && a !== 3) {\n var o = Jt();\n return l === null ? i == null || i.after(o) : l.before(o), Re(o), o;\n }\n return Re(l), /** @type {TemplateNode} */\n l;\n}\nfunction Xi(e) {\n e.textContent = \"\";\n}\nlet wt = !1, $t = !1, kt = null, Oe = !1, Kt = !1;\nfunction qr(e) {\n Kt = e;\n}\nlet ct = [];\nlet k = null, ae = !1;\nfunction Ie(e) {\n k = e;\n}\nlet A = null;\nfunction Se(e) {\n A = e;\n}\nlet ce = null;\nfunction Qi(e) {\n ce = e;\n}\nlet V = null, J = 0, ge = null;\nfunction el(e) {\n ge = e;\n}\nlet bn = 1, Ct = 0, Ce = !1;\nfunction En() {\n return ++bn;\n}\nfunction ht(e) {\n var h;\n var t = e.f;\n if ((t & ye) !== 0)\n return !0;\n if ((t & et) !== 0) {\n var r = e.deps, l = (t & re) !== 0;\n if (r !== null) {\n var i, a, o = (t & bt) !== 0, f = l && A !== null && !Ce, s = r.length;\n if (o || f) {\n var c = (\n /** @type {Derived} */\n e\n ), v = c.parent;\n for (i = 0; i < s; i++)\n a = r[i], (o || !((h = a == null ? void 0 : a.reactions) != null && h.includes(c))) && (a.reactions ?? (a.reactions = [])).push(c);\n o && (c.f ^= bt), f && v !== null && (v.f & re) === 0 && (c.f ^= re);\n }\n for (i = 0; i < s; i++)\n if (a = r[i], ht(\n /** @type {Derived} */\n a\n ) && mn(\n /** @type {Derived} */\n a\n ), a.wv > e.wv)\n return !0;\n }\n (!l || A !== null && !Ce) && de(e, K);\n }\n return !1;\n}\nfunction tl(e, t) {\n for (var r = t; r !== null; ) {\n if ((r.f & yt) !== 0)\n try {\n r.fn(e);\n return;\n } catch {\n r.f ^= yt;\n }\n r = r.parent;\n }\n throw wt = !1, e;\n}\nfunction rl(e) {\n return (e.f & St) === 0 && (e.parent === null || (e.parent.f & yt) === 0);\n}\nfunction Nt(e, t, r, l) {\n if (wt) {\n if (r === null && (wt = !1), rl(t))\n throw e;\n return;\n }\n r !== null && (wt = !0);\n {\n tl(e, t);\n return;\n }\n}\nfunction xn(e, t, r = !0) {\n var l = e.reactions;\n if (l !== null)\n for (var i = 0; i < l.length; i++) {\n var a = l[i];\n (a.f & oe) !== 0 ? xn(\n /** @type {Derived} */\n a,\n t,\n !1\n ) : t === a && (r ? de(a, ye) : (a.f & K) !== 0 && de(a, et), Lt(\n /** @type {Effect} */\n a\n ));\n }\n}\nfunction $n(e) {\n var m;\n var t = V, r = J, l = ge, i = k, a = Ce, o = ce, f = B, s = ae, c = e.f;\n V = /** @type {null | Value[]} */\n null, J = 0, ge = null, Ce = (c & re) !== 0 && (ae || !Oe || k === null), k = (c & (pe | ze)) === 0 ? e : null, ce = null, Wr(e.ctx), ae = !1, Ct++;\n try {\n var v = (\n /** @type {Function} */\n (0, e.fn)()\n ), h = e.deps;\n if (V !== null) {\n var g;\n if (At(e, J), h !== null && J > 0)\n for (h.length = J + V.length, g = 0; g < V.length; g++)\n h[J + g] = V[g];\n else\n e.deps = h = V;\n if (!Ce)\n for (g = J; g < h.length; g++)\n ((m = h[g]).reactions ?? (m.reactions = [])).push(e);\n } else h !== null && J < h.length && (At(e, J), h.length = J);\n if (Dn() && ge !== null && !ae && h !== null && (e.f & (oe | et | ye)) === 0)\n for (g = 0; g < /** @type {Source[]} */\n ge.length; g++)\n xn(\n ge[g],\n /** @type {Effect} */\n e\n );\n return i !== null && Ct++, v;\n } finally {\n V = t, J = r, ge = l, k = i, Ce = a, ce = o, Wr(f), ae = s;\n }\n}\nfunction nl(e, t) {\n let r = t.reactions;\n if (r !== null) {\n var l = Ri.call(r, e);\n if (l !== -1) {\n var i = r.length - 1;\n i === 0 ? r = t.reactions = null : (r[l] = r[i], r.pop());\n }\n }\n r === null && (t.f & oe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear\n // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n // allows us to skip the expensive work of disconnecting and immediately reconnecting it\n (V === null || !V.includes(t)) && (de(t, et), (t.f & (re | bt)) === 0 && (t.f ^= bt), _n(\n /** @type {Derived} **/\n t\n ), At(\n /** @type {Derived} **/\n t,\n 0\n ));\n}\nfunction At(e, t) {\n var r = e.deps;\n if (r !== null)\n for (var l = t; l < r.length; l++)\n nl(e, r[l]);\n}\nfunction Xt(e) {\n var t = e.f;\n if ((t & St) === 0) {\n de(e, K);\n var r = A, l = B, i = Oe;\n A = e, Oe = !0;\n try {\n (t & Yt) !== 0 ? hl(e) : An(e), Cn(e);\n var a = $n(e);\n e.teardown = typeof a == \"function\" ? a : null, e.wv = bn;\n var o = e.deps, f;\n Mr && Wi && e.f & ye;\n } catch (s) {\n Nt(s, e, r, l || e.ctx);\n } finally {\n Oe = i, A = r;\n }\n }\n}\nfunction il() {\n try {\n Mi();\n } catch (e) {\n if (kt !== null)\n Nt(e, kt, null);\n else\n throw e;\n }\n}\nfunction kn() {\n var e = Oe;\n try {\n var t = 0;\n for (Oe = !0; ct.length > 0; ) {\n t++ > 1e3 && il();\n var r = ct, l = r.length;\n ct = [];\n for (var i = 0; i < l; i++) {\n var a = al(r[i]);\n ll(a);\n }\n }\n } finally {\n $t = !1, Oe = e, kt = null;\n }\n}\nfunction ll(e) {\n var t = e.length;\n if (t !== 0)\n for (var r = 0; r < t; r++) {\n var l = e[r];\n if ((l.f & (St | Ke)) === 0)\n try {\n ht(l) && (Xt(l), l.deps === null && l.first === null && l.nodes_start === null && (l.teardown === null ? Rn(l) : l.fn = null));\n } catch (i) {\n Nt(i, l, null, l.ctx);\n }\n }\n}\nfunction Lt(e) {\n $t || ($t = !0, queueMicrotask(kn));\n for (var t = kt = e; t.parent !== null; ) {\n t = t.parent;\n var r = t.f;\n if ((r & (ze | pe)) !== 0) {\n if ((r & K) === 0) return;\n t.f ^= K;\n }\n }\n ct.push(t);\n}\nfunction al(e) {\n for (var t = [], r = e; r !== null; ) {\n var l = r.f, i = (l & (pe | ze)) !== 0, a = i && (l & K) !== 0;\n if (!a && (l & Ke) === 0) {\n if ((l & nn) !== 0)\n t.push(r);\n else if (i)\n r.f ^= K;\n else {\n var o = k;\n try {\n k = r, ht(r) && Xt(r);\n } catch (c) {\n Nt(c, r, null, r.ctx);\n } finally {\n k = o;\n }\n }\n var f = r.first;\n if (f !== null) {\n r = f;\n continue;\n }\n }\n var s = r.parent;\n for (r = r.next; r === null && s !== null; )\n r = s.next, s = s.parent;\n }\n return t;\n}\nfunction $(e) {\n var t;\n for (Ur(); ct.length > 0; )\n $t = !0, kn(), Ur();\n return (\n /** @type {T} */\n t\n );\n}\nasync function ol() {\n await Promise.resolve(), $();\n}\nfunction d(e) {\n var t = e.f, r = (t & oe) !== 0;\n if (k !== null && !ae) {\n ce !== null && ce.includes(e) && qi();\n var l = k.deps;\n e.rv < Ct && (e.rv = Ct, V === null && l !== null && l[J] === e ? J++ : V === null ? V = [e] : (!Ce || !V.includes(e)) && V.push(e));\n } else if (r && /** @type {Derived} */\n e.deps === null && /** @type {Derived} */\n e.effects === null) {\n var i = (\n /** @type {Derived} */\n e\n ), a = i.parent;\n a !== null && (a.f & re) === 0 && (i.f ^= re);\n }\n return r && (i = /** @type {Derived} */\n e, ht(i) && mn(i)), e.v;\n}\nfunction Qe(e) {\n var t = ae;\n try {\n return ae = !0, e();\n } finally {\n ae = t;\n }\n}\nconst sl = -7169;\nfunction de(e, t) {\n e.f = e.f & sl | t;\n}\nfunction fl(e) {\n A === null && k === null && Fi(), k !== null && (k.f & re) !== 0 && A === null && zi(), Kt && Oi();\n}\nfunction ul(e, t) {\n var r = t.last;\n r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);\n}\nfunction Fe(e, t, r, l = !0) {\n var i = A, a = {\n ctx: B,\n deps: null,\n nodes_start: null,\n nodes_end: null,\n f: e | ye,\n first: null,\n fn: t,\n last: null,\n next: null,\n parent: i,\n prev: null,\n teardown: null,\n transitions: null,\n wv: 0\n };\n if (r)\n try {\n Xt(a), a.f |= ki;\n } catch (s) {\n throw we(a), s;\n }\n else t !== null && Lt(a);\n var o = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (ln | yt)) === 0;\n if (!o && l && (i !== null && ul(a, i), k !== null && (k.f & oe) !== 0)) {\n var f = (\n /** @type {Derived} */\n k\n );\n (f.effects ?? (f.effects = [])).push(a);\n }\n return a;\n}\nfunction cl(e) {\n const t = Fe(It, null, !1);\n return de(t, K), t.teardown = e, t;\n}\nfunction Vt(e) {\n fl();\n var t = A !== null && (A.f & pe) !== 0 && B !== null && !B.m;\n if (t) {\n var r = (\n /** @type {ComponentContext} */\n B\n );\n (r.e ?? (r.e = [])).push({\n fn: e,\n effect: A,\n reaction: k\n });\n } else {\n var l = Qt(e);\n return l;\n }\n}\nfunction dl(e) {\n const t = Fe(ze, e, !0);\n return () => {\n we(t);\n };\n}\nfunction vl(e) {\n const t = Fe(ze, e, !0);\n return (r = {}) => new Promise((l) => {\n r.outro ? Bt(t, () => {\n we(t), l(void 0);\n }) : (we(t), l(void 0));\n });\n}\nfunction Qt(e) {\n return Fe(nn, e, !1);\n}\nfunction er(e) {\n return Fe(It, e, !0);\n}\nfunction We(e, t = [], r = De) {\n const l = t.map(r);\n return tr(() => e(...l.map(d)));\n}\nfunction tr(e, t = 0) {\n return Fe(It | Yt | t, e, !0);\n}\nfunction Rt(e, t = !0) {\n return Fe(It | pe, e, !0, t);\n}\nfunction Cn(e) {\n var t = e.teardown;\n if (t !== null) {\n const r = Kt, l = k;\n qr(!0), Ie(null);\n try {\n t.call(null);\n } finally {\n qr(r), Ie(l);\n }\n }\n}\nfunction An(e, t = !1) {\n var r = e.first;\n for (e.first = e.last = null; r !== null; ) {\n var l = r.next;\n (r.f & ze) !== 0 ? r.parent = null : we(r, t), r = l;\n }\n}\nfunction hl(e) {\n for (var t = e.first; t !== null; ) {\n var r = t.next;\n (t.f & pe) === 0 && we(t), t = r;\n }\n}\nfunction we(e, t = !0) {\n var r = !1;\n if ((t || (e.f & Ci) !== 0) && e.nodes_start !== null) {\n for (var l = e.nodes_start, i = e.nodes_end; l !== null; ) {\n var a = l === i ? null : (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l)\n );\n l.remove(), l = a;\n }\n r = !0;\n }\n An(e, t && !r), At(e, 0), de(e, St);\n var o = e.transitions;\n if (o !== null)\n for (const s of o)\n s.stop();\n Cn(e);\n var f = e.parent;\n f !== null && f.first !== null && Rn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;\n}\nfunction Rn(e) {\n var t = e.parent, r = e.prev, l = e.next;\n r !== null && (r.next = l), l !== null && (l.prev = r), t !== null && (t.first === e && (t.first = l), t.last === e && (t.last = r));\n}\nfunction Bt(e, t) {\n var r = [];\n In(e, r, !0), gl(r, () => {\n we(e), t && t();\n });\n}\nfunction gl(e, t) {\n var r = e.length;\n if (r > 0) {\n var l = () => --r || t();\n for (var i of e)\n i.out(l);\n } else\n t();\n}\nfunction In(e, t, r) {\n if ((e.f & Ke) === 0) {\n if (e.f ^= Ke, e.transitions !== null)\n for (const o of e.transitions)\n (o.is_global || r) && t.push(o);\n for (var l = e.first; l !== null; ) {\n var i = l.next, a = (l.f & Zt) !== 0 || (l.f & pe) !== 0;\n In(l, t, a ? r : !1), l = i;\n }\n }\n}\nfunction Hr(e) {\n Sn(e, !0);\n}\nfunction Sn(e, t) {\n if ((e.f & Ke) !== 0) {\n e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), ht(e) && (de(e, ye), Lt(e));\n for (var r = e.first; r !== null; ) {\n var l = r.next, i = (r.f & Zt) !== 0 || (r.f & pe) !== 0;\n Sn(r, i ? t : !1), r = l;\n }\n if (e.transitions !== null)\n for (const a of e.transitions)\n (a.is_global || t) && a.in();\n }\n}\nfunction Tn(e) {\n throw new Error(\"https://svelte.dev/e/lifecycle_outside_component\");\n}\nlet B = null;\nfunction Wr(e) {\n B = e;\n}\nfunction Nn(e, t = !1, r) {\n B = {\n p: B,\n c: null,\n e: null,\n m: !1,\n s: e,\n x: null,\n l: null\n };\n}\nfunction Ln(e) {\n const t = B;\n if (t !== null) {\n e !== void 0 && (t.x = e);\n const o = t.e;\n if (o !== null) {\n var r = A, l = k;\n t.e = null;\n try {\n for (var i = 0; i < o.length; i++) {\n var a = o[i];\n Se(a.effect), Ie(a.reaction), Qt(a.fn);\n }\n } finally {\n Se(r), Ie(l);\n }\n }\n B = t.p, t.m = !0;\n }\n return e || /** @type {T} */\n {};\n}\nfunction Dn() {\n return !0;\n}\nconst _l = [\"touchstart\", \"touchmove\"];\nfunction ml(e) {\n return _l.includes(e);\n}\nlet Yr = !1;\nfunction Pn() {\n Yr || (Yr = !0, document.addEventListener(\n \"reset\",\n (e) => {\n Promise.resolve().then(() => {\n var t;\n if (!e.defaultPrevented)\n for (\n const r of\n /**@type {HTMLFormElement} */\n e.target.elements\n )\n (t = r.__on_r) == null || t.call(r);\n });\n },\n // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n { capture: !0 }\n ));\n}\nfunction On(e) {\n var t = k, r = A;\n Ie(null), Se(null);\n try {\n return e();\n } finally {\n Ie(t), Se(r);\n }\n}\nfunction wl(e, t, r, l = r) {\n e.addEventListener(t, () => On(r));\n const i = e.__on_r;\n i ? e.__on_r = () => {\n i(), l(!0);\n } : e.__on_r = () => l(!0), Pn();\n}\nconst zn = /* @__PURE__ */ new Set(), qt = /* @__PURE__ */ new Set();\nfunction pl(e, t, r, l = {}) {\n function i(a) {\n if (l.capture || ft.call(t, a), !a.cancelBubble)\n return On(() => r == null ? void 0 : r.call(this, a));\n }\n return e.startsWith(\"pointer\") || e.startsWith(\"touch\") || e === \"wheel\" ? Gt(() => {\n t.addEventListener(e, i, l);\n }) : t.addEventListener(e, i, l), i;\n}\nfunction yl(e, t, r, l, i) {\n var a = { capture: l, passive: i }, o = pl(e, t, r, a);\n (t === document.body || t === window || t === document) && cl(() => {\n t.removeEventListener(e, o, a);\n });\n}\nfunction bl(e) {\n for (var t = 0; t < e.length; t++)\n zn.add(e[t]);\n for (var r of qt)\n r(e);\n}\nfunction ft(e) {\n var M;\n var t = this, r = (\n /** @type {Node} */\n t.ownerDocument\n ), l = e.type, i = ((M = e.composedPath) == null ? void 0 : M.call(e)) || [], a = (\n /** @type {null | Element} */\n i[0] || e.target\n ), o = 0, f = e.__root;\n if (f) {\n var s = i.indexOf(f);\n if (s !== -1 && (t === document || t === /** @type {any} */\n window)) {\n e.__root = t;\n return;\n }\n var c = i.indexOf(t);\n if (c === -1)\n return;\n s <= c && (o = s);\n }\n if (a = /** @type {Element} */\n i[o] || e.target, a !== t) {\n xt(e, \"currentTarget\", {\n configurable: !0,\n get() {\n return a || r;\n }\n });\n var v = k, h = A;\n Ie(null), Se(null);\n try {\n for (var g, m = []; a !== null; ) {\n var w = a.assignedSlot || a.parentNode || /** @type {any} */\n a.host || null;\n try {\n var z = a[\"__\" + l];\n if (z != null && (!/** @type {any} */\n a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well\n // -> the target could not have been disabled because it emits the event in the first place\n e.target === a))\n if (on(z)) {\n var [T, ...Y] = z;\n T.apply(a, [e, ...Y]);\n } else\n z.call(a, e);\n } catch (F) {\n g ? m.push(F) : g = F;\n }\n if (e.cancelBubble || w === t || w === null)\n break;\n a = w;\n }\n if (g) {\n for (let F of m)\n queueMicrotask(() => {\n throw F;\n });\n throw g;\n }\n } finally {\n e.__root = t, delete e.currentTarget, Ie(v), Se(h);\n }\n }\n}\nfunction rr(e) {\n var t = document.createElement(\"template\");\n return t.innerHTML = e, t.content;\n}\nfunction Ae(e, t) {\n var r = (\n /** @type {Effect} */\n A\n );\n r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);\n}\n// @__NO_SIDE_EFFECTS__\nfunction ve(e, t) {\n var r = (t & Ei) !== 0, l = (t & xi) !== 0, i, a = !e.startsWith(\"\");\n return () => {\n if (D)\n return Ae(O, null), O;\n i === void 0 && (i = rr(a ? e : \"\" + e), r || (i = /** @type {Node} */\n /* @__PURE__ */ me(i)));\n var o = (\n /** @type {TemplateNode} */\n l || wn ? document.importNode(i, !0) : i.cloneNode(!0)\n );\n if (r) {\n var f = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(o)\n ), s = (\n /** @type {TemplateNode} */\n o.lastChild\n );\n Ae(f, s);\n } else\n Ae(o, o);\n return o;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction El(e, t, r = \"svg\") {\n var l = !e.startsWith(\"\"), i = `<${r}>${l ? e : \"\" + e}`, a;\n return () => {\n if (D)\n return Ae(O, null), O;\n if (!a) {\n var o = (\n /** @type {DocumentFragment} */\n rr(i)\n ), f = (\n /** @type {Element} */\n /* @__PURE__ */ me(o)\n );\n a = /** @type {Element} */\n /* @__PURE__ */ me(f);\n }\n var s = (\n /** @type {TemplateNode} */\n a.cloneNode(!0)\n );\n return Ae(s, s), s;\n };\n}\nfunction ee(e, t) {\n if (D) {\n A.nodes_end = O, Xe();\n return;\n }\n e !== null && e.before(\n /** @type {Node} */\n t\n );\n}\nfunction Fn(e, t) {\n return Mn(e, t);\n}\nfunction xl(e, t) {\n jt(), t.intro = t.intro ?? !1;\n const r = t.target, l = D, i = O;\n try {\n for (var a = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(r)\n ); a && (a.nodeType !== 8 || /** @type {Comment} */\n a.data !== Wt); )\n a = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(a);\n if (!a)\n throw Je;\n Ge(!0), Re(\n /** @type {Comment} */\n a\n ), Xe();\n const o = Mn(e, { ...t, anchor: a });\n if (O === null || O.nodeType !== 8 || /** @type {Comment} */\n O.data !== rn)\n throw Tt(), Je;\n return Ge(!1), /** @type {Exports} */\n o;\n } catch (o) {\n if (o === Je)\n return t.recover === !1 && Ui(), jt(), Xi(r), Ge(!1), Fn(e, t);\n throw o;\n } finally {\n Ge(l), Re(i);\n }\n}\nconst Ye = /* @__PURE__ */ new Map();\nfunction Mn(e, { target: t, anchor: r, props: l = {}, events: i, context: a, intro: o = !0 }) {\n jt();\n var f = /* @__PURE__ */ new Set(), s = (h) => {\n for (var g = 0; g < h.length; g++) {\n var m = h[g];\n if (!f.has(m)) {\n f.add(m);\n var w = ml(m);\n t.addEventListener(m, ft, { passive: w });\n var z = Ye.get(m);\n z === void 0 ? (document.addEventListener(m, ft, { passive: w }), Ye.set(m, 1)) : Ye.set(m, z + 1);\n }\n }\n };\n s(Ii(zn)), qt.add(s);\n var c = void 0, v = vl(() => {\n var h = r ?? t.appendChild(Jt());\n return Rt(() => {\n if (a) {\n Nn({});\n var g = (\n /** @type {ComponentContext} */\n B\n );\n g.c = a;\n }\n i && (l.$$events = i), D && Ae(\n /** @type {TemplateNode} */\n h,\n null\n ), c = e(h, l) || {}, D && (A.nodes_end = O), a && Ln();\n }), () => {\n var w;\n for (var g of f) {\n t.removeEventListener(g, ft);\n var m = (\n /** @type {number} */\n Ye.get(g)\n );\n --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);\n }\n qt.delete(s), h !== r && ((w = h.parentNode) == null || w.removeChild(h));\n };\n });\n return Ht.set(c, v), c;\n}\nlet Ht = /* @__PURE__ */ new WeakMap();\nfunction $l(e, t) {\n const r = Ht.get(e);\n return r ? (Ht.delete(e), r(t)) : Promise.resolve();\n}\nfunction ke(e, t, [r, l] = [0, 0]) {\n D && r === 0 && Xe();\n var i = e, a = null, o = null, f = W, s = r > 0 ? Zt : 0, c = !1;\n const v = (g, m = !0) => {\n c = !0, h(m, g);\n }, h = (g, m) => {\n if (f === (f = g)) return;\n let w = !1;\n if (D && l !== -1) {\n if (r === 0) {\n const T = (\n /** @type {Comment} */\n i.data\n );\n T === Wt ? l = 0 : T === tn ? l = 1 / 0 : (l = parseInt(T.substring(1)), l !== l && (l = f ? 1 / 0 : -1));\n }\n const z = l > r;\n !!f === z && (i = Ki(), Re(i), Ge(!1), w = !0, l = -1);\n }\n f ? (a ? Hr(a) : m && (a = Rt(() => m(i))), o && Bt(o, () => {\n o = null;\n })) : (o ? Hr(o) : m && (o = Rt(() => m(i, [r + 1, l]))), a && Bt(a, () => {\n a = null;\n })), w && Ge(!0);\n };\n tr(() => {\n c = !1, t(v), c || h(null, null);\n }, s), D && (i = O);\n}\nfunction Ze(e, t, r, l, i) {\n var a = e, o = \"\", f;\n tr(() => {\n if (o === (o = t() ?? \"\")) {\n D && Xe();\n return;\n }\n f !== void 0 && (we(f), f = void 0), o !== \"\" && (f = Rt(() => {\n if (D) {\n O.data;\n for (var s = Xe(), c = s; s !== null && (s.nodeType !== 8 || /** @type {Comment} */\n s.data !== \"\"); )\n c = s, s = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(s);\n if (s === null)\n throw Tt(), Je;\n Ae(O, c), a = Re(s);\n return;\n }\n var v = o + \"\", h = rr(v);\n Ae(\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(h),\n /** @type {TemplateNode} */\n h.lastChild\n ), a.before(h);\n }));\n });\n}\nfunction kl(e, t, r, l, i) {\n var f;\n D && Xe();\n var a = (f = t.$$slots) == null ? void 0 : f[r], o = !1;\n a === !0 && (a = t.children, o = !0), a === void 0 || a(e, o ? () => l : l);\n}\nfunction Cl(e, t) {\n Gt(() => {\n var r = e.getRootNode(), l = (\n /** @type {ShadowRoot} */\n r.host ? (\n /** @type {ShadowRoot} */\n r\n ) : (\n /** @type {Document} */\n r.head ?? /** @type {Document} */\n r.ownerDocument.head\n )\n );\n if (!l.querySelector(\"#\" + t.hash)) {\n const i = document.createElement(\"style\");\n i.id = t.hash, i.textContent = t.code, l.appendChild(i);\n }\n });\n}\nconst Zr = [...` \t\n\\r\\f \\v\\uFEFF`];\nfunction Al(e, t, r) {\n var l = \"\" + e;\n if (r) {\n for (var i in r)\n if (r[i])\n l = l ? l + \" \" + i : i;\n else if (l.length)\n for (var a = i.length, o = 0; (o = l.indexOf(i, o)) >= 0; ) {\n var f = o + a;\n (o === 0 || Zr.includes(l[o - 1])) && (f === l.length || Zr.includes(l[f])) ? l = (o === 0 ? \"\" : l.substring(0, o)) + l.substring(f + 1) : o = f;\n }\n }\n return l === \"\" ? null : l;\n}\nfunction Rl(e, t, r, l, i, a) {\n var o = e.__className;\n if (D || o !== r) {\n var f = Al(r, l, a);\n (!D || f !== e.getAttribute(\"class\")) && (f == null ? e.removeAttribute(\"class\") : e.className = f), e.__className = r;\n } else if (a && i !== a)\n for (var s in a) {\n var c = !!a[s];\n (i == null || c !== !!i[s]) && e.classList.toggle(s, c);\n }\n return a;\n}\nconst Il = Symbol(\"is custom element\"), Sl = Symbol(\"is html\");\nfunction Gr(e) {\n if (D) {\n var t = !1, r = () => {\n if (!t) {\n if (t = !0, e.hasAttribute(\"value\")) {\n var l = e.value;\n ie(e, \"value\", null), e.value = l;\n }\n if (e.hasAttribute(\"checked\")) {\n var i = e.checked;\n ie(e, \"checked\", null), e.checked = i;\n }\n }\n };\n e.__on_r = r, Di(r), Pn();\n }\n}\nfunction Tl(e, t) {\n var r = Un(e);\n r.value === (r.value = // treat null and undefined the same for the initial value\n t ?? void 0) || // @ts-expect-error\n // `progress` elements always need their value set when it's `0`\n e.value === t && (t !== 0 || e.nodeName !== \"PROGRESS\") || (e.value = t ?? \"\");\n}\nfunction ie(e, t, r, l) {\n var i = Un(e);\n D && (i[t] = e.getAttribute(t), t === \"src\" || t === \"srcset\" || t === \"href\" && e.nodeName === \"LINK\") || i[t] !== (i[t] = r) && (t === \"loading\" && (e[Ai] = r), r == null ? e.removeAttribute(t) : typeof r != \"string\" && Nl(e).includes(t) ? e[t] = r : e.setAttribute(t, r));\n}\nfunction Un(e) {\n return (\n /** @type {Record} **/\n // @ts-expect-error\n e.__attributes ?? (e.__attributes = {\n [Il]: e.nodeName.includes(\"-\"),\n [Sl]: e.namespaceURI === $i\n })\n );\n}\nvar Jr = /* @__PURE__ */ new Map();\nfunction Nl(e) {\n var t = Jr.get(e.nodeName);\n if (t) return t;\n Jr.set(e.nodeName, t = []);\n for (var r, l = e, i = Element.prototype; i !== l; ) {\n r = Si(l);\n for (var a in r)\n r[a].set && t.push(a);\n l = sn(l);\n }\n return t;\n}\nfunction Ll(e, t, r = t) {\n wl(e, \"change\", (l) => {\n var i = l ? e.defaultChecked : e.checked;\n r(i);\n }), // If we are hydrating and the value has since changed,\n // then use the update value from the input instead.\n (D && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked\n Qe(t) == null) && r(e.checked), er(() => {\n var l = t();\n e.checked = !!l;\n });\n}\nfunction Kr(e, t) {\n return e === t || (e == null ? void 0 : e[ut]) === t;\n}\nfunction Xr(e = {}, t, r, l) {\n return Qt(() => {\n var i, a;\n return er(() => {\n i = a, a = [], Qe(() => {\n e !== r(...a) && (t(e, ...a), i && Kr(r(...i), e) && t(null, ...i));\n });\n }), () => {\n Gt(() => {\n a && Kr(r(...a), e) && t(null, ...a);\n });\n };\n }), e;\n}\nfunction jn(e) {\n B === null && Tn(), Vt(() => {\n const t = Qe(e);\n if (typeof t == \"function\") return (\n /** @type {() => void} */\n t\n );\n });\n}\nfunction Dl(e) {\n B === null && Tn(), jn(() => () => Qe(e));\n}\nlet mt = !1;\nfunction Pl(e) {\n var t = mt;\n try {\n return mt = !1, [e(), mt];\n } finally {\n mt = t;\n }\n}\nfunction C(e, t, r, l) {\n var be;\n var i = (r & wi) !== 0, a = !0, o = (r & yi) !== 0, f = (r & bi) !== 0, s = !1, c;\n o ? [c, s] = Pl(() => (\n /** @type {V} */\n e[t]\n )) : c = /** @type {V} */\n e[t];\n var v = ut in e || an in e, h = o && (((be = Pe(e, t)) == null ? void 0 : be.set) ?? (v && t in e && ((N) => e[t] = N))) || void 0, g = (\n /** @type {V} */\n l\n ), m = !0, w = !1, z = () => (w = !0, m && (m = !1, f ? g = Qe(\n /** @type {() => V} */\n l\n ) : g = /** @type {V} */\n l), g);\n c === void 0 && l !== void 0 && (h && a && ji(), c = z(), h && h(c));\n var T;\n if (T = () => {\n var N = (\n /** @type {V} */\n e[t]\n );\n return N === void 0 ? z() : (m = !0, w = !1, N);\n }, (r & pi) === 0)\n return T;\n if (h) {\n var Y = e.$$legacy;\n return function(N, X) {\n return arguments.length > 0 ? ((!X || Y || s) && h(X ? T() : N), N) : T();\n };\n }\n var M = !1, F = /* @__PURE__ */ hn(c), se = /* @__PURE__ */ De(() => {\n var N = T(), X = d(F);\n return M ? (M = !1, X) : F.v = N;\n });\n return i || (se.equals = vn), function(N, X) {\n if (arguments.length > 0) {\n const U = X ? d(se) : o ? le(N) : N;\n return se.equals(U) || (M = !0, P(F, U), w && g !== void 0 && (g = U), Qe(() => d(se))), N;\n }\n return d(se);\n };\n}\nfunction Ol(e) {\n return new zl(e);\n}\nvar _e, te;\nclass zl {\n /**\n * @param {ComponentConstructorOptions & {\n * component: any;\n * }} options\n */\n constructor(t) {\n /** @type {any} */\n Mt(this, _e);\n /** @type {Record} */\n Mt(this, te);\n var a;\n var r = /* @__PURE__ */ new Map(), l = (o, f) => {\n var s = /* @__PURE__ */ hn(f);\n return r.set(o, s), s;\n };\n const i = new Proxy(\n { ...t.props || {}, $$events: {} },\n {\n get(o, f) {\n return d(r.get(f) ?? l(f, Reflect.get(o, f)));\n },\n has(o, f) {\n return f === an ? !0 : (d(r.get(f) ?? l(f, Reflect.get(o, f))), Reflect.has(o, f));\n },\n set(o, f, s) {\n return P(r.get(f) ?? l(f, s), s), Reflect.set(o, f, s);\n }\n }\n );\n Ut(this, te, (t.hydrate ? xl : Fn)(t.component, {\n target: t.target,\n anchor: t.anchor,\n props: i,\n context: t.context,\n intro: t.intro ?? !1,\n recover: t.recover\n })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === !1) && $(), Ut(this, _e, i.$$events);\n for (const o of Object.keys(H(this, te)))\n o === \"$set\" || o === \"$destroy\" || o === \"$on\" || xt(this, o, {\n get() {\n return H(this, te)[o];\n },\n /** @param {any} value */\n set(f) {\n H(this, te)[o] = f;\n },\n enumerable: !0\n });\n H(this, te).$set = /** @param {Record} next */\n (o) => {\n Object.assign(i, o);\n }, H(this, te).$destroy = () => {\n $l(H(this, te));\n };\n }\n /** @param {Record} props */\n $set(t) {\n H(this, te).$set(t);\n }\n /**\n * @param {string} event\n * @param {(...args: any[]) => any} callback\n * @returns {any}\n */\n $on(t, r) {\n H(this, _e)[t] = H(this, _e)[t] || [];\n const l = (...i) => r.call(this, ...i);\n return H(this, _e)[t].push(l), () => {\n H(this, _e)[t] = H(this, _e)[t].filter(\n /** @param {any} fn */\n (i) => i !== l\n );\n };\n }\n $destroy() {\n H(this, te).$destroy();\n }\n}\n_e = new WeakMap(), te = new WeakMap();\nlet Vn;\ntypeof HTMLElement == \"function\" && (Vn = class extends HTMLElement {\n /**\n * @param {*} $$componentCtor\n * @param {*} $$slots\n * @param {*} use_shadow_dom\n */\n constructor(t, r, l) {\n super();\n /** The Svelte component constructor */\n ne(this, \"$$ctor\");\n /** Slots */\n ne(this, \"$$s\");\n /** @type {any} The Svelte component instance */\n ne(this, \"$$c\");\n /** Whether or not the custom element is connected */\n ne(this, \"$$cn\", !1);\n /** @type {Record} Component props data */\n ne(this, \"$$d\", {});\n /** `true` if currently in the process of reflecting component props back to attributes */\n ne(this, \"$$r\", !1);\n /** @type {Record} Props definition (name, reflected, type etc) */\n ne(this, \"$$p_d\", {});\n /** @type {Record} Event listeners */\n ne(this, \"$$l\", {});\n /** @type {Map} Event listener unsubscribe functions */\n ne(this, \"$$l_u\", /* @__PURE__ */ new Map());\n /** @type {any} The managed render effect for reflecting attributes */\n ne(this, \"$$me\");\n this.$$ctor = t, this.$$s = r, l && this.attachShadow({ mode: \"open\" });\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n addEventListener(t, r, l) {\n if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {\n const i = this.$$c.$on(t, r);\n this.$$l_u.set(r, i);\n }\n super.addEventListener(t, r, l);\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n removeEventListener(t, r, l) {\n if (super.removeEventListener(t, r, l), this.$$c) {\n const i = this.$$l_u.get(r);\n i && (i(), this.$$l_u.delete(r));\n }\n }\n async connectedCallback() {\n if (this.$$cn = !0, !this.$$c) {\n let t = function(i) {\n return (a) => {\n const o = document.createElement(\"slot\");\n i !== \"default\" && (o.name = i), ee(a, o);\n };\n };\n if (await Promise.resolve(), !this.$$cn || this.$$c)\n return;\n const r = {}, l = Fl(this);\n for (const i of this.$$s)\n i in l && (i === \"default\" && !this.$$d.children ? (this.$$d.children = t(i), r.default = !0) : r[i] = t(i));\n for (const i of this.attributes) {\n const a = this.$$g_p(i.name);\n a in this.$$d || (this.$$d[a] = pt(a, i.value, this.$$p_d, \"toProp\"));\n }\n for (const i in this.$$p_d)\n !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);\n this.$$c = Ol({\n component: this.$$ctor,\n target: this.shadowRoot || this,\n props: {\n ...this.$$d,\n $$slots: r,\n $$host: this\n }\n }), this.$$me = dl(() => {\n er(() => {\n var i;\n this.$$r = !0;\n for (const a of Et(this.$$c)) {\n if (!((i = this.$$p_d[a]) != null && i.reflect)) continue;\n this.$$d[a] = this.$$c[a];\n const o = pt(\n a,\n this.$$d[a],\n this.$$p_d,\n \"toAttribute\"\n );\n o == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, o);\n }\n this.$$r = !1;\n });\n });\n for (const i in this.$$l)\n for (const a of this.$$l[i]) {\n const o = this.$$c.$on(i, a);\n this.$$l_u.set(a, o);\n }\n this.$$l = {};\n }\n }\n // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n // and setting attributes through setAttribute etc, this is helpful\n /**\n * @param {string} attr\n * @param {string} _oldValue\n * @param {string} newValue\n */\n attributeChangedCallback(t, r, l) {\n var i;\n this.$$r || (t = this.$$g_p(t), this.$$d[t] = pt(t, l, this.$$p_d, \"toProp\"), (i = this.$$c) == null || i.$set({ [t]: this.$$d[t] }));\n }\n disconnectedCallback() {\n this.$$cn = !1, Promise.resolve().then(() => {\n !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);\n });\n }\n /**\n * @param {string} attribute_name\n */\n $$g_p(t) {\n return Et(this.$$p_d).find(\n (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t\n ) || t;\n }\n});\nfunction pt(e, t, r, l) {\n var a;\n const i = (a = r[e]) == null ? void 0 : a.type;\n if (t = i === \"Boolean\" && typeof t != \"boolean\" ? t != null : t, !l || !r[e])\n return t;\n if (l === \"toAttribute\")\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t == null ? null : JSON.stringify(t);\n case \"Boolean\":\n return t ? \"\" : null;\n case \"Number\":\n return t ?? null;\n default:\n return t;\n }\n else\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t && JSON.parse(t);\n case \"Boolean\":\n return t;\n // conversion already handled above\n case \"Number\":\n return t != null ? +t : t;\n default:\n return t;\n }\n}\nfunction Fl(e) {\n const t = {};\n return e.childNodes.forEach((r) => {\n t[\n /** @type {Element} node */\n r.slot || \"default\"\n ] = !0;\n }), t;\n}\nfunction Ml(e, t, r, l, i, a) {\n let o = class extends Vn {\n constructor() {\n super(e, r, i), this.$$p_d = t;\n }\n static get observedAttributes() {\n return Et(t).map(\n (f) => (t[f].attribute || f).toLowerCase()\n );\n }\n };\n return Et(t).forEach((f) => {\n xt(o.prototype, f, {\n get() {\n return this.$$c && f in this.$$c ? this.$$c[f] : this.$$d[f];\n },\n set(s) {\n var h;\n s = pt(f, s, t), this.$$d[f] = s;\n var c = this.$$c;\n if (c) {\n var v = (h = Pe(c, f)) == null ? void 0 : h.get;\n v ? c[f] = s : c.$set({ [f]: s });\n }\n }\n });\n }), l.forEach((f) => {\n xt(o.prototype, f, {\n get() {\n var s;\n return (s = this.$$c) == null ? void 0 : s[f];\n }\n });\n }), e.element = /** @type {any} */\n o, o;\n}\nconst Bn = new TextEncoder();\nfunction Ul(e) {\n return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, \"0\")).join(\"\");\n}\nasync function jl(e, t = \"SHA-256\", r = 1e5) {\n const l = Date.now().toString(16);\n e || (e = Math.round(Math.random() * r));\n const i = await qn(l, e, t);\n return {\n algorithm: t,\n challenge: i,\n salt: l,\n signature: \"\"\n };\n}\nasync function qn(e, t, r) {\n if (typeof crypto > \"u\" || !(\"subtle\" in crypto) || !(\"digest\" in crypto.subtle))\n throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");\n return Ul(\n await crypto.subtle.digest(\n r.toUpperCase(),\n Bn.encode(e + t)\n )\n );\n}\nfunction Vl(e, t, r = \"SHA-256\", l = 1e6, i = 0) {\n const a = new AbortController(), o = Date.now();\n return {\n promise: (async () => {\n for (let s = i; s <= l; s += 1) {\n if (a.signal.aborted)\n return null;\n if (await qn(t, s, r) === e)\n return {\n number: s,\n took: Date.now() - o\n };\n }\n return null;\n })(),\n controller: a\n };\n}\nfunction Bl() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch {\n }\n}\nfunction ql(e) {\n const t = atob(e), r = new Uint8Array(t.length);\n for (let l = 0; l < t.length; l++)\n r[l] = t.charCodeAt(l);\n return r;\n}\nfunction Hl(e, t = 12) {\n const r = new Uint8Array(t);\n for (let l = 0; l < t; l++)\n r[l] = e % 256, e = Math.floor(e / 256);\n return r;\n}\nasync function Wl(e, t = \"\", r = 1e6, l = 0) {\n const i = \"AES-GCM\", a = new AbortController(), o = Date.now(), f = async () => {\n for (let v = l; v <= r; v += 1) {\n if (a.signal.aborted || !s || !c)\n return null;\n try {\n const h = await crypto.subtle.decrypt(\n {\n name: i,\n iv: Hl(v)\n },\n s,\n c\n );\n if (h)\n return {\n clearText: new TextDecoder().decode(h),\n took: Date.now() - o\n };\n } catch {\n }\n }\n return null;\n };\n let s = null, c = null;\n try {\n c = ql(e);\n const v = await crypto.subtle.digest(\n \"SHA-256\",\n Bn.encode(t)\n );\n s = await crypto.subtle.importKey(\n \"raw\",\n v,\n i,\n !1,\n [\"decrypt\"]\n );\n } catch {\n return {\n promise: Promise.reject(),\n controller: a\n };\n }\n return {\n promise: f(),\n controller: a\n };\n}\nvar E = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.VERIFIED = \"verified\", e.VERIFYING = \"verifying\", e.UNVERIFIED = \"unverified\", e.EXPIRED = \"expired\", e))(E || {}), Yl = /* @__PURE__ */ El(''), Zl = /* @__PURE__ */ ve(' ', 1), Gl = /* @__PURE__ */ ve(''), Jl = /* @__PURE__ */ ve(''), Kl = /* @__PURE__ */ ve('
'), Xl = /* @__PURE__ */ ve('
'), Ql = /* @__PURE__ */ ve('
'), ea = /* @__PURE__ */ ve('
'), ta = /* @__PURE__ */ ve(''), ra = /* @__PURE__ */ ve('
'), na = /* @__PURE__ */ ve('
', 1);\nconst ia = {\n hash: \"svelte-ddsc3z\",\n code: `.altcha.svelte-ddsc3z {background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left;}.altcha.svelte-ddsc3z:focus-within {border-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z {background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999;}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow:where(.svelte-ddsc3z) {border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto;}.altcha[data-floating=bottom].svelte-ddsc3z:focus-within::after {border-bottom-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating=top].svelte-ddsc3z:focus-within::after {border-top-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z:not([data-state=unverified]) {display:block;}.altcha-anchor-arrow.svelte-ddsc3z {border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:\"\";height:0;left:12px;position:absolute;top:-12px;width:0;}.altcha-main.svelte-ddsc3z {align-items:center;display:flex;gap:0.4rem;padding:0.7rem;}.altcha-label.svelte-ddsc3z {flex-grow:1;}.altcha-label.svelte-ddsc3z label:where(.svelte-ddsc3z) {cursor:pointer;}.altcha-logo.svelte-ddsc3z {color:currentColor;opacity:0.3;}.altcha-logo.svelte-ddsc3z:hover {opacity:1;}.altcha-error.svelte-ddsc3z {color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem;}.altcha-footer.svelte-ddsc3z {align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right;}.altcha-footer.svelte-ddsc3z:hover {opacity:1;}.altcha-footer.svelte-ddsc3z > :where(.svelte-ddsc3z):first-child {flex-grow:1;}.altcha-footer.svelte-ddsc3z a {color:currentColor;}.altcha-checkbox.svelte-ddsc3z {display:flex;align-items:center;height:24px;width:24px;}.altcha-checkbox.svelte-ddsc3z input:where(.svelte-ddsc3z) {width:18px;height:18px;margin:0;}.altcha-hidden.svelte-ddsc3z {display:none;}.altcha-spinner.svelte-ddsc3z {\n animation: svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center;}\n\n@keyframes svelte-ddsc3z-altcha-spinner {\n 100% {\n transform: rotate(360deg);\n }\n}`\n};\nfunction la(e, t) {\n var Lr, Dr;\n Nn(t, !0), Cl(e, ia);\n let r = C(t, \"auto\", 7, void 0), l = C(t, \"blockspam\", 7, void 0), i = C(t, \"challengeurl\", 7, void 0), a = C(t, \"challengejson\", 7, void 0), o = C(t, \"customfetch\", 7, void 0), f = C(t, \"debug\", 7, !1), s = C(t, \"delay\", 7, 0), c = C(t, \"expire\", 7, void 0), v = C(t, \"floating\", 7, void 0), h = C(t, \"floatinganchor\", 7, void 0), g = C(t, \"floatingoffset\", 7, void 0), m = C(t, \"hidefooter\", 7, !1), w = C(t, \"hidelogo\", 7, !1), z = C(t, \"id\", 7, void 0), T = C(t, \"name\", 7, \"altcha\"), Y = C(t, \"maxnumber\", 7, 1e6), M = C(t, \"mockerror\", 7, !1), F = C(t, \"obfuscated\", 7, void 0), se = C(t, \"plugins\", 7, void 0), be = C(t, \"refetchonexpire\", 7, !0), N = C(t, \"spamfilter\", 7, !1), X = C(t, \"strings\", 7, void 0), U = C(t, \"test\", 7, !1), Ee = C(t, \"verifyurl\", 7, void 0), Me = C(t, \"workers\", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), tt = C(t, \"workerurl\", 7, void 0);\n const nr = [\"SHA-256\", \"SHA-384\", \"SHA-512\"], ir = \"Visit Altcha.org\", lr = \"https://altcha.org/\", rt = (n, u) => {\n t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));\n }, ar = (Dr = (Lr = document.documentElement.lang) == null ? void 0 : Lr.split(\"-\")) == null ? void 0 : Dr[0], Dt = /* @__PURE__ */ De(() => {\n var n;\n return i() && new URL(i(), location.origin).host.endsWith(\".altcha.org\") && !!((n = i()) != null && n.includes(\"apiKey=ckey_\"));\n }), Pt = /* @__PURE__ */ De(() => a() ? wr(a()) : void 0), or = /* @__PURE__ */ De(() => X() ? wr(X()) : {}), Q = /* @__PURE__ */ De(() => {\n var n;\n return {\n ariaLinkLabel: ir,\n error: \"Verification failed. Try again later.\",\n expired: \"Verification expired. Try again.\",\n footer: `Protected by ALTCHA`,\n label: \"I'm not a robot\",\n verified: \"Verified\",\n verifying: \"Verifying...\",\n waitAlert: \"Verifying... please wait.\",\n ...d(or)\n };\n }), sr = /* @__PURE__ */ De(() => z() || `${T()}_checkbox`);\n let Ue = He(!1), R = He(le(E.UNVERIFIED)), j = He(void 0), nt = He(null), je = null, y = null, Ve = He(null), fe = null, xe = [], Ne = He(null);\n Vt(() => {\n Xn(d(Ve));\n }), Vt(() => {\n Qn(d(R));\n }), Dl(() => {\n Hn(), y && (y.removeEventListener(\"submit\", hr), y.removeEventListener(\"reset\", gr), y.removeEventListener(\"focusin\", vr), y = null), fe && (clearTimeout(fe), fe = null), document.removeEventListener(\"click\", cr), document.removeEventListener(\"scroll\", dr), window.removeEventListener(\"resize\", mr);\n }), jn(() => {\n var n;\n I(\"mounted\", \"1.3.0\"), I(\"workers\", Me()), Jn(), I(\"plugins\", xe.length ? xe.map((u) => u.constructor.pluginName).join(\", \") : \"none\"), U() && I(\"using test mode\"), c() && Ot(c()), r() !== void 0 && I(\"auto\", r()), v() !== void 0 && pr(v()), y = (n = d(j)) == null ? void 0 : n.closest(\"form\"), y && (y.addEventListener(\"submit\", hr, { capture: !0 }), y.addEventListener(\"reset\", gr), r() === \"onfocus\" && y.addEventListener(\"focusin\", vr)), r() === \"onload\" && (F() ? it() : $e()), d(Dt) && (m() || w()) && I(\"Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution.\"), requestAnimationFrame(() => {\n rt(\"load\");\n });\n });\n function fr(n, u) {\n return btoa(JSON.stringify({\n algorithm: n.algorithm,\n challenge: n.challenge,\n number: u.number,\n salt: n.salt,\n signature: n.signature,\n test: U() ? !0 : void 0,\n took: u.took\n }));\n }\n function Hn() {\n for (const n of xe)\n n.destroy();\n }\n function ur() {\n i() && be() && d(R) === E.VERIFIED ? $e() : lt(E.EXPIRED, d(Q).expired);\n }\n async function Wn() {\n var n;\n if (M())\n throw I(\"mocking error\"), new Error(\"Mocked error.\");\n if (d(Pt))\n return I(\"using provided json data\"), d(Pt);\n if (U())\n return I(\"generating test challenge\", { test: U() }), jl(typeof U() != \"boolean\" ? +U() : void 0);\n {\n if (!i() && y) {\n const L = y.getAttribute(\"action\");\n L != null && L.includes(\"/form/\") && i(L + \"/altcha\");\n }\n if (!i())\n throw new Error(\"Attribute challengeurl not set.\");\n I(\"fetching challenge from\", i());\n let u = null, _ = null;\n if (o())\n if (I(\"using customfetch\"), typeof o() == \"string\") {\n if (u = globalThis[o()] || null, !u)\n throw new Error(`Custom fetch function not found: ${o()}`);\n } else\n u = o();\n const b = {\n headers: N() !== !1 ? { \"x-altcha-spam-filter\": \"1\" } : {}\n };\n if (u) {\n if (_ = await u(i(), b), !_ || !(_ instanceof Response))\n throw new Error(\"Custom fetch function did not return a response.\");\n } else\n _ = await fetch(i(), b);\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const S = _.headers.get(\"X-Altcha-Config\"), x = await _.json(), p = new URLSearchParams((n = x.salt.split(\"?\")) == null ? void 0 : n[1]), q = p.get(\"expires\") || p.get(\"expire\");\n if (q) {\n const L = new Date(+q * 1e3), qe = isNaN(L.getTime()) ? 0 : L.getTime() - Date.now();\n qe > 0 && Ot(qe);\n }\n if (S)\n try {\n const L = JSON.parse(S);\n L && typeof L == \"object\" && (L.verifyurl && (L.verifyurl = new URL(L.verifyurl, new URL(i())).toString()), Er(L));\n } catch (L) {\n I(\"unable to configure from X-Altcha-Config\", L);\n }\n return x;\n }\n }\n function Yn(n) {\n var _;\n const u = y == null ? void 0 : y.querySelector(typeof n == \"string\" ? `input[name=\"${n}\"]` : 'input[type=\"email\"]:not([data-no-spamfilter])');\n return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf(\"@\"))) || void 0;\n }\n function Zn() {\n return N() === \"ipAddress\" ? {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: !1,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: !1,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n } : typeof N() == \"object\" ? N() : {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: void 0,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: void 0,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n };\n }\n function Gn(n) {\n return [\n ...(y == null ? void 0 : y.querySelectorAll(n != null && n.length ? n.map((_) => `input[name=\"${_}\"]`).join(\", \") : 'input[type=\"text\"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []\n ].reduce(\n (_, b) => {\n const S = b.name, x = b.value;\n return S && x && (_[S] = /\\n/.test(x) ? x.replace(new RegExp(\"(? u instanceof Error)) && console[n[0] instanceof Error ? \"error\" : \"log\"](\"ALTCHA\", `[name=${T()}]`, ...n);\n }\n function Kn() {\n [E.UNVERIFIED, E.ERROR, E.EXPIRED].includes(d(R)) ? N() !== !1 && (y == null ? void 0 : y.reportValidity()) === !1 ? P(Ue, !1) : F() ? it() : $e() : P(Ue, !0);\n }\n function cr(n) {\n const u = n.target;\n v() && u && !d(j).contains(u) && (d(R) === E.VERIFIED || r() === \"off\" && d(R) === E.UNVERIFIED) && (d(j).style.display = \"none\");\n }\n function dr() {\n v() && d(R) !== E.UNVERIFIED && gt();\n }\n function Xn(n) {\n for (const u of xe)\n typeof u.onErrorChange == \"function\" && u.onErrorChange(d(Ve));\n }\n function vr(n) {\n d(R) === E.UNVERIFIED && $e();\n }\n function hr(n) {\n y && r() === \"onsubmit\" ? d(R) === E.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), $e().then(() => {\n y == null || y.requestSubmit();\n })) : d(R) !== E.VERIFIED && (n.preventDefault(), n.stopPropagation(), d(R) === E.VERIFYING && _r()) : y && v() && r() === \"off\" && d(R) === E.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), d(j).style.display = \"block\", gt());\n }\n function gr() {\n lt();\n }\n function _r() {\n d(R) === E.VERIFYING && d(Q).waitAlert && alert(d(Q).waitAlert);\n }\n function Qn(n) {\n for (const u of xe)\n typeof u.onStateChange == \"function\" && u.onStateChange(d(R));\n v() && d(R) !== E.UNVERIFIED && requestAnimationFrame(() => {\n gt();\n }), P(Ue, d(R) === E.VERIFIED);\n }\n function mr() {\n v() && gt();\n }\n function wr(n) {\n return JSON.parse(n);\n }\n function gt(n = 20) {\n if (d(j))\n if (je || (je = (h() ? document.querySelector(h()) : y == null ? void 0 : y.querySelector('input[type=\"submit\"], button[type=\"submit\"], button:not([type=\"button\"]):not([type=\"reset\"])')) || y), je) {\n const u = parseInt(g(), 10) || 12, _ = je.getBoundingClientRect(), b = d(j).getBoundingClientRect(), S = document.documentElement.clientHeight, x = document.documentElement.clientWidth, p = v() === \"auto\" ? _.bottom + b.height + u + n > S : v() === \"top\", q = Math.max(n, Math.min(x - n - b.width, _.left + _.width / 2 - b.width / 2));\n if (p ? d(j).style.top = `${_.top - (b.height + u)}px` : d(j).style.top = `${_.bottom + u}px`, d(j).style.left = `${q}px`, d(j).setAttribute(\"data-floating\", p ? \"top\" : \"bottom\"), d(nt)) {\n const L = d(nt).getBoundingClientRect();\n d(nt).style.left = _.left - q + _.width / 2 - L.width / 2 + \"px\";\n }\n } else\n I(\"unable to find floating anchor element\");\n }\n async function ei(n) {\n if (!Ee())\n throw new Error(\"Attribute verifyurl not set.\");\n I(\"requesting server verification from\", Ee());\n const u = { payload: n };\n if (N() !== !1) {\n const {\n blockedCountries: S,\n classifier: x,\n disableRules: p,\n email: q,\n expectedLanguages: L,\n expectedCountries: qe,\n fields: ot,\n ipAddress: st,\n text: vi,\n timeZone: Pr\n } = Zn();\n u.blockedCountries = S, u.classifier = x, u.disableRules = p, u.email = q === !1 ? void 0 : Yn(q), u.expectedCountries = qe, u.expectedLanguages = L || (ar ? [ar] : void 0), u.fields = ot === !1 ? void 0 : Gn(ot), u.ipAddress = st === !1 ? void 0 : st || \"auto\", u.text = vi, u.timeZone = Pr === !1 ? void 0 : Pr || Bl();\n }\n const _ = await fetch(Ee(), {\n body: JSON.stringify(u),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\"\n });\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const b = await _.json();\n if (b != null && b.payload && P(Ne, le(b.payload)), rt(\"serververification\", b), l() && b.classification === \"BAD\")\n throw new Error(\"SpamFilter returned negative classification.\");\n }\n function Ot(n) {\n I(\"expire\", n), fe && (clearTimeout(fe), fe = null), n < 1 ? ur() : fe = setTimeout(ur, n);\n }\n function pr(n) {\n I(\"floating\", n), v() !== n && (d(j).style.left = \"\", d(j).style.top = \"\"), v(n === !0 || n === \"\" ? \"auto\" : n === !1 || n === \"false\" ? void 0 : v()), v() ? (r() || r(\"onsubmit\"), document.addEventListener(\"scroll\", dr), document.addEventListener(\"click\", cr), window.addEventListener(\"resize\", mr)) : r() === \"onsubmit\" && r(void 0);\n }\n function yr(n) {\n if (!n.algorithm)\n throw new Error(\"Invalid challenge. Property algorithm is missing.\");\n if (n.signature === void 0)\n throw new Error(\"Invalid challenge. Property signature is missing.\");\n if (!nr.includes(n.algorithm.toUpperCase()))\n throw new Error(`Unknown algorithm value. Allowed values: ${nr.join(\", \")}`);\n if (!n.challenge || n.challenge.length < 40)\n throw new Error(\"Challenge is too short. Min. 40 chars.\");\n if (!n.salt || n.salt.length < 10)\n throw new Error(\"Salt is too short. Min. 10 chars.\");\n }\n async function br(n) {\n let u = null;\n if (\"Worker\" in window) {\n try {\n u = await ti(n, n.maxnumber);\n } catch (_) {\n I(_);\n }\n if ((u == null ? void 0 : u.number) !== void 0 || \"obfuscated\" in n)\n return { data: n, solution: u };\n }\n if (\"obfuscated\" in n) {\n const _ = await Wl(n.obfuscated, n.key, n.maxnumber);\n return { data: n, solution: await _.promise };\n }\n return {\n data: n,\n solution: await Vl(n.challenge, n.salt, n.algorithm, n.maxnumber || Y()).promise\n };\n }\n async function ti(n, u = typeof U() == \"number\" ? U() : Y(), _ = Math.ceil(Me())) {\n const b = [];\n _ = Math.min(16, Math.max(1, _));\n for (let p = 0; p < _; p++)\n b.push(altchaCreateWorker(tt()));\n const S = Math.ceil(u / _), x = await Promise.all(b.map((p, q) => {\n const L = q * S;\n return new Promise((qe) => {\n p.addEventListener(\"message\", (ot) => {\n if (ot.data)\n for (const st of b)\n st !== p && st.postMessage({ type: \"abort\" });\n qe(ot.data);\n }), p.postMessage({\n payload: n,\n max: L + S,\n start: L,\n type: \"work\"\n });\n });\n }));\n for (const p of b)\n p.terminate();\n return x.find((p) => !!p) || null;\n }\n async function it() {\n if (!F()) {\n Le(E.ERROR);\n return;\n }\n const n = xe.find((u) => u.constructor.pluginName === \"obfuscation\");\n if (!n || !(\"clarify\" in n)) {\n Le(E.ERROR), I(\"Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.\");\n return;\n }\n if (\"clarify\" in n && typeof n.clarify == \"function\")\n return n.clarify();\n }\n function Er(n) {\n n.obfuscated !== void 0 && F(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === \"onload\" && (F() ? it() : $e())), n.blockspam !== void 0 && l(!!n.blockspam), n.customfetch !== void 0 && o(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && s(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && pr(n.floating), n.expire !== void 0 && (Ot(n.expire), c(n.expire)), n.challenge && (a(typeof n.challenge == \"string\" ? n.challenge : JSON.stringify(n.challenge)), yr(d(Pt))), n.challengeurl !== void 0 && i(n.challengeurl), n.debug !== void 0 && f(!!n.debug), n.hidefooter !== void 0 && m(!!n.hidefooter), n.hidelogo !== void 0 && w(!!n.hidelogo), n.maxnumber !== void 0 && Y(+n.maxnumber), n.mockerror !== void 0 && M(!!n.mockerror), n.name !== void 0 && T(n.name), n.refetchonexpire !== void 0 && be(!!n.refetchonexpire), n.spamfilter !== void 0 && N(typeof n.spamfilter == \"object\" ? n.spamfilter : !!n.spamfilter), n.strings && X(typeof n.strings == \"string\" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && U(typeof n.test == \"number\" ? n.test : !!n.test), n.verifyurl !== void 0 && Ee(n.verifyurl), n.workers !== void 0 && Me(+n.workers), n.workerurl !== void 0 && tt(n.workerurl);\n }\n function xr() {\n return {\n auto: r(),\n blockspam: l(),\n challengeurl: i(),\n debug: f(),\n delay: s(),\n expire: c(),\n floating: v(),\n floatinganchor: h(),\n floatingoffset: g(),\n hidefooter: m(),\n hidelogo: w(),\n name: T(),\n maxnumber: Y(),\n mockerror: M(),\n obfuscated: F(),\n refetchonexpire: be(),\n spamfilter: N(),\n strings: d(Q),\n test: U(),\n verifyurl: Ee(),\n workers: Me(),\n workerurl: tt()\n };\n }\n function $r() {\n return je;\n }\n function ri(n) {\n return xe.find((u) => u.constructor.pluginName === n);\n }\n function kr() {\n return d(R);\n }\n function lt(n = E.UNVERIFIED, u = null) {\n fe && (clearTimeout(fe), fe = null), P(Ue, !1), P(Ne, null), Le(n, u);\n }\n function Cr(n) {\n je = n;\n }\n function Le(n, u = null) {\n P(R, le(n)), P(Ve, le(u)), rt(\"statechange\", {\n payload: d(Ne),\n state: d(R)\n });\n }\n async function $e() {\n return lt(E.VERIFYING), await new Promise((n) => setTimeout(n, s() || 0)), Wn().then((n) => (yr(n), I(\"challenge\", n), br(n))).then(({ data: n, solution: u }) => {\n if (I(\"solution\", u), \"challenge\" in n && u && !(\"clearText\" in u))\n if ((u == null ? void 0 : u.number) !== void 0) {\n if (Ee())\n return ei(fr(n, u));\n P(Ne, le(fr(n, u))), I(\"payload\", d(Ne));\n } else\n throw I(\"Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number.\"), new Error(\"Unexpected result returned.\");\n }).then(() => {\n Le(E.VERIFIED), I(\"verified\"), ol().then(() => {\n rt(\"verified\", { payload: d(Ne) });\n });\n }).catch((n) => {\n I(n), Le(E.ERROR, n.message);\n });\n }\n var Ar = na(), Rr = Br(Ar);\n kl(Rr, t, \"default\", {});\n var at = he(Rr, 2), zt = G(at), Ir = G(zt);\n {\n var ni = (n) => {\n var u = Yl();\n ee(n, u);\n };\n ke(Ir, (n) => {\n d(R) === E.VERIFYING && n(ni);\n });\n }\n var _t = he(Ir, 2);\n let Sr;\n var Be = G(_t);\n Gr(Be), Be.__change = Kn, Z(_t);\n var Ft = he(_t, 2), ii = G(Ft);\n {\n var li = (n) => {\n var u = Zl(), _ = Br(u), b = G(_);\n Ze(b, () => d(Q).verified), Z(_);\n var S = he(_, 2);\n Gr(S), We(() => {\n ie(S, \"name\", T()), Tl(S, d(Ne));\n }), ee(n, u);\n }, ai = (n, u) => {\n {\n var _ = (S) => {\n var x = Gl(), p = G(x);\n Ze(p, () => d(Q).verifying), Z(x), ee(S, x);\n }, b = (S) => {\n var x = Jl(), p = G(x);\n Ze(p, () => d(Q).label), Z(x), We(() => ie(x, \"for\", d(sr))), ee(S, x);\n };\n ke(\n n,\n (S) => {\n d(R) === E.VERIFYING ? S(_) : S(b, !1);\n },\n u\n );\n }\n };\n ke(ii, (n) => {\n d(R) === E.VERIFIED ? n(li) : n(ai, !1);\n });\n }\n Z(Ft);\n var oi = he(Ft, 2);\n {\n var si = (n) => {\n var u = Kl(), _ = G(u);\n ie(_, \"href\", lr), Z(u), We(() => ie(_, \"aria-label\", d(Q).ariaLinkLabel)), ee(n, u);\n };\n ke(oi, (n) => {\n (w() !== !0 || d(Dt)) && n(si);\n });\n }\n Z(zt);\n var Tr = he(zt, 2);\n {\n var fi = (n) => {\n var u = ea(), _ = he(G(u), 2);\n {\n var b = (x) => {\n var p = Xl(), q = G(p);\n Ze(q, () => d(Q).expired), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n }, S = (x) => {\n var p = Ql(), q = G(p);\n Ze(q, () => d(Q).error), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n };\n ke(_, (x) => {\n d(R) === E.EXPIRED ? x(b) : x(S, !1);\n });\n }\n Z(u), ee(n, u);\n };\n ke(Tr, (n) => {\n (d(Ve) || d(R) === E.EXPIRED) && n(fi);\n });\n }\n var Nr = he(Tr, 2);\n {\n var ui = (n) => {\n var u = ta(), _ = G(u), b = G(_);\n Ze(b, () => d(Q).footer), Z(_), Z(u), ee(n, u);\n };\n ke(Nr, (n) => {\n d(Q).footer && (m() !== !0 || d(Dt)) && n(ui);\n });\n }\n var ci = he(Nr, 2);\n {\n var di = (n) => {\n var u = ra();\n Xr(u, (_) => P(nt, _), () => d(nt)), ee(n, u);\n };\n ke(ci, (n) => {\n v() && n(di);\n });\n }\n return Z(at), Xr(at, (n) => P(j, n), () => d(j)), We(\n (n) => {\n ie(at, \"data-state\", d(R)), ie(at, \"data-floating\", v()), Sr = Rl(_t, 1, \"altcha-checkbox svelte-ddsc3z\", null, Sr, n), ie(Be, \"id\", d(sr)), Be.required = r() !== \"onsubmit\" && (!v() || r() !== \"off\");\n },\n [\n () => ({\n \"altcha-hidden\": d(R) === E.VERIFYING\n })\n ]\n ), yl(\"invalid\", Be, _r), Ll(Be, () => d(Ue), (n) => P(Ue, n)), ee(e, Ar), Ln({\n clarify: it,\n configure: Er,\n getConfiguration: xr,\n getFloatingAnchor: $r,\n getPlugin: ri,\n getState: kr,\n reset: lt,\n setFloatingAnchor: Cr,\n setState: Le,\n verify: $e,\n get auto() {\n return r();\n },\n set auto(n = void 0) {\n r(n), $();\n },\n get blockspam() {\n return l();\n },\n set blockspam(n = void 0) {\n l(n), $();\n },\n get challengeurl() {\n return i();\n },\n set challengeurl(n = void 0) {\n i(n), $();\n },\n get challengejson() {\n return a();\n },\n set challengejson(n = void 0) {\n a(n), $();\n },\n get customfetch() {\n return o();\n },\n set customfetch(n = void 0) {\n o(n), $();\n },\n get debug() {\n return f();\n },\n set debug(n = !1) {\n f(n), $();\n },\n get delay() {\n return s();\n },\n set delay(n = 0) {\n s(n), $();\n },\n get expire() {\n return c();\n },\n set expire(n = void 0) {\n c(n), $();\n },\n get floating() {\n return v();\n },\n set floating(n = void 0) {\n v(n), $();\n },\n get floatinganchor() {\n return h();\n },\n set floatinganchor(n = void 0) {\n h(n), $();\n },\n get floatingoffset() {\n return g();\n },\n set floatingoffset(n = void 0) {\n g(n), $();\n },\n get hidefooter() {\n return m();\n },\n set hidefooter(n = !1) {\n m(n), $();\n },\n get hidelogo() {\n return w();\n },\n set hidelogo(n = !1) {\n w(n), $();\n },\n get id() {\n return z();\n },\n set id(n = void 0) {\n z(n), $();\n },\n get name() {\n return T();\n },\n set name(n = \"altcha\") {\n T(n), $();\n },\n get maxnumber() {\n return Y();\n },\n set maxnumber(n = 1e6) {\n Y(n), $();\n },\n get mockerror() {\n return M();\n },\n set mockerror(n = !1) {\n M(n), $();\n },\n get obfuscated() {\n return F();\n },\n set obfuscated(n = void 0) {\n F(n), $();\n },\n get plugins() {\n return se();\n },\n set plugins(n = void 0) {\n se(n), $();\n },\n get refetchonexpire() {\n return be();\n },\n set refetchonexpire(n = !0) {\n be(n), $();\n },\n get spamfilter() {\n return N();\n },\n set spamfilter(n = !1) {\n N(n), $();\n },\n get strings() {\n return X();\n },\n set strings(n = void 0) {\n X(n), $();\n },\n get test() {\n return U();\n },\n set test(n = !1) {\n U(n), $();\n },\n get verifyurl() {\n return Ee();\n },\n set verifyurl(n = void 0) {\n Ee(n), $();\n },\n get workers() {\n return Me();\n },\n set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {\n Me(n), $();\n },\n get workerurl() {\n return tt();\n },\n set workerurl(n = void 0) {\n tt(n), $();\n }\n });\n}\nbl([\"change\"]);\ncustomElements.define(\"altcha-widget\", Ml(\n la,\n {\n blockspam: { type: \"Boolean\" },\n debug: { type: \"Boolean\" },\n delay: { type: \"Number\" },\n expire: { type: \"Number\" },\n floatingoffset: { type: \"Number\" },\n hidefooter: { type: \"Boolean\" },\n hidelogo: { type: \"Boolean\" },\n maxnumber: { type: \"Number\" },\n mockerror: { type: \"Boolean\" },\n refetchonexpire: { type: \"Boolean\" },\n test: { type: \"Boolean\" },\n workers: { type: \"Number\" },\n auto: {},\n challengeurl: {},\n challengejson: {},\n customfetch: {},\n floating: {},\n floatinganchor: {},\n id: {},\n name: {},\n obfuscated: {},\n plugins: {},\n spamfilter: {},\n strings: {},\n verifyurl: {},\n workerurl: {}\n },\n [\"default\"],\n [\n \"clarify\",\n \"configure\",\n \"getConfiguration\",\n \"getFloatingAnchor\",\n \"getPlugin\",\n \"getState\",\n \"reset\",\n \"setFloatingAnchor\",\n \"setState\",\n \"verify\"\n ],\n !1\n));\nglobalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new _i();\nglobalThis.altchaPlugins = globalThis.altchaPlugins || [];\nexport {\n la as Altcha\n};","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContact extends BasePage {\n static hash = hashPageContact;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupButtonSubmitFormContactUs();\n }\n\n hookupButtonSubmitFormContactUs() {\n const button = document.querySelector('form input[type=\"submit\"]');\n button.classList.add(flagButton);\n button.classList.add(flagButtonPrimary);\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContactSuccess extends BasePage {\n static hash = hashPageContactSuccess;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageDogHome extends BasePage {\n static hash = hashPageDogHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupDogHome();\n }\n hookupDogHome() {\n \n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport Utils from '../utils.js';\n\nexport default class BusinessObjects {\n static getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected = null) {\n return {\n text: objectJson[keyText],\n value: objectJson[keyValue],\n selected: (objectJson[keyValue] == valueSelected),\n };\n }\n static getOptionJsonFromObjectJson(objectJson, valueSelected = null) {\n let keyText = objectJson[flagNameAttrOptionText];\n let keyValue = objectJson[flagNameAttrOptionValue];\n // Utils.consoleLogIfNotProductionEnvironment({objectJson, keyText, keyValue});\n return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);\n }\n static getObjectText(objectJson) {\n return objectJson == null ? '' : objectJson[objectJson[flagNameAttrOptionText]];\n }\n static getListObjectsFromIdDictAndCsv(idDict, idCsv) {\n let listObjects = [];\n let ids = idCsv.split(',');\n for (let id of ids) {\n listObjects.push(idDict[id]);\n }\n return listObjects;\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayError {\n static hookup() {\n Events.initialiseEventHandler(idOverlayError + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayError);\n overlay.style.visibility = 'hidden';\n });\n });\n }\n static show(msgError) {\n let overlay = document.querySelector(idOverlayError);\n let labelError = overlay.querySelector(idLabelError);\n labelError.innerText = msgError;\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport Validation from \"../lib/validation.js\";\nimport BasePage from \"./base.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\n\nexport default class TableBasePage extends BasePage {\n // static hash\n // static attrIdRowObject\n // callSaveTableContent\n\n constructor(router) {\n super(router);\n this.cursorYInitial = null;\n this.rowInitial = null;\n this.placeholder = null;\n this.dragSrcEl = null;\n this.dragSrcRow = null;\n\n this.hookupTableCellDdls = this.hookupTableCellDdls.bind(this);\n }\n \n initialize(isPopState = false) {\n throw new Error(\"Must implement initialize() method.\");\n }\n sharedInitialize(isPopState = false, isSinglePageApp = false) {\n if (!isPopState) {\n super.sharedInitialize();\n this.hookupFilters();\n this.hookupButtonsSaveCancel();\n this.hookupTableMain();\n OverlayConfirm.hookup(() => {\n if (isSinglePageApp) {\n this.saveRecordsTableDirtySinglePageApp();\n }\n else {\n this.saveRecordsTableDirty();\n }\n });\n } else {\n let dataPage = this.getLocalStoragePage();\n let filters = dataPage[flagFormFilters];\n let formFilters = TableBasePage.getFormFilters();\n let filtersDefault = DOM.convertForm2JSON(formFilters);\n if (!Validation.areEqualDicts(filters, filtersDefault)) {\n this.callFilterTableContent();\n }\n }\n }\n hookupFilters() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method hookupFilters().\");\n }\n }\n sharedHookupFilters() {\n this.hookupButtonApplyFilters();\n this.hookupSearchTextFilter();\n }\n hookupFilterActive() {\n let filterSelector = idFormFilters + ' #' + flagActiveOnly;\n let filterActiveOld = document.querySelector(filterSelector);\n filterActiveOld.removeAttribute('id');\n let parentDiv = filterActiveOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterActiveNew = document.querySelector(idFormFilters + ' div.' + flagActiveOnly + '.' + flagContainerInput + ' svg.' + flagActiveOnly);\n filterActiveNew.setAttribute('id', flagActiveOnly);\n if (isChecked) filterActiveNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterActive) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterActive });\n Utils.consoleLogIfNotProductionEnvironment({ [filterActive.tagName]: filterActive.tagName });\n let svgElement = (filterActive.tagName.toUpperCase() == 'SVG') ? filterActive : filterActive.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterActive);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n hookupFilter(filterFlag, handler = (event, filter) => { return this.handleChangeFilter(event, filter); }) {\n let filterSelector = idFormFilters + ' #' + filterFlag;\n Events.hookupEventHandler(\"change\", filterSelector, handler);\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n handleChangeFilter(event, filter) {\n let isDirtyFilter = DOM.updateAndCheckIsElementDirty(filter);\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = isDirtyFilter || DOM.hasDirtyChildrenContainer(formFilters);\n let tbody = document.querySelector(idTableMain + ' tbody');\n let rows = tbody.querySelectorAll(':scope > tr');\n rows.forEach((row) => {\n if (areDirtyFilters && !row.classList.contains(flagIsCollapsed)) row.classList.add(flagIsCollapsed);\n if (!areDirtyFilters && row.classList.contains(flagIsCollapsed)) {\n row.classList.remove(flagIsCollapsed);\n let dirtyInputs = row.querySelectorAll('input.' + flagDirty);\n dirtyInputs.forEach((dirtyInput) => {\n dirtyInput.value = DOM.getElementAttributeValueCurrent(dirtyInput);\n });\n }\n });\n if (areDirtyFilters) {\n /*\n tbody.querySelectorAll('tr').forEach((tr) => { \n if (!DOM.hasDirtyChildrenContainer(tr)) tr.remove(); \n });\n */\n tbody.innerHTML = '
Press \"Apply Filters\" to refresh the table.
' + tbody.innerHTML;\n if (!tbody.classList.contains(flagIsCollapsed)) tbody.classList.add(flagIsCollapsed);\n }\n else {\n let isDirtyLabel = tbody.querySelector(\":scope > div\");\n if (isDirtyLabel != null) isDirtyLabel.remove();\n if (tbody.classList.contains(flagIsCollapsed)) tbody.classList.remove(flagIsCollapsed);\n let initialisedElements = tbody.querySelectorAll('.' + flagInitialised);\n initialisedElements.forEach((initialisedElement) => {\n initialisedElement.classList.remove(flagInitialised);\n });\n this.hookupTableMain();\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupFilterIsNotEmpty() {\n this.hookupFilter(flagIsNotEmpty);\n }\n hookupButtonApplyFilters() {\n Events.hookupEventHandler(\"click\", idButtonApplyFilters, (event, button) => {\n event.stopPropagation();\n this.callFilterTableContent();\n });\n }\n hookupSearchTextFilter() {\n this.hookupFilter(flagSearch);\n }\n hookupFilterDog() {\n this.hookupFilter(attrIdDog); \n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory, (event, filterCommandCategory) => {\n this.handleChangeFilter();\n let isDirtyFilter = filterCommandCategory.classList.contains(flagDirty);\n let idCommandCategory = DOM.getElementValueCurrent(filterCommandCategory);\n console.log(\"filter commands unsorted\");\n console.log(Utils.getListFromDict(filterCommands));\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => command[attrIdCommandCategory] == idCommandCategory);\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let filterCommand = document.querySelector(idFormFilters + ' .' + flagCommand);\n let idCommandPrevious = DOM.getElementAttributeValuePrevious(filterCommand);\n filterCommand.innerHTML = '';\n let optionJson, option;\n option = DOM.createOption(null);\n filterCommand.appendChild(option);\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command, idCommandPrevious);\n option = DOM.createOption(optionJson);\n filterCommand.appendChild(option);\n });\n filterCommand.dispatchEvent(new Event('change'));\n return isDirtyFilter;\n });\n }\n hookupFilterCommand() {\n this.hookupFilter(attrIdCommand);\n }\n hookupFilterLocation() {\n this.hookupFilter(attrIdLocation);\n }\n /*\n getAndLoadFilteredTableContent = () => {\n this.callFilterTableContent()\n .catch(error => console.error('Error:', error));\n }\n */\n static getFormFilters() {\n return document.querySelector(idFormFilters);\n }\n callFilterTableContent() {\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"callFilterTableContent\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(this.constructor.hash, filtersJson);\n }\n callbackLoadTableContent(response) {\n let table = TableBasePage.getTableMain();\n let bodyTable = table.querySelector('tbody');\n bodyTable.querySelectorAll('tr').forEach(function(row) { row.remove(); });\n let rowsJson = response.data[flagRows];\n if (!Validation.isEmpty(rowsJson) && rowsJson.every(row => row.hasOwnProperty('display_order'))) {\n rowsJson = rowsJson.sort((a, b) => a.display_order - b.display_order);\n }\n rowsJson.forEach(this.loadRowTable.bind(this));\n this.hookupTableMain();\n }\n static getTableMain() {\n return document.querySelector(idTableMain);\n }\n loadRowTable(rowJson) {\n throw new Error(\"Subclass of TableBasePage must implement method loadRowTable().\");\n }\n getAndLoadFilteredTableContentSinglePageApp() {\n this.callFilterTableContent()\n .then(data => {\n Utils.consoleLogIfNotProductionEnvironment('Table data received:', data);\n this.callbackLoadTableContent(data);\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonsSaveCancel() {\n this.hookupButtonSave();\n this.hookupButtonCancel();\n this.toggleShowButtonsSaveCancel(false);\n }\n saveRecordsTableDirty() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n /*\n Utils.consoleLogIfNotProductionEnvironment({ formElement, comment, records });\n Utils.consoleLogIfNotProductionEnvironment('records');\n Utils.consoleLogIfNotProductionEnvironment(records);\n debugger;\n */\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callFilterTableContent();\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n getTableRecords(dirtyOnly = false) {\n let records = [];\n let record;\n document.querySelectorAll(idTableMain + ' > tbody > tr').forEach((row) => {\n if (dirtyOnly && !DOM.hasDirtyChildrenContainer(row)) return;\n record = this.getJsonRow(row);\n records.push(record);\n });\n return records;\n }\n getJsonRow(row) {\n throw new Error(\"Subclass of TableBasePage must implement method getJsonRow().\");\n }\n saveRecordsTableDirtySinglePageApp() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callbackLoadTableContent(data);\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonCancel() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n this.callFilterTableContent();\n });\n button.classList.add(flagIsCollapsed);\n });\n }\n handleClickAddRowTable(event, button) {\n event.stopPropagation();\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - _rowBlank.getAttribute(this.constructor.attrIdRowObject));\n let tbody = document.querySelector(idTableMain + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlank.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n row.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n this.initialiseRowNew(tbody, row);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableMain();\n this.postInitialiseRowNewCallback(tbody);\n }\n initialiseRowNew(tbody, row) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method initialiseRowNew().\");\n }\n // row.classList.remove(flagRowNew);\n }\n hookupTableMain() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement hookupTableMain() method.\");\n }\n Events.initialiseEventHandler(idTableMain, flagInitialised, (table) => {\n this.cacheRowBlank();\n });\n }\n cacheRowBlank() {\n let selectorRowNew = idTableMain + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n _rowBlank = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n }\n postInitialiseRowNewCallback(tbody) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method postInitialiseRowNewCallback(tbody).\");\n }\n }\n initialiseSliderDisplayOrderRowNew(tbody, row) {\n // let tdSelector = ':scope > tr > td.' + flagDisplayOrder;\n // let tbody = document.querySelector('table' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody');\n let slidersDisplayOrder = tbody.querySelectorAll(':scope > tr > td.' + flagDisplayOrder + ' input.' + flagSlider);\n let maxDisplayOrder = 0;\n slidersDisplayOrder.forEach((slider) => {\n maxDisplayOrder = Math.max(maxDisplayOrder, parseFloat(DOM.getElementValueCurrent(slider)));\n });\n let sliderDisplayOrder = row.querySelector('td.' + flagDisplayOrder + ' .' + flagSlider);\n DOM.setElementValuesCurrentAndPrevious(sliderDisplayOrder, maxDisplayOrder + 1);\n }\n hookupSlidersDisplayOrderTable() {\n let selectorDisplayOrder = idTableMain + ' tbody tr td.' + flagDisplayOrder + ' input.' + flagSlider + '.' + flagDisplayOrder;\n this.hookupChangeHandlerTableCells(selectorDisplayOrder);\n }\n hookupChangeHandlerTableCells(inputSelector, handler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.initialiseEventHandler(inputSelector, flagInitialised, (input) => {\n input.addEventListener(\"change\", (event) => {\n handler(event, input);\n });\n handler(null, input);\n });\n }\n handleChangeNestedElementCellTable(event, element) {\n let wasDirtyParentRows = this.getAllIsDirtyRowsInParentTree(element);\n let wasDirtyElement = element.classList.contains(flagDirty);\n let isDirtyElement = DOM.updateAndCheckIsElementDirty(element);\n // Utils.consoleLogIfNotProductionEnvironment({isDirtyElement, wasDirtyElement, wasDirtyParentRows});\n // let td = DOM.getCellFromElement(element);\n // DOM.setElementAttributeValueCurrent(td, DOM.getElementAttributeValueCurrent(element));\n if (isDirtyElement != wasDirtyElement) {\n // DOM.handleDirtyElement(td, isDirtyElement);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows);\n }\n }\n getAllIsDirtyRowsInParentTree(element) {\n let rows = [];\n let parent = element;\n let isDirty;\n while (parent) {\n if (parent.tagName.toUpperCase() == 'TR') {\n isDirty = parent.classList.contains(flagDirty)\n rows.push(isDirty);\n }\n parent = parent.parentElement;\n }\n return rows;\n }\n cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows) {\n if (Validation.isEmpty(wasDirtyParentRows)) return;\n let tr = DOM.getRowFromElement(element);\n let isDirtyRow = isDirtyElement || DOM.hasDirtyChildrenContainer(tr);\n let wasDirtyRow = wasDirtyParentRows.shift();\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(tr, isDirtyRow);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(tr.parentElement, isDirtyRow, wasDirtyParentRows);\n }\n }\n hookupChangeHandlerTableCellsWhenNotCollapsed(inputSelector, handler = (event, element) => {\n if (!element.classList.contains(flagIsCollapsed)) this.handleChangeNestedElementCellTable(event, element);\n }) {\n Events.hookupEventHandler(\"change\", inputSelector, handler);\n }\n hookupFieldsCodeTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagCode + ' > .' + flagCode);\n }\n hookupFieldsNameTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagName + ' > .' + flagName);\n }\n hookupFieldsDescriptionTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagDescription + ' > .' + flagDescription);\n }\n hookupFieldsNotesTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagNotes + ' > .' + flagNotes);\n }\n hookupFieldsActive(flagTable = '', handleClickRowNew = (event, element) => { this.handleClickAddRowTable(event, element); }) {\n let selectorButton = 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody > tr > td.' + flagActive + ' .' + flagButton + '.' + flagActive;\n let selectorButtonDelete = selectorButton + '.' + flagDelete;\n let selectorButtonUndelete = selectorButton + ':not(.' + flagDelete + ')';\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsActive: \", selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete);\n Events.hookupEventHandler(\n \"click\"\n , 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > thead > tr > th.' + flagActive + ' .' + flagButton + '.' + flagActive\n , (event, button) => { handleClickRowNew(event, button); }\n );\n }\n hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonDelete, (event, element) => {\n this.handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = element.classList.contains(flagDirty);\n let row = DOM.getRowFromElement(element);\n if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {\n row.parentNode.removeChild(row);\n }\n else {\n let buttonAddTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagAdd);\n let buttonAdd = buttonAddTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonAdd, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonAdd, false);\n if (wasDirty) buttonAdd.classList.add(flagDirty);\n element.replaceWith(buttonAdd);\n changeHandler(null, buttonAdd);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonUndelete, (event, element) => {\n this.handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = DOM.isElementDirty(element);\n let buttonDeleteTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagDelete);\n let buttonDelete = buttonDeleteTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonDelete, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonDelete, true);\n if (wasDirty) buttonDelete.classList.add(flagDirty);\n element.replaceWith(buttonDelete);\n changeHandler(null, buttonDelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupTdsAccessLevel() {\n this.hookupTableCellDdlPreviews(flagAccessLevel, Utils.getListFromDict(accessLevels));\n }\n hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n if (cellSelector == null) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + fieldFlag, (event, div) => {\n this.handleClickTableCellDdlPreview(\n event\n , div\n , fieldFlag\n , optionList\n , cellSelector\n , (ddlSelector) => { ddlHookup(\n ddlSelector\n , (event, element) => { changeHandler(event, element); }\n ); }\n );\n });\n ddlHookup(cellSelector + ' select.' + fieldFlag);\n }\n hookupTableCellDdls(ddlSelector, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { changeHandler(event, element); });\n }\n handleClickTableCellDdlPreview(event, div, fieldFlag, optionObjectList, cellSelector = null, ddlHookup = (cellSelector) => { this.hookupTableCellDdls(cellSelector); }) {\n if (Validation.isEmpty(cellSelector)) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n let idSelected = DOM.getElementAttributeValueCurrent(div);\n let td = DOM.getCellFromElement(div);\n td.innerHTML = '';\n let ddl = document.createElement('select');\n ddl.classList.add(fieldFlag);\n DOM.setElementValuesCurrentAndPrevious(ddl, idSelected);\n let optionJson, option;\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"click table cell ddl preview\");\n Utils.consoleLogIfNotProductionEnvironment({optionObjectList, cellSelector});\n }\n option = DOM.createOption(null);\n ddl.appendChild(option);\n optionObjectList.forEach((optionObjectJson) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(optionObjectJson, idSelected);\n option = DOM.createOption(optionJson);\n ddl.appendChild(option);\n });\n td.appendChild(ddl);\n let ddlSelector = cellSelector + ' select.' + fieldFlag;\n ddlHookup(ddlSelector);\n }\n /*\n hookupTableCellDDlPreviewsWhenNotCollapsed(cellSelector, optionList, ddlHookup = (event, element) => { this.hookupTableCellDdls(event, element); }) {\n Events.hookupEventHandler(\"click\", cellSelector + ' div', (event, div) => {\n this.handleClickTableCellDdlPreview(event, div, optionList, cellSelector, (event, element) => { ddlHookup(event, element); });\n });\n }\n */\n toggleColumnCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n toggleColumnHeaderCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n\n hookupFieldsCommandCategory(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , idTable + ' > tbody > tr > td.' + flagCommandCategory // + ' .' + flagCommandCategory\n , (cellSelector) => { this.hookupCommandCategoryDdls(cellSelector); }\n );\n }\n hookupCommandCategoryDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeCommandCategoryDdl(event, element); });\n }\n handleChangeCommandCategoryDdl(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (\n idCommandCategoryRowOld == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n ) return;\n console.log({ idCommandCategoryRowNew, idCommandCategoryRowOld });\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let tdCommand = row.querySelector('td.' + flagCommand);\n tdCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n hookupFieldsCommand(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n Events.hookupEventHandler(\"click\", idTable + ' > tbody > tr > td.' + flagCommand + ' div.' + flagCommand, (event, div) => {\n Utils.consoleLogIfNotProductionEnvironment(div);\n let parentTr = DOM.getRowFromElement(div);\n Utils.consoleLogIfNotProductionEnvironment({ div, parentTr });\n let tdCommandCategory = parentTr.querySelector('td.' + flagCommandCategory);\n let idCommandCategoryRow = this.getIdCommandCategoryRow(parentTr); // DOM.getElementAttributeValueCurrent(tdCommandCategory);\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let filterCommandList = Utils.getListFromDict(filterCommands);\n let commandsInCategory = filterCommandList.filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRow\n || idCommandCategoryRow == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n Utils.consoleLogIfNotProductionEnvironment({ tdCommandCategory, idCommandCategoryRow, idCommandCategoryFilter, filterCommandList, commandsInCategory });\n Utils.consoleLogIfNotProductionEnvironment(filterCommandList);\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagCommand // fieldFlag\n , sortedCommands // optionList\n , idTable + ' > tbody > tr > td.' + flagCommand // cellSelector\n , (cellSelector) => { this.hookupTableCellDdls(\n cellSelector\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n idTable + ' > tbody > tr > td.' + flagCommand + ' select.' + flagCommand\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n );\n }\n handleChangeCommandDdl(event, ddlCommand) {\n // console.log(\"handle change command ddl\");\n let row = DOM.getRowFromElement(ddlCommand);\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row);\n let idCommandNew = this.getIdCommandRow(row);\n let commandNew = filterCommands[idCommandNew];\n // console.log({ idCommandCategoryRowOld, commandNew });\n if (commandNew == null || idCommandCategoryRowOld == commandNew[attrIdCommandCategory]) return;\n let divCommandCategory = row.querySelector('td.' + flagCommandCategory + ' div');\n if (divCommandCategory) divCommandCategory.dispatchEvent(new Event('click'));\n let ddlCommandCategory = row.querySelector('td.' + flagCommandCategory + ' select.' + flagCommandCategory);\n DOM.setElementValueCurrent(ddlCommandCategory, commandNew[attrIdCommandCategory]);\n // console.log({ ddlCommandCategory, commandNew });\n this.handleChangeNestedElementCellTable(event, ddlCommandCategory);\n }\n getIdCommandCategoryRow(tr) {\n let elementCommandCategory = tr.querySelector('td.' + flagCommandCategory + ' .' + flagCommandCategory);\n return DOM.getElementAttributeValueCurrent(elementCommandCategory);\n }\n getIdCommandCategoryFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let idCommandCategory = 0;\n if (formFilters == null) return idCommandCategory;\n let commandCategoryFilter = formFilters.querySelector('#' + attrIdCommandCategory);\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandCategoryFilter = DOM.getElementAttributeValueCurrent(commandCategoryFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandCategoryFilter });\n if (valueCurrentCommandCategoryFilter == \"\") {\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandFilter });\n if (valueCurrentCommandFilter != \"\") {\n let command = filterCommands[valueCurrentCommandFilter];\n idCommandCategory = command[attrIdCommandCategory];\n }\n } else {\n idCommandCategory = Number(valueCurrentCommandCategoryFilter);\n }\n return idCommandCategory;\n }\n getHasCommandCategoryFilter() {\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n return !(Validation.isEmpty(idCommandCategoryFilter) || idCommandCategoryFilter == 0);\n }\n getIdCommandRow(tr) {\n let elementCommand = tr.querySelector('td.' + flagCommand + ' .' + flagCommand);\n return DOM.getElementAttributeValueCurrent(elementCommand);\n }\n getIdCommandFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n let idCommand = Number(valueCurrentCommandFilter);\n return idCommand;\n }\n getHasCommandFilter() {\n let idCommandFilter = this.getIdCommandFilter();\n return !(Validation.isEmpty(idCommandFilter) || idCommandFilter == 0);\n }\n hookupFieldsDog() {\n this.hookupTableCellDdlPreviews(flagDog, Utils.getListFromDict(filterDogs));\n }\n getIdDogRow(tr) {\n let elementDog = tr.querySelector('td.' + flagDog + ' .' + flagDog);\n return DOM.getElementAttributeValueCurrent(elementDog);\n }\n /*\n createTdActive(isActive) {\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive);\n let buttonActive = document.createElement(\"button\");\n buttonActive.classList.add(flagActive);\n buttonActive.classList.add(isActive ? flagDelete : flagAdd);\n buttonActive.textContent = isActive ? 'x' : '+';\n DOM.setElementAttributesValuesCurrentAndPrevious(buttonActive, isActive);\n tdActive.appendChild(buttonActive);\n return tdActive;\n }\n */\n leave() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n super.leave();\n let formFilters = TableBasePage.getFormFilters();\n let dataPage = {};\n dataPage[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n this.setLocalStoragePage(dataPage);\n }\n\n toggleColumnHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n let columnThHasFlag = columnTh.classList.contains(classnameFlag);\n if (isRequiredFlag == columnThHasFlag) return;\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n toggleColumnHeaderHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n\n updateAndToggleShowButtonsSaveCancel() {\n let records = this.getTableRecords(true);\n let isDirtyMainTable = records.length > 0;\n\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters);\n\n console.log({ records, isDirtyMainTable, formFilters, areDirtyFilters });\n\n this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters);\n }\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport TableBasePage from \"../base_table.js\";\n\nexport default class DogMixinPage {\n constructor(pageCurrent) {\n this.page = pageCurrent;\n }\n\n initialize() {\n Utils.consoleLogIfNotProductionEnvironment('hookup dog start for ', this.page.hash);\n this.hookupFilters();\n this.hookupLocalStorageDog();\n }\n hookupFilters() {\n }\n hookupLocalStorageDog() {\n \n }\n\n /*\n hookupDogCardsProduct() {\n \n let d; // , lsShared;\n let selectorCardProduct = '.card.subcard';\n Events.initialiseEventHandler(selectorCardProduct, flagInitialised, function(cardProduct) {\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"initialising product card: \", cardProduct); }\n cardProduct.addEventListener(\"click\", function(event) {\n // d = { keyIdProduct: product.getAttribute(attrIdProduct) }\n var elemClicked = event.target;\n if (elemClicked.id != 'submit') { // disable for submit buttons\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"product click: \" + cardProduct.getAttribute(attrIdProduct));\n Utils.consoleLogIfNotProductionEnvironment(\"permutation click: \" + cardProduct.getAttribute(attrIdPermutation));\n }\n var d = {}\n d[keyIdProduct] = cardProduct.getAttribute(attrIdProduct)\n d[keyIdPermutation] = cardProduct.getAttribute(attrIdPermutation)\n // send quantity requested\n goToPage(hashPageDogProduct, d);\n }\n });\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"click method added for product ID: \" + cardProduct.getAttribute(attrIdProduct) + ', permutation ID: ', cardProduct.getAttribute(attrIdPermutation)); }\n });\n }\n */\n \n leave() {}\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport DogMixinPage from \"./mixin.js\";\nimport Utils from \"../../lib/utils.js\";\n\nexport default class DogTableMixinPage extends DogMixinPage {\n constructor(pageCurrent) {\n super(pageCurrent);\n }\n initialize() {\n super.initialize();\n this.hookupFilters();\n this.hookupTable();\n }\n hookupFilters() {\n // Implement filter-specific functionality here\n }\n hookupTable() {\n // Implement table-specific functionality here\n }\n hookupFieldsLocation() {\n this.page.hookupTableCellDdlPreviews(\n flagLocation\n , Utils.getListFromDict(filterLocations) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n}","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandCategories extends TableBasePage {\n static hash = hashPageDogCommandCategories;\n static attrIdRowObject = attrIdCommandCategory;\n callSaveTableContent = API.saveCommandCategories;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCommandCategory] = row.getAttribute(attrIdCommandCategory);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommands extends TableBasePage {\n static hash = hashPageDogCommands;\n static attrIdRowObject = attrIdCommand;\n callSaveTableContent = API.saveCommands;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterActive();\n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let inputHandSignalDefaultDescription = row.querySelector('td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n let inputCanHaveButton = row.querySelector('td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n /*\n Utils.consoleLogIfNotProductionEnvironment({ inputName, inputHandSignalDefaultDescription, inputCanHaveButton, inputNotes, buttonActive });\n debugger;\n */\n\n let jsonRow = {};\n jsonRow[attrIdCommand] = row.getAttribute(attrIdCommand);\n jsonRow[attrIdCommandCategory] = this.getIdCommandCategoryRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagHandSignalDefaultDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDefaultDescription);\n jsonRow[flagCanHaveButton] = (DOM.getElementAttributeValueCurrent(inputCanHaveButton) == \"true\");\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsNameTable();\n this.hookupTextareasHandSignalDefaultDescription();\n this.hookupFieldsCanHaveButton();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsCommandCategory() {\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories)\n );\n }\n hookupTextareasHandSignalDefaultDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n }\n hookupFieldsCanHaveButton() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogDogCommandLinks extends TableBasePage {\n static hash = hashPageDogDogCommandLinks;\n static attrIdRowObject = attrIdDogCommandLink;\n callSaveTableContent = API.saveDogCommandLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterDog();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdDogCommandLink] = row.getAttribute(attrIdDogCommandLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDog();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupTextareasHandSignalDescription();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupTextareasHandSignalDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDescription + ' .' + flagHandSignalDescription);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogLocations extends TableBasePage {\n static hash = hashPageDogLocations;\n static attrIdRowObject = attrIdLocation;\n callSaveTableContent = API.saveLocations;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdLocation] = row.getAttribute(attrIdLocation);\n jsonRow[flagLocationParent] = this.getIdLocationParentRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdLocationParentRow(row) {\n let elementLocationParent = row.querySelector('td.' + flagLocationParent + ' .' + flagLocationParent);\n return DOM.getElementAttributeValueCurrent(elementLocationParent);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagLocationParent + ' div.' + flagLocationParent\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsLocationParent();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsLocationParent() {\n /*\n this.hookupTableCellDdlPreviews(\n flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] == idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , null // cellSelector\n , (cellSelector) => { this.hookupLocationParentDdls(cellSelector); }\n ,\n );\n\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n\n */\n let cellSelector = idTableMain + ' > tbody > tr > td.' + flagLocationParent;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + flagLocationParent, (event, div) => {\n let row = DOM.getRowFromElement(div);\n let idLocationRow = Number(row.getAttribute(attrIdLocation));\n Utils.consoleLogIfNotProductionEnvironment({ idLocationRow });\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] != idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , cellSelector\n , (ddlSelector) => { this.hookupTableCellDdls(\n ddlSelector\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n cellSelector + ' select.' + flagLocationParent\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n );\n }\n /*\n hookupLocationParentDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeNestedElementCellTable(event, element); });\n }\n */\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogButtonIcons extends TableBasePage {\n static hash = hashPageDogButtonIcons;\n static attrIdRowObject = attrIdButtonIcon;\n callSaveTableContent = API.saveButtonIcons;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdButtonIcon] = row.getAttribute(attrIdButtonIcon);\n jsonRow[flagImage] = this.getIdImageRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdImageRow(row) {\n let elementImage = row.querySelector('td.' + flagImage + ' .' + flagImage);\n return DOM.getElementAttributeValueCurrent(elementImage);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagImage + ' div.' + flagImage\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsImage();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsImage() {\n this.hookupTableCellDdlPreviews(\n flagImage\n , Utils.getListFromDict(buttonicons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandButtonLinks extends TableBasePage {\n static hash = hashPageDogCommandButtonLinks;\n static attrIdRowObject = attrIdCommandButtonLink;\n callSaveTableContent = API.saveCommandButtonLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterButtonShape();\n this.hookupFilterColour();\n this.hookupFilterButtonIcon();\n this.hookupFilterLocation();\n this.hookupFilterActive();\n }\n hookupFilterButtonShape() {\n this.hookupFilter(attrIdButtonShape);\n }\n hookupFilterColour() {\n this.hookupFilter(attrIdColour);\n }\n hookupFilterButtonIcon() {\n this.hookupFilter(attrIdButtonIcon);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdCommandButtonLink] = row.getAttribute(attrIdCommandButtonLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupFieldsButtonShape();\n this.hookupFieldsColour();\n this.hookupFieldsButtonIcon();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsActive();\n }\n hookupFieldsButtonShape() {\n this.hookupTableCellDdlPreviews(\n flagButtonShape\n , Utils.getListFromDict(filterButtonShapes) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsColour() {\n this.hookupTableCellDdlPreviews(\n flagColour\n , Utils.getListFromDict(filterColours) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsButtonIcon() {\n this.hookupTableCellDdlPreviews(\n flagButtonIcon\n , Utils.getListFromDict(filterButtonIcons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nvar _rowBlankDistraction;\nvar _rowBlankAssessmentCommandModalityLink;\n\nexport default class PageDogAssessment extends TableBasePage {\n static hash = hashPageDogAssessment;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessmentsDistractionsAndResponses;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getTableRecords(dirtyOnly = false) {\n dirtyOnly = true;\n let row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment);\n return [this.getJsonRow(row)];\n }\n getJsonRow(row) {\n console.log(\"getJsonRow: \", row);\n if (row == null) return;\n let inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather);\n let inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel);\n let inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n let inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation);\n let inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler);\n let inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n // let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n let idAssessment = row.getAttribute(attrIdAssessment);\n let jsonRow = {};\n jsonRow[attrIdAssessment] = idAssessment;\n jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather);\n jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius);\n jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation);\n jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete);\n jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment);\n jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment);\n console.log({ jsonRow });\n return jsonRow;\n }\n getDirtyDistractions(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n // dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputDistractionType, distractionType,\n inputIntensityLevelEmotional, intensityLevelEmotional,\n inputIntensityLevelScent, intensityLevelScent,\n inputIntensityLevelSight, intensityLevelSight,\n inputIntensityLevelSound, intensityLevelSound,\n inputIntensityLevelTouch, intensityLevelTouch,\n inputQuantity, quantity,\n inputProximityMetres, proximityMetres,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyDistractions');\n console.log({ dirtyRows });\n let dirtyDistractions = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType);\n distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType);\n inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional);\n intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional);\n inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent);\n intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent);\n inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight);\n intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight);\n inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound);\n intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound);\n inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch);\n intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch);\n inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity);\n quantity = DOM.getElementAttributeValueCurrent(inputQuantity);\n inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres);\n proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyDistractions.push({\n [attrIdDistraction]: dirtyRow.getAttribute(attrIdDistraction)\n , [attrIdAssessment]: idAssessment\n , [attrIdDistractionType]: distractionType\n , [flagDistractionIntensityLevelEmotional]: intensityLevelEmotional\n , [flagDistractionIntensityLevelScent]: intensityLevelScent\n , [flagDistractionIntensityLevelSight]: intensityLevelSight\n , [flagDistractionIntensityLevelSound]: intensityLevelSound\n , [flagDistractionIntensityLevelTouch]: intensityLevelTouch\n , [flagQuantity]: quantity\n , [flagProximityMetres]: proximityMetres\n , [flagNotes]: notes\n , [flagActive]: active\n });\n };\n return dirtyDistractions;\n }\n getDirtyAssessmentCommandModalityLinks(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow, idAssessmentCommandModalityLink,\n inputCommand, command,\n inputCommandModality, commandModality,\n inputBribe, bribe,\n inputDistanceFromHandler, distanceFromhandler,\n inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler,\n inputIsInScentRangeOfHandler, isInScentRangeOfHandler,\n inputIsInSightOfHandler, isInSightOfHandler,\n inputIsOnLead, isOnLead,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentCommandModalityLinks');\n console.log({ dirtyRows });\n let dirtyLinks = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink);\n inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand);\n command = DOM.getElementAttributeValueCurrent(inputCommand);\n inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality);\n commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality);\n inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe);\n bribe = DOM.getElementAttributeValueCurrent(inputBribe);\n inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler);\n inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler);\n inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler);\n inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler);\n inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead);\n isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyLinks.push({\n [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdAssessment]: idAssessment\n , [attrIdCommand]: command\n , [attrIdCommandModality]: commandModality\n , [attrIdBribe]: bribe\n , [flagDistanceFromHandlerMetres]: distanceFromhandler\n , [flagIsInHearingRangeOfHandler]: isInHearingRangeOfHandler\n , [flagIsInScentRangeOfHandler]: isInScentRangeOfHandler\n , [flagIsInSightOfHandler]: isInSightOfHandler\n , [flagIsOnLead]: isOnLead\n , [flagNotes]: notes\n , [flagActive]: active\n , [flagAssessmentResponse]: this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink)\n });\n }\n return dirtyLinks;\n }\n getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) {\n let dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputResponseQualityMetric, responseQualityMetric,\n inputObedienceLevel, obedienceLevel,\n inputValueMeasured, valueMeasured,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentResponses');\n console.log({ dirtyRows });\n let dirtyResponses = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric);\n responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric);\n inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel);\n obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel);\n inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyResponses.push({\n [attrIdAssessmentResponse]: dirtyRow.getAttribute(attrIdAssessmentResponse)\n , [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdResponseQualityMetric]: responseQualityMetric\n , [attrIdObedienceLevel]: obedienceLevel\n , [flagValueMeasured]: valueMeasured\n , [flagNotes]: notes\n , [flagActive]: active\n });\n }\n return dirtyResponses;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagWeather + ' div.' + flagWeather\n , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel\n , ',td.' + flagLocation + ' div.' + flagLocation\n , ',td.' + flagUserHandler + ' div.' + flagUserHandler\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n callFilterTableContent() {\n if (assessment[attrIdAssessment] < 1) {\n let formFilters = TableBasePage.getFormFilters();\n let filterAssessment = formFilters.querySelector('#' + attrIdAssessment);\n DOM.setElementValueCurrent(filterAssessment, '');\n }\n super.callFilterTableContent();\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupTableAssessmentHeader();\n this.hookupTableDistractions();\n this.hookupTableAssessmentCommandModalityLinks();\n }\n hookupTableAssessmentHeader() {\n this.hookupTableAssessmentFieldWeather();\n this.hookupTableAssessmentFieldLightingLevel();\n this.hookupTableAssessmentFieldTemperature();\n this.hookupTableAssessmentFieldLocation();\n this.hookupTableAssessmentFieldUserHandler();\n this.hookupTableAssessmentFieldNotes();\n if (assessment[attrIdAssessment] < 1) {\n let tbody = document.querySelector(idTableAssessment + ' tbody');\n let row = tbody.querySelector('tr');\n row.classList.add(flagRowNew);\n this.postInitialiseRowNewCallback(tbody);\n }\n }\n hookupTableAssessmentFieldWeather() {\n let fieldFlag = flagWeather;\n let optionList = Utils.getListFromDict(filterWeathers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagWeather;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldLightingLevel() {\n let fieldFlag = flagLightingLevel;\n let optionList = Utils.getListFromDict(filterLightingLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLightingLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldTemperature() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n }\n hookupTableAssessmentFieldLocation() {\n let fieldFlag = flagLocation;\n let optionList = Utils.getListFromDict(filterLocations); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLocation;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldUserHandler() {\n let fieldFlag = flagUserHandler;\n let optionList = Utils.getListFromDict(filterUserHandlers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessment + ' td.' + flagUserHandler;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractions() {\n Events.initialiseEventHandler(idTableDistractions, flagInitialised, (table) => {\n let selectorRowNew = idTableDistractions + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n _rowBlankDistraction = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - countRows);\n });\n\n this.hookupTableDistractionsFieldsDistractionType();\n this.hookupTableDistractionsFieldsIntensityLevelEmotional();\n this.hookupTableDistractionsFieldsIntensityLevelScent();\n this.hookupTableDistractionsFieldsIntensityLevelSight();\n this.hookupTableDistractionsFieldsIntensityLevelSound();\n this.hookupTableDistractionsFieldsIntensityLevelTouch();\n this.hookupTableDistractionsFieldsQuantity();\n this.hookupTableDistractionsFieldsProximityMetres();\n this.hookupTableDistractionsFieldsNotes();\n this.hookupTableDistractionsFieldsActive();\n }\n hookupTableDistractionsFieldsDistractionType() {\n let fieldFlag = flagDistractionType;\n let optionList = Utils.getListFromDict(filterDistractionTypes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionType;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelEmotional() {\n let fieldFlag = flagDistractionIntensityLevelEmotional;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelEmotional;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelScent() {\n let fieldFlag = flagDistractionIntensityLevelScent;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelScent;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSight() {\n let fieldFlag = flagDistractionIntensityLevelSight;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSight;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSound() {\n let fieldFlag = flagDistractionIntensityLevelSound;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSound;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelTouch() {\n let fieldFlag = flagDistractionIntensityLevelTouch;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelTouch;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsQuantity() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagQuantity + ' .' + flagQuantity);\n }\n hookupTableDistractionsFieldsProximityMetres() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagProximityMetres + ' .' + flagProximityMetres);\n }\n hookupTableDistractionsFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractionsFieldsActive() {\n this.hookupFieldsActive(flagDistraction, (event, element) => { this.handleClickAddRowTableDistractions(event, element); });\n }\n handleClickAddRowTableDistractions(event, button) {\n event.stopPropagation();\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - _rowBlankDistraction.getAttribute(attrIdDistraction));\n let tbody = document.querySelector(idTableDistractions + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankDistraction.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n row.setAttribute(attrIdDistraction, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableDistractions();\n this.postInitialiseDistractionRowNewCallback(tbody);\n }\n postInitialiseDistractionRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDistractionType + ' div.' + flagDistractionType\n , ',td.' + flagDistractionIntensityLevelEmotional + ' div.' + flagDistractionIntensityLevelEmotional\n , ',td.' + flagDistractionIntensityLevelScent + ' div.' + flagDistractionIntensityLevelScent\n , ',td.' + flagDistractionIntensityLevelSight + ' div.' + flagDistractionIntensityLevelSight\n , ',td.' + flagDistractionIntensityLevelSound + ' div.' + flagDistractionIntensityLevelSound\n , ',td.' + flagDistractionIntensityLevelTouch + ' div.' + flagDistractionIntensityLevelTouch\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n hookupTableAssessmentCommandModalityLinks() {\n Events.initialiseEventHandler(idTableAssessmentCommandModalityLinks, flagInitialised, (table) => {\n let selectorRowNew = idTableAssessmentCommandModalityLinks + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n _rowBlankAssessmentCommandModalityLink = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n });\n\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandCategory();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommand();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality();\n this.hookupTableAssessmentCommandModalityLinksFieldsBribe();\n this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsOnLead();\n this.hookupTableAssessmentCommandModalityLinksFieldsTrialCount();\n this.hookupTableAssessmentCommandModalityLinksFieldsNotes();\n this.hookupTableAssessmentCommandModalityLinksFieldsResponses();\n this.hookupTableAssessmentCommandModalityLinksFieldsActive();\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandCategory() {\n this.hookupFieldsCommandCategory(idTableAssessmentCommandModalityLinks);\n /*\n let fieldFlag = flagCommandCategory;\n let optionList = Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandCategory;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n , (tdSelector) => { this.hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(tdSelector); }\n , (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); }\n );\n */\n }\n /*\n hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); });\n }\n handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (idCommandCategoryRowOld == idCommandCategoryRowNew) return;\n let divCommand = row.querySelector('td.' + flagCommand + ' div');\n if (divCommand) divCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n */\n hookupTableAssessmentCommandModalityLinksFieldsCommand() {\n this.hookupFieldsCommand(idTableAssessmentCommandModalityLinks);\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandModality() {\n let fieldFlag = flagCommandModality;\n let optionList = Utils.getListFromDict(filterCommandModalities); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandModality;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsBribe() {\n let fieldFlag = flagBribe;\n let optionList = Utils.getListFromDict(filterBribes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagBribe;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsOnLead() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsOnLead + ' .' + flagIsOnLead);\n }\n hookupTableAssessmentCommandModalityLinksFieldsTrialCount() {\n // this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagTrialCount + ' .' + flagTrialCount);\n }\n hookupTableAssessmentCommandModalityLinksFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' > tbody > tr > td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentCommandModalityLinksFieldsResponses() {\n let eventType = \"click\";\n let selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse;\n let handler = (event, element) => {\n let parentTd = DOM.getCellFromElement(element);\n let rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink);\n let idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink);\n let responsesTable = document.createElement(\"table\");\n responsesTable.id = idTableAssessmentResponses.replace(\"#\", \"\");\n responsesTable.classList.add(flagTableMain, flagAssessmentResponse);\n\n let head = document.createElement(\"thead\");\n let headRow = document.createElement(\"tr\");\n let thResponseQualityMetric = document.createElement(\"th\");\n thResponseQualityMetric.classList.add(flagResponseQualityMetric);\n thResponseQualityMetric.innerText = 'Response Quality Metric';\n headRow.appendChild(thResponseQualityMetric);\n let thObedienceLevel = document.createElement(\"th\");\n thObedienceLevel.classList.add(flagObedienceLevel);\n thObedienceLevel.innerText = 'Obedience Level';\n headRow.appendChild(thObedienceLevel);\n let thValueMeasured = document.createElement(\"th\");\n thValueMeasured.classList.add(flagValueMeasured);\n thValueMeasured.innerText = 'Value Measured';\n headRow.appendChild(thValueMeasured);\n let thNotes = document.createElement(\"th\");\n thNotes.classList.add(flagNotes);\n thNotes.innerText = 'Notes';\n headRow.appendChild(thNotes);\n let thActive = document.createElement(\"th\");\n thActive.classList.add(flagActive);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n thActive.appendChild(templateAddIcon.cloneNode(true));\n headRow.appendChild(thActive);\n head.appendChild(headRow);\n responsesTable.appendChild(head);\n\n let body = document.createElement(\"tbody\");\n \n let assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(link => link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink);\n let assessmentCommandModalityLink = (assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0) ? null : assessmentCommandModalityLinks[0];\n let responses = (assessmentCommandModalityLink == null) ? null : assessmentCommandModalityLink[flagAssessmentResponse];\n \n console.log({ assessmentCommandModalityLinks, responses });\n if (responses != null && responses.length > 0) {\n for (let responseKey in Object.keys(responses)) {\n let response = responses[responseKey];\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(response);\n body.appendChild(row);\n }\n }\n responsesTable.appendChild(body);\n\n parentTd.innerHTML = responsesTable.outerHTML;\n\n let responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse);\n if (responseRows != null && responseRows.length > 0) {\n for (let indexRow = 0; indexRow < responseRows.length; indexRow++) {\n let row = responseRows[indexRow];\n // let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse);\n \n let response = responses[indexRow]; // idAssessmentResponse];\n console.log({ indexRow, row, response }); // idAssessmentResponse,\n let inputValueMeasured = row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n DOM.setElementValueCurrent(inputValueMeasured, response[flagValueMeasured]);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n DOM.setElementValueCurrent(inputNotes, response[flagNotes]);\n }\n }\n\n this.hookupTablesAssessmentResponses();\n };\n Events.hookupEventHandler(\n eventType\n , selector\n , handler\n );\n this.hookupTablesAssessmentResponses();\n }\n static createNewRowTableAssessmentResponses(response) {\n if (response == null) response = {\n [attrIdAssessmentResponse]: null\n , [attrIdResponseQualityMetric]: {\n [attrIdResponseQualityMetric]: 0\n }\n , [attrIdObedienceLevel]: {\n [attrIdObedienceLevel]: 0\n }\n , [flagValueMeasured]: ''\n , [flagNotes]: ''\n , [flagActive]: true\n };\n console.log({ response });\n let isNew = (response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1);\n let row = document.createElement(\"tr\");\n row.classList.add(flagAssessmentResponse);\n if (isNew) row.classList.add(flagRowNew);\n row.setAttribute(attrIdAssessmentResponse, response[attrIdAssessmentResponse]);\n\n let tdResponseQualityMetric = document.createElement(\"td\");\n tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview);\n let divResponseQualityMetric = document.createElement(\"div\");\n divResponseQualityMetric.classList.add(flagResponseQualityMetric);\n let idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric];\n let responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric];\n DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric);\n divResponseQualityMetric.innerText = (responseQualityMetric == null) ? '' : responseQualityMetric[flagName];\n tdResponseQualityMetric.appendChild(divResponseQualityMetric);\n row.appendChild(tdResponseQualityMetric);\n\n let tdObedienceLevel = document.createElement(\"td\");\n tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview);\n let divObedienceLevel = document.createElement(\"div\");\n divObedienceLevel.classList.add(flagObedienceLevel);\n let idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel];\n let obedienceLevel = filterObedienceLevels[idObedienceLevel];\n DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel);\n divObedienceLevel.innerText = (obedienceLevel == null) ? '' : obedienceLevel[flagName];\n tdObedienceLevel.appendChild(divObedienceLevel);\n row.appendChild(tdObedienceLevel);\n\n let tdValueMeasured = document.createElement(\"td\");\n tdValueMeasured.classList.add(flagValueMeasured, flagDdlPreview);\n let inputValueMeasured = document.createElement(\"input\");\n inputValueMeasured.type = \"number\";\n inputValueMeasured.classList.add(flagValueMeasured);\n let valueMeasured = response[flagValueMeasured];\n DOM.setElementValueCurrent(inputValueMeasured, valueMeasured);\n DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured);\n tdValueMeasured.appendChild(inputValueMeasured);\n row.appendChild(tdValueMeasured);\n\n let tdNotes = document.createElement(\"td\");\n tdNotes.classList.add(flagNotes, flagDdlPreview);\n let inputNotes = document.createElement(\"textarea\");\n inputNotes.classList.add(flagNotes);\n let notes = response[flagNotes];\n DOM.setElementValueCurrent(inputNotes, notes);\n DOM.setElementAttributeValuePrevious(inputNotes, notes);\n tdNotes.appendChild(inputNotes);\n row.appendChild(tdNotes);\n\n console.log(inputValueMeasured.tagName);\n console.log(inputNotes.tagName);\n console.log({ valueMeasured, notes });\n\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive, flagDdlPreview);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n let templateDeleteIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete);\n let buttonActive = (response[flagActive]) ? templateDeleteIcon.cloneNode(true) : templateAddIcon.cloneNode(true);\n tdActive.appendChild(buttonActive);\n row.appendChild(tdActive);\n\n return row;\n }\n hookupTablesAssessmentResponses() {\n this.hookupTableAssessmentResponsesFieldsResponseQualityMetric();\n this.hookupTableAssessmentResponsesFieldsObedienceLevel();\n this.hookupTableAssessmentResponsesFieldsValueMeasured();\n this.hookupTableAssessmentResponsesFieldsNotes();\n this.hookupTableAssessmentResponsesFieldsActive();\n }\n hookupTableAssessmentResponsesFieldsResponseQualityMetric() {\n let fieldFlag = flagResponseQualityMetric;\n let optionList = Utils.getListFromDict(filterResponseQualityMetrics); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagResponseQualityMetric;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsObedienceLevel() {\n let fieldFlag = flagObedienceLevel;\n let optionList = Utils.getListFromDict(filterObedienceLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagObedienceLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsValueMeasured() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagValueMeasured + ' .' + flagValueMeasured);\n }\n hookupTableAssessmentResponsesFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentResponsesFieldsActive() {\n this.hookupFieldsActive(flagAssessmentResponse, (event, element) => { this.handleClickAddRowTableAssessmentResponses(event, element); });\n }\n handleClickAddRowTableAssessmentResponses(event, button) {\n event.stopPropagation();\n let tableResponses = DOM.getClosestParent(button, \"table\");\n let tbody = tableResponses.querySelector(\":scope > tbody\");\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(null);\n if (tbody.classList.contains(flagIsCollapsed)) return;\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentResponse, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTablesAssessmentResponses();\n this.postInitialiseAssessmentResponseRowNewCallback(tbody);\n }\n postInitialiseAssessmentResponseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagResponseQualityMetric + ' div.' + flagResponseQualityMetric\n , ',td.' + flagObedienceLevel + ' div.' + flagObedienceLevel\n , ',td.' + flagValueMeasured + ' div.' + flagValueMeasured\n , ',td.' + flagNotes + ' div.' + flagNotes\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n let countActiveRows = tbody.querySelectorAll('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete).length;\n /*\n newRows.filter(row => {\n let activeButton = row.querySelector('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n return activeButton.classList.contains(flagDelete);\n }).length;\n */\n let rowAssessmentCommandModalityLink = DOM.getRowFromElement(tbody);\n let divTrialCount = rowAssessmentCommandModalityLink.querySelector('td.' + flagTrialCount + ' div.' + flagTrialCount);\n divTrialCount.innerText = countActiveRows;\n }\n\n hookupTableAssessmentCommandModalityLinksFieldsActive() {\n this.hookupFieldsActive(flagAssessmentCommandModalityLink, (event, element) => { this.handleClickAddRowTableAssessmentCommandModalityLinks(event, element); });\n }\n handleClickAddRowTableAssessmentCommandModalityLinks(event, button) {\n event.stopPropagation();\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - _rowBlankAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink));\n let tbody = document.querySelector(idTableAssessmentCommandModalityLinks + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankAssessmentCommandModalityLink.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableAssessmentCommandModalityLinks();\n this.postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody);\n }\n postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n , ',td.' + flagCommandModality + ' div.' + flagCommandModality\n , ',td.' + flagBribe + ' div.' + flagBribe\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogAssessments extends TableBasePage {\n static hash = hashPageDogAssessments;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessments;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterWeather();\n this.hookupFilterLightingLevel();\n this.hookupFilterLocation();\n this.hookupFilterHandler();\n this.hookupFilterActive();\n }\n hookupFilterWeather() {\n this.hookupFilter(attrIdWeather);\n }\n hookupFilterLightingLevel() {\n this.hookupFilter(attrIdLightingLevel);\n }\n hookupFilterHandler() {\n this.hookupFilter(flagUserHandler);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);\n jsonRow[attrIdWeather] = this.getIdWeatherRow(row);\n jsonRow[attrIdLightingLevel] = this.getIdLightingLevelRow(row);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemperatureCelcius);\n jsonRow[attrIdLocation] = this.getIdLocationRow(row);\n jsonRow[flagUserHandler] = this.getIdUserHandlerRow(row);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n getIdWeatherRow(tr) {\n let elementWeather = tr.querySelector('td.' + flagWeather + ' .' + flagWeather);\n return DOM.getElementAttributeValueCurrent(elementWeather);\n }\n getIdLightingLevelRow(tr) {\n let elementLightingLevel = tr.querySelector('td.' + flagLightingLevel + ' .' + flagLightingLevel);\n return DOM.getElementAttributeValueCurrent(elementLightingLevel);\n }\n getIdLocationRow(tr) {\n let elementLocation = tr.querySelector('td.' + flagLocation + ' .' + flagLocation);\n return DOM.getElementAttributeValueCurrent(elementLocation);\n }\n getIdUserHandlerRow(tr) {\n let elementUserHandler = tr.querySelector('td.' + flagUserHandler + ' .' + flagUserHandler);\n return DOM.getElementAttributeValueCurrent(elementUserHandler);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDetail + ' .' + flagDetail\n ].join('');\n let detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => {\n clickableElement.\n clickableElement.click();\n });\n */\n newestRow.classList.add(flagIsCollapsed);\n detailButton.click();\n // console.log({ newestRow, detailButton });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDetail();\n this.hookupFieldsWeather();\n this.hookupFieldsLightingLevel();\n this.hookupFieldsTemperature();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsHandler();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsDetail() {\n Events.hookupEventHandler(\n \"click\" // eventType\n , idTableMain + ' td.' + flagDetail + ' button.' + flagDetail // selector\n , (event, element) => {\n let parentTr = DOM.getRowFromElement(element);\n let idAssessment = parentTr.getAttribute(attrIdAssessment);\n /*\n console.log(\"click detail\");\n console.log({ element, parentTr, idAssessment });\n const data = {};\n const params = {\n [attrIdAssessment]: idAssessment\n };\n API.request(\n hashPageDogAssessment // hashEndpoint\n , 'GET' // method\n , data\n , params\n );\n */\n\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = idAssessment;\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsDetail\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(hashPageDogAssessment, filtersJson);\n }\n );\n }\n hookupFieldsWeather() {\n this.hookupTableCellDdlPreviews(\n flagWeather\n , Utils.getListFromDict(filterWeathers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsLightingLevel() {\n this.hookupTableCellDdlPreviews(\n flagLightingLevel\n , Utils.getListFromDict(filterLightingLevels) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsTemperature() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagTemperatureCelcius + ' input.' + flagTemperatureCelcius);\n }\n hookupFieldsHandler() {\n this.hookupTableCellDdlPreviews(\n flagUserHandler\n , Utils.getListFromDict(filterUserHandlers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCalendarEntries extends TableBasePage {\n static hash = hashPageDogCalendarEntries;\n static attrIdRowObject = attrIdCalendarEntry;\n callSaveTableContent = API.saveCalendarEntries;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n // this.hookupFilterCalendarEntryType();\n this.hookupFilterActive();\n }\n /*\n hookupFilterCalendarEntryType() {\n let filterSelector = idFormFilters + ' #' + attrIdCalendarEntryType;\n let filterCalendarEntryTypeOld = document.querySelector(filterSelector);\n filterCalendarEntryTypeOld.removeAttribute('id');\n let parentDiv = filterCalendarEntryTypeOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterCalendarEntryTypeNew = document.querySelector(idFormFilters + ' div.' + flagCalendarEntryTypeOnly + '.' + flagContainerInput + ' svg.' + flagCalendarEntryTypeOnly);\n filterCalendarEntryTypeNew.setAttribute('id', flagCalendarEntryTypeOnly);\n if (isChecked) filterCalendarEntryTypeNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterCalendarEntryType) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterCalendarEntryType });\n Utils.consoleLogIfNotProductionEnvironment({ [filterCalendarEntryType.tagName]: filterCalendarEntryType.tagName });\n let svgElement = (filterCalendarEntryType.tagName.toUpperCase() == 'SVG') ? filterCalendarEntryType : filterCalendarEntryType.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterCalendarEntryType);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n */\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCalendarEntry] = row.getAttribute(attrIdCalendarEntry);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityReport extends BasePage {\n static hash = hashPageAccessibilityReport;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityStatement extends BasePage {\n static hash = hashPageAccessibilityStatement;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageLicense extends BasePage {\n static hash = hashPageLicense;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","\nimport BasePage from \"../base.js\";\n\nexport default class PagePrivacyPolicy extends BasePage {\n static hash = hashPagePrivacyPolicy;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","import BasePage from \"../base.js\";\n\nexport default class PageRetentionSchedule extends BasePage {\n static hash = hashPageDataRetentionSchedule;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\n// Pages\n// Core\nimport PageHome from './pages/core/home.js';\nimport PageContact from './pages/core/contact.js';\nimport PageContactSuccess from './pages/core/contact-success.js';\n// Dog\nimport PageDogHome from './pages/dog/home.js';\nimport PageDogCommandCategories from './pages/dog/command_categories.js';\nimport PageDogCommands from './pages/dog/commands.js';\nimport PageDogDogCommandLinks from './pages/dog/dog_command_links.js';\n// import PageDogDogs from './pages/dog/dogs.js';\nimport PageDogLocations from './pages/dog/locations.js';\nimport PageDogButtonIcons from './pages/dog/button_icons.js';\nimport PageDogCommandButtonLinks from './pages/dog/command_button_links.js';\nimport PageDogAssessment from './pages/dog/assessment.js';\nimport PageDogAssessments from './pages/dog/assessments.js';\nimport PageDogCalendarEntries from './pages/dog/calendar_entries.js'\n// Legal\nimport PageAccessibilityReport from './pages/legal/accessibility_report.js';\nimport PageAccessibilityStatement from './pages/legal/accessibility_statement.js';\nimport PageLicense from './pages/legal/license.js';\nimport PagePrivacyPolicy from './pages/legal/privacy_policy.js';\nimport PageRetentionSchedule from './pages/legal/retention_schedule.js';\n// User\n// import PageUserLogin from './pages/user/login.js';\n// import PageUserLogout from './pages/user/logout.js';\n// import PageUserAccount from './pages/user/account.js';\n\nimport API from './api.js';\nimport DOM from './dom.js';\nimport Utils from './lib/utils.js';\n\n\nexport default class Router {\n constructor() {\n // Pages\n this.pages = {};\n // Core\n this.pages[hashPageHome] = { name: 'PageHome', module: PageHome };\n this.pages[hashPageContact] = { name: 'PageContact', module: PageContact };\n this.pages[hashPageContactSuccess] = { name: 'PageContactSuccess', module: PageContactSuccess };\n // Dog\n this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome };\n this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories };\n this.pages[hashPageDogCommands] = { name: 'PageDogCommands', module: PageDogCommands };\n this.pages[hashPageDogDogCommandLinks] = { name: 'PageDogDogCommandLinks', module: PageDogDogCommandLinks };\n // this.pages[hashPageDogDogs] = { name: 'PageDogDogs', module: PageDogDogs };\n this.pages[hashPageDogLocations] = { name: 'PageDogLocations', module: PageDogLocations };\n this.pages[hashPageDogButtonIcons] = { name: 'PageDogButtonIcons', module: PageDogButtonIcons };\n this.pages[hashPageDogCommandButtonLinks] = { name: 'PageDogCommandButtonLinks', module: PageDogCommandButtonLinks };\n this.pages[hashPageDogAssessment] = { name: 'PageDogAssessment', module: PageDogAssessment };\n this.pages[hashPageDogAssessments] = { name: 'PageDogAssessments', module: PageDogAssessments };\n this.pages[hashPageDogCalendarEntries] = { name: 'PageDogCalendarEntries', module: PageDogCalendarEntries };\n // Legal\n this.pages[hashPageAccessibilityStatement] = { name: 'PageAccessibilityStatement', module: PageAccessibilityStatement };\n this.pages[hashPageDataRetentionSchedule] = { name: 'PageDataRetentionSchedule', module: PageRetentionSchedule };\n this.pages[hashPageLicense] = { name: 'PageLicense', module: PageLicense };\n this.pages[hashPagePrivacyPolicy] = { name: 'PagePrivacyPolicy', module: PagePrivacyPolicy };\n // User\n // this.pages[hashPageUserLogin] = { name: 'PageUserLogin', module: PageUserLogin }; // pathModule: './pages/user/login.js' };\n // this.pages[hashPageUserLogout] = { name: 'PageUserLogout', module: PageUserLogout }; // pathModule: './pages/user/logout.js' };\n // this.pages[hashPageUserAccount] = { name: 'PageUserAccount', module: PageUserAccount }; // pathModule: './pages/user/account.js' };\n // Routes\n this.routes = {};\n // Core\n this.routes[hashPageHome] = (isPopState = false) => this.navigateToHash(hashPageHome, isPopState);\n this.routes[hashPageContact] = (isPopState = false) => this.navigateToHash(hashPageContact, isPopState);\n this.routes[hashPageContactSuccess] = (isPopState = false) => this.navigateToHash(hashPageContactSuccess, isPopState);\n // Dog\n this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState);\n this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState);\n this.routes[hashPageDogCommands] = (isPopState = false) => this.navigateToHash(hashPageDogCommands, isPopState);\n this.routes[hashPageDogDogCommandLinks] = (isPopState = false) => this.navigateToHash(hashPageDogDogCommandLinks, isPopState);\n // this.routes[hashPageDogDogs] = (isPopState = false) => this.navigateToHash(hashPageDogDogs, isPopState);\n this.routes[hashPageDogLocations] = (isPopState = false) => this.navigateToHash(hashPageDogLocations, isPopState);\n this.routes[hashPageDogButtonIcons] = (isPopState = false) => this.navigateToHash(hashPageDogButtonIcons, isPopState);\n this.routes[hashPageDogCommandButtonLinks] = (isPopState = false) => this.navigateToHash(hashPageDogCommandButtonLinks, isPopState);\n this.routes[hashPageDogAssessment] = (isPopState = false) => this.navigateToHash(hashPageDogAssessment, isPopState);\n this.routes[hashPageDogAssessments] = (isPopState = false) => this.navigateToHash(hashPageDogAssessments, isPopState);\n this.routes[hashPageDogCalendarEntries] = (isPopState = false) => this.navigateToHash(hashPageDogCalendarEntries, isPopState);\n // Legal\n this.routes[hashPageAccessibilityStatement] = (isPopState = false) => this.navigateToHash(hashPageAccessibilityStatement, isPopState);\n this.routes[hashPageDataRetentionSchedule] = (isPopState = false) => this.navigateToHash(hashPageDataRetentionSchedule, isPopState);\n this.routes[hashPageLicense] = (isPopState = false) => this.navigateToHash(hashPageLicense, isPopState);\n this.routes[hashPagePrivacyPolicy] = (isPopState = false) => this.navigateToHash(hashPagePrivacyPolicy, isPopState);\n // User\n // this.routes[hashPageUserLogin] = (isPopState = false) => this.navigateToHash(hashPageUserLogin, isPopState);\n // this.routes[hashPageUserLogout] = (isPopState = false) => this.navigateToHash(hashPageUserLogout, isPopState);\n // this.routes[hashPageUserAccount] = (isPopState = false) => this.navigateToHash(hashPageUserAccount, isPopState);\n this.initialize();\n }\n loadPage(hashPage, isPopState = false) {\n const PageClass = this.getClassPageFromHash(hashPage);\n this.currentPage = new PageClass(this);\n this.currentPage.initialize(isPopState);\n window.addEventListener('beforeunload', () => this.currentPage.leave());\n }\n getClassPageFromHash(hashPage) {\n \n let pageJson = this.pages[hashPage];\n try {\n const module = pageJson.module;\n return module; \n }\n catch (error) {\n Utils.consoleLogIfNotProductionEnvironment(\"this.pages: \", this.pages);\n console.error('Page not found:', hashPage);\n throw error;\n }\n }\n initialize() {\n window.addEventListener('popstate', this.handlePopState.bind(this));\n }\n handlePopState(event) {\n this.loadPageCurrent();\n }\n loadPageCurrent() {\n const hashPageCurrent = DOM.getHashPageCurrent();\n this.loadPage(hashPageCurrent);\n }\n navigateToHash(hash, data = null, params = null, isPopState = false) {\n let url = API.getUrlFromHash(hash, params);\n history.pushState({data: data, params: params}, '', hash);\n API.goToUrl(url, data);\n }\n \n navigateToUrl(url, data = null, appendHistory = true) {\n // this.beforeLeave();\n if (appendHistory) history.pushState(data, '', url);\n url = API.parameteriseUrl(url, data);\n API.goToUrl(url);\n }\n\n static loadPageBodyFromResponse(response) {\n DOM.loadPageBody(response.data);\n }\n}\n\nexport const router = new Router();\n","\n'use strict';\n\nimport DOM from './dom.js';\nimport Router from './router.js';\n\n\nclass App {\n constructor() {\n this.dom = new DOM();\n this.router = new Router();\n }\n\n initialize() {\n this.setupEventListeners();\n this.start();\n }\n\n setupEventListeners() {\n // document.addEventListener('click', this.handleGlobalClick.bind(this));\n }\n\n handleGlobalClick(event) {\n }\n\n start() {\n this.initPageCurrent();\n }\n\n initPageCurrent() {\n this.router.loadPageCurrent();\n }\n \n}\n\nconst app = new App();\n\nfunction domReady(fn) {\n if (document.readyState !== 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n}\n\ndomReady(() => {\n app.initialize();\n});\n\nwindow.app = app;\n\nexport default app;","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":["Validation","_classCallCheck","_createClass","key","value","isEmpty","object","undefined","length","isString","trim","i","isValidNumber","positiveOnly","isNaN","parseFloat","getDataContentType","params","data","contentType","JSON","stringify","Data","ContentType","arrayContainsItem","array","itemValue","hasItem","isJQueryElementArray","jQuery","document","querySelectorAll","is","isDate","Date","getTime","dictHasKey","d","k","areEqualDicts","dict1","dict2","keys1","Object","keys","keys2","_i3","_keys","imageExists","url","callback","img","Image","onload","onerror","src","toFixedOrDefault","decimalPlaces","defaultValue","arguments","toFixed","default","Utils","DOM","setElementAttributesValuesCurrentAndPrevious","element","setElementAttributeValueCurrent","setElementAttributeValuePrevious","setAttribute","attrValueCurrent","attrValuePrevious","setElementValuesCurrentAndPrevious","setElementValueCurrent","tagName","toUpperCase","type","checked","textContent","setElementValueCurrentIfEmpty","getElementValueCurrent","getCellFromElement","closest","getRowFromElement","flagRow","selector","getClosestParent","parentSelector","parent","parentElement","matches","convertForm2JSON","elementForm","dataForm","containersFilter","flagContainerInput","flagFilter","containerFilter","labelFilter","keyFilter","filter","indexFilter","querySelector","getAttribute","concat","loadPageBody","contentNew","pageBody","idPageBody","innerHTML","getHashPageCurrent","hashPageCurrent","body","dataset","page","updateAndCheckIsElementDirty","isElementDirty","isDirty","handleDirtyElement","toggleElementHasClassnameFlag","flagDirty","elementHasFlag","flag","elementAlreadyHasFlag","classList","contains","add","remove","hasDirtyChildrenContainer","container","hasDirtyChildrenNotDeletedContainer","flagDelete","returnVal","flagButton","flagActive","getElementAttributeValueCurrent","flagCheckbox","flagIsChecked","getElementAttributeValuePrevious","scrollToElement","scrollTop","offset","top","isElementInContainer","containerBounds","getBoundingClientRect","elementBounds","left","height","width","alertError","errorType","errorText","alert","createOptionUnselectedProductVariation","_defineProperty","flagProductVariationType","flagNameAttrOptionText","flagName","flagNameAttrOptionValue","attrIdProductVariationType","flagProductVariation","attrIdProductVariation","createOption","optionJson","text","option","createElement","selected","escapeHtml","div","unescapeHtml","html","innerText","Events","initialiseEventHandler","selectorElement","classInitialised","eventHandler","forEach","hookupEventHandler","eventType","flagInitialised","addEventListener","event","stopPropagation","LocalStorage","getLocalStorage","parse","localStorage","getItem","setLocalStorage","newLS","setItem","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","_objectSpread","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPrimitive","toPrimitive","String","Number","API","getCsrfToken","idCSRFToken","_request","_callee","hashEndpoint","csrfToken","options","response","_args","_callee$","_context","getUrlFromHash","headers","flagCsrfToken","fetch","ok","status","json","t0","console","error","request","_x","hash","hashPageHome","parameteriseUrl","_pathHost","URLSearchParams","toString","goToUrl","window","location","href","goToHash","_loginUser","_callee2","_callee2$","_context2","flagCallback","hashPageUserLogin","loginUser","_saveCommandCategories","_callee3","commandCategories","formFilters","comment","dataRequest","_callee3$","_context3","flagFormFilters","flagCommandCategory","flagComment","hashSaveDogCommandCategory","saveCommandCategories","_x2","_x3","_x4","_saveCommands","_callee4","commands","_callee4$","_context4","flagCommand","hashSaveDogCommand","saveCommands","_x5","_x6","_x7","_saveDogCommandLinks","_callee5","dogCommandLinks","_callee5$","_context5","flagDogCommandLink","hashSaveDogDogCommandLink","saveDogCommandLinks","_x8","_x9","_x10","_saveLocations","_callee6","locations","_callee6$","_context6","flagLocation","hashSaveDogLocation","saveLocations","_x11","_x12","_x13","_saveButtonIcons","_callee7","buttonIcons","_callee7$","_context7","flagButtonIcon","hashSaveDogButtonIcon","saveButtonIcons","_x14","_x15","_x16","_saveCommandButtonLinks","_callee8","links","_callee8$","_context8","flagCommandButtonLink","hashSaveDogCommandButtonLink","saveCommandButtonLinks","_x17","_x18","_x19","_saveAssessments","_callee9","assessments","_callee9$","_context9","flagAssessment","hashSaveDogAssessment","saveAssessments","_x20","_x21","_x22","_saveAssessmentsDistractionsAndResponses","_callee10","filtersJson","_callee10$","_context10","attrIdAssessment","hashSaveDogAssessmentDistractionAndResponse","saveAssessmentsDistractionsAndResponses","_x23","_x24","_x25","getListFromDict","dict","list","consoleLogIfNotProductionEnvironment","message","environment","is_production","log","OverlayConfirm","hookup","callbackSuccess","idOverlayConfirm","flagCancel","buttonCancel","overlay","style","visibility","flagSubmit","buttonConfirm","textarea","show","flagIsCollapsed","BusinessObjects","OverlayError","BasePage","router","title","titlePageCurrent","initialize","sharedInitialize","logInitialisation","hookupCommonElements","hookupLogos","hookupNavigation","hookupOverlays","_this","flagImageLogo","flagLogo","navigateToHash","idButtonHamburger","overlayHamburger","idOverlayHamburger","flagExpanded","hookupButtonsNavHome","hookupButtonsNavContact","hookupButtonsNavUserAccount","hookupButtonsNavUserLogout","hookupButtonsNavUserLogin","hookupButtonsNavDogHome","hookupButtonsNavDogCommandCategories","hookupButtonsNavDogCommands","hookupButtonsNavDogDogCommandLinks","hookupButtonsNavDogDogs","hookupButtonsNavDogLocations","hookupButtonsNavDogButtonIcons","hookupButtonsNavDogCommandButtonLinks","hookupButtonsNavDogAssessments","hookupButtonsNavDogCalendarEntries","hookupButtonsNav","flagNavHome","buttonSelector","hashPageNav","_this2","button","flagNavContact","hashPageContact","flagNavUserAccount","hashPageUserAccount","flagNavUserLogout","hashPageUserLogout","_this3","flagNavUserLogin","navigator","leave","Success","Message","flagNavDogHome","hashPageDogHome","flagNavDogCommandCategories","hashPageDogCommandCategories","flagNavDogCommands","hashPageDogCommands","flagNavDogDogCommandLinks","hashPageDogDogCommandLinks","flagNavDogDogs","hashPageDogDogs","flagNavDogLocations","hashPageDogLocations","flagNavDogButtonIcons","hashPageDogButtonIcons","flagNavDogCommandButtonLinks","hashPageDogCommandButtonLinks","flagNavDogAssessments","hashPageDogAssessments","flagNavDogCalendarEntries","hashPageDogCalendarEntries","hookupOverlayFromId","idOverlayError","idOverlay","display","hookupButtonSave","_this4","flagContainer","flagSave","target","setLocalStoragePage","dataPage","getLocalStoragePage","toggleShowButtonsSaveCancel","buttonContainerSelector","buttonSave","idButtonSave","idButtonCancel","isDirtyFilter","idTableMain","PageHome","_BasePage","_callSuper","_inherits","_superPropGet","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","_get","get","bind","_superPropBase","_setPrototypeOf","_wrapNativeSuper","Map","_isNativeFunction","has","set","Wrapper","_construct","Boolean","valueOf","Function","indexOf","_toArray","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_iterableToArrayLimit","_createForOfIteratorHelper","_n2","F","test","hi","Or","gi","ne","zr","H","Mt","WeakSet","Ut","en","Fr","self","Blob","_i","URL","webkitURL","createObjectURL","Worker","revokeObjectURL","_unused","encodeURIComponent","mi","Qr","_Qr$v","_window$__svelte","__svelte","Set","wi","pi","yi","bi","Ei","xi","Wt","tn","rn","Je","W","$i","Mr","oe","nn","It","Yt","pe","ze","yt","re","bt","K","ye","et","Ke","St","ki","Zt","Ci","ln","ut","an","Ai","on","Ri","Ii","Et","xt","Pe","Si","Ti","Ni","sn","fn","Li","requestIdleCallback","setTimeout","dt","vt","un","cn","Gt","queueMicrotask","Di","Ur","dn","Pi","vn","Oi","zi","Fi","Mi","Ui","ji","Vi","Bi","qi","Hi","Wi","ue","reactions","equals","rv","wv","He","Yi","hn","ae","ce","Qi","P","Dn","includes","Zi","En","gn","A","ge","el","de","Lt","De","ctx","B","deps","effects","_n","we","Gi","Ji","Se","$n","mn","Ce","Tt","warn","D","Ge","O","Re","Xe","Te","Z","Ki","nodeType","le","Proxy","deleteProperty","isInteger","jr","w","m","z","T","Y","M","_iterator","_step","_step$value","err","Vr","wn","pn","yn","jt","userAgent","Element","Node","__click","__className","__attributes","__style","__e","Text","__t","Jt","createTextNode","me","G","appendChild","Br","Comment","he","after","before","Xi","wt","$t","kt","Oe","Kt","qr","ct","Ie","V","J","bn","Ct","ht","_a$reactions","tl","_unused2","rl","Nt","xn","Wr","At","_m$reactions","nl","Xt","hl","An","Cn","teardown","il","kn","al","ll","first","nodes_start","Rn","$","ol","_ol","Qe","sl","fl","ul","last","Fe","nodes_end","transitions","_f$effects","cl","Vt","_r$e","effect","reaction","Qt","dl","vl","outro","Bt","er","We","map","tr","Rt","_iterator2","_step2","In","gl","_iterator3","_step3","out","_iterator4","_step4","is_global","Hr","Sn","_iterator5","_step5","Tn","Nn","x","Ln","_l","ml","Yr","Pn","defaultPrevented","_iterator6","elements","_step6","__on_r","capture","On","wl","zn","qt","pl","ft","cancelBubble","startsWith","yl","passive","removeEventListener","bl","_iterator7","_step7","ownerDocument","composedPath","__root","assignedSlot","parentNode","host","disabled","_z","_z2","_iterator8","_step8","_loop","currentTarget","rr","content","Ae","ve","importNode","cloneNode","lastChild","El","ee","Fn","Mn","xl","_t$intro","intro","anchor","recover","Ye","_ref","_ref$props","props","events","context","_ref$intro","$$events","_iterator9","_step9","removeChild","Ht","WeakMap","$l","ke","_ref2","_ref3","parseInt","substring","Ze","_t2","kl","$$slots","children","Cl","_r$head","getRootNode","head","id","code","Zr","Al","Rl","removeAttribute","className","toggle","Il","Sl","Gr","hasAttribute","ie","Tl","Un","nodeName","Nl","_e$__attributes","namespaceURI","Jr","Ll","defaultChecked","Kr","Xr","jn","Dl","mt","Pl","C","_Pl","_Pl2","_ref4","be","N","$$legacy","X","se","U","Ol","zl","_e","te","_t$intro2","_r$get","_r$get2","_r$get3","hydrate","component","$$host","sync","_loop2","_Object$keys","_i2","$set","assign","$destroy","$on","_len","_key","Vn","HTMLElement","_HTMLElement","$$ctor","$$s","attachShadow","mode","$$l","$$c","$$l_u","_connectedCallback","_this5","_iterator10","_step10","_i4","_iterator11","_step11","_i5","_a","_iterator13","_step13","$$cn","Fl","$$d","attributes","$$g_p","pt","$$p_d","shadowRoot","$$me","$$r","_iterator12","_step12","reflect","attribute","connectedCallback","attributeChangedCallback","disconnectedCallback","_this6","_this7","find","toLowerCase","childNodes","slot","Ml","_Vn","_this8","Bn","TextEncoder","Ul","Uint8Array","padStart","join","jl","_jl","_args10","now","Math","round","random","qn","algorithm","challenge","salt","signature","_qn","_callee11","_callee11$","_context11","crypto","subtle","digest","encode","t1","Vl","AbortController","promise","signal","aborted","number","took","controller","Bl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused3","ql","atob","charCodeAt","Hl","floor","Wl","_Wl","_callee13","_args13","_callee13$","_context13","_ref7","_callee12","_callee12$","_context12","decrypt","iv","clearText","TextDecoder","decode","importKey","reject","E","ERROR","VERIFIED","VERIFYING","UNVERIFIED","EXPIRED","Yl","Zl","Gl","Jl","Kl","Xl","Ql","ea","ta","ra","na","ia","la","Lr","Dr","Ee","Me","min","hardwareConcurrency","tt","nr","ir","lr","rt","dispatchEvent","CustomEvent","detail","ar","documentElement","lang","split","Dt","origin","endsWith","Pt","wr","or","Q","ariaLinkLabel","expired","footer","label","verified","verifying","waitAlert","sr","Ue","R","j","nt","je","Ve","fe","xe","Ne","Xn","Qn","Hn","hr","gr","vr","clearTimeout","cr","dr","mr","I","Jn","pluginName","Ot","pr","it","$e","requestAnimationFrame","fr","btoa","_i6","_xe","destroy","ur","lt","Wn","_Wn","L","_","b","S","q","_L","qe","_L2","globalThis","Response","verifyurl","Er","Yn","Zn","blockedCountries","classifier","disableRules","email","expectedCountries","expectedLanguages","fields","ipAddress","Gn","reduce","replace","RegExp","_iterator14","altchaPlugins","_step14","clarify","dispatch","getConfiguration","xr","getFloatingAnchor","$r","getState","kr","solve","br","setState","Le","setFloatingAnchor","Cr","verify","_console","_len2","_key2","some","Kn","reportValidity","gt","_i7","_xe2","onErrorChange","preventDefault","requestSubmit","_r","_i8","_xe3","onStateChange","clientHeight","clientWidth","bottom","max","ei","_ei","_Zn","ot","st","vi","Pr","payload","classification","yr","_br","ti","maxnumber","solution","obfuscated","t2","t3","t4","_ti","_i10","_b2","_p","_args6","ceil","altchaCreateWorker","all","_i9","_b","postMessage","start","terminate","_it","auto","blockspam","customfetch","floatinganchor","delay","floatingoffset","floating","expire","challengeurl","debug","hidefooter","hidelogo","mockerror","refetchonexpire","spamfilter","strings","workers","workerurl","ri","state","_$e","_ref6","Ar","Rr","at","zt","Ir","ni","_t","Sr","Be","__change","Ft","ii","li","ai","oi","si","Tr","fi","Nr","ui","ci","di","required","configure","getPlugin","challengejson","plugins","customElements","Altcha","PageContact","hookupButtonSubmitFormContactUs","flagButtonPrimary","PageContactSuccess","hashPageContactSuccess","PageDogHome","hookupDogHome","getOptionJsonFromObjectJsonAndKeys","objectJson","keyText","keyValue","valueSelected","getOptionJsonFromObjectJson","getObjectText","getListObjectsFromIdDictAndCsv","idDict","idCsv","listObjects","ids","msgError","labelError","idLabelError","TableBasePage","cursorYInitial","rowInitial","placeholder","dragSrcEl","dragSrcRow","hookupTableCellDdls","isPopState","isSinglePageApp","hookupFilters","hookupButtonsSaveCancel","hookupTableMain","saveRecordsTableDirtySinglePageApp","saveRecordsTableDirty","filters","getFormFilters","filtersDefault","callFilterTableContent","sharedHookupFilters","hookupButtonApplyFilters","hookupSearchTextFilter","hookupFilterActive","filterSelector","idFormFilters","flagActiveOnly","filterActiveOld","parentDiv","isChecked","filterActiveNew","filterActive","svgElement","wasChecked","handleChangeFilter","filterValuePrevious","hookupFilter","filterFlag","handler","areDirtyFilters","tbody","rows","row","dirtyInputs","dirtyInput","isDirtyLabel","initialisedElements","initialisedElement","updateAndToggleShowButtonsSaveCancel","hookupFilterIsNotEmpty","flagIsNotEmpty","idButtonApplyFilters","flagSearch","hookupFilterDog","attrIdDog","hookupFilterCommandCategory","attrIdCommandCategory","filterCommandCategory","idCommandCategory","filterCommands","commandsInCategory","command","sortedCommands","sort","localeCompare","filterCommand","idCommandPrevious","Event","hookupFilterCommand","attrIdCommand","hookupFilterLocation","attrIdLocation","callbackLoadTableContent","table","getTableMain","bodyTable","rowsJson","flagRows","every","display_order","loadRowTable","rowJson","getAndLoadFilteredTableContentSinglePageApp","hookupButtonCancel","records","getTableRecords","formElement","idTextareaConfirm","callSaveTableContent","flagStatus","flagSuccess","_verbose","flagMessage","_this9","dirtyOnly","record","getJsonRow","_this10","_this11","handleClickAddRowTable","_rowBlank","attrIdRowObject","countRows","initialiseRowNew","prepend","postInitialiseRowNewCallback","_this12","cacheRowBlank","selectorRowNew","flagRowNew","rowBlankTemp","initialiseSliderDisplayOrderRowNew","slidersDisplayOrder","flagDisplayOrder","flagSlider","maxDisplayOrder","slider","sliderDisplayOrder","hookupSlidersDisplayOrderTable","selectorDisplayOrder","hookupChangeHandlerTableCells","inputSelector","_this13","handleChangeNestedElementCellTable","input","wasDirtyParentRows","getAllIsDirtyRowsInParentTree","wasDirtyElement","isDirtyElement","cascadeChangedIsDirtyNestedElementCellTable","isDirtyRow","wasDirtyRow","shift","hookupChangeHandlerTableCellsWhenNotCollapsed","_this14","hookupFieldsCodeTable","flagCode","hookupFieldsNameTable","hookupFieldsDescriptionTable","flagDescription","hookupFieldsNotesTable","flagNotes","hookupFieldsActive","_this15","flagTable","handleClickRowNew","selectorButton","selectorButtonDelete","selectorButtonUndelete","hookupButtonsRowDelete","hookupButtonsRowUndelete","_this16","changeHandler","handleClickButtonRowDelete","changeEvent","changeElement","_this17","valuePrevious","wasDirty","buttonAddTemplate","idContainerTemplateElements","flagAdd","buttonAdd","replaceWith","_this18","handleClickButtonRowUndelete","_this19","buttonDeleteTemplate","buttonDelete","hookupTdsAccessLevel","hookupTableCellDdlPreviews","flagAccessLevel","accessLevels","fieldFlag","optionList","_this20","cellSelector","ddlHookup","ddlSelector","handleClickTableCellDdlPreview","_this21","optionObjectList","_this22","idSelected","td","ddl","optionObjectJson","toggleColumnCollapsed","flagColumn","isCollapsed","toggleColumnHasClassnameFlag","toggleColumnHeaderCollapsed","hookupFieldsCommandCategory","_this23","idTable","filterCommandCategories","hookupCommandCategoryDdls","_this24","handleChangeCommandCategoryDdl","ddlCategory","idCommandCategoryRowOld","getIdCommandCategoryRow","idCommandCategoryRowNew","idCommandCategoryFilter","getIdCommandCategoryFilter","tdCommand","ddlCommand","hookupFieldsCommand","_this25","parentTr","tdCommandCategory","idCommandCategoryRow","filterCommandList","handleChangeCommandDdl","idCommandNew","getIdCommandRow","commandNew","divCommandCategory","ddlCommandCategory","elementCommandCategory","commandCategoryFilter","commandFilter","valueCurrentCommandCategoryFilter","valueCurrentCommandFilter","getHasCommandCategoryFilter","elementCommand","getIdCommandFilter","idCommand","getHasCommandFilter","idCommandFilter","hookupFieldsDog","flagDog","filterDogs","getIdDogRow","elementDog","columnFlag","isRequiredFlag","classnameFlag","columnTh","columnThHasFlag","toggleColumnHeaderHasClassnameFlag","isDirtyMainTable","DogMixinPage","pageCurrent","hookupLocalStorageDog","DogTableMixinPage","_DogMixinPage","hookupTable","hookupFieldsLocation","filterLocations","PageDogCommandCategories","_TableBasePage","dogMixin","inputCode","inputName","buttonActive","jsonRow","PageDogCommands","inputHandSignalDefaultDescription","flagHandSignalDefaultDescription","inputCanHaveButton","flagCanHaveButton","inputNotes","newRows","newestRow","clickableElementsSelector","clickableElement","click","hookupTextareasHandSignalDefaultDescription","hookupFieldsCanHaveButton","PageDogDogCommandLinks","inputHandSignalDescription","flagHandSignalDescription","attrIdDogCommandLink","hookupTextareasHandSignalDescription","PageDogLocations","flagLocationParent","getIdLocationParentRow","elementLocationParent","hookupFieldsLocationParent","idLocationRow","PageDogButtonIcons","attrIdButtonIcon","flagImage","getIdImageRow","elementImage","hookupFieldsImage","buttonicons","PageDogCommandButtonLinks","hookupFilterButtonShape","hookupFilterColour","hookupFilterButtonIcon","attrIdButtonShape","attrIdColour","attrIdCommandButtonLink","hookupFieldsButtonShape","hookupFieldsColour","hookupFieldsButtonIcon","flagButtonShape","filterButtonShapes","flagColour","filterColours","filterButtonIcons","_rowBlankDistraction","_rowBlankAssessmentCommandModalityLink","PageDogAssessment","idTableAssessment","inputWeather","flagWeather","inputLightingLevel","flagLightingLevel","inputTemeratureCelcius","flagTemperatureCelcius","inputLocation","inputUserHandler","flagUserHandler","idAssessment","attrIdWeather","attrIdLightingLevel","flagDistraction","getDirtyDistractions","flagAssessmentCommandModalityLink","getDirtyAssessmentCommandModalityLinks","dirtyRows","idTableDistractions","dirtyRow","inputDistractionType","distractionType","inputIntensityLevelEmotional","intensityLevelEmotional","inputIntensityLevelScent","intensityLevelScent","inputIntensityLevelSight","intensityLevelSight","inputIntensityLevelSound","intensityLevelSound","inputIntensityLevelTouch","intensityLevelTouch","inputQuantity","quantity","inputProximityMetres","proximityMetres","notes","active","dirtyDistractions","indexRow","_dirtyDistractions$pu","flagDistractionType","flagDistractionIntensityLevelEmotional","flagDistractionIntensityLevelScent","flagDistractionIntensityLevelSight","flagDistractionIntensityLevelSound","flagDistractionIntensityLevelTouch","flagQuantity","flagProximityMetres","flagIcon","attrIdDistraction","attrIdDistractionType","idTableAssessmentCommandModalityLinks","idAssessmentCommandModalityLink","inputCommand","inputCommandModality","commandModality","inputBribe","bribe","inputDistanceFromHandler","distanceFromhandler","inputIsInHearingRangeOfHandler","isInHearingRangeOfHandler","inputIsInScentRangeOfHandler","isInScentRangeOfHandler","inputIsInSightOfHandler","isInSightOfHandler","inputIsOnLead","isOnLead","dirtyLinks","_dirtyLinks$push","attrIdAssessmentCommandModalityLink","flagCommandModality","flagBribe","flagDistanceFromHandlerMetres","flagIsInHearingRangeOfHandler","flagIsInScentRangeOfHandler","flagIsInSightOfHandler","flagIsOnLead","attrIdCommandModality","attrIdBribe","flagAssessmentResponse","getDirtyAssessmentResponses","rowAssessmentCommandModalityLink","idTableAssessmentResponses","inputResponseQualityMetric","responseQualityMetric","inputObedienceLevel","obedienceLevel","inputValueMeasured","valueMeasured","dirtyResponses","flagResponseQualityMetric","flagObedienceLevel","flagValueMeasured","attrIdAssessmentResponse","attrIdResponseQualityMetric","attrIdObedienceLevel","assessment","filterAssessment","hookupTableAssessmentHeader","hookupTableDistractions","hookupTableAssessmentCommandModalityLinks","hookupTableAssessmentFieldWeather","hookupTableAssessmentFieldLightingLevel","hookupTableAssessmentFieldTemperature","hookupTableAssessmentFieldLocation","hookupTableAssessmentFieldUserHandler","hookupTableAssessmentFieldNotes","filterWeathers","filterLightingLevels","filterUserHandlers","hookupTableDistractionsFieldsDistractionType","hookupTableDistractionsFieldsIntensityLevelEmotional","hookupTableDistractionsFieldsIntensityLevelScent","hookupTableDistractionsFieldsIntensityLevelSight","hookupTableDistractionsFieldsIntensityLevelSound","hookupTableDistractionsFieldsIntensityLevelTouch","hookupTableDistractionsFieldsQuantity","hookupTableDistractionsFieldsProximityMetres","hookupTableDistractionsFieldsNotes","hookupTableDistractionsFieldsActive","filterDistractionTypes","filterDistractionIntensityLevels","handleClickAddRowTableDistractions","postInitialiseDistractionRowNewCallback","hookupTableAssessmentCommandModalityLinksFieldsCommandCategory","hookupTableAssessmentCommandModalityLinksFieldsCommand","hookupTableAssessmentCommandModalityLinksFieldsCommandModality","hookupTableAssessmentCommandModalityLinksFieldsBribe","hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres","hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsOnLead","hookupTableAssessmentCommandModalityLinksFieldsTrialCount","hookupTableAssessmentCommandModalityLinksFieldsNotes","hookupTableAssessmentCommandModalityLinksFieldsResponses","hookupTableAssessmentCommandModalityLinksFieldsActive","filterCommandModalities","filterBribes","parentTd","responsesTable","flagTableMain","headRow","thResponseQualityMetric","thObedienceLevel","thValueMeasured","thNotes","thActive","templateAddIcon","assessmentCommandModalityLinks","link","assessmentCommandModalityLink","responses","responseKey","createNewRowTableAssessmentResponses","outerHTML","responseRows","hookupTablesAssessmentResponses","hookupTableAssessmentResponsesFieldsResponseQualityMetric","hookupTableAssessmentResponsesFieldsObedienceLevel","hookupTableAssessmentResponsesFieldsValueMeasured","hookupTableAssessmentResponsesFieldsNotes","hookupTableAssessmentResponsesFieldsActive","filterResponseQualityMetrics","filterObedienceLevels","handleClickAddRowTableAssessmentResponses","tableResponses","postInitialiseAssessmentResponseRowNewCallback","countActiveRows","divTrialCount","flagTrialCount","handleClickAddRowTableAssessmentCommandModalityLinks","postInitialiseAssessmentCommandModalityLinkRowNewCallback","isNew","tdResponseQualityMetric","flagDdlPreview","divResponseQualityMetric","idResponseQualityMetric","tdObedienceLevel","divObedienceLevel","idObedienceLevel","tdValueMeasured","tdNotes","tdActive","templateDeleteIcon","hashPageDogAssessment","PageDogAssessments","hookupFilterWeather","hookupFilterLightingLevel","hookupFilterHandler","inputTemperatureCelcius","getIdWeatherRow","getIdLightingLevelRow","getIdLocationRow","getIdUserHandlerRow","elementWeather","elementLightingLevel","elementLocation","elementUserHandler","flagDetail","detailButton","hookupFieldsDetail","hookupFieldsWeather","hookupFieldsLightingLevel","hookupFieldsTemperature","hookupFieldsHandler","PageDogCalendarEntries","saveCalendarEntries","attrIdCalendarEntry","PageAccessibilityReport","hashPageAccessibilityReport","PageAccessibilityStatement","hashPageAccessibilityStatement","PageLicense","hashPageLicense","PagePrivacyPolicy","hashPagePrivacyPolicy","PageRetentionSchedule","hashPageDataRetentionSchedule","Router","pages","module","routes","loadPage","hashPage","PageClass","getClassPageFromHash","currentPage","pageJson","handlePopState","loadPageCurrent","history","pushState","navigateToUrl","appendHistory","loadPageBodyFromResponse","App","dom","setupEventListeners","handleGlobalClick","initPageCurrent","app","domReady","readyState"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/main.bundle.js","mappings":";;;;;;;;;;;;;;IACqBA,UAAU;EAAA,SAAAA,WAAA;IAAAC,eAAA,OAAAD,UAAA;EAAA;EAAA,OAAAE,YAAA,CAAAF,UAAA;IAAAG,GAAA;IAAAC,KAAA;IAC3B;AACJ;AACA;AACA;AACA;AACA;;IAEI,SAAOC,OAAOA,CAACC,MAAM,EAAE;MAEnB,IAAID,OAAO,GAAG,IAAI;MAElB,IAAIC,MAAM,KAAK,IAAI,IAAIA,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAKC,SAAS,IAAID,MAAM,KAAK,WAAW,EAAE;QAExF,IAAIA,MAAM,CAACE,MAAM,IAAID,SAAS,EAAE;UAC5BF,OAAO,GAAG,KAAK,CAAC,CAAC;QACrB,CAAC,MACI,IAAI,OAAOC,MAAM,KAAK,UAAU,EAAE;UACnCD,OAAO,GAAG,KAAK,CAAC,CAAC;QACrB,CAAC,MACI;UAAE;;UAEH,IAAII,QAAQ,GAAI,OAAOH,MAAM,IAAI,QAAS;UAE1C,IAAIG,QAAQ,EAAEH,MAAM,GAAGA,MAAM,CAACI,IAAI,CAAC,CAAC;UAEpC,IAAIJ,MAAM,CAACE,MAAM,GAAG,CAAC,EAAE;YAEnB,IAAIC,QAAQ,EAAE;cACVJ,OAAO,GAAG,KAAK,CAAC,CAAC;YACrB,CAAC,MACI;cAED,IAAI,OAAOC,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;gBAC9BD,OAAO,GAAG,KAAK;cACnB,CAAC,MACI;gBACD,KAAI,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,MAAM,CAACE,MAAM,EAAEG,CAAC,EAAE,EAAE;kBACnC,IAAIL,MAAM,CAACK,CAAC,CAAC,IAAI,EAAE,EAAE;oBACjBN,OAAO,GAAG,KAAK;oBACf;kBACJ;gBACJ;cACJ;YACJ;UACJ;QACJ;MACJ;MAEA,OAAOA,OAAO;IAClB;EAAC;IAAAF,GAAA;IAAAC,KAAA,EAED,SAAOQ,aAAaA,CAACR,KAAK,EAAES,YAAY,EAAE;MACtC,OAAO,CAACb,UAAU,CAACK,OAAO,CAACD,KAAK,CAAC,IAAI,CAACU,KAAK,CAACV,KAAK,CAAC,KAAK,CAACS,YAAY,IAAIE,UAAU,CAACX,KAAK,CAAC,GAAG,CAAC,CAAC;IAClG;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAOY,kBAAkBA,CAACC,MAAM,EAAE;MAE9B,IAAIC,IAAI,GAAG,IAAI;MACf,IAAIC,WAAW,GAAG,EAAE;MAEpB,IAAI,CAACnB,UAAU,CAACK,OAAO,CAACY,MAAM,CAAC,EAAE;QAE7B,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;UAC5BC,IAAI,GAAGD,MAAM;UACbE,WAAW,GAAG,kDAAkD;QACpE,CAAC,MACI;UACDD,IAAI,GAAGE,IAAI,CAACC,SAAS,CAACJ,MAAM,CAAC;UAC7BE,WAAW,GAAG,iCAAiC;QACnD;MACJ;MAEA,OAAO;QAAEG,IAAI,EAAEJ,IAAI;QAAEK,WAAW,EAAEJ;MAAY,CAAC;IACnD;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAOoB,iBAAiBA,CAACC,KAAK,EAAEC,SAAS,EAAE;MAEvC,IAAIC,OAAO,GAAG,KAAK;MAEnB,IAAI,CAAC3B,UAAU,CAACK,OAAO,CAACoB,KAAK,CAAC,IAAI,CAACzB,UAAU,CAACK,OAAO,CAACqB,SAAS,CAAC,EAAE;QAE9D,IAAIE,oBAAoB,GAAGH,KAAK,CAAC,CAAC,CAAC,YAAYI,MAAM;QAErD,IAAID,oBAAoB,EAAE;UAEtB,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,CAAC,EAAE,EAAE;YAEnC,IAAImB,QAAQ,CAACC,gBAAgB,CAACN,KAAK,CAACd,CAAC,CAAC,CAAC,CAACqB,EAAE,CAACN,SAAS,CAAC,EAAE;cACnDC,OAAO,GAAG,IAAI;cACd;YACJ;UACJ;QACJ,CAAC,MACI;UAED,IAAIM,MAAM,GAAGR,KAAK,CAAC,CAAC,CAAC,YAAYS,IAAI;UAErC,IAAID,MAAM,EAAE;YAER,KAAK,IAAItB,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,EAAC,EAAE,EAAE;cAEnC,IAAIc,KAAK,CAACd,EAAC,CAAC,CAACwB,OAAO,CAAC,CAAC,KAAKT,SAAS,CAACS,OAAO,CAAC,CAAC,EAAE;gBAC5CR,OAAO,GAAG,IAAI;gBACd;cACJ;YACJ;UACJ,CAAC,MACI;YAED,KAAK,IAAIhB,GAAC,GAAG,CAAC,EAAEA,GAAC,GAAGc,KAAK,CAACjB,MAAM,EAAEG,GAAC,EAAE,EAAE;cAEnC,IAAIc,KAAK,CAACd,GAAC,CAAC,IAAIe,SAAS,EAAE;gBACvBC,OAAO,GAAG,IAAI;gBACd;cACJ;YACJ;UACJ;QACJ;MACJ;MAEA,OAAOA,OAAO;IAClB;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAOgC,UAAUA,CAACC,CAAC,EAAEC,CAAC,EAAE;MACpB,OAAQA,CAAC,IAAID,CAAC;IAClB;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EACD,SAAOmC,aAAaA,CAACC,KAAK,EAAEC,KAAK,EAAE;MAC/B,IAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC;MAChC,IAAMK,KAAK,GAAGF,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC;MAEhC,IAAIC,KAAK,CAAClC,MAAM,KAAKqC,KAAK,CAACrC,MAAM,EAAE;QACnC,OAAO,KAAK;MACZ;MAEA,SAAAsC,GAAA,MAAAC,KAAA,GAAgBL,KAAK,EAAAI,GAAA,GAAAC,KAAA,CAAAvC,MAAA,EAAAsC,GAAA,IAAE;QAAlB,IAAI3C,GAAG,GAAA4C,KAAA,CAAAD,GAAA;QACZ,IAAIN,KAAK,CAACrC,GAAG,CAAC,KAAKsC,KAAK,CAACtC,GAAG,CAAC,EAAE;UAC3B,OAAO,KAAK;QAChB;MACA;MAEA,OAAO,IAAI;IACf;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAED,SAAO4C,WAAWA,CAACC,GAAG,EAAEC,QAAQ,EAAE;MAE9B,IAAIC,GAAG,GAAG,IAAIC,KAAK,CAAC,CAAC;MAErBD,GAAG,CAACE,MAAM,GAAG,YAAW;QAAEH,QAAQ,CAAC,IAAI,CAAC;MAAE,CAAC;MAC3CC,GAAG,CAACG,OAAO,GAAG,YAAW;QAAEJ,QAAQ,CAAC,KAAK,CAAC;MAAE,CAAC;MAC7CC,GAAG,CAACI,GAAG,GAAGN,GAAG;IACjB;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAOoD,gBAAgBA,CAACpD,KAAK,EAAEqD,aAAa,EAAuB;MAAA,IAArBC,YAAY,GAAAC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC7D,OAAO3D,UAAU,CAACY,aAAa,CAACR,KAAK,CAAC,GAAGW,UAAU,CAACX,KAAK,CAAC,CAACwD,OAAO,CAACH,aAAa,CAAC,GAAGC,YAAY;IACpG;EAAC;AAAA;;;;;;;;;;AC3J8B;AACU;AAAA,IAExBK,GAAG;EAAA,SAAAA,IAAA;IAAA9D,kBAAA,OAAA8D,GAAA;EAAA;EAAA,OAAA7D,eAAA,CAAA6D,GAAA;IAAA5D,GAAA;IAAAC,KAAA,EACpB,SAAO4D,4CAA4CA,CAACC,OAAO,EAAE/C,IAAI,EAAE;MAC/D6C,GAAG,CAACG,+BAA+B,CAACD,OAAO,EAAE/C,IAAI,CAAC;MAClD6C,GAAG,CAACI,gCAAgC,CAACF,OAAO,EAAE/C,IAAI,CAAC;IACvD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO8D,+BAA+BA,CAACD,OAAO,EAAE/C,IAAI,EAAE;MAClD+C,OAAO,CAACG,YAAY,CAACC,gBAAgB,EAAEnD,IAAI,CAAC;IAChD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO+D,gCAAgCA,CAACF,OAAO,EAAE/C,IAAI,EAAE;MACnD+C,OAAO,CAACG,YAAY,CAACE,iBAAiB,EAAEpD,IAAI,CAAC;IACjD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAOmE,kCAAkCA,CAACN,OAAO,EAAE/C,IAAI,EAAE;MACrD6C,GAAG,CAACS,sBAAsB,CAACP,OAAO,EAAE/C,IAAI,CAAC;MACzC6C,GAAG,CAACI,gCAAgC,CAACF,OAAO,EAAE/C,IAAI,CAAC;IACvD;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAOoE,sBAAsBA,CAACP,OAAO,EAAE/C,IAAI,EAAE;MACzC6C,GAAG,CAACG,+BAA+B,CAACD,OAAO,EAAE/C,IAAI,CAAC;MAClD,IAAIuD,OAAO,GAAGR,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC;MAC3C,IAAIT,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;QAC7BV,OAAO,CAACW,OAAO,GAAG1D,IAAI;MAC1B,CAAC,MACI,IAAIuD,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,QAAQ,EAAE;QAC5ER,OAAO,CAAC7D,KAAK,GAAGc,IAAI;MACxB,CAAC,MACI;QACD+C,OAAO,CAACY,WAAW,GAAG3D,IAAI;MAC9B;IACJ;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO0E,6BAA6BA,CAACb,OAAO,EAAE/C,IAAI,EAAE;MAChD,IAAIlB,UAAU,CAACK,OAAO,CAAC0D,GAAG,CAACgB,sBAAsB,CAACd,OAAO,CAAC,CAAC,EAAE;QACzDF,GAAG,CAACS,sBAAsB,CAACP,OAAO,EAAE/C,IAAI,CAAC;MAC7C;IACJ;EAAC;IAAAf,GAAA;IAAAC,KAAA,EACD,SAAO4E,kBAAkBA,CAACf,OAAO,EAAE;MAC/B,OAAOA,OAAO,CAACgB,OAAO,CAAC,IAAI,CAAC;IAChC;EAAC;IAAA9E,GAAA;IAAAC,KAAA,EACD,SAAO8E,iBAAiBA,CAACjB,OAAO,EAAEkB,OAAO,EAAE;MACvC,IAAIC,QAAQ,GAAGpF,UAAU,CAACK,OAAO,CAAC8E,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,GAAGA,OAAO;MACnE,OAAOlB,OAAO,CAACgB,OAAO,CAACG,QAAQ,CAAC;IACpC;EAAC;IAAAjF,GAAA;IAAAC,KAAA,EACD,SAAOiF,gBAAgBA,CAACpB,OAAO,EAAEqB,cAAc,EAAE;MAC7C,IAAIC,MAAM,GAAGtB,OAAO,CAACuB,aAAa;MAClC,OAAOD,MAAM,EAAE;QACX,IAAIA,MAAM,CAACE,OAAO,CAACH,cAAc,CAAC,EAAE;UAChC,OAAOC,MAAM;QACjB;QACAA,MAAM,GAAGA,MAAM,CAACC,aAAa;MACjC;MACA,OAAO,IAAI;IACb;EAAC;IAAArF,GAAA;IAAAC,KAAA,EACH,SAAOsF,gBAAgBA,CAACC,WAAW,EAAE;MACjC,IAAIC,QAAQ,GAAG,CAAC,CAAC;MACjB,IAAI5F,UAAU,CAACK,OAAO,CAACsF,WAAW,CAAC,EAAE;QACjC,OAAOC,QAAQ;MACnB;MACA,IAAIC,gBAAgB,GAAGF,WAAW,CAAC5D,gBAAgB,CAAC,GAAG,GAAG+D,kBAAkB,GAAG,GAAG,GAAGC,UAAU,CAAC;MAChG,IAAIC,eAAe,EAAEC,WAAW,EAAEC,SAAS,EAAEC,MAAM;MACnD,KAAK,IAAIC,WAAW,GAAG,CAAC,EAAEA,WAAW,GAAGP,gBAAgB,CAACrF,MAAM,EAAE4F,WAAW,EAAE,EAAE;QAC5EJ,eAAe,GAAGH,gBAAgB,CAACO,WAAW,CAAC;QAC/CH,WAAW,GAAGD,eAAe,CAACK,aAAa,CAAC,OAAO,CAAC;QACpDH,SAAS,GAAGD,WAAW,CAACK,YAAY,CAAC,KAAK,CAAC;QAC3CH,MAAM,GAAGH,eAAe,CAACK,aAAa,KAAAE,MAAA,CAAKL,SAAS,CAAE,CAAC;QACvDN,QAAQ,CAACM,SAAS,CAAC,GAAGnC,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5D;MACA,OAAOP,QAAQ;IACnB;EAAC;IAAAzF,GAAA;IAAAC,KAAA,EACD,SAAOoG,YAAYA,CAACC,UAAU,EAAE;MAC5B,IAAIC,QAAQ,GAAG5E,QAAQ,CAACuE,aAAa,CAACM,UAAU,CAAC;MACjDD,QAAQ,CAACE,SAAS,GAAGH,UAAU;IACnC;EAAC;IAAAtG,GAAA;IAAAC,KAAA,EACD,SAAOyG,kBAAkBA,CAAA,EAAG;MACxB,IAAMC,eAAe,GAAGhF,QAAQ,CAACiF,IAAI,CAACC,OAAO,CAACC,IAAI;MAClD,OAAOH,eAAe;IAC1B;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EACD,SAAO8G,4BAA4BA,CAACjD,OAAO,EAAE;MACzCA,OAAO,CAACG,YAAY,CAACC,gBAAgB,EAAEN,GAAG,CAACgB,sBAAsB,CAACd,OAAO,CAAC,CAAC;MAC3E,OAAOF,GAAG,CAACoD,cAAc,CAAClD,OAAO,CAAC;IACtC;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAO+G,cAAcA,CAAClD,OAAO,EAAE;MAC3B,IAAImD,OAAO,GAAGnD,OAAO,CAACqC,YAAY,CAAChC,iBAAiB,CAAC,IAAIL,OAAO,CAACqC,YAAY,CAACjC,gBAAgB,CAAC;MAC/FN,GAAG,CAACsD,kBAAkB,CAACpD,OAAO,EAAEmD,OAAO,CAAC;MACxC,OAAOA,OAAO;IAClB;EAAC;IAAAjH,GAAA;IAAAC,KAAA,EACD,SAAOiH,kBAAkBA,CAACpD,OAAO,EAAEmD,OAAO,EAAE;MACxCrD,GAAG,CAACuD,6BAA6B,CAACrD,OAAO,EAAEmD,OAAO,EAAEG,SAAS,CAAC;IAClE;EAAC;IAAApH,GAAA;IAAAC,KAAA,EACD,SAAOkH,6BAA6BA,CAACrD,OAAO,EAAEuD,cAAc,EAAEC,IAAI,EAAE;MAChE,IAAIC,qBAAqB,GAAGzD,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACH,IAAI,CAAC;MAC5D,IAAID,cAAc,IAAIE,qBAAqB,EAAE;MAC7C,IAAIF,cAAc,EAAE;QAChBvD,OAAO,CAAC0D,SAAS,CAACE,GAAG,CAACJ,IAAI,CAAC;MAC/B,CAAC,MAAM;QACHxD,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACL,IAAI,CAAC;MAClC;IACJ;EAAC;IAAAtH,GAAA;IAAAC,KAAA,EACD,SAAO2H,yBAAyBA,CAACC,SAAS,EAAE;MACxC,IAAIA,SAAS,IAAI,IAAI,EAAE,OAAO,KAAK;MACnC,OAAOA,SAAS,CAAC3B,aAAa,CAAC,GAAG,GAAGkB,SAAS,CAAC,IAAI,IAAI;IAC3D;EAAC;IAAApH,GAAA;IAAAC,KAAA,EACD,SAAO6H,mCAAmCA,CAACD,SAAS,EAAE;MAClD,IAAIA,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACL,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC,EAAE,OAAO,KAAK;MAC/E,OAAOF,SAAS,CAAC3B,aAAa,CAAC,GAAG,GAAGkB,SAAS,GAAG,QAAQ,GAAGW,UAAU,GAAG,KAAK,GAAGA,UAAU,GAAG,KAAK,CAAC,IAAI,IAAI;IAChH;EAAC;IAAA/H,GAAA;IAAAC,KAAA,EACD,SAAO2E,sBAAsBA,CAACd,OAAO,EAAE;MACnC,IAAIkE,SAAS,GAAG,EAAE;MAElB,IAAI,CAACnI,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE;QAE9B,IAAIQ,OAAO,GAAGR,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC;QAC3C,IAAIT,OAAO,CAACU,IAAI,KAAK,UAAU,EAAE;UAC7BwD,SAAS,GAAGlE,OAAO,CAACW,OAAO;QAC/B;QACA;AACZ;AACA;AACA;AACA,UAJY,KAKK,IAAIH,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,UAAU,IAAIA,OAAO,KAAK,QAAQ,EAAE;UAC5E0D,SAAS,GAAGlE,OAAO,CAAC7D,KAAK;QAC7B,CAAC,MACI,IAAI6D,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACQ,UAAU,CAAC,IAAInE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACS,UAAU,CAAC,EAAE;UAAE;UACzFF,SAAS,GAAGlE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACtD,CAAC,MACI,IAAIzD,OAAO,KAAK,IAAI,EAAE;UACvB0D,SAAS,GAAGpE,GAAG,CAACuE,+BAA+B,CAACrE,OAAO,CAAC;QAC5D,CAAC,MACI,IAAIQ,OAAO,IAAI,KAAK,IAAIR,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACW,YAAY,CAAC,EAAE;UACnEJ,SAAS,GAAIlE,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACY,aAAa,CAAE;QAC3D,CAAC,MACI;UACDL,SAAS,GAAGlE,OAAO,CAACY,WAAW;QACnC;MACJ;MAEA,IAAI7E,UAAU,CAACK,OAAO,CAAC8H,SAAS,CAAC,EAAEA,SAAS,GAAG,EAAE;MAEjD,OAAOA,SAAS;IACpB;EAAC;IAAAhI,GAAA;IAAAC,KAAA,EACD,SAAOkI,+BAA+BA,CAACrE,OAAO,EAAE;MAC5C;MACA,IAAIjE,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE,OAAO,IAAI;MAC5C,OAAOA,OAAO,CAACqC,YAAY,CAACjC,gBAAgB,CAAC;IACjD;EAAC;IAAAlE,GAAA;IAAAC,KAAA,EACD,SAAOqI,gCAAgCA,CAACxE,OAAO,EAAE;MAC7C,IAAIjE,UAAU,CAACK,OAAO,CAAC4D,OAAO,CAAC,EAAE,OAAO,IAAI;MAC5C,OAAOA,OAAO,CAACqC,YAAY,CAAChC,iBAAiB,CAAC;IAClD;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAjBI;IAAAnE,GAAA;IAAAC,KAAA,EAkBA,SAAOsI,eAAeA,CAACnD,MAAM,EAAEtB,OAAO,EAAE;MACpC;MACAsB,MAAM,CAACoD,SAAS,CAACpD,MAAM,CAACoD,SAAS,CAAC,CAAC,IAAI1E,OAAO,CAAC2E,MAAM,CAAC,CAAC,CAACC,GAAG,GAAGtD,MAAM,CAACqD,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC;IACvF;EAAC;IAAA1I,GAAA;IAAAC,KAAA,EACD,SAAO0I,oBAAoBA,CAACd,SAAS,EAAE/D,OAAO,EAAE;MAE5C,IAAI,OAAOpC,MAAM,KAAK,UAAU,EAAE;QAC9B,IAAImG,SAAS,YAAYnG,MAAM,EAAEmG,SAAS,GAAGA,SAAS,CAAC,CAAC,CAAC;QACzD,IAAI/D,OAAO,YAAYpC,MAAM,EAAEoC,OAAO,GAAGA,OAAO,CAAC,CAAC,CAAC;MACvD;MAEA,IAAI8E,eAAe,GAAGf,SAAS,CAACgB,qBAAqB,CAAC,CAAC;MACvD,IAAIC,aAAa,GAAGhF,OAAO,CAAC+E,qBAAqB,CAAC,CAAC;MAEnD,OACID,eAAe,CAACF,GAAG,IAAII,aAAa,CAACJ,GAAG,IACxCE,eAAe,CAACG,IAAI,IAAID,aAAa,CAACC,IAAI,IACxCD,aAAa,CAACJ,GAAG,GAAGI,aAAa,CAACE,MAAM,IAAMJ,eAAe,CAACF,GAAG,GAAGE,eAAe,CAACI,MAAQ,IAC5FF,aAAa,CAACC,IAAI,GAAGD,aAAa,CAACG,KAAK,IAAML,eAAe,CAACG,IAAI,GAAGH,eAAe,CAACK,KAAO;IAEtG;EAAC;IAAAjJ,GAAA;IAAAC,KAAA,EACD,SAAOiJ,UAAUA,CAACC,SAAS,EAAEC,SAAS,EAAE;MACpCC,KAAK,CAACF,SAAS,GAAG,IAAI,GAAGC,SAAS,CAAC;IACvC;EAAC;IAAApJ,GAAA;IAAAC,KAAA,EACD,SAAOqJ,sCAAsCA,CAAA,EAAG;MAC5C,OAAAC,eAAA,CAAAA,eAAA,KACKC,wBAAwB,EAAAD,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KACpBE,sBAAsB,EAAG,CAACC,QAAQ,CAAC,GACnCC,uBAAuB,EAAG,CAACC,0BAA0B,CAAC,GACtDF,QAAQ,EAAG,uBAAuB,GAClCE,0BAA0B,EAAG,CAAC,IAElCC,oBAAoB,EAAAN,eAAA,CAAAA,eAAA,CAAAA,eAAA,CAAAA,eAAA,KAChBE,sBAAsB,EAAG,CAACC,QAAQ,CAAC,GACnCC,uBAAuB,EAAG,CAACG,sBAAsB,CAAC,GAClDJ,QAAQ,EAAG,kBAAkB,GAC7BI,sBAAsB,EAAG,CAAC;IAGvC;EAAC;IAAA9J,GAAA;IAAAC,KAAA,EACD,SAAO8J,YAAYA,CAACC,UAAU,EAAE;MAC5B,IAAInK,UAAU,CAACK,OAAO,CAAC8J,UAAU,CAAC,EAAEA,UAAU,GAAG;QAC7CC,IAAI,EAAE,QAAQ;QACdhK,KAAK,EAAE;MACX,CAAC;MACD,IAAIiK,MAAM,GAAGvI,QAAQ,CAACwI,aAAa,CAAC,QAAQ,CAAC;MAC7CD,MAAM,CAACjK,KAAK,GAAG+J,UAAU,CAAC/J,KAAK;MAC/BiK,MAAM,CAACxF,WAAW,GAAGsF,UAAU,CAACC,IAAI;MACpCC,MAAM,CAACE,QAAQ,GAAGJ,UAAU,CAACI,QAAQ;MACrC,OAAOF,MAAM;IACjB;EAAC;IAAAlK,GAAA;IAAAC,KAAA,EAED,SAAOoK,UAAUA,CAACJ,IAAI,EAAE;MACpB,IAAMK,GAAG,GAAG3I,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACzCG,GAAG,CAAC5F,WAAW,GAAGuF,IAAI;MACtB,OAAOK,GAAG,CAAC7D,SAAS;IACxB;EAAC;IAAAzG,GAAA;IAAAC,KAAA,EACD,SAAOsK,YAAYA,CAACC,IAAI,EAAE;MACtB,IAAMF,GAAG,GAAG3I,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACzCG,GAAG,CAAC7D,SAAS,GAAG+D,IAAI;MACpB,OAAOF,GAAG,CAAC5F,WAAW,IAAI4F,GAAG,CAACG,SAAS,IAAI,EAAE;IACjD;EAAC;AAAA;;;;;;;;;ICrOgBC,MAAM;EAAA,SAAAA,OAAA;IAAA5K,qBAAA,OAAA4K,MAAA;EAAA;EAAA,OAAA3K,kBAAA,CAAA2K,MAAA;IAAA1K,GAAA;IAAAC,KAAA,EACvB,SAAO0K,sBAAsBA,CAACC,eAAe,EAAEC,gBAAgB,EAAEC,YAAY,EAAE;MAC3EnJ,QAAQ,CAACC,gBAAgB,CAACgJ,eAAe,CAAC,CAACG,OAAO,CAAC,UAASjH,OAAO,EAAE;QACjE,IAAIA,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACoD,gBAAgB,CAAC,EAAE;QAClDC,YAAY,CAAChH,OAAO,CAAC;QACrBA,OAAO,CAAC0D,SAAS,CAACE,GAAG,CAACmD,gBAAgB,CAAC;MAC3C,CAAC,CAAC;IACN;EAAC;IAAA7K,GAAA;IAAAC,KAAA,EACD,SAAO+K,kBAAkBA,CAACC,SAAS,EAAEhG,QAAQ,EAAElC,QAAQ,EAAE;MACrD2H,MAAM,CAACC,sBAAsB,CAAC1F,QAAQ,EAAEiG,eAAe,EAAE,UAACpH,OAAO,EAAK;QAClEA,OAAO,CAACqH,gBAAgB,CAACF,SAAS,EAAE,UAACG,KAAK,EAAK;UAC3CA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvBtI,QAAQ,CAACqI,KAAK,EAAEtH,OAAO,CAAC;QAC5B,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;AAAA;;;;;;;;;ACfoC;AAAA,IAEpBwH,YAAY;EAAA,SAAAA,aAAA;IAAAxL,4BAAA,OAAAwL,YAAA;EAAA;EAAA,OAAAvL,yBAAA,CAAAuL,YAAA;IAAAtL,GAAA;IAAAC,KAAA;IACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAEI,SAAOsL,eAAeA,CAACvL,GAAG,EAAE;MACxB,OAAOiB,IAAI,CAACuK,KAAK,CAACC,YAAY,CAACC,OAAO,CAAC1L,GAAG,CAAC,CAAC;IAChD;EAAC;IAAAA,GAAA;IAAAC,KAAA,EAED,SAAO0L,eAAeA,CAAC3L,GAAG,EAAE4L,KAAK,EAAE;MAC/BH,YAAY,CAACI,OAAO,CAAC7L,GAAG,EAAEiB,IAAI,CAACC,SAAS,CAAC0K,KAAK,CAAC,CAAC;IACpD;;IAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAVA;AAAA;;;;+CCjDA,qJAAAE,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAzJ,MAAA,CAAA0J,SAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,cAAA,EAAAC,CAAA,GAAA7J,MAAA,CAAA8J,cAAA,cAAAN,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAhM,KAAA,KAAAO,CAAA,wBAAA+L,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAhM,CAAA,CAAAiM,QAAA,kBAAAC,CAAA,GAAAlM,CAAA,CAAAmM,aAAA,uBAAAC,CAAA,GAAApM,CAAA,CAAAqM,WAAA,8BAAAC,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAzJ,MAAA,CAAA8J,cAAA,CAAAN,CAAA,EAAAD,CAAA,IAAA9L,KAAA,EAAAgM,CAAA,EAAAc,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAjB,CAAA,CAAAD,CAAA,WAAAe,MAAA,mBAAAd,CAAA,IAAAc,MAAA,YAAAA,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAiB,KAAAlB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAA3L,CAAA,GAAAuL,CAAA,IAAAA,CAAA,CAAAG,SAAA,YAAAiB,SAAA,GAAApB,CAAA,GAAAoB,SAAA,EAAAX,CAAA,GAAAhK,MAAA,CAAA4K,MAAA,CAAA5M,CAAA,CAAA0L,SAAA,GAAAQ,CAAA,OAAAW,OAAA,CAAAlB,CAAA,gBAAAE,CAAA,CAAAG,CAAA,eAAAvM,KAAA,EAAAqN,gBAAA,CAAAtB,CAAA,EAAAC,CAAA,EAAAS,CAAA,MAAAF,CAAA,aAAAe,SAAAvB,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAAzH,IAAA,YAAAgJ,GAAA,EAAAxB,CAAA,CAAAyB,IAAA,CAAA1B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAAxH,IAAA,WAAAgJ,GAAA,EAAAxB,CAAA,QAAAD,CAAA,CAAAmB,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAnB,MAAA,CAAAmB,CAAA,EAAAzB,CAAA,qCAAAtK,CAAA,GAAAM,MAAA,CAAA0L,cAAA,EAAAC,CAAA,GAAAjM,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAkM,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAlC,CAAA,IAAAE,CAAA,CAAAsB,IAAA,CAAAU,CAAA,EAAA3B,CAAA,MAAAyB,CAAA,GAAAE,CAAA,OAAAE,CAAA,GAAAL,0BAAA,CAAA9B,SAAA,GAAAiB,SAAA,CAAAjB,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAa,CAAA,YAAAK,sBAAAtC,CAAA,gCAAAjB,OAAA,WAAAgB,CAAA,IAAAe,MAAA,CAAAd,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAAuC,OAAA,CAAAxC,CAAA,EAAAC,CAAA,sBAAAwC,cAAAxC,CAAA,EAAAD,CAAA,aAAA0C,OAAAxC,CAAA,EAAAI,CAAA,EAAA7L,CAAA,EAAAgM,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAAvB,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAK,CAAA,mBAAAK,CAAA,CAAAlI,IAAA,QAAAoI,CAAA,GAAAF,CAAA,CAAAc,GAAA,EAAAE,CAAA,GAAAd,CAAA,CAAA3M,KAAA,SAAAyN,CAAA,gBAAAgB,UAAA,CAAAhB,CAAA,KAAAvB,CAAA,CAAAsB,IAAA,CAAAC,CAAA,eAAA3B,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,CAAAkB,OAAA,EAAAC,IAAA,WAAA7C,CAAA,IAAAyC,MAAA,SAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,gBAAAR,CAAA,IAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,QAAAT,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,EAAAmB,IAAA,WAAA7C,CAAA,IAAAY,CAAA,CAAA3M,KAAA,GAAA+L,CAAA,EAAAxL,CAAA,CAAAoM,CAAA,gBAAAZ,CAAA,WAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAc,GAAA,SAAAvB,CAAA,EAAAI,CAAA,oBAAApM,KAAA,WAAAA,MAAA+L,CAAA,EAAAG,CAAA,aAAA2C,2BAAA,eAAA/C,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAAwC,MAAA,CAAAzC,CAAA,EAAAG,CAAA,EAAAJ,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA4C,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAxB,iBAAAvB,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAqB,CAAA,mBAAAlN,CAAA,EAAAgM,CAAA,QAAAH,CAAA,KAAAuB,CAAA,QAAAmB,KAAA,sCAAA1C,CAAA,KAAAwB,CAAA,oBAAArN,CAAA,QAAAgM,CAAA,WAAAvM,KAAA,EAAA+L,CAAA,EAAAgD,IAAA,eAAA7C,CAAA,CAAA8C,MAAA,GAAAzO,CAAA,EAAA2L,CAAA,CAAAqB,GAAA,GAAAhB,CAAA,UAAAE,CAAA,GAAAP,CAAA,CAAA+C,QAAA,MAAAxC,CAAA,QAAAE,CAAA,GAAAuC,mBAAA,CAAAzC,CAAA,EAAAP,CAAA,OAAAS,CAAA,QAAAA,CAAA,KAAAkB,CAAA,mBAAAlB,CAAA,qBAAAT,CAAA,CAAA8C,MAAA,EAAA9C,CAAA,CAAAiD,IAAA,GAAAjD,CAAA,CAAAkD,KAAA,GAAAlD,CAAA,CAAAqB,GAAA,sBAAArB,CAAA,CAAA8C,MAAA,QAAA5C,CAAA,KAAAqB,CAAA,QAAArB,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAAqB,GAAA,EAAArB,CAAA,CAAAmD,iBAAA,CAAAnD,CAAA,CAAAqB,GAAA,uBAAArB,CAAA,CAAA8C,MAAA,IAAA9C,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAAqB,GAAA,GAAAnB,CAAA,GAAAuB,CAAA,MAAAK,CAAA,GAAAV,QAAA,CAAAxB,CAAA,EAAAE,CAAA,EAAAE,CAAA,oBAAA8B,CAAA,CAAAzJ,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAA6C,IAAA,GAAAnB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA7N,KAAA,EAAAgO,CAAA,CAAAT,GAAA,EAAAwB,IAAA,EAAA7C,CAAA,CAAA6C,IAAA,kBAAAf,CAAA,CAAAzJ,IAAA,KAAA6H,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAA8C,MAAA,YAAA9C,CAAA,CAAAqB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA2B,oBAAApD,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAgD,MAAA,EAAA5C,CAAA,GAAAN,CAAA,CAAAU,QAAA,CAAAN,CAAA,OAAAE,CAAA,KAAAL,CAAA,SAAAC,CAAA,CAAAiD,QAAA,qBAAA/C,CAAA,IAAAJ,CAAA,CAAAU,QAAA,eAAAR,CAAA,CAAAgD,MAAA,aAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,EAAAmD,mBAAA,CAAApD,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAgD,MAAA,kBAAA9C,CAAA,KAAAF,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,uCAAArD,CAAA,iBAAA2B,CAAA,MAAAtN,CAAA,GAAA+M,QAAA,CAAAlB,CAAA,EAAAN,CAAA,CAAAU,QAAA,EAAAR,CAAA,CAAAuB,GAAA,mBAAAhN,CAAA,CAAAgE,IAAA,SAAAyH,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,GAAAhN,CAAA,CAAAgN,GAAA,EAAAvB,CAAA,CAAAiD,QAAA,SAAApB,CAAA,MAAAtB,CAAA,GAAAhM,CAAA,CAAAgN,GAAA,SAAAhB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,IAAA/C,CAAA,CAAAF,CAAA,CAAA0D,UAAA,IAAAjD,CAAA,CAAAvM,KAAA,EAAAgM,CAAA,CAAAyD,IAAA,GAAA3D,CAAA,CAAA4D,OAAA,eAAA1D,CAAA,CAAAgD,MAAA,KAAAhD,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,GAAAC,CAAA,CAAAiD,QAAA,SAAApB,CAAA,IAAAtB,CAAA,IAAAP,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,sCAAAvD,CAAA,CAAAiD,QAAA,SAAApB,CAAA,cAAA8B,aAAA5D,CAAA,QAAAD,CAAA,KAAA8D,MAAA,EAAA7D,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAA+D,QAAA,GAAA9D,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAgE,UAAA,GAAA/D,CAAA,KAAAD,CAAA,CAAAiE,QAAA,GAAAhE,CAAA,WAAAiE,UAAA,CAAAC,IAAA,CAAAnE,CAAA,cAAAoE,cAAAnE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAAoE,UAAA,QAAArE,CAAA,CAAAvH,IAAA,oBAAAuH,CAAA,CAAAyB,GAAA,EAAAxB,CAAA,CAAAoE,UAAA,GAAArE,CAAA,aAAAsB,QAAArB,CAAA,SAAAiE,UAAA,MAAAJ,MAAA,aAAA7D,CAAA,CAAAjB,OAAA,CAAA6E,YAAA,cAAAS,KAAA,iBAAAjC,OAAArC,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAS,CAAA,OAAAP,CAAA,SAAAA,CAAA,CAAAwB,IAAA,CAAA1B,CAAA,4BAAAA,CAAA,CAAA2D,IAAA,SAAA3D,CAAA,OAAApL,KAAA,CAAAoL,CAAA,CAAA1L,MAAA,SAAAgM,CAAA,OAAA7L,CAAA,YAAAkP,KAAA,aAAArD,CAAA,GAAAN,CAAA,CAAA1L,MAAA,OAAA8L,CAAA,CAAAsB,IAAA,CAAA1B,CAAA,EAAAM,CAAA,UAAAqD,IAAA,CAAAzP,KAAA,GAAA8L,CAAA,CAAAM,CAAA,GAAAqD,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAlP,CAAA,CAAAkP,IAAA,GAAAlP,CAAA,gBAAAgP,SAAA,CAAAd,UAAA,CAAA3C,CAAA,kCAAAgC,iBAAA,CAAA7B,SAAA,GAAA8B,0BAAA,EAAA3B,CAAA,CAAAgC,CAAA,mBAAApO,KAAA,EAAA+N,0BAAA,EAAAhB,YAAA,SAAAX,CAAA,CAAA2B,0BAAA,mBAAA/N,KAAA,EAAA8N,iBAAA,EAAAf,YAAA,SAAAe,iBAAA,CAAAuC,WAAA,GAAAxD,MAAA,CAAAkB,0BAAA,EAAApB,CAAA,wBAAAb,CAAA,CAAAwE,mBAAA,aAAAvE,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAwE,WAAA,WAAAzE,CAAA,KAAAA,CAAA,KAAAgC,iBAAA,6BAAAhC,CAAA,CAAAuE,WAAA,IAAAvE,CAAA,CAAA0E,IAAA,OAAA1E,CAAA,CAAA2E,IAAA,aAAA1E,CAAA,WAAAxJ,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAA3E,CAAA,EAAAgC,0BAAA,KAAAhC,CAAA,CAAA4E,SAAA,GAAA5C,0BAAA,EAAAlB,MAAA,CAAAd,CAAA,EAAAY,CAAA,yBAAAZ,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAiB,CAAA,GAAArC,CAAA,KAAAD,CAAA,CAAA8E,KAAA,aAAA7E,CAAA,aAAA4C,OAAA,EAAA5C,CAAA,OAAAsC,qBAAA,CAAAE,aAAA,CAAAtC,SAAA,GAAAY,MAAA,CAAA0B,aAAA,CAAAtC,SAAA,EAAAQ,CAAA,iCAAAX,CAAA,CAAAyC,aAAA,GAAAA,aAAA,EAAAzC,CAAA,CAAA+E,KAAA,aAAA9E,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA7L,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAuQ,OAAA,OAAAvE,CAAA,OAAAgC,aAAA,CAAAtB,IAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,GAAA7L,CAAA,UAAAuL,CAAA,CAAAwE,mBAAA,CAAAtE,CAAA,IAAAO,CAAA,GAAAA,CAAA,CAAAkD,IAAA,GAAAb,IAAA,WAAA7C,CAAA,WAAAA,CAAA,CAAAgD,IAAA,GAAAhD,CAAA,CAAA/L,KAAA,GAAAuM,CAAA,CAAAkD,IAAA,WAAApB,qBAAA,CAAAD,CAAA,GAAAvB,MAAA,CAAAuB,CAAA,EAAAzB,CAAA,gBAAAE,MAAA,CAAAuB,CAAA,EAAA7B,CAAA,iCAAAM,MAAA,CAAAuB,CAAA,6DAAAtC,CAAA,CAAAtJ,IAAA,aAAAuJ,CAAA,QAAAD,CAAA,GAAAvJ,MAAA,CAAAwJ,CAAA,GAAAC,CAAA,gBAAAE,CAAA,IAAAJ,CAAA,EAAAE,CAAA,CAAAiE,IAAA,CAAA/D,CAAA,UAAAF,CAAA,CAAA+E,OAAA,aAAAtB,KAAA,WAAAzD,CAAA,CAAA5L,MAAA,SAAA2L,CAAA,GAAAC,CAAA,CAAAgF,GAAA,QAAAjF,CAAA,IAAAD,CAAA,SAAA2D,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAA3D,CAAA,CAAAqC,MAAA,GAAAA,MAAA,EAAAf,OAAA,CAAAnB,SAAA,KAAAsE,WAAA,EAAAnD,OAAA,EAAAgD,KAAA,WAAAA,MAAAtE,CAAA,aAAAmF,IAAA,WAAAxB,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAArD,CAAA,OAAAgD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAAzB,GAAA,GAAAxB,CAAA,OAAAiE,UAAA,CAAAlF,OAAA,CAAAoF,aAAA,IAAApE,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAAkF,MAAA,OAAAhF,CAAA,CAAAsB,IAAA,OAAAxB,CAAA,MAAAtL,KAAA,EAAAsL,CAAA,CAAAmF,KAAA,cAAAnF,CAAA,IAAAD,CAAA,MAAAqF,IAAA,WAAAA,KAAA,SAAArC,IAAA,WAAAhD,CAAA,QAAAiE,UAAA,IAAAG,UAAA,kBAAApE,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,cAAA8D,IAAA,KAAAhC,iBAAA,WAAAA,kBAAAvD,CAAA,aAAAiD,IAAA,QAAAjD,CAAA,MAAAE,CAAA,kBAAAsF,OAAApF,CAAA,EAAAE,CAAA,WAAAG,CAAA,CAAAhI,IAAA,YAAAgI,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAE,CAAA,CAAAyD,IAAA,GAAAvD,CAAA,EAAAE,CAAA,KAAAJ,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,KAAAK,CAAA,aAAAA,CAAA,QAAA4D,UAAA,CAAA5P,MAAA,MAAAgM,CAAA,SAAAA,CAAA,QAAA7L,CAAA,QAAAyP,UAAA,CAAA5D,CAAA,GAAAG,CAAA,GAAAhM,CAAA,CAAA4P,UAAA,iBAAA5P,CAAA,CAAAqP,MAAA,SAAA0B,MAAA,aAAA/Q,CAAA,CAAAqP,MAAA,SAAAqB,IAAA,QAAAxE,CAAA,GAAAP,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,eAAAoM,CAAA,GAAAT,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,qBAAAkM,CAAA,IAAAE,CAAA,aAAAsE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,gBAAAoB,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,cAAArD,CAAA,aAAAwE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,qBAAAlD,CAAA,QAAAmC,KAAA,qDAAAmC,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,YAAAR,MAAA,WAAAA,OAAAvD,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAgE,UAAA,CAAA5P,MAAA,MAAA4L,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAA4D,UAAA,CAAAhE,CAAA,OAAAI,CAAA,CAAAwD,MAAA,SAAAqB,IAAA,IAAA/E,CAAA,CAAAsB,IAAA,CAAApB,CAAA,wBAAA6E,IAAA,GAAA7E,CAAA,CAAA0D,UAAA,QAAAvP,CAAA,GAAA6L,CAAA,aAAA7L,CAAA,iBAAAwL,CAAA,mBAAAA,CAAA,KAAAxL,CAAA,CAAAqP,MAAA,IAAA9D,CAAA,IAAAA,CAAA,IAAAvL,CAAA,CAAAuP,UAAA,KAAAvP,CAAA,cAAAgM,CAAA,GAAAhM,CAAA,GAAAA,CAAA,CAAA4P,UAAA,cAAA5D,CAAA,CAAAhI,IAAA,GAAAwH,CAAA,EAAAQ,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAvL,CAAA,SAAAyO,MAAA,gBAAAS,IAAA,GAAAlP,CAAA,CAAAuP,UAAA,EAAAjC,CAAA,SAAA0D,QAAA,CAAAhF,CAAA,MAAAgF,QAAA,WAAAA,SAAAxF,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,qBAAAxB,CAAA,CAAAxH,IAAA,mBAAAwH,CAAA,CAAAxH,IAAA,QAAAkL,IAAA,GAAA1D,CAAA,CAAAwB,GAAA,gBAAAxB,CAAA,CAAAxH,IAAA,SAAA8M,IAAA,QAAA9D,GAAA,GAAAxB,CAAA,CAAAwB,GAAA,OAAAyB,MAAA,kBAAAS,IAAA,yBAAA1D,CAAA,CAAAxH,IAAA,IAAAuH,CAAA,UAAA2D,IAAA,GAAA3D,CAAA,GAAA+B,CAAA,KAAA2D,MAAA,WAAAA,OAAAzF,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA8D,UAAA,KAAA/D,CAAA,cAAAwF,QAAA,CAAAvF,CAAA,CAAAmE,UAAA,EAAAnE,CAAA,CAAA+D,QAAA,GAAAG,aAAA,CAAAlE,CAAA,GAAA6B,CAAA,yBAAA4D,OAAA1F,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA4D,MAAA,KAAA7D,CAAA,QAAAG,CAAA,GAAAF,CAAA,CAAAmE,UAAA,kBAAAjE,CAAA,CAAA3H,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAAqB,GAAA,EAAA2C,aAAA,CAAAlE,CAAA,YAAAI,CAAA,YAAA0C,KAAA,8BAAA4C,aAAA,WAAAA,cAAA5F,CAAA,EAAAE,CAAA,EAAAE,CAAA,gBAAA+C,QAAA,KAAAzC,QAAA,EAAA2B,MAAA,CAAArC,CAAA,GAAA0D,UAAA,EAAAxD,CAAA,EAAA0D,OAAA,EAAAxD,CAAA,oBAAA8C,MAAA,UAAAzB,GAAA,GAAAxB,CAAA,GAAA8B,CAAA,OAAA/B,CAAA;AAAA,SAAA6F,QAAA7F,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAxJ,MAAA,CAAAC,IAAA,CAAAsJ,CAAA,OAAAvJ,MAAA,CAAAqP,qBAAA,QAAAxF,CAAA,GAAA7J,MAAA,CAAAqP,qBAAA,CAAA9F,CAAA,GAAAE,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAArG,MAAA,WAAAiG,CAAA,WAAAzJ,MAAA,CAAAsP,wBAAA,CAAA/F,CAAA,EAAAE,CAAA,EAAAc,UAAA,OAAAf,CAAA,CAAAkE,IAAA,CAAA6B,KAAA,CAAA/F,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAgG,cAAAjG,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAzI,SAAA,CAAAnD,MAAA,EAAA4L,CAAA,UAAAD,CAAA,WAAAxI,SAAA,CAAAyI,CAAA,IAAAzI,SAAA,CAAAyI,CAAA,QAAAA,CAAA,OAAA2F,OAAA,CAAApP,MAAA,CAAAwJ,CAAA,OAAAjB,OAAA,WAAAkB,CAAA,IAAA1C,kBAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAzJ,MAAA,CAAAyP,yBAAA,GAAAzP,MAAA,CAAA0P,gBAAA,CAAAnG,CAAA,EAAAvJ,MAAA,CAAAyP,yBAAA,CAAAjG,CAAA,KAAA4F,OAAA,CAAApP,MAAA,CAAAwJ,CAAA,GAAAjB,OAAA,WAAAkB,CAAA,IAAAzJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,EAAAzJ,MAAA,CAAAsP,wBAAA,CAAA9F,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAxC,kBAAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAAkG,iBAAA,CAAAlG,CAAA,MAAAF,CAAA,GAAAvJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,IAAAhM,KAAA,EAAA+L,CAAA,EAAAe,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAlB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAqG,mBAAAjG,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAG,CAAA,EAAAE,CAAA,cAAAlM,CAAA,GAAA2L,CAAA,CAAAK,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAApM,CAAA,CAAAP,KAAA,WAAAkM,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAA3L,CAAA,CAAAwO,IAAA,GAAAhD,CAAA,CAAAY,CAAA,IAAAmE,OAAA,CAAApC,OAAA,CAAA/B,CAAA,EAAAiC,IAAA,CAAA5C,CAAA,EAAAI,CAAA;AAAA,SAAAgG,kBAAAlG,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAvI,SAAA,aAAAuN,OAAA,WAAA9E,CAAA,EAAAI,CAAA,QAAAG,CAAA,GAAAL,CAAA,CAAA4F,KAAA,CAAA/F,CAAA,EAAAD,CAAA,YAAAuG,MAAAnG,CAAA,IAAAiG,kBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,UAAApG,CAAA,cAAAoG,OAAApG,CAAA,IAAAiG,kBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,WAAApG,CAAA,KAAAmG,KAAA;AAAA,SAAAxS,kBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,oBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,iBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,eAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,oBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,oBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAAoG,iBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,eAAA,CAAAzG,CAAA,gCAAA0C,UAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,eAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,UAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,UAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAD2B;AAAA,IAEN6G,GAAG;EAAA,SAAAA,IAAA;IAAA/S,kBAAA,OAAA+S,GAAA;EAAA;EAAA,OAAA9S,eAAA,CAAA8S,GAAA;IAAA7S,GAAA;IAAAC,KAAA,EAEpB,SAAO6S,YAAYA,CAAA,EAAG;MAClB,OAAOnR,QAAQ,CAACuE,aAAa,CAAC6M,WAAW,CAAC,CAAC5M,YAAY,CAAC,SAAS,CAAC;IACtE;EAAC;IAAAnG,GAAA;IAAAC,KAAA;MAAA,IAAA+S,QAAA,GAAAX,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CAED,SAAAuC,QAAqBC,YAAY;QAAA,IAAAjE,MAAA;UAAAlO,IAAA;UAAAD,MAAA;UAAAgC,GAAA;UAAAqQ,SAAA;UAAAC,OAAA;UAAAC,QAAA;UAAAC,KAAA,GAAA9P,SAAA;QAAA,OAAAsI,mBAAA,GAAAoB,IAAA,UAAAqG,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAtC,IAAA,GAAAsC,QAAA,CAAA9D,IAAA;YAAA;cAAET,MAAM,GAAAqE,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,KAAK;cAAEvS,IAAI,GAAAuS,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,IAAI;cAAExS,MAAM,GAAAwS,KAAA,CAAAjT,MAAA,QAAAiT,KAAA,QAAAlT,SAAA,GAAAkT,KAAA,MAAG,IAAI;cACnExQ,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACP,YAAY,EAAEpS,MAAM,CAAC;cAC9CqS,SAAS,GAAGN,GAAG,CAACC,YAAY,CAAC,CAAC;cAC9BM,OAAO,GAAG;gBACZnE,MAAM,EAANA,MAAM;gBACNyE,OAAO,EAAAnK,kBAAA;kBACH,cAAc,EAAE;gBAAkB,GACjCoK,aAAa,EAAGR,SAAS;cAElC,CAAC;cAED,IAAIpS,IAAI,KAAKkO,MAAM,KAAK,MAAM,IAAIA,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,OAAO,CAAC,EAAE;gBACvElO,IAAI,GAAAiR,aAAA,CAAAA,aAAA,KACGjR,IAAI,OAAAwI,kBAAA,KACNoK,aAAa,EAAGR,SAAS,EAC7B;gBACDC,OAAO,CAACxM,IAAI,GAAG3F,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC;cACvC;cAACyS,QAAA,CAAAtC,IAAA;cAAAsC,QAAA,CAAA9D,IAAA;cAAA,OAG0BkE,KAAK,CAAC9Q,GAAG,EAAEsQ,OAAO,CAAC;YAAA;cAApCC,QAAQ,GAAAG,QAAA,CAAApE,IAAA;cAAA,IACTiE,QAAQ,CAACQ,EAAE;gBAAAL,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cAAA,MACN,IAAIX,KAAK,wBAAA3I,MAAA,CAAwBiN,QAAQ,CAACS,MAAM,CAAE,CAAC;YAAA;cAAAN,QAAA,CAAA9D,IAAA;cAAA,OAEhD2D,QAAQ,CAACU,IAAI,CAAC,CAAC;YAAA;cAAA,OAAAP,QAAA,CAAAjE,MAAA,WAAAiE,QAAA,CAAApE,IAAA;YAAA;cAAAoE,QAAA,CAAAtC,IAAA;cAAAsC,QAAA,CAAAQ,EAAA,GAAAR,QAAA;cAE5BS,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAAV,QAAA,CAAAQ,EAAO,CAAC;cAAC,MAAAR,QAAA,CAAAQ,EAAA;YAAA;YAAA;cAAA,OAAAR,QAAA,CAAAnC,IAAA;UAAA;QAAA,GAAA4B,OAAA;MAAA,CAGnD;MAAA,SA7BYkB,OAAOA,CAAAC,EAAA;QAAA,OAAApB,QAAA,CAAAjB,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAP2Q,OAAO;IAAA;EAAA;IAAAnU,GAAA;IAAAC,KAAA,EA+BpB,SAAOwT,cAAcA,CAACY,IAAI,EAAiB;MAAA,IAAfvT,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACrC,IAAI6Q,IAAI,IAAI,IAAI,EAAEA,IAAI,GAAGC,YAAY;MACrC,IAAIxR,GAAG,GAAG+P,GAAG,CAAC0B,eAAe,CAACC,SAAS,GAAGH,IAAI,EAAEvT,MAAM,CAAC;MACvD,OAAOgC,GAAG;IACd;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAOsU,eAAeA,CAACzR,GAAG,EAAEhC,MAAM,EAAE;MAChC,IAAIA,MAAM,EAAE;QACRgC,GAAG,IAAI,GAAG,GAAG,IAAI2R,eAAe,CAAC3T,MAAM,CAAC,CAAC4T,QAAQ,CAAC,CAAC;MACvD;MACA,OAAO5R,GAAG;IACd;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAO0U,OAAOA,CAAC7R,GAAG,EAAE;MAChB8R,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGhS,GAAG;IAC9B;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EACD,SAAO8U,QAAQA,CAACV,IAAI,EAAiB;MAAA,IAAfvT,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC/B,IAAMV,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACY,IAAI,EAAEvT,MAAM,CAAC;MAC5C+R,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,CAAC;IACpB;;IAEA;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA9C,GAAA;IAAAC,KAAA;MAAA,IAAA+U,UAAA,GAAA3C,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CAOA,SAAAuE,SAAA;QAAA,IAAAlS,QAAA;QAAA,OAAA+I,mBAAA,GAAAoB,IAAA,UAAAgI,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAjE,IAAA,GAAAiE,SAAA,CAAAzF,IAAA;YAAA;cACQ3M,QAAQ,GAAG,CAAC,CAAC;cACjBA,QAAQ,CAACqS,YAAY,CAAC,GAAGxR,GAAG,CAAC8C,kBAAkB,CAAC,CAAC;cAACyO,SAAA,CAAAzF,IAAA;cAAA,OACrCmD,GAAG,CAACsB,OAAO,CAACkB,iBAAiB,EAAE,MAAM,EAAEtS,QAAQ,CAAC;YAAA;cAAA,OAAAoS,SAAA,CAAA5F,MAAA,WAAA4F,SAAA,CAAA/F,IAAA;YAAA;YAAA;cAAA,OAAA+F,SAAA,CAAA9D,IAAA;UAAA;QAAA,GAAA4D,QAAA;MAAA,CAChE;MAAA,SAJYK,SAASA,CAAA;QAAA,OAAAN,UAAA,CAAAjD,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAT8R,SAAS;IAAA,IAMtB;IACA;EAAA;IAAAtV,GAAA;IAAAC,KAAA;MAAA,IAAAsV,sBAAA,GAAAlD,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA8E,SAAmCC,iBAAiB,EAAEC,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA2I,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA5E,IAAA,GAAA4E,SAAA,CAAApG,IAAA;YAAA;cAClEkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACI,mBAAmB,CAAC,GAAGP,iBAAiB;cACpDG,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACG,SAAA,CAAApG,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC+B,0BAA0B,EAAE,MAAM,EAAEN,WAAW,CAAC;YAAA;cAAA,OAAAE,SAAA,CAAAvG,MAAA,WAAAuG,SAAA,CAAA1G,IAAA;YAAA;YAAA;cAAA,OAAA0G,SAAA,CAAAzE,IAAA;UAAA;QAAA,GAAAmE,QAAA;MAAA,CAC5E;MAAA,SANYW,qBAAqBA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAf,sBAAA,CAAAxD,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAArB2S,qBAAqB;IAAA,IAQlC;EAAA;IAAAnW,GAAA;IAAAC,KAAA;MAAA,IAAAsW,aAAA,GAAAlE,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA8F,SAA0BC,QAAQ,EAAEf,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAwJ,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAzF,IAAA,GAAAyF,SAAA,CAAAjH,IAAA;YAAA;cAChDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACgB,WAAW,CAAC,GAAGH,QAAQ;cACnCb,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACgB,SAAA,CAAAjH,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC0C,kBAAkB,EAAE,MAAM,EAAEjB,WAAW,CAAC;YAAA;cAAA,OAAAe,SAAA,CAAApH,MAAA,WAAAoH,SAAA,CAAAvH,IAAA;YAAA;YAAA;cAAA,OAAAuH,SAAA,CAAAtF,IAAA;UAAA;QAAA,GAAAmF,QAAA;MAAA,CACpE;MAAA,SANYM,YAAYA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAV,aAAA,CAAAxE,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAZsT,YAAY;IAAA,IAQzB;EAAA;IAAA9W,GAAA;IAAAC,KAAA;MAAA,IAAAiX,oBAAA,GAAA7E,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAyG,SAAiCC,eAAe,EAAE1B,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAmK,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAA5H,IAAA;YAAA;cAC9DkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAAC2B,kBAAkB,CAAC,GAAGH,eAAe;cACjDxB,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAAC2B,SAAA,CAAA5H,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACqD,yBAAyB,EAAE,MAAM,EAAE5B,WAAW,CAAC;YAAA;cAAA,OAAA0B,SAAA,CAAA/H,MAAA,WAAA+H,SAAA,CAAAlI,IAAA;YAAA;YAAA;cAAA,OAAAkI,SAAA,CAAAjG,IAAA;UAAA;QAAA,GAAA8F,QAAA;MAAA,CAC3E;MAAA,SANYM,mBAAmBA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,IAAA;QAAA,OAAAV,oBAAA,CAAAnF,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAnBiU,mBAAmB;IAAA,IAQhC;EAAA;IAAAzX,GAAA;IAAAC,KAAA;MAAA,IAAA4X,cAAA,GAAAxF,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAoH,SAA2BC,SAAS,EAAErC,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA8K,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA/G,IAAA,GAAA+G,SAAA,CAAAvI,IAAA;YAAA;cAClDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACsC,YAAY,CAAC,GAAGH,SAAS;cACrCnC,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACsC,SAAA,CAAAvI,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACgE,mBAAmB,EAAE,MAAM,EAAEvC,WAAW,CAAC;YAAA;cAAA,OAAAqC,SAAA,CAAA1I,MAAA,WAAA0I,SAAA,CAAA7I,IAAA;YAAA;YAAA;cAAA,OAAA6I,SAAA,CAAA5G,IAAA;UAAA;QAAA,GAAAyG,QAAA;MAAA,CACrE;MAAA,SANYM,aAAaA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,cAAA,CAAA9F,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAb4U,aAAa;IAAA,IAQ1B;EAAA;IAAApY,GAAA;IAAAC,KAAA;MAAA,IAAAuY,gBAAA,GAAAnG,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA+H,SAA6BC,WAAW,EAAEhD,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAyL,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAlJ,IAAA;YAAA;cACtDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACiD,cAAc,CAAC,GAAGH,WAAW;cACzC9C,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACiD,SAAA,CAAAlJ,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC2E,qBAAqB,EAAE,MAAM,EAAElD,WAAW,CAAC;YAAA;cAAA,OAAAgD,SAAA,CAAArJ,MAAA,WAAAqJ,SAAA,CAAAxJ,IAAA;YAAA;YAAA;cAAA,OAAAwJ,SAAA,CAAAvH,IAAA;UAAA;QAAA,GAAAoH,QAAA;MAAA,CACvE;MAAA,SANYM,eAAeA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,gBAAA,CAAAzG,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAfuV,eAAe;IAAA,IAQ5B;EAAA;IAAA/Y,GAAA;IAAAC,KAAA;MAAA,IAAAkZ,uBAAA,GAAA9G,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAA0I,SAAoCC,KAAK,EAAE3D,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAAoM,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArI,IAAA,GAAAqI,SAAA,CAAA7J,IAAA;YAAA;cACvDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAAC4D,qBAAqB,CAAC,GAAGH,KAAK;cAC1CzD,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAAC4D,SAAA,CAAA7J,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACsF,4BAA4B,EAAE,MAAM,EAAE7D,WAAW,CAAC;YAAA;cAAA,OAAA2D,SAAA,CAAAhK,MAAA,WAAAgK,SAAA,CAAAnK,IAAA;YAAA;YAAA;cAAA,OAAAmK,SAAA,CAAAlI,IAAA;UAAA;QAAA,GAAA+H,QAAA;MAAA,CAC9E;MAAA,SANYM,sBAAsBA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,uBAAA,CAAApH,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAtBkW,sBAAsB;IAAA,IAQnC;EAAA;IAAA1Z,GAAA;IAAAC,KAAA;MAAA,IAAA6Z,gBAAA,GAAAzH,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAqJ,SAA6BC,WAAW,EAAEtE,WAAW,EAAEC,OAAO;QAAA,IAAAC,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA+M,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhJ,IAAA,GAAAgJ,SAAA,CAAAxK,IAAA;YAAA;cACtDkG,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cAChEE,WAAW,CAACuE,cAAc,CAAC,GAAGH,WAAW;cACzCpE,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACuE,SAAA,CAAAxK,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAACiG,qBAAqB,EAAE,MAAM,EAAExE,WAAW,CAAC;YAAA;cAAA,OAAAsE,SAAA,CAAA3K,MAAA,WAAA2K,SAAA,CAAA9K,IAAA;YAAA;YAAA;cAAA,OAAA8K,SAAA,CAAA7I,IAAA;UAAA;QAAA,GAAA0I,QAAA;MAAA,CACvE;MAAA,SANYM,eAAeA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,gBAAA,CAAA/H,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAf6W,eAAe;IAAA,IAQ5B;EAAA;IAAAra,GAAA;IAAAC,KAAA;MAAA,IAAAwa,wCAAA,GAAApI,iBAAA,cAAAvG,mBAAA,GAAA4E,IAAA,CACA,SAAAgK,UAAqDV,WAAW,EAAEtE,WAAW,EAAEC,OAAO;QAAA,IAAAgF,WAAA,EAAA/E,WAAA;QAAA,OAAA9J,mBAAA,GAAAoB,IAAA,UAAA0N,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA3J,IAAA,GAAA2J,UAAA,CAAAnL,IAAA;YAAA;cAC9EiL,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;cACnDiF,WAAW,CAACG,gBAAgB,CAAC,GAAG,IAAI;cAChClF,WAAW,GAAG,CAAC,CAAC;cACpBA,WAAW,CAACG,eAAe,CAAC,GAAG4E,WAAW;cAC1C/E,WAAW,CAACuE,cAAc,CAAC,GAAGH,WAAW;cACzCpE,WAAW,CAACK,WAAW,CAAC,GAAGN,OAAO;cAACkF,UAAA,CAAAnL,IAAA;cAAA,OACtBmD,GAAG,CAACsB,OAAO,CAAC4G,2CAA2C,EAAE,MAAM,EAAEnF,WAAW,CAAC;YAAA;cAAA,OAAAiF,UAAA,CAAAtL,MAAA,WAAAsL,UAAA,CAAAzL,IAAA;YAAA;YAAA;cAAA,OAAAyL,UAAA,CAAAxJ,IAAA;UAAA;QAAA,GAAAqJ,SAAA;MAAA,CAC7F;MAAA,SARYM,uCAAuCA,CAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAV,wCAAA,CAAA1I,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAvCwX,uCAAuC;IAAA;EAAA;AAAA;;;;;;;;;ACzIxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,IASqBrX,WAAK;EAAA,SAAAA,MAAA;IAAA7D,oBAAA,OAAA6D,KAAA;EAAA;EAAA,OAAA5D,iBAAA,CAAA4D,KAAA;IAAA3D,GAAA;IAAAC,KAAA,EACtB,SAAOmb,eAAeA,CAACC,IAAI,EAAE;MACzB,IAAIC,IAAI,GAAG,EAAE;MACb,KAAK,IAAItb,GAAG,IAAIqb,IAAI,EAAE;QAClBC,IAAI,CAACpL,IAAI,CAACmL,IAAI,CAACrb,GAAG,CAAC,CAAC;MACxB;MACA,OAAOsb,IAAI;IACf;EAAC;IAAAtb,GAAA;IAAAC,KAAA,EACD,SAAOsb,oCAAoCA,CAACC,OAAO,EAAE;MACjD,IAAIC,WAAW,CAACC,aAAa,IAAI,MAAM,EAAE;QACrCzH,OAAO,CAAC0H,GAAG,CAACH,OAAO,CAAC;MACxB;IACJ;EAAC;AAAA;;;;;;;;;ACrBuC;AAAA,IAEvBI,cAAc;EAAA,SAAAA,eAAA;IAAA9b,8BAAA,OAAA8b,cAAA;EAAA;EAAA,OAAA7b,2BAAA,CAAA6b,cAAA;IAAA5b,GAAA;IAAAC,KAAA,EAC/B,SAAO4b,MAAMA,CAACC,eAAe,EAAE;MAC3BpR,MAAM,CAACC,sBAAsB,CAACoR,gBAAgB,GAAG,UAAU,GAAGC,UAAU,EAAE9Q,eAAe,EAAE,UAAC+Q,YAAY,EAAK;QACzGA,YAAY,CAAC9Q,gBAAgB,CAAC,OAAO,EAAE,YAAM;UACzC,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;UACtDG,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;QACvC,CAAC,CAAC;MACN,CAAC,CAAC;MACF1R,MAAM,CAACC,sBAAsB,CAACoR,gBAAgB,GAAG,UAAU,GAAGM,UAAU,EAAEnR,eAAe,EAAE,UAACoR,aAAa,EAAK;QAC1GA,aAAa,CAACnR,gBAAgB,CAAC,OAAO,EAAE,YAAM;UAC1C,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;UACtD,IAAIQ,QAAQ,GAAGL,OAAO,CAAChW,aAAa,CAAC,UAAU,CAAC;UAChDgW,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;UACnCN,eAAe,CAACS,QAAQ,CAACtc,KAAK,CAAC;QACnC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAD,GAAA;IAAAC,KAAA,EACD,SAAOuc,IAAIA,CAAA,EAAG;MACV,IAAIN,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAAC6V,gBAAgB,CAAC;MACtDG,OAAO,CAAC1U,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;MACzCP,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,SAAS;IACxC;EAAC;AAAA;;;;;;;;;ACvBqE;AACpC;AACa;AACvB;AACA;AACQ;AAE2C;AACJ;AAC7B;AAAA,IAEzBQ,QAAQ;EACzB,SAAAA,SAAYC,MAAM,EAAE;IAAA/c,mBAAA,OAAA8c,QAAA;IAChB,IAAI,CAACC,MAAM,EAAE;MACT,MAAM,IAAI9N,KAAK,CAAC,oBAAoB,CAAC;IACzC,CAAC,MACI;MACDpL,WAAK,CAAC4X,oCAAoC,CAAC,4BAA4B,EAAEsB,MAAM,CAAC;IACpF;IACA,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,KAAK,GAAGC,gBAAgB;IAC7B,IAAI,IAAI,CAACvM,WAAW,KAAKoM,QAAQ,EAAE;MAC/B,MAAM,IAAI7N,KAAK,CAAC,mCAAmC,CAAC;IACxD;IAEA,IAAI,CAAC,IAAI,CAACyB,WAAW,CAAC6D,IAAI,EAAE;MACxB,MAAM,IAAItF,KAAK,UAAA3I,MAAA,CAAU,IAAI,CAACoK,WAAW,CAACC,IAAI,wCAAqC,CAAC;IACxF;EACJ;EAAC,OAAA1Q,gBAAA,CAAA6c,QAAA;IAAA5c,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,MAAM,IAAIjO,KAAK,CAAC,4CAA4C,CAAC;IACjE;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EAED,SAAAgd,gBAAgBA,CAAA,EAAG;MACf,IAAI,CAACC,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC/B;EAAC;IAAAnd,GAAA;IAAAC,KAAA,EAED,SAAAid,iBAAiBA,CAAA,EAAG;MAChBvZ,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,GAAG,IAAI,CAACuB,KAAK,GAAG,OAAO,CAAC;IACtF;EAAC;IAAA9c,GAAA;IAAAC,KAAA,EAED,SAAAkd,oBAAoBA,CAAA,EAAG;MACnB;MACA,IAAI,CAACC,WAAW,CAAC,CAAC;MAClB,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACC,cAAc,CAAC,CAAC;IACzB;EAAC;IAAAtd,GAAA;IAAAC,KAAA,EACD,SAAAmd,WAAWA,CAAA,EAAG;MAAA,IAAAG,KAAA;MACV7S,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAGwS,aAAa,GAAG,GAAG,GAAG,GAAG,GAAGC,QAAQ,EAAE,UAACrS,KAAK,EAAEtH,OAAO,EAAK;QAC/FH,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,CAAC;QAC3DgC,KAAI,CAACV,MAAM,CAACa,cAAc,CAACpJ,YAAY,CAAC;MAC5C,CAAC,CAAC;IACN;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATI;IAAAtU,GAAA;IAAAC,KAAA,EAUA,SAAAod,gBAAgBA,CAAA,EAAG;MACf3S,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE2S,iBAAiB,EAAE,UAACvS,KAAK,EAAEtH,OAAO,EAAK;QACtE,IAAI8Z,gBAAgB,GAAGjc,QAAQ,CAACuE,aAAa,CAAC2X,kBAAkB,CAAC;QACjE,IAAID,gBAAgB,CAACpW,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UACtDmB,gBAAgB,CAACpW,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;UAClDmB,gBAAgB,CAACpW,SAAS,CAACE,GAAG,CAACoW,YAAY,CAAC;QAChD,CAAC,MAAM;UACHF,gBAAgB,CAACpW,SAAS,CAACG,MAAM,CAACmW,YAAY,CAAC;UAC/CF,gBAAgB,CAACpW,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACnD;MACJ,CAAC,CAAC;MAEF,IAAI,CAACsB,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B;MACA,IAAI,CAACC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,0BAA0B,CAAC,CAAC;MACjC,IAAI,CAACC,yBAAyB,CAAC,CAAC;;MAEhC;MACA;MACA,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,oCAAoC,CAAC,CAAC;MAC3C,IAAI,CAACC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,4BAA4B,CAAC,CAAC;MACnC,IAAI,CAACC,8BAA8B,CAAC,CAAC;MACrC,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,8BAA8B,CAAC,CAAC;MACrC,IAAI,CAACC,kCAAkC,CAAC,CAAC;IAC7C;EAAC;IAAA7e,GAAA;IAAAC,KAAA,EACD,SAAA8d,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAACe,gBAAgB,CAAC,GAAG,GAAGC,WAAW,EAAEzK,YAAY,CAAC;IAC1D;EAAC;IAAAtU,GAAA;IAAAC,KAAA,EACD,SAAA6e,gBAAgBA,CAACE,cAAc,EAAEC,WAAW,EAAE;MAAA,IAAAC,MAAA;MAC1CxU,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEgU,cAAc,EAAE,UAAC5T,KAAK,EAAE+T,MAAM,EAAK;QAClED,MAAI,CAACrC,MAAM,CAACa,cAAc,CAACuB,WAAW,CAAC;MAC3C,CAAC,CAAC;IACN;EAAC;IAAAjf,GAAA;IAAAC,KAAA,EACD,SAAA+d,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACc,gBAAgB,CAAC,GAAG,GAAGM,cAAc,EAAEC,eAAe,CAAC;IAChE;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EAPI;IAAArf,GAAA;IAAAC,KAAA,EAQA,SAAAge,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACa,gBAAgB,CAAC,GAAG,GAAGQ,kBAAkB,EAAEC,mBAAmB,CAAC;IACxE;EAAC;IAAAvf,GAAA;IAAAC,KAAA,EACD,SAAAie,0BAA0BA,CAAA,EAAG;MACzB,IAAI,CAACY,gBAAgB,CAAC,GAAG,GAAGU,iBAAiB,EAAEC,kBAAkB,CAAC;IACtE;EAAC;IAAAzf,GAAA;IAAAC,KAAA,EACD,SAAAke,yBAAyBA,CAAA,EAAG;MAAA,IAAAuB,MAAA;MACxBhV,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG2U,gBAAgB,EAAE,UAACvU,KAAK,EAAEwU,SAAS,EAAK;QAC7ExU,KAAK,CAACC,eAAe,CAAC,CAAC;QACvBqU,MAAI,CAACG,KAAK,CAAC,CAAC;QACZhN,GAAG,CAACyC,SAAS,CAAC,CAAC,CACVzG,IAAI,CAAC,UAACwE,QAAQ,EAAK;UACpB,IAAIA,QAAQ,CAACyM,OAAO,EAAE;YAClBlL,MAAM,CAACC,QAAQ,CAACC,IAAI,GAAGzB,QAAQ,CAAC+B,YAAY,CAAC;UACjD,CAAC,MAAM;YACHxR,GAAG,CAACsF,UAAU,CAAC,OAAO,EAAEmK,QAAQ,CAAC0M,OAAO,CAAC;UAC7C;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAA/f,GAAA;IAAAC,KAAA,EACD,SAAAme,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACU,gBAAgB,CAAC,GAAG,GAAGkB,cAAc,EAAEC,eAAe,CAAC;IAChE;EAAC;IAAAjgB,GAAA;IAAAC,KAAA,EACD,SAAAoe,oCAAoCA,CAAA,EAAG;MACnC,IAAI,CAACS,gBAAgB,CAAC,GAAG,GAAGoB,2BAA2B,EAAEC,4BAA4B,CAAC;IAC1F;EAAC;IAAAngB,GAAA;IAAAC,KAAA,EACD,SAAAqe,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACQ,gBAAgB,CAAC,GAAG,GAAGsB,kBAAkB,EAAEC,mBAAmB,CAAC;IACxE;EAAC;IAAArgB,GAAA;IAAAC,KAAA,EACD,SAAAse,kCAAkCA,CAAA,EAAG;MACjC,IAAI,CAACO,gBAAgB,CAAC,GAAG,GAAGwB,yBAAyB,EAAEC,0BAA0B,CAAC;IACtF;EAAC;IAAAvgB,GAAA;IAAAC,KAAA,EACD,SAAAue,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACM,gBAAgB,CAAC,GAAG,GAAG0B,cAAc,EAAEC,eAAe,CAAC;IAChE;EAAC;IAAAzgB,GAAA;IAAAC,KAAA,EACD,SAAAwe,4BAA4BA,CAAA,EAAG;MAC3B,IAAI,CAACK,gBAAgB,CAAC,GAAG,GAAG4B,mBAAmB,EAAEC,oBAAoB,CAAC;IAC1E;EAAC;IAAA3gB,GAAA;IAAAC,KAAA,EACD,SAAAye,8BAA8BA,CAAA,EAAG;MAC7B,IAAI,CAACI,gBAAgB,CAAC,GAAG,GAAG8B,qBAAqB,EAAEC,sBAAsB,CAAC;IAC9E;EAAC;IAAA7gB,GAAA;IAAAC,KAAA,EACD,SAAA0e,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAACG,gBAAgB,CAAC,GAAG,GAAGgC,4BAA4B,EAAEC,6BAA6B,CAAC;IAC5F;EAAC;IAAA/gB,GAAA;IAAAC,KAAA,EACD,SAAA2e,8BAA8BA,CAAA,EAAG;MAC7B,IAAI,CAACE,gBAAgB,CAAC,GAAG,GAAGkC,qBAAqB,EAAEC,sBAAsB,CAAC;IAC9E;EAAC;IAAAjhB,GAAA;IAAAC,KAAA,EACD,SAAA4e,kCAAkCA,CAAA,EAAG;MACjC,IAAI,CAACC,gBAAgB,CAAC,GAAG,GAAGoC,yBAAyB,EAAEC,0BAA0B,CAAC;IACtF;EAAC;IAAAnhB,GAAA;IAAAC,KAAA,EAED,SAAAqd,cAAcA,CAAA,EAAG;MACb,IAAI,CAAC8D,mBAAmB,CAACrF,gBAAgB,CAAC;MAC1C,IAAI,CAACqF,mBAAmB,CAACC,cAAc,CAAC;IAC5C;EAAC;IAAArhB,GAAA;IAAAC,KAAA,EAED,SAAAmhB,mBAAmBA,CAACE,SAAS,EAAE;MAC3B5W,MAAM,CAACC,sBAAsB,CAAC2W,SAAS,EAAEpW,eAAe,EAAE,UAACgR,OAAO,EAAK;QACnEA,OAAO,CAAChW,aAAa,CAAC,SAAS,GAAG8V,UAAU,CAAC,CAAC7Q,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UAC/EA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvB6Q,OAAO,CAACC,KAAK,CAACoF,OAAO,GAAG,MAAM;QAClC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAvhB,GAAA;IAAAC,KAAA,EAED,SAAAuhB,gBAAgBA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACf/W,MAAM,CAACC,sBAAsB,CAAC,GAAG,GAAG+W,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAG3F,UAAU,GAAG,UAAU,GAAG2F,QAAQ,EAAEzW,eAAe,EAAE,UAACiU,MAAM,EAAK;QACxIA,MAAM,CAAChU,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UACxCA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvB8T,MAAM,GAAG/T,KAAK,CAACwW,MAAM;UACrB,IAAIzC,MAAM,CAAC3X,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAChD9Y,WAAK,CAAC4X,oCAAoC,CAAC,eAAe,EAAEkG,MAAI,CAAC3E,KAAK,CAAC;UACvElB,cAAc,CAACY,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAAxc,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJlc,WAAK,CAAC4X,oCAAoC,CAAC,UAAU,GAAG,IAAI,CAACuB,KAAK,GAAG,OAAO,CAAC;MAC7E,IAAI,IAAI,CAACtM,WAAW,KAAKoM,QAAQ,EAAE;QAC/B,MAAM,IAAI7N,KAAK,CAAC,gCAAgC,CAAC;MACrD;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAA4hB,mBAAmBA,CAACC,QAAQ,EAAE;MAC1BxW,YAAY,CAACK,eAAe,CAAC,IAAI,CAAC0I,IAAI,EAAEyN,QAAQ,CAAC;IACrD;EAAC;IAAA9hB,GAAA;IAAAC,KAAA,EACD,SAAA8hB,mBAAmBA,CAAA,EAAG;MAClB,OAAOzW,YAAY,CAACC,eAAe,CAAC,IAAI,CAAC8I,IAAI,CAAC;IAClD;EAAC;IAAArU,GAAA;IAAAC,KAAA,EAED,SAAA+hB,2BAA2BA,CAACxF,IAAI,EAAkC;MAAA,IAAhCyF,uBAAuB,GAAAze,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAI;MAChE,IAAI3D,UAAU,CAACK,OAAO,CAAC+hB,uBAAuB,CAAC,EAAEA,uBAAuB,GAAG,GAAG,GAAGP,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAG3F,UAAU;MAClI,IAAIkG,UAAU,GAAGvgB,QAAQ,CAACuE,aAAa,CAAC+b,uBAAuB,GAAG,GAAG,GAAGE,YAAY,CAAC;MACrF,IAAIlG,YAAY,GAAGta,QAAQ,CAACuE,aAAa,CAAC+b,uBAAuB,GAAG,GAAG,GAAGG,cAAc,CAAC;MACzFze,WAAK,CAAC4X,oCAAoC,CAAC;QAAEiB,IAAI,EAAJA,IAAI;QAAEyF,uBAAuB,EAAvBA,uBAAuB;QAAEhG,YAAY,EAAZA,YAAY;QAAEiG,UAAU,EAAVA;MAAW,CAAC,CAAC;MACvG,IAAI1F,IAAI,EAAE;QACNP,YAAY,CAACzU,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QAC9CyF,UAAU,CAAC1a,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QAC5C9Y,WAAK,CAAC4X,oCAAoC,CAAC,iBAAiB,CAAC;MACjE,CAAC,MAAM;QACHU,YAAY,CAACzU,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QAC3CyF,UAAU,CAAC1a,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACzC9Y,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;MAChE;IACJ;EAAC;IAAAvb,GAAA;IAAAC,KAAA,EAED,SAAOoiB,aAAaA,CAACrc,MAAM,EAAE;MACzB,IAAIiB,OAAO,GAAGrD,GAAG,CAACmD,4BAA4B,CAACf,MAAM,CAAC;MACtD,IAAIiB,OAAO,EAAEtF,QAAQ,CAACC,gBAAgB,CAAC0gB,WAAW,GAAG,WAAW,CAAC,CAAC3a,MAAM,CAAC,CAAC;MAC1E,OAAOV,OAAO;IAClB;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;AClOL;AACkC;AAClC;AAAA,IAGqBsb,QAAQ,0BAAAC,SAAA;EAGzB,SAAAD,SAAY1F,MAAM,EAAE;IAAA/c,mBAAA,OAAAyiB,QAAA;IAAA,OAAAE,UAAA,OAAAF,QAAA,GACV1F,MAAM;EAChB;EAAC6F,SAAA,CAAAH,QAAA,EAAAC,SAAA;EAAA,OAAAziB,gBAAA,CAAAwiB,QAAA;IAAAviB,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB;IACJ;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,aAAA,CAAAJ,QAAA;IACJ;EAAC;AAAA,EAdiC3F,QAAQ;AAAArT,mBAAA,CAAzBgZ,QAAQ,UACXjO,YAAY;;;;qDCN9B,qJAAAxI,yBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAzJ,MAAA,CAAA0J,SAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,cAAA,EAAAC,CAAA,GAAA7J,MAAA,CAAA8J,cAAA,cAAAN,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAhM,KAAA,KAAAO,CAAA,wBAAA+L,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAhM,CAAA,CAAAiM,QAAA,kBAAAC,CAAA,GAAAlM,CAAA,CAAAmM,aAAA,uBAAAC,CAAA,GAAApM,CAAA,CAAAqM,WAAA,8BAAAC,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAzJ,MAAA,CAAA8J,cAAA,CAAAN,CAAA,EAAAD,CAAA,IAAA9L,KAAA,EAAAgM,CAAA,EAAAc,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAjB,CAAA,CAAAD,CAAA,WAAAe,MAAA,mBAAAd,CAAA,IAAAc,MAAA,YAAAA,OAAAd,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAiB,KAAAlB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAA3L,CAAA,GAAAuL,CAAA,IAAAA,CAAA,CAAAG,SAAA,YAAAiB,SAAA,GAAApB,CAAA,GAAAoB,SAAA,EAAAX,CAAA,GAAAhK,MAAA,CAAA4K,MAAA,CAAA5M,CAAA,CAAA0L,SAAA,GAAAQ,CAAA,OAAAW,OAAA,CAAAlB,CAAA,gBAAAE,CAAA,CAAAG,CAAA,eAAAvM,KAAA,EAAAqN,gBAAA,CAAAtB,CAAA,EAAAC,CAAA,EAAAS,CAAA,MAAAF,CAAA,aAAAe,SAAAvB,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAAzH,IAAA,YAAAgJ,GAAA,EAAAxB,CAAA,CAAAyB,IAAA,CAAA1B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAAxH,IAAA,WAAAgJ,GAAA,EAAAxB,CAAA,QAAAD,CAAA,CAAAmB,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAAnB,MAAA,CAAAmB,CAAA,EAAAzB,CAAA,qCAAAtK,CAAA,GAAAM,MAAA,CAAA0L,cAAA,EAAAC,CAAA,GAAAjM,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAkM,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAlC,CAAA,IAAAE,CAAA,CAAAsB,IAAA,CAAAU,CAAA,EAAA3B,CAAA,MAAAyB,CAAA,GAAAE,CAAA,OAAAE,CAAA,GAAAL,0BAAA,CAAA9B,SAAA,GAAAiB,SAAA,CAAAjB,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAa,CAAA,YAAAK,sBAAAtC,CAAA,gCAAAjB,OAAA,WAAAgB,CAAA,IAAAe,MAAA,CAAAd,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAAuC,OAAA,CAAAxC,CAAA,EAAAC,CAAA,sBAAAwC,cAAAxC,CAAA,EAAAD,CAAA,aAAA0C,OAAAxC,CAAA,EAAAI,CAAA,EAAA7L,CAAA,EAAAgM,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAAvB,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAK,CAAA,mBAAAK,CAAA,CAAAlI,IAAA,QAAAoI,CAAA,GAAAF,CAAA,CAAAc,GAAA,EAAAE,CAAA,GAAAd,CAAA,CAAA3M,KAAA,SAAAyN,CAAA,gBAAAgB,aAAA,CAAAhB,CAAA,KAAAvB,CAAA,CAAAsB,IAAA,CAAAC,CAAA,eAAA3B,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,CAAAkB,OAAA,EAAAC,IAAA,WAAA7C,CAAA,IAAAyC,MAAA,SAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,gBAAAR,CAAA,IAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,QAAAT,CAAA,CAAA4C,OAAA,CAAAjB,CAAA,EAAAmB,IAAA,WAAA7C,CAAA,IAAAY,CAAA,CAAA3M,KAAA,GAAA+L,CAAA,EAAAxL,CAAA,CAAAoM,CAAA,gBAAAZ,CAAA,WAAAyC,MAAA,UAAAzC,CAAA,EAAAxL,CAAA,EAAAgM,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAc,GAAA,SAAAvB,CAAA,EAAAI,CAAA,oBAAApM,KAAA,WAAAA,MAAA+L,CAAA,EAAAG,CAAA,aAAA2C,2BAAA,eAAA/C,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAAwC,MAAA,CAAAzC,CAAA,EAAAG,CAAA,EAAAJ,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAA4C,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAxB,iBAAAvB,CAAA,EAAAE,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAqB,CAAA,mBAAAlN,CAAA,EAAAgM,CAAA,QAAAH,CAAA,KAAAuB,CAAA,QAAAmB,KAAA,sCAAA1C,CAAA,KAAAwB,CAAA,oBAAArN,CAAA,QAAAgM,CAAA,WAAAvM,KAAA,EAAA+L,CAAA,EAAAgD,IAAA,eAAA7C,CAAA,CAAA8C,MAAA,GAAAzO,CAAA,EAAA2L,CAAA,CAAAqB,GAAA,GAAAhB,CAAA,UAAAE,CAAA,GAAAP,CAAA,CAAA+C,QAAA,MAAAxC,CAAA,QAAAE,CAAA,GAAAuC,mBAAA,CAAAzC,CAAA,EAAAP,CAAA,OAAAS,CAAA,QAAAA,CAAA,KAAAkB,CAAA,mBAAAlB,CAAA,qBAAAT,CAAA,CAAA8C,MAAA,EAAA9C,CAAA,CAAAiD,IAAA,GAAAjD,CAAA,CAAAkD,KAAA,GAAAlD,CAAA,CAAAqB,GAAA,sBAAArB,CAAA,CAAA8C,MAAA,QAAA5C,CAAA,KAAAqB,CAAA,QAAArB,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAAqB,GAAA,EAAArB,CAAA,CAAAmD,iBAAA,CAAAnD,CAAA,CAAAqB,GAAA,uBAAArB,CAAA,CAAA8C,MAAA,IAAA9C,CAAA,CAAAoD,MAAA,WAAApD,CAAA,CAAAqB,GAAA,GAAAnB,CAAA,GAAAuB,CAAA,MAAAK,CAAA,GAAAV,QAAA,CAAAxB,CAAA,EAAAE,CAAA,EAAAE,CAAA,oBAAA8B,CAAA,CAAAzJ,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAA6C,IAAA,GAAAnB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA7N,KAAA,EAAAgO,CAAA,CAAAT,GAAA,EAAAwB,IAAA,EAAA7C,CAAA,CAAA6C,IAAA,kBAAAf,CAAA,CAAAzJ,IAAA,KAAA6H,CAAA,GAAAwB,CAAA,EAAA1B,CAAA,CAAA8C,MAAA,YAAA9C,CAAA,CAAAqB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA2B,oBAAApD,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAgD,MAAA,EAAA5C,CAAA,GAAAN,CAAA,CAAAU,QAAA,CAAAN,CAAA,OAAAE,CAAA,KAAAL,CAAA,SAAAC,CAAA,CAAAiD,QAAA,qBAAA/C,CAAA,IAAAJ,CAAA,CAAAU,QAAA,eAAAR,CAAA,CAAAgD,MAAA,aAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,EAAAmD,mBAAA,CAAApD,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAgD,MAAA,kBAAA9C,CAAA,KAAAF,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,uCAAArD,CAAA,iBAAA2B,CAAA,MAAAtN,CAAA,GAAA+M,QAAA,CAAAlB,CAAA,EAAAN,CAAA,CAAAU,QAAA,EAAAR,CAAA,CAAAuB,GAAA,mBAAAhN,CAAA,CAAAgE,IAAA,SAAAyH,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,GAAAhN,CAAA,CAAAgN,GAAA,EAAAvB,CAAA,CAAAiD,QAAA,SAAApB,CAAA,MAAAtB,CAAA,GAAAhM,CAAA,CAAAgN,GAAA,SAAAhB,CAAA,GAAAA,CAAA,CAAAwC,IAAA,IAAA/C,CAAA,CAAAF,CAAA,CAAA0D,UAAA,IAAAjD,CAAA,CAAAvM,KAAA,EAAAgM,CAAA,CAAAyD,IAAA,GAAA3D,CAAA,CAAA4D,OAAA,eAAA1D,CAAA,CAAAgD,MAAA,KAAAhD,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,GAAAC,CAAA,CAAAiD,QAAA,SAAApB,CAAA,IAAAtB,CAAA,IAAAP,CAAA,CAAAgD,MAAA,YAAAhD,CAAA,CAAAuB,GAAA,OAAAgC,SAAA,sCAAAvD,CAAA,CAAAiD,QAAA,SAAApB,CAAA,cAAA8B,aAAA5D,CAAA,QAAAD,CAAA,KAAA8D,MAAA,EAAA7D,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAA+D,QAAA,GAAA9D,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAgE,UAAA,GAAA/D,CAAA,KAAAD,CAAA,CAAAiE,QAAA,GAAAhE,CAAA,WAAAiE,UAAA,CAAAC,IAAA,CAAAnE,CAAA,cAAAoE,cAAAnE,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAAoE,UAAA,QAAArE,CAAA,CAAAvH,IAAA,oBAAAuH,CAAA,CAAAyB,GAAA,EAAAxB,CAAA,CAAAoE,UAAA,GAAArE,CAAA,aAAAsB,QAAArB,CAAA,SAAAiE,UAAA,MAAAJ,MAAA,aAAA7D,CAAA,CAAAjB,OAAA,CAAA6E,YAAA,cAAAS,KAAA,iBAAAjC,OAAArC,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAS,CAAA,OAAAP,CAAA,SAAAA,CAAA,CAAAwB,IAAA,CAAA1B,CAAA,4BAAAA,CAAA,CAAA2D,IAAA,SAAA3D,CAAA,OAAApL,KAAA,CAAAoL,CAAA,CAAA1L,MAAA,SAAAgM,CAAA,OAAA7L,CAAA,YAAAkP,KAAA,aAAArD,CAAA,GAAAN,CAAA,CAAA1L,MAAA,OAAA8L,CAAA,CAAAsB,IAAA,CAAA1B,CAAA,EAAAM,CAAA,UAAAqD,IAAA,CAAAzP,KAAA,GAAA8L,CAAA,CAAAM,CAAA,GAAAqD,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAAlP,CAAA,CAAAkP,IAAA,GAAAlP,CAAA,gBAAAgP,SAAA,CAAAd,aAAA,CAAA3C,CAAA,kCAAAgC,iBAAA,CAAA7B,SAAA,GAAA8B,0BAAA,EAAA3B,CAAA,CAAAgC,CAAA,mBAAApO,KAAA,EAAA+N,0BAAA,EAAAhB,YAAA,SAAAX,CAAA,CAAA2B,0BAAA,mBAAA/N,KAAA,EAAA8N,iBAAA,EAAAf,YAAA,SAAAe,iBAAA,CAAAuC,WAAA,GAAAxD,MAAA,CAAAkB,0BAAA,EAAApB,CAAA,wBAAAb,CAAA,CAAAwE,mBAAA,aAAAvE,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAwE,WAAA,WAAAzE,CAAA,KAAAA,CAAA,KAAAgC,iBAAA,6BAAAhC,CAAA,CAAAuE,WAAA,IAAAvE,CAAA,CAAA0E,IAAA,OAAA1E,CAAA,CAAA2E,IAAA,aAAA1E,CAAA,WAAAxJ,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAA3E,CAAA,EAAAgC,0BAAA,KAAAhC,CAAA,CAAA4E,SAAA,GAAA5C,0BAAA,EAAAlB,MAAA,CAAAd,CAAA,EAAAY,CAAA,yBAAAZ,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAAiB,CAAA,GAAArC,CAAA,KAAAD,CAAA,CAAA8E,KAAA,aAAA7E,CAAA,aAAA4C,OAAA,EAAA5C,CAAA,OAAAsC,qBAAA,CAAAE,aAAA,CAAAtC,SAAA,GAAAY,MAAA,CAAA0B,aAAA,CAAAtC,SAAA,EAAAQ,CAAA,iCAAAX,CAAA,CAAAyC,aAAA,GAAAA,aAAA,EAAAzC,CAAA,CAAA+E,KAAA,aAAA9E,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA7L,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAuQ,OAAA,OAAAvE,CAAA,OAAAgC,aAAA,CAAAtB,IAAA,CAAAlB,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAE,CAAA,GAAA7L,CAAA,UAAAuL,CAAA,CAAAwE,mBAAA,CAAAtE,CAAA,IAAAO,CAAA,GAAAA,CAAA,CAAAkD,IAAA,GAAAb,IAAA,WAAA7C,CAAA,WAAAA,CAAA,CAAAgD,IAAA,GAAAhD,CAAA,CAAA/L,KAAA,GAAAuM,CAAA,CAAAkD,IAAA,WAAApB,qBAAA,CAAAD,CAAA,GAAAvB,MAAA,CAAAuB,CAAA,EAAAzB,CAAA,gBAAAE,MAAA,CAAAuB,CAAA,EAAA7B,CAAA,iCAAAM,MAAA,CAAAuB,CAAA,6DAAAtC,CAAA,CAAAtJ,IAAA,aAAAuJ,CAAA,QAAAD,CAAA,GAAAvJ,MAAA,CAAAwJ,CAAA,GAAAC,CAAA,gBAAAE,CAAA,IAAAJ,CAAA,EAAAE,CAAA,CAAAiE,IAAA,CAAA/D,CAAA,UAAAF,CAAA,CAAA+E,OAAA,aAAAtB,KAAA,WAAAzD,CAAA,CAAA5L,MAAA,SAAA2L,CAAA,GAAAC,CAAA,CAAAgF,GAAA,QAAAjF,CAAA,IAAAD,CAAA,SAAA2D,IAAA,CAAAzP,KAAA,GAAA+L,CAAA,EAAA0D,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAA3D,CAAA,CAAAqC,MAAA,GAAAA,MAAA,EAAAf,OAAA,CAAAnB,SAAA,KAAAsE,WAAA,EAAAnD,OAAA,EAAAgD,KAAA,WAAAA,MAAAtE,CAAA,aAAAmF,IAAA,WAAAxB,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAArD,CAAA,OAAAgD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAAzB,GAAA,GAAAxB,CAAA,OAAAiE,UAAA,CAAAlF,OAAA,CAAAoF,aAAA,IAAApE,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAAkF,MAAA,OAAAhF,CAAA,CAAAsB,IAAA,OAAAxB,CAAA,MAAAtL,KAAA,EAAAsL,CAAA,CAAAmF,KAAA,cAAAnF,CAAA,IAAAD,CAAA,MAAAqF,IAAA,WAAAA,KAAA,SAAArC,IAAA,WAAAhD,CAAA,QAAAiE,UAAA,IAAAG,UAAA,kBAAApE,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,cAAA8D,IAAA,KAAAhC,iBAAA,WAAAA,kBAAAvD,CAAA,aAAAiD,IAAA,QAAAjD,CAAA,MAAAE,CAAA,kBAAAsF,OAAApF,CAAA,EAAAE,CAAA,WAAAG,CAAA,CAAAhI,IAAA,YAAAgI,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAE,CAAA,CAAAyD,IAAA,GAAAvD,CAAA,EAAAE,CAAA,KAAAJ,CAAA,CAAAgD,MAAA,WAAAhD,CAAA,CAAAuB,GAAA,GAAAxB,CAAA,KAAAK,CAAA,aAAAA,CAAA,QAAA4D,UAAA,CAAA5P,MAAA,MAAAgM,CAAA,SAAAA,CAAA,QAAA7L,CAAA,QAAAyP,UAAA,CAAA5D,CAAA,GAAAG,CAAA,GAAAhM,CAAA,CAAA4P,UAAA,iBAAA5P,CAAA,CAAAqP,MAAA,SAAA0B,MAAA,aAAA/Q,CAAA,CAAAqP,MAAA,SAAAqB,IAAA,QAAAxE,CAAA,GAAAP,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,eAAAoM,CAAA,GAAAT,CAAA,CAAAsB,IAAA,CAAAjN,CAAA,qBAAAkM,CAAA,IAAAE,CAAA,aAAAsE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,gBAAAoB,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,cAAArD,CAAA,aAAAwE,IAAA,GAAA1Q,CAAA,CAAAsP,QAAA,SAAAyB,MAAA,CAAA/Q,CAAA,CAAAsP,QAAA,qBAAAlD,CAAA,QAAAmC,KAAA,qDAAAmC,IAAA,GAAA1Q,CAAA,CAAAuP,UAAA,SAAAwB,MAAA,CAAA/Q,CAAA,CAAAuP,UAAA,YAAAR,MAAA,WAAAA,OAAAvD,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAgE,UAAA,CAAA5P,MAAA,MAAA4L,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAA4D,UAAA,CAAAhE,CAAA,OAAAI,CAAA,CAAAwD,MAAA,SAAAqB,IAAA,IAAA/E,CAAA,CAAAsB,IAAA,CAAApB,CAAA,wBAAA6E,IAAA,GAAA7E,CAAA,CAAA0D,UAAA,QAAAvP,CAAA,GAAA6L,CAAA,aAAA7L,CAAA,iBAAAwL,CAAA,mBAAAA,CAAA,KAAAxL,CAAA,CAAAqP,MAAA,IAAA9D,CAAA,IAAAA,CAAA,IAAAvL,CAAA,CAAAuP,UAAA,KAAAvP,CAAA,cAAAgM,CAAA,GAAAhM,CAAA,GAAAA,CAAA,CAAA4P,UAAA,cAAA5D,CAAA,CAAAhI,IAAA,GAAAwH,CAAA,EAAAQ,CAAA,CAAAgB,GAAA,GAAAzB,CAAA,EAAAvL,CAAA,SAAAyO,MAAA,gBAAAS,IAAA,GAAAlP,CAAA,CAAAuP,UAAA,EAAAjC,CAAA,SAAA0D,QAAA,CAAAhF,CAAA,MAAAgF,QAAA,WAAAA,SAAAxF,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAAxH,IAAA,QAAAwH,CAAA,CAAAwB,GAAA,qBAAAxB,CAAA,CAAAxH,IAAA,mBAAAwH,CAAA,CAAAxH,IAAA,QAAAkL,IAAA,GAAA1D,CAAA,CAAAwB,GAAA,gBAAAxB,CAAA,CAAAxH,IAAA,SAAA8M,IAAA,QAAA9D,GAAA,GAAAxB,CAAA,CAAAwB,GAAA,OAAAyB,MAAA,kBAAAS,IAAA,yBAAA1D,CAAA,CAAAxH,IAAA,IAAAuH,CAAA,UAAA2D,IAAA,GAAA3D,CAAA,GAAA+B,CAAA,KAAA2D,MAAA,WAAAA,OAAAzF,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA8D,UAAA,KAAA/D,CAAA,cAAAwF,QAAA,CAAAvF,CAAA,CAAAmE,UAAA,EAAAnE,CAAA,CAAA+D,QAAA,GAAAG,aAAA,CAAAlE,CAAA,GAAA6B,CAAA,yBAAA4D,OAAA1F,CAAA,aAAAD,CAAA,QAAAkE,UAAA,CAAA5P,MAAA,MAAA0L,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAgE,UAAA,CAAAlE,CAAA,OAAAE,CAAA,CAAA4D,MAAA,KAAA7D,CAAA,QAAAG,CAAA,GAAAF,CAAA,CAAAmE,UAAA,kBAAAjE,CAAA,CAAA3H,IAAA,QAAA6H,CAAA,GAAAF,CAAA,CAAAqB,GAAA,EAAA2C,aAAA,CAAAlE,CAAA,YAAAI,CAAA,YAAA0C,KAAA,8BAAA4C,aAAA,WAAAA,cAAA5F,CAAA,EAAAE,CAAA,EAAAE,CAAA,gBAAA+C,QAAA,KAAAzC,QAAA,EAAA2B,MAAA,CAAArC,CAAA,GAAA0D,UAAA,EAAAxD,CAAA,EAAA0D,OAAA,EAAAxD,CAAA,oBAAA8C,MAAA,UAAAzB,GAAA,GAAAxB,CAAA,GAAA8B,CAAA,OAAA/B,CAAA;AAAA,SAAA0W,gBAAAA,CAAAzW,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,GAAAuW,qBAAA,CAAAvW,CAAA,GAAAwW,gCAAA,CAAA7W,CAAA,EAAA8W,+BAAA,KAAAC,OAAA,CAAAC,SAAA,CAAA3W,CAAA,EAAAN,CAAA,QAAA6W,qBAAA,CAAA5W,CAAA,EAAAwE,WAAA,IAAAnE,CAAA,CAAA0F,KAAA,CAAA/F,CAAA,EAAAD,CAAA;AAAA,SAAA8W,gCAAAA,CAAA7W,CAAA,EAAAD,CAAA,QAAAA,CAAA,iBAAA2C,aAAA,CAAA3C,CAAA,0BAAAA,CAAA,UAAAA,CAAA,iBAAAA,CAAA,YAAAyD,SAAA,qEAAAyT,4BAAA,CAAAjX,CAAA;AAAA,SAAAiX,4BAAAA,CAAAlX,CAAA,mBAAAA,CAAA,YAAAmX,cAAA,sEAAAnX,CAAA;AAAA,SAAA4W,mBAAAA,CAAA3W,CAAA,EAAAK,CAAA,EAAAN,CAAA,EAAAE,CAAA,QAAAgC,CAAA,GAAAkV,UAAA,CAAAP,qBAAA,KAAA3W,CAAA,GAAAD,CAAA,CAAAE,SAAA,GAAAF,CAAA,GAAAK,CAAA,EAAAN,CAAA,cAAAE,CAAA,yBAAAgC,CAAA,aAAAjC,CAAA,WAAAiC,CAAA,CAAA8D,KAAA,CAAAhG,CAAA,EAAAC,CAAA,OAAAiC,CAAA;AAAA,SAAAkV,UAAAA,CAAA,WAAAA,UAAA,yBAAAJ,OAAA,IAAAA,OAAA,CAAAK,GAAA,GAAAL,OAAA,CAAAK,GAAA,CAAAC,IAAA,eAAAtX,CAAA,EAAAC,CAAA,EAAAC,CAAA,QAAAgC,CAAA,GAAAqV,oBAAA,CAAAvX,CAAA,EAAAC,CAAA,OAAAiC,CAAA,QAAA9B,CAAA,GAAA3J,MAAA,CAAAsP,wBAAA,CAAA7D,CAAA,EAAAjC,CAAA,UAAAG,CAAA,CAAAiX,GAAA,GAAAjX,CAAA,CAAAiX,GAAA,CAAA3V,IAAA,CAAAjK,SAAA,CAAAnD,MAAA,OAAA0L,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAAlM,KAAA,OAAAkjB,UAAA,CAAApR,KAAA,OAAAvO,SAAA;AAAA,SAAA8f,oBAAAA,CAAAtX,CAAA,EAAAK,CAAA,eAAAD,cAAA,CAAAqB,IAAA,CAAAzB,CAAA,EAAAK,CAAA,eAAAL,CAAA,GAAA4W,qBAAA,CAAA5W,CAAA,aAAAA,CAAA;AAAA,SAAA0W,eAAAA,CAAA1W,CAAA,EAAAD,CAAA,6BAAAA,CAAA,aAAAA,CAAA,YAAAyD,SAAA,wDAAAxD,CAAA,CAAAE,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAArB,CAAA,IAAAA,CAAA,CAAAG,SAAA,IAAAsE,WAAA,IAAAvQ,KAAA,EAAA+L,CAAA,EAAAiB,QAAA,MAAAD,YAAA,WAAAxK,MAAA,CAAA8J,cAAA,CAAAN,CAAA,iBAAAiB,QAAA,SAAAlB,CAAA,IAAAwX,qBAAA,CAAAvX,CAAA,EAAAD,CAAA;AAAA,SAAAyX,iBAAAxX,CAAA,QAAAC,CAAA,wBAAAwX,GAAA,OAAAA,GAAA,oBAAAD,gBAAA,YAAAA,iBAAAxX,CAAA,iBAAAA,CAAA,KAAA0X,iBAAA,CAAA1X,CAAA,UAAAA,CAAA,2BAAAA,CAAA,YAAAwD,SAAA,uEAAAvD,CAAA,QAAAA,CAAA,CAAA0X,GAAA,CAAA3X,CAAA,UAAAC,CAAA,CAAAmX,GAAA,CAAApX,CAAA,GAAAC,CAAA,CAAA2X,GAAA,CAAA5X,CAAA,EAAA6X,OAAA,cAAAA,QAAA,WAAAC,UAAA,CAAA9X,CAAA,EAAAxI,SAAA,EAAAof,qBAAA,OAAApS,WAAA,YAAAqT,OAAA,CAAA3X,SAAA,GAAA1J,MAAA,CAAA4K,MAAA,CAAApB,CAAA,CAAAE,SAAA,IAAAsE,WAAA,IAAAvQ,KAAA,EAAA4jB,OAAA,EAAA9W,UAAA,MAAAE,QAAA,MAAAD,YAAA,WAAAuW,qBAAA,CAAAM,OAAA,EAAA7X,CAAA,MAAAwX,gBAAA,CAAAxX,CAAA;AAAA,SAAA8X,WAAA9X,CAAA,EAAAD,CAAA,EAAAE,CAAA,QAAA6W,+BAAA,WAAAC,OAAA,CAAAC,SAAA,CAAAjR,KAAA,OAAAvO,SAAA,OAAA6I,CAAA,WAAAA,CAAA,CAAA6D,IAAA,CAAA6B,KAAA,CAAA1F,CAAA,EAAAN,CAAA,OAAAkC,CAAA,QAAAjC,CAAA,CAAAqX,IAAA,CAAAtR,KAAA,CAAA/F,CAAA,EAAAK,CAAA,aAAAJ,CAAA,IAAAsX,qBAAA,CAAAtV,CAAA,EAAAhC,CAAA,CAAAC,SAAA,GAAA+B,CAAA;AAAA,SAAA6U,+BAAAA,CAAA,cAAA9W,CAAA,IAAA+X,OAAA,CAAA7X,SAAA,CAAA8X,OAAA,CAAAvW,IAAA,CAAAsV,OAAA,CAAAC,SAAA,CAAAe,OAAA,iCAAA/X,CAAA,aAAA8W,+BAAA,YAAAA,0BAAA,aAAA9W,CAAA;AAAA,SAAA0X,kBAAA1X,CAAA,wBAAAiY,QAAA,CAAAvP,QAAA,CAAAjH,IAAA,CAAAzB,CAAA,EAAAkY,OAAA,4BAAA/X,CAAA,gCAAAH,CAAA;AAAA,SAAAuX,qBAAAA,CAAAvX,CAAA,EAAAD,CAAA,WAAAwX,qBAAA,GAAA/gB,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAAmO,cAAA,CAAA0S,IAAA,eAAArX,CAAA,EAAAD,CAAA,WAAAC,CAAA,CAAA4E,SAAA,GAAA7E,CAAA,EAAAC,CAAA,KAAAuX,qBAAA,CAAAvX,CAAA,EAAAD,CAAA;AAAA,SAAA6W,qBAAAA,CAAA5W,CAAA,WAAA4W,qBAAA,GAAApgB,MAAA,CAAAmO,cAAA,GAAAnO,MAAA,CAAA0L,cAAA,CAAAmV,IAAA,eAAArX,CAAA,WAAAA,CAAA,CAAA4E,SAAA,IAAApO,MAAA,CAAA0L,cAAA,CAAAlC,CAAA,MAAA4W,qBAAA,CAAA5W,CAAA;AAAA,SAAAlM,qBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,uBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,oBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,kBAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,uBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,uBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAA6F,cAAAA,CAAA7F,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAxJ,MAAA,CAAAC,IAAA,CAAAsJ,CAAA,OAAAvJ,MAAA,CAAAqP,qBAAA,QAAAxF,CAAA,GAAA7J,MAAA,CAAAqP,qBAAA,CAAA9F,CAAA,GAAAE,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAArG,MAAA,WAAAiG,CAAA,WAAAzJ,MAAA,CAAAsP,wBAAA,CAAA/F,CAAA,EAAAE,CAAA,EAAAc,UAAA,OAAAf,CAAA,CAAAkE,IAAA,CAAA6B,KAAA,CAAA/F,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAgG,mBAAAA,CAAAjG,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAAzI,SAAA,CAAAnD,MAAA,EAAA4L,CAAA,UAAAD,CAAA,WAAAxI,SAAA,CAAAyI,CAAA,IAAAzI,SAAA,CAAAyI,CAAA,QAAAA,CAAA,OAAA2F,cAAA,CAAApP,MAAA,CAAAwJ,CAAA,OAAAjB,OAAA,WAAAkB,CAAA,IAAA1C,qBAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAzJ,MAAA,CAAAyP,yBAAA,GAAAzP,MAAA,CAAA0P,gBAAA,CAAAnG,CAAA,EAAAvJ,MAAA,CAAAyP,yBAAA,CAAAjG,CAAA,KAAA4F,cAAA,CAAApP,MAAA,CAAAwJ,CAAA,GAAAjB,OAAA,WAAAkB,CAAA,IAAAzJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,EAAAzJ,MAAA,CAAAsP,wBAAA,CAAA9F,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAxC,qBAAAA,CAAAwC,CAAA,EAAAE,CAAA,EAAAD,CAAA,YAAAC,CAAA,GAAAkG,oBAAA,CAAAlG,CAAA,MAAAF,CAAA,GAAAvJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAE,CAAA,IAAAhM,KAAA,EAAA+L,CAAA,EAAAe,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAlB,CAAA,CAAAE,CAAA,IAAAD,CAAA,EAAAD,CAAA;AAAA,SAAAoG,oBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,kBAAA,CAAAzG,CAAA,gCAAA0C,aAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,kBAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,aAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,aAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAAA,SAAAmY,SAAAlY,CAAA,WAAAmY,eAAA,CAAAnY,CAAA,KAAAoY,gBAAA,CAAApY,CAAA,KAAAqY,2BAAA,CAAArY,CAAA,KAAAsY,gBAAA;AAAA,SAAAC,mBAAAvY,CAAA,WAAAwY,kBAAA,CAAAxY,CAAA,KAAAoY,gBAAA,CAAApY,CAAA,KAAAqY,2BAAA,CAAArY,CAAA,KAAAyY,kBAAA;AAAA,SAAAA,mBAAA,cAAAlV,SAAA;AAAA,SAAA6U,iBAAApY,CAAA,8BAAAM,MAAA,YAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,aAAAR,CAAA,uBAAA0Y,KAAA,CAAAC,IAAA,CAAA3Y,CAAA;AAAA,SAAAwY,mBAAAxY,CAAA,QAAA0Y,KAAA,CAAAE,OAAA,CAAA5Y,CAAA,UAAA6Y,iBAAA,CAAA7Y,CAAA;AAAA,SAAAmG,yBAAAA,CAAAjG,CAAA,EAAAH,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAI,CAAA,EAAAG,CAAA,EAAAE,CAAA,cAAAlM,CAAA,GAAA2L,CAAA,CAAAK,CAAA,EAAAE,CAAA,GAAAE,CAAA,GAAApM,CAAA,CAAAP,KAAA,WAAAkM,CAAA,gBAAAJ,CAAA,CAAAI,CAAA,KAAA3L,CAAA,CAAAwO,IAAA,GAAAhD,CAAA,CAAAY,CAAA,IAAAmE,OAAA,CAAApC,OAAA,CAAA/B,CAAA,EAAAiC,IAAA,CAAA5C,CAAA,EAAAI,CAAA;AAAA,SAAAgG,uBAAAA,CAAAlG,CAAA,6BAAAH,CAAA,SAAAD,CAAA,GAAAvI,SAAA,aAAAuN,OAAA,WAAA9E,CAAA,EAAAI,CAAA,QAAAG,CAAA,GAAAL,CAAA,CAAA4F,KAAA,CAAA/F,CAAA,EAAAD,CAAA,YAAAuG,MAAAnG,CAAA,IAAAiG,yBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,UAAApG,CAAA,cAAAoG,OAAApG,CAAA,IAAAiG,yBAAA,CAAA5F,CAAA,EAAAP,CAAA,EAAAI,CAAA,EAAAiG,KAAA,EAAAC,MAAA,WAAApG,CAAA,KAAAmG,KAAA;AAAA,SAAAyS,eAAA9Y,CAAA,EAAAF,CAAA,WAAAqY,eAAA,CAAAnY,CAAA,KAAA+Y,qBAAA,CAAA/Y,CAAA,EAAAF,CAAA,KAAAuY,2BAAA,CAAArY,CAAA,EAAAF,CAAA,KAAAwY,gBAAA;AAAA,SAAAA,iBAAA,cAAA/U,SAAA;AAAA,SAAAwV,sBAAA/Y,CAAA,EAAA0B,CAAA,QAAA3B,CAAA,WAAAC,CAAA,gCAAAM,MAAA,IAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,KAAAR,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAI,CAAA,EAAA3L,CAAA,EAAAoM,CAAA,EAAAJ,CAAA,OAAAoB,CAAA,OAAAvB,CAAA,iBAAA7L,CAAA,IAAAwL,CAAA,GAAAA,CAAA,CAAAyB,IAAA,CAAAxB,CAAA,GAAAyD,IAAA,QAAA/B,CAAA,QAAAnL,MAAA,CAAAwJ,CAAA,MAAAA,CAAA,UAAA4B,CAAA,uBAAAA,CAAA,IAAA7B,CAAA,GAAAvL,CAAA,CAAAiN,IAAA,CAAAzB,CAAA,GAAAgD,IAAA,MAAAxC,CAAA,CAAA0D,IAAA,CAAAnE,CAAA,CAAA9L,KAAA,GAAAuM,CAAA,CAAAnM,MAAA,KAAAsN,CAAA,GAAAC,CAAA,iBAAA3B,CAAA,IAAAI,CAAA,OAAAF,CAAA,GAAAF,CAAA,yBAAA2B,CAAA,YAAA5B,CAAA,eAAAY,CAAA,GAAAZ,CAAA,cAAAxJ,MAAA,CAAAoK,CAAA,MAAAA,CAAA,2BAAAP,CAAA,QAAAF,CAAA,aAAAK,CAAA;AAAA,SAAA4X,gBAAAnY,CAAA,QAAA0Y,KAAA,CAAAE,OAAA,CAAA5Y,CAAA,UAAAA,CAAA;AAAA,SAAAgZ,2BAAAhZ,CAAA,EAAAF,CAAA,QAAAC,CAAA,yBAAAO,MAAA,IAAAN,CAAA,CAAAM,MAAA,CAAAE,QAAA,KAAAR,CAAA,qBAAAD,CAAA,QAAA2Y,KAAA,CAAAE,OAAA,CAAA5Y,CAAA,MAAAD,CAAA,GAAAsY,2BAAA,CAAArY,CAAA,MAAAF,CAAA,IAAAE,CAAA,uBAAAA,CAAA,CAAA5L,MAAA,IAAA2L,CAAA,KAAAC,CAAA,GAAAD,CAAA,OAAAkZ,GAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAtX,CAAA,EAAAsX,CAAA,EAAAhZ,CAAA,WAAAA,EAAA,WAAA+Y,GAAA,IAAAjZ,CAAA,CAAA5L,MAAA,KAAA2O,IAAA,WAAAA,IAAA,MAAA/O,KAAA,EAAAgM,CAAA,CAAAiZ,GAAA,UAAAnZ,CAAA,WAAAA,EAAAE,CAAA,UAAAA,CAAA,KAAA2B,CAAA,EAAAuX,CAAA,gBAAA3V,SAAA,iJAAAnD,CAAA,EAAAG,CAAA,OAAAI,CAAA,gBAAAiB,CAAA,WAAAA,EAAA,IAAA7B,CAAA,GAAAA,CAAA,CAAAyB,IAAA,CAAAxB,CAAA,MAAAE,CAAA,WAAAA,EAAA,QAAAF,CAAA,GAAAD,CAAA,CAAA0D,IAAA,WAAAlD,CAAA,GAAAP,CAAA,CAAA+C,IAAA,EAAA/C,CAAA,KAAAF,CAAA,WAAAA,EAAAE,CAAA,IAAAW,CAAA,OAAAP,CAAA,GAAAJ,CAAA,KAAA2B,CAAA,WAAAA,EAAA,UAAApB,CAAA,YAAAR,CAAA,cAAAA,CAAA,8BAAAY,CAAA,QAAAP,CAAA;AAAA,SAAAiY,4BAAArY,CAAA,EAAAO,CAAA,QAAAP,CAAA,2BAAAA,CAAA,SAAA6Y,iBAAA,CAAA7Y,CAAA,EAAAO,CAAA,OAAAR,CAAA,MAAA0I,QAAA,CAAAjH,IAAA,CAAAxB,CAAA,EAAAmF,KAAA,6BAAApF,CAAA,IAAAC,CAAA,CAAAuE,WAAA,KAAAxE,CAAA,GAAAC,CAAA,CAAAuE,WAAA,CAAAC,IAAA,aAAAzE,CAAA,cAAAA,CAAA,GAAA2Y,KAAA,CAAAC,IAAA,CAAA3Y,CAAA,oBAAAD,CAAA,+CAAAoZ,IAAA,CAAApZ,CAAA,IAAA8Y,iBAAA,CAAA7Y,CAAA,EAAAO,CAAA;AAAA,SAAAsY,kBAAA7Y,CAAA,EAAAO,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAP,CAAA,CAAA5L,MAAA,MAAAmM,CAAA,GAAAP,CAAA,CAAA5L,MAAA,YAAA0L,CAAA,MAAAI,CAAA,GAAAwY,KAAA,CAAAnY,CAAA,GAAAT,CAAA,GAAAS,CAAA,EAAAT,CAAA,IAAAI,CAAA,CAAAJ,CAAA,IAAAE,CAAA,CAAAF,CAAA,UAAAI,CAAA;AAAA,SAAAuC,aAAAA,CAAArC,CAAA,sCAAAqC,aAAA,wBAAAnC,MAAA,uBAAAA,MAAA,CAAAE,QAAA,aAAAJ,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAE,MAAA,IAAAF,CAAA,CAAAmE,WAAA,KAAAjE,MAAA,IAAAF,CAAA,KAAAE,MAAA,CAAAL,SAAA,qBAAAG,CAAA,KAAAqC,aAAA,CAAArC,CAAA;AADA,IAAIgZ,EAAE,GAAG7iB,MAAM,CAAC8J,cAAc;AAC9B,IAAIgZ,EAAE,GAAG,SAALA,EAAEA,CAAIvZ,CAAC,EAAK;EACd,MAAMyD,SAAS,CAACzD,CAAC,CAAC;AACpB,CAAC;AACD,IAAIwZ,EAAE,GAAG,SAALA,EAAEA,CAAIxZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;EAAA,OAAKD,CAAC,IAAID,CAAC,GAAGsZ,EAAE,CAACtZ,CAAC,EAAEC,CAAC,EAAE;IAAEe,UAAU,EAAE,CAAC,CAAC;IAAEC,YAAY,EAAE,CAAC,CAAC;IAAEC,QAAQ,EAAE,CAAC,CAAC;IAAEhN,KAAK,EAAEgM;EAAE,CAAC,CAAC,GAAGF,CAAC,CAACC,CAAC,CAAC,GAAGC,CAAC;AAAA;AAChH,IAAIuZ,EAAE,GAAG,SAALA,EAAEA,CAAIzZ,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKsZ,EAAE,CAACxZ,CAAC,EAAE2C,aAAA,CAAO1C,CAAC,KAAI,QAAQ,GAAGA,CAAC,GAAG,EAAE,GAAGA,CAAC,EAAEC,CAAC,CAAC;EAAA;EAAEwZ,EAAE,GAAG,SAALA,EAAEA,CAAI1Z,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAAC2X,GAAG,CAAC5X,CAAC,CAAC,IAAIuZ,EAAE,CAAC,SAAS,GAAGrZ,CAAC,CAAC;EAAA;AAClH,IAAIyZ,CAAC,GAAG,SAAJA,CAACA,CAAI3Z,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAMwZ,EAAE,CAAC1Z,CAAC,EAAEC,CAAC,EAAE,yBAAyB,CAAC,EAAEC,CAAC,GAAGA,CAAC,CAACwB,IAAI,CAAC1B,CAAC,CAAC,GAAGC,CAAC,CAACoX,GAAG,CAACrX,CAAC,CAAC;EAAA,CAAC;EAAE4Z,EAAE,GAAG,SAALA,EAAEA,CAAI5Z,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAAC2X,GAAG,CAAC5X,CAAC,CAAC,GAAGuZ,EAAE,CAAC,mDAAmD,CAAC,GAAGtZ,CAAC,YAAY4Z,OAAO,GAAG5Z,CAAC,CAACtE,GAAG,CAACqE,CAAC,CAAC,GAAGC,CAAC,CAAC4X,GAAG,CAAC7X,CAAC,EAAEE,CAAC,CAAC;EAAA;EAAE4Z,EAAE,GAAG,SAALA,EAAEA,CAAI9Z,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC;IAAA,OAAM8X,EAAE,CAAC1Z,CAAC,EAAEC,CAAC,EAAE,wBAAwB,CAAC,EAAE2B,CAAC,GAAGA,CAAC,CAACF,IAAI,CAAC1B,CAAC,EAAEE,CAAC,CAAC,GAAGD,CAAC,CAAC4X,GAAG,CAAC7X,CAAC,EAAEE,CAAC,CAAC,EAAEA,CAAC;EAAA,CAAC;AACxT,IAAM6Z,EAAE,u0DACP;EAAEC,EAAE,GAAG,QAAOC,IAAI,iCAAAtX,aAAA,CAAJsX,IAAI,KAAG,GAAG,IAAIA,IAAI,CAACC,IAAI,IAAI,IAAIA,IAAI,CAAC,CAACH,EAAE,CAAC,EAAE;IAAEthB,IAAI,EAAE;EAAgC,CAAC,CAAC;AACnG,SAAS0hB,EAAEA,CAACna,CAAC,EAAE;EACb,IAAIC,CAAC;EACL,IAAI;IACF,IAAIA,CAAC,GAAG+Z,EAAE,IAAI,CAACC,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEC,eAAe,CAACN,EAAE,CAAC,EAAE,CAAC/Z,CAAC,EAAE,MAAM,EAAE;IAC5E,IAAMC,CAAC,GAAG,IAAIqa,MAAM,CAACta,CAAC,EAAE;MACtByE,IAAI,EAAE1E,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC0E;IAC/B,CAAC,CAAC;IACF,OAAOxE,CAAC,CAACd,gBAAgB,CAAC,OAAO,EAAE,YAAM;MACvC,CAAC6a,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEG,eAAe,CAACva,CAAC,CAAC;IACjD,CAAC,CAAC,EAAEC,CAAC;EACP,CAAC,CAAC,OAAAua,OAAA,EAAM;IACN,OAAO,IAAIF,MAAM,CACf,qCAAqC,GAAGG,kBAAkB,CAACX,EAAE,CAAC,EAC9D;MACErV,IAAI,EAAE1E,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC0E;IAC/B,CACF,CAAC;EACH,CAAC,SAAS;IACRzE,CAAC,IAAI,CAACga,IAAI,CAACG,GAAG,IAAIH,IAAI,CAACI,SAAS,EAAEG,eAAe,CAACva,CAAC,CAAC;EACtD;AACF;AACA,IAAM0a,EAAE,GAAG,GAAG;AACd,IAAIC,EAAE;AACN,QAAO/R,MAAM,iCAAAlG,aAAA,CAANkG,MAAM,KAAG,GAAG,IAAI,EAAAgS,KAAA,GAAC,CAACD,EAAE,IAAAE,gBAAA,GAAGjS,MAAM,CAACkS,QAAQ,cAAAD,gBAAA,cAAAA,gBAAA,GAAKjS,MAAM,CAACkS,QAAQ,GAAG,CAAC,CAAE,EAAE3Y,CAAC,cAAAyY,KAAA,cAAAA,KAAA,GAAKD,EAAE,CAACxY,CAAC,GAAG,eAAgB,IAAI4Y,GAAG,CAAC,CAAC,EAAGrf,GAAG,CAACgf,EAAE,CAAC;AACzH,IAAMM,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,CAAC,GAAGnb,MAAM,CAAC,CAAC;EAAEob,EAAE,GAAG,8BAA8B;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,GAAG;EAAEC,EAAE,GAAG,GAAG;EAAEC,CAAC,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,KAAK;EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE;EAAEC,EAAE,GAAG,CAAC,IAAI,EAAE;EAAEC,EAAE,GAAGxc,MAAM,CAAC,QAAQ,CAAC;EAAEyc,EAAE,GAAGzc,MAAM,CAAC,cAAc,CAAC;EAAE0c,EAAE,GAAG1c,MAAM,CAAC,EAAE,CAAC;AAC1Z,IAAI2c,EAAE,GAAGvE,KAAK,CAACE,OAAO;EAAEsE,EAAE,GAAGxE,KAAK,CAACzY,SAAS,CAACgY,OAAO;EAAEkF,EAAE,GAAGzE,KAAK,CAACC,IAAI;EAAEyE,EAAE,GAAG7mB,MAAM,CAACC,IAAI;EAAE6mB,EAAE,GAAG9mB,MAAM,CAAC8J,cAAc;EAAEid,EAAE,GAAG/mB,MAAM,CAACsP,wBAAwB;EAAE0X,EAAE,GAAGhnB,MAAM,CAACyP,yBAAyB;EAAEwX,EAAE,GAAGjnB,MAAM,CAAC0J,SAAS;EAAEwd,EAAE,GAAG/E,KAAK,CAACzY,SAAS;EAAEyd,EAAE,GAAGnnB,MAAM,CAAC0L,cAAc;AACzQ,SAAS0b,EAAEA,CAAC7d,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC1L,MAAM,EAAE2L,CAAC,EAAE,EAC/BD,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC;AACV;AACA,IAAM6d,EAAE,GAAG,QAAOC,mBAAmB,iCAAApb,aAAA,CAAnBob,mBAAmB,KAAG,GAAG,GAAG,UAAC/d,CAAC;EAAA,OAAKge,UAAU,CAAChe,CAAC,EAAE,CAAC,CAAC;AAAA,IAAG+d,mBAAmB;AAC3F,IAAIE,EAAE,GAAG,EAAE;EAAEC,EAAE,GAAG,EAAE;AACpB,SAASC,EAAEA,CAAA,EAAG;EACZ,IAAIne,CAAC,GAAGie,EAAE;EACVA,EAAE,GAAG,EAAE,EAAEJ,EAAE,CAAC7d,CAAC,CAAC;AAChB;AACA,SAASoe,EAAEA,CAAA,EAAG;EACZ,IAAIpe,CAAC,GAAGke,EAAE;EACVA,EAAE,GAAG,EAAE,EAAEL,EAAE,CAAC7d,CAAC,CAAC;AAChB;AACA,SAASqe,EAAEA,CAACre,CAAC,EAAE;EACbie,EAAE,CAAC3pB,MAAM,KAAK,CAAC,IAAIgqB,cAAc,CAACH,EAAE,CAAC,EAAEF,EAAE,CAAC9Z,IAAI,CAACnE,CAAC,CAAC;AACnD;AACA,SAASue,EAAEA,CAACve,CAAC,EAAE;EACbke,EAAE,CAAC5pB,MAAM,KAAK,CAAC,IAAIwpB,EAAE,CAACM,EAAE,CAAC,EAAEF,EAAE,CAAC/Z,IAAI,CAACnE,CAAC,CAAC;AACvC;AACA,SAASwe,EAAEA,CAAA,EAAG;EACZP,EAAE,CAAC3pB,MAAM,GAAG,CAAC,IAAI6pB,EAAE,CAAC,CAAC,EAAED,EAAE,CAAC5pB,MAAM,GAAG,CAAC,IAAI8pB,EAAE,CAAC,CAAC;AAC9C;AACA,SAASK,EAAEA,CAACze,CAAC,EAAE;EACb,OAAOA,CAAC,KAAK,IAAI,CAACoC,CAAC;AACrB;AACA,SAASsc,EAAEA,CAAC1e,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,IAAIA,CAAC,GAAGC,CAAC,IAAIA,CAAC,GAAGD,CAAC,KAAKC,CAAC,IAAID,CAAC,KAAK,IAAI,IAAI2C,aAAA,CAAO3C,CAAC,KAAI,QAAQ,IAAI,OAAOA,CAAC,IAAI,UAAU;AAClG;AACA,SAAS2e,EAAEA,CAAC3e,CAAC,EAAE;EACb,OAAO,CAAC0e,EAAE,CAAC1e,CAAC,EAAE,IAAI,CAACoC,CAAC,CAAC;AACvB;AACA,SAASwc,EAAEA,CAAC5e,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,yCAAyC,CAAC;AAC5D;AACA,SAAS6b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI7b,KAAK,CAAC,gDAAgD,CAAC;AACnE;AACA,SAAS8b,EAAEA,CAAC9e,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,oCAAoC,CAAC;AACvD;AACA,SAAS+b,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAI/b,KAAK,CAAC,mDAAmD,CAAC;AACtE;AACA,SAASgc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIhc,KAAK,CAAC,uCAAuC,CAAC;AAC1D;AACA,SAASic,EAAEA,CAACjf,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,0CAA0C,CAAC;AAC7D;AACA,SAASkc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIlc,KAAK,CAAC,8CAA8C,CAAC;AACjE;AACA,SAASmc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAInc,KAAK,CAAC,4CAA4C,CAAC;AAC/D;AACA,SAASoc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIpc,KAAK,CAAC,8CAA8C,CAAC;AACjE;AACA,SAASqc,EAAEA,CAAA,EAAG;EACZ,MAAM,IAAIrc,KAAK,CAAC,4CAA4C,CAAC;AAC/D;AACA,IAAIsc,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAACvf,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG;IACN2B,CAAC,EAAE,CAAC;IACJ;IACAO,CAAC,EAAEpC,CAAC;IACJwf,SAAS,EAAE,IAAI;IACfC,MAAM,EAAEhB,EAAE;IACViB,EAAE,EAAE,CAAC;IACLC,EAAE,EAAE;EACN,CAAC;EACD,OAAOzf,CAAC;AACV;AACA,SAAS0f,EAAEA,CAAC5f,CAAC,EAAE;EACb,OAAO,eAAgB6f,EAAE,CAACN,EAAE,CAACvf,CAAC,CAAC,CAAC;AAClC;AACA;AACA,SAAS8f,EAAEA,CAAC9f,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAMyI,CAAC,GAAGqf,EAAE,CAACvf,CAAC,CAAC;EACf,OAAOC,CAAC,KAAKC,CAAC,CAACuf,MAAM,GAAGd,EAAE,CAAC,EAAEze,CAAC;AAChC;AACA;AACA,SAAS2f,EAAEA,CAAC7f,CAAC,EAAE;EACb,OAAO5J,CAAC,KAAK,IAAI,IAAI,CAAC2pB,EAAE,IAAI,CAAC3pB,CAAC,CAACyL,CAAC,GAAGia,EAAE,MAAM,CAAC,KAAKkE,EAAE,KAAK,IAAI,GAAGC,EAAE,CAAC,CAACjgB,CAAC,CAAC,CAAC,GAAGggB,EAAE,CAAC7b,IAAI,CAACnE,CAAC,CAAC,CAAC,EAAEA,CAAC;AACzF;AACA,SAASkgB,CAACA,CAAClgB,CAAC,EAAEC,CAAC,EAAE;EACf,OAAO7J,CAAC,KAAK,IAAI,IAAI,CAAC2pB,EAAE,IAAII,EAAE,CAAC,CAAC,IAAI,CAAC/pB,CAAC,CAACyL,CAAC,IAAIia,EAAE,GAAGG,EAAE,CAAC,MAAM,CAAC;EAAI;EAC/D;EACC+D,EAAE,KAAK,IAAI,IAAI,CAACA,EAAE,CAACI,QAAQ,CAACpgB,CAAC,CAAC,CAAC,IAAIqf,EAAE,CAAC,CAAC,EAAEgB,EAAE,CAACrgB,CAAC,EAAEC,CAAC,CAAC;AACpD;AACA,SAASogB,EAAEA,CAACrgB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,CAACyf,MAAM,CAACxf,CAAC,CAAC,KAAKD,CAAC,CAACoC,CAAC,EAAEpC,CAAC,CAACoC,CAAC,GAAGnC,CAAC,EAAED,CAAC,CAAC2f,EAAE,GAAGW,EAAE,CAAC,CAAC,EAAEC,EAAE,CAACvgB,CAAC,EAAEwc,EAAE,CAAC,EAAEgE,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC3e,CAAC,GAAG0a,CAAC,MAAM,CAAC,IAAI,CAACiE,CAAC,CAAC3e,CAAC,IAAIqa,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,KAAKsE,EAAE,KAAK,IAAI,GAAGC,EAAE,CAAC,CAAC1gB,CAAC,CAAC,CAAC,GAAGygB,EAAE,CAACtc,IAAI,CAACnE,CAAC,CAAC,CAAC,CAAC,EAAEC,CAAC;AACnK;AACA,SAASsgB,EAAEA,CAACvgB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAACwf,SAAS;EACnB,IAAItf,CAAC,KAAK,IAAI,EACZ,KAAK,IAAI0B,CAAC,GAAG1B,CAAC,CAAC5L,MAAM,EAAEG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,EAAEnN,CAAC,EAAE,EAAE;IACxC,IAAIgM,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC;MAAE6L,CAAC,GAAGG,CAAC,CAACoB,CAAC;IACrB,CAACvB,CAAC,GAAGkc,EAAE,MAAM,CAAC,KAAKmE,EAAE,CAAClgB,CAAC,EAAER,CAAC,CAAC,EAAE,CAACK,CAAC,IAAIic,CAAC,GAAGF,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC/b,CAAC,GAAGwb,EAAE,MAAM,CAAC,GAAGyE,EAAE,CACvE;IACA9f,CAAC,EACDgc,EACF,CAAC,GAAGmE,EAAE,CACJ;IACAngB,CACF,CAAC,CAAC,CAAC;EACL;AACJ;AACA;AACA,SAASogB,EAAEA,CAAC7gB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG6b,EAAE,GAAGU,EAAE;IAAEtc,CAAC,GAAG9J,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAGia,EAAE,MAAM,CAAC,IACjD;IACA1lB,CAAC,IACC,IAAI;EACR,OAAOoqB,CAAC,KAAK,IAAI,IAAItgB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC2B,CAAC,GAAGwa,EAAE,MAAM,CAAC,GAAGpc,CAAC,IAAIoc,EAAE,GAAGmE,CAAC,CAAC3e,CAAC,IAAIkb,EAAE,EAAE;IACzE+D,GAAG,EAAEC,CAAC;IACNC,IAAI,EAAE,IAAI;IACVC,OAAO,EAAE,IAAI;IACbxB,MAAM,EAAEhB,EAAE;IACV5c,CAAC,EAAE5B,CAAC;IACJ4d,EAAE,EAAE7d,CAAC;IACLwf,SAAS,EAAE,IAAI;IACfE,EAAE,EAAE,CAAC;IACLtd,CAAC,GACC;IACA,IAAI,CACL;IACDud,EAAE,EAAE,CAAC;IACLtmB,MAAM,EAAE6G,CAAC,aAADA,CAAC,cAADA,CAAC,GAAIsgB;EACf,CAAC;AACH;AACA,SAASU,EAAEA,CAAClhB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAACihB,OAAO;EACjB,IAAIhhB,CAAC,KAAK,IAAI,EAAE;IACdD,CAAC,CAACihB,OAAO,GAAG,IAAI;IAChB,KAAK,IAAI/gB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC3L,MAAM,EAAE4L,CAAC,IAAI,CAAC,EAClCihB,EAAE,CACA;IACAlhB,CAAC,CAACC,CAAC,CACL,CAAC;EACL;AACF;AACA,SAASkhB,EAAEA,CAACphB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAGD,CAAC,CAAC3G,MAAM,EAAE4G,CAAC,KAAK,IAAI,GAAI;IACnC,IAAI,CAACA,CAAC,CAAC4B,CAAC,GAAGia,EAAE,MAAM,CAAC,EAClB,OACE,qBACA7b,CAAC;IAELA,CAAC,GAAGA,CAAC,CAAC5G,MAAM;EACd;EACA,OAAO,IAAI;AACb;AACA,SAASgoB,EAAEA,CAACrhB,CAAC,EAAE;EACb,IAAIC,CAAC;IAAEC,CAAC,GAAGsgB,CAAC;EACZc,EAAE,CAACF,EAAE,CAACphB,CAAC,CAAC,CAAC;EACT,IAAI;IACFkhB,EAAE,CAAClhB,CAAC,CAAC,EAAEC,CAAC,GAAGshB,EAAE,CAACvhB,CAAC,CAAC;EAClB,CAAC,SAAS;IACRshB,EAAE,CAACphB,CAAC,CAAC;EACP;EACA,OAAOD,CAAC;AACV;AACA,SAASuhB,EAAEA,CAACxhB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGohB,EAAE,CAACrhB,CAAC,CAAC;IAAEE,CAAC,GAAG,CAACuhB,EAAE,IAAI,CAACzhB,CAAC,CAAC6B,CAAC,GAAGwa,EAAE,MAAM,CAAC,KAAKrc,CAAC,CAACghB,IAAI,KAAK,IAAI,GAAGvE,EAAE,GAAGF,CAAC;EACvEoE,EAAE,CAAC3gB,CAAC,EAAEE,CAAC,CAAC,EAAEF,CAAC,CAACyf,MAAM,CAACxf,CAAC,CAAC,KAAKD,CAAC,CAACoC,CAAC,GAAGnC,CAAC,EAAED,CAAC,CAAC2f,EAAE,GAAGW,EAAE,CAAC,CAAC,CAAC;AACjD;AACA,SAASoB,EAAEA,CAAC1hB,CAAC,EAAE;EACbkI,OAAO,CAACyZ,IAAI,CAAC,yCAAyC,CAAC;AACzD;AACA,IAAIC,CAAC,GAAG,CAAC,CAAC;AACV,SAASC,EAAEA,CAAC7hB,CAAC,EAAE;EACb4hB,CAAC,GAAG5hB,CAAC;AACP;AACA,IAAI8hB,CAAC;AACL,SAASC,EAAEA,CAAC/hB,CAAC,EAAE;EACb,IAAIA,CAAC,KAAK,IAAI,EACZ,MAAM0hB,EAAE,CAAC,CAAC,EAAEhG,EAAE;EAChB,OAAOoG,CAAC,GAAG9hB,CAAC;AACd;AACA,SAASgiB,EAAEA,CAAA,EAAG;EACZ,OAAOD,EAAE,CACP;EACA,eAAgBE,EAAE,CAACH,CAAC,CACtB,CAAC;AACH;AACA,SAASI,CAACA,CAACliB,CAAC,EAAE;EACZ,IAAI4hB,CAAC,EAAE;IACL,IAAI,eAAgBK,EAAE,CAACH,CAAC,CAAC,KAAK,IAAI,EAChC,MAAMJ,EAAE,CAAC,CAAC,EAAEhG,EAAE;IAChBoG,CAAC,GAAG9hB,CAAC;EACP;AACF;AACA,SAASmiB,EAAEA,CAAA,EAAG;EACZ,KAAK,IAAIniB,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG6hB,CAAC,IAAM;IACzB,IAAI7hB,CAAC,CAACmiB,QAAQ,KAAK,CAAC,EAAE;MACpB,IAAIliB,CAAC,GACH;MACAD,CAAC,CAACjL,IACH;MACD,IAAIkL,CAAC,KAAKub,EAAE,EAAE;QACZ,IAAIzb,CAAC,KAAK,CAAC,EAAE,OAAOC,CAAC;QACrBD,CAAC,IAAI,CAAC;MACR,CAAC,MAAM,CAACE,CAAC,KAAKqb,EAAE,IAAIrb,CAAC,KAAKsb,EAAE,MAAMxb,CAAC,IAAI,CAAC,CAAC;IAC3C;IACA,IAAI4B,CAAC,GACH;IACA,eAAgBqgB,EAAE,CAAChiB,CAAC,CACrB;IACDA,CAAC,CAACrE,MAAM,CAAC,CAAC,EAAEqE,CAAC,GAAG2B,CAAC;EACnB;AACF;AACA,SAASygB,EAAEA,CAACriB,CAAC,EAAe;EAAA,IAAbC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACxB,IAAIsO,aAAA,CAAO3C,CAAC,KAAI,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIgd,EAAE,IAAIhd,CAAC,EAC/C,OAAOA,CAAC;EACV,IAAM4B,CAAC,GAAGgc,EAAE,CAAC5d,CAAC,CAAC;EACf,IAAI4B,CAAC,KAAK8b,EAAE,IAAI9b,CAAC,KAAK+b,EAAE,EACtB,OAAO3d,CAAC;EACV,IAAIvL,CAAC,GAAG,eAAgB,IAAIijB,GAAG,CAAC,CAAC;IAAEjX,CAAC,GAAG0c,EAAE,CAACnd,CAAC,CAAC;IAAEM,CAAC,GAAGif,EAAE,CAAC,CAAC,CAAC;EACvD9e,CAAC,IAAIhM,CAAC,CAACojB,GAAG,CAAC,QAAQ,EAAE0H,EAAE,CACrB;EACAvf,CAAC,CAAC1L,MACJ,CAAC,CAAC;EACF,IAAIuN,CAAC;EACL,OAAO,IAAIygB,KAAK,CACd;EACAtiB,CAAC,EACD;IACEO,cAAc,WAAdA,cAAcA,CAACuB,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAE;MACtB,CAAC,EAAE,OAAO,IAAIA,CAAC,CAAC,IAAIA,CAAC,CAACnB,YAAY,KAAK,CAAC,CAAC,IAAImB,CAAC,CAACpB,UAAU,KAAK,CAAC,CAAC,IAAIoB,CAAC,CAAClB,QAAQ,KAAK,CAAC,CAAC,KAAKge,EAAE,CAAC,CAAC;MAC9F,IAAIvd,CAAC,GAAGlN,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;MAChB,OAAOgB,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,GAAG4d,EAAE,CAACnd,CAAC,CAAClO,KAAK,CAAC,EAAEO,CAAC,CAACojB,GAAG,CAAClX,CAAC,EAAEgB,CAAC,CAAC,IAAIue,CAAC,CAACve,CAAC,EAAE0gB,EAAE,CAACjgB,CAAC,CAAClO,KAAK,EAAE2N,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD0gB,cAAc,WAAdA,cAAcA,CAACzgB,CAAC,EAAEnB,CAAC,EAAE;MACnB,IAAIyB,CAAC,GAAG3N,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;MAChB,IAAIyB,CAAC,KAAK,KAAK,CAAC,EACdzB,CAAC,IAAImB,CAAC,IAAIrN,CAAC,CAACojB,GAAG,CAAClX,CAAC,EAAE4e,EAAE,CAAC5D,CAAC,CAAC,CAAC,CAAC,KACvB;QACH,IAAIlb,CAAC,IAAI,OAAOE,CAAC,IAAI,QAAQ,EAAE;UAC7B,IAAIgB,CAAC,GACH;YACAlN,CAAC,CAAC4iB,GAAG,CAAC,QAAQ,CACf;YAAE/U,CAAC,GAAGuE,MAAM,CAAClG,CAAC,CAAC;UAChBkG,MAAM,CAAC2b,SAAS,CAAClgB,CAAC,CAAC,IAAIA,CAAC,GAAGX,CAAC,CAACS,CAAC,IAAI8d,CAAC,CAACve,CAAC,EAAEW,CAAC,CAAC;QAC3C;QACA4d,CAAC,CAAC9d,CAAC,EAAEuZ,CAAC,CAAC,EAAE8G,EAAE,CAACniB,CAAC,CAAC;MAChB;MACA,OAAO,CAAC,CAAC;IACX,CAAC;IACD+W,GAAG,WAAHA,GAAGA,CAACvV,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAE;MACX,IAAIsgB,CAAC;MACL,IAAI/hB,CAAC,KAAKqc,EAAE,EACV,OAAOhd,CAAC;MACV,IAAI2B,CAAC,GAAGlN,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;QAAE2B,CAAC,GAAG3B,CAAC,IAAImB,CAAC;MAC5B,IAAIH,CAAC,KAAK,KAAK,CAAC,KAAK,CAACW,CAAC,IAAI,CAACogB,CAAC,GAAGlF,EAAE,CAAC1b,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAI+hB,CAAC,CAACxhB,QAAQ,CAAC,KAAKS,CAAC,GAAG4d,EAAE,CAAC8C,EAAE,CAAC/f,CAAC,GAAGR,CAAC,CAACnB,CAAC,CAAC,GAAGgb,CAAC,EAAE9Z,CAAC,CAAC,CAAC,EAAEpN,CAAC,CAACojB,GAAG,CAAClX,CAAC,EAAEgB,CAAC,CAAC,CAAC,EAAEA,CAAC,KAAK,KAAK,CAAC,EAAE;QAC5H,IAAIghB,CAAC,GAAGxsB,CAAC,CAACwL,CAAC,CAAC;QACZ,OAAOghB,CAAC,KAAKhH,CAAC,GAAG,KAAK,CAAC,GAAGgH,CAAC;MAC7B;MACA,OAAO3L,OAAO,CAACK,GAAG,CAACvV,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,CAAC;IAC7B,CAAC;IACD2D,wBAAwB,WAAxBA,wBAAwBA,CAACjE,CAAC,EAAEnB,CAAC,EAAE;MAC7B,IAAIyB,CAAC,GAAG4U,OAAO,CAACjR,wBAAwB,CAACjE,CAAC,EAAEnB,CAAC,CAAC;MAC9C,IAAIyB,CAAC,IAAI,OAAO,IAAIA,CAAC,EAAE;QACrB,IAAIT,CAAC,GAAGlN,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;QAChBgB,CAAC,KAAKS,CAAC,CAAClO,KAAK,GAAGiC,CAAC,CAACwL,CAAC,CAAC,CAAC;MACvB,CAAC,MAAM,IAAIS,CAAC,KAAK,KAAK,CAAC,EAAE;QACvB,IAAIE,CAAC,GAAG7N,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;UAAEgiB,CAAC,GAAGrgB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACF,CAAC;QAC9C,IAAIE,CAAC,KAAK,KAAK,CAAC,IAAIqgB,CAAC,KAAKhH,CAAC,EACzB,OAAO;UACL3a,UAAU,EAAE,CAAC,CAAC;UACdC,YAAY,EAAE,CAAC,CAAC;UAChB/M,KAAK,EAAEyuB,CAAC;UACRzhB,QAAQ,EAAE,CAAC;QACb,CAAC;MACL;MACA,OAAOkB,CAAC;IACV,CAAC;IACDwV,GAAG,WAAHA,GAAGA,CAAC9V,CAAC,EAAEnB,CAAC,EAAE;MACR,IAAIgiB,CAAC;MACL,IAAIhiB,CAAC,KAAKqc,EAAE,EACV,OAAO,CAAC,CAAC;MACX,IAAI5a,CAAC,GAAG3N,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;QAAEgB,CAAC,GAAGS,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACA,CAAC,KAAKuZ,CAAC,IAAI3E,OAAO,CAACY,GAAG,CAAC9V,CAAC,EAAEnB,CAAC,CAAC;MACpE,IAAIyB,CAAC,KAAK,KAAK,CAAC,IAAIoe,CAAC,KAAK,IAAI,KAAK,CAAC7e,CAAC,IAAI,CAACghB,CAAC,GAAGnF,EAAE,CAAC1b,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAIgiB,CAAC,CAACzhB,QAAQ,CAAC,EAAE;QAC9EkB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAGmd,EAAE,CAAC5d,CAAC,GAAG0gB,EAAE,CAACvgB,CAAC,CAACnB,CAAC,CAAC,EAAEkB,CAAC,CAAC,GAAG8Z,CAAC,CAAC,EAAElnB,CAAC,CAACojB,GAAG,CAAClX,CAAC,EAAEyB,CAAC,CAAC,CAAC;QAC1D,IAAIE,CAAC,GAAGnM,CAAC,CAACiM,CAAC,CAAC;QACZ,IAAIE,CAAC,KAAKqZ,CAAC,EACT,OAAO,CAAC,CAAC;MACb;MACA,OAAOha,CAAC;IACV,CAAC;IACDkW,GAAG,WAAHA,GAAGA,CAAC/V,CAAC,EAAEnB,CAAC,EAAEyB,CAAC,EAAET,CAAC,EAAE;MACd,IAAIyX,CAAC;MACL,IAAI9W,CAAC,GAAG7N,CAAC,CAAC4iB,GAAG,CAAC1W,CAAC,CAAC;QAAEgiB,CAAC,GAAGhiB,CAAC,IAAImB,CAAC;MAC5B,IAAIrB,CAAC,IAAIE,CAAC,KAAK,QAAQ,EACrB,KAAK,IAAI+hB,CAAC,GAAGtgB,CAAC,EAAEsgB,CAAC,GAAG;MACpBpgB,CAAC,CAACF,CAAC,EAAEsgB,CAAC,IAAI,CAAC,EAAE;QACX,IAAIE,CAAC,GAAGnuB,CAAC,CAAC4iB,GAAG,CAACqL,CAAC,GAAG,EAAE,CAAC;QACrBE,CAAC,KAAK,KAAK,CAAC,GAAG1C,CAAC,CAAC0C,CAAC,EAAEjH,CAAC,CAAC,GAAG+G,CAAC,IAAI5gB,CAAC,KAAK8gB,CAAC,GAAGrD,EAAE,CAAC5D,CAAC,CAAC,EAAElnB,CAAC,CAACojB,GAAG,CAAC6K,CAAC,GAAG,EAAE,EAAEE,CAAC,CAAC,CAAC;MAClE;MACFtgB,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAACqgB,CAAC,IAAI,CAACvJ,CAAC,GAAGoE,EAAE,CAAC1b,CAAC,EAAEnB,CAAC,CAAC,KAAK,IAAI,IAAIyY,CAAC,CAAClY,QAAQ,MAAMoB,CAAC,GAAGid,EAAE,CAAC,KAAK,CAAC,CAAC,EAAEW,CAAC,CAAC5d,CAAC,EAAE+f,EAAE,CAACjgB,CAAC,EAAEP,CAAC,CAAC,CAAC,EAAEpN,CAAC,CAACojB,GAAG,CAAClX,CAAC,EAAE2B,CAAC,CAAC,CAAC,IAAIqgB,CAAC,GAAGrgB,CAAC,CAACF,CAAC,KAAKuZ,CAAC,EAAEuE,CAAC,CAAC5d,CAAC,EAAE+f,EAAE,CAACjgB,CAAC,EAAEP,CAAC,CAAC,CAAC,CAAC;MAC9I,IAAIghB,CAAC,GAAG7L,OAAO,CAACjR,wBAAwB,CAACjE,CAAC,EAAEnB,CAAC,CAAC;MAC9C,IAAIkiB,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAChL,GAAG,IAAIgL,CAAC,CAAChL,GAAG,CAACnW,IAAI,CAACC,CAAC,EAAES,CAAC,CAAC,EAAE,CAACugB,CAAC,EAAE;QAC9C,IAAIliB,CAAC,IAAI,OAAOE,CAAC,IAAI,QAAQ,EAAE;UAC7B,IAAImiB,CAAC,GACH;YACAruB,CAAC,CAAC4iB,GAAG,CAAC,QAAQ,CACf;YAAE0L,CAAC,GAAGlc,MAAM,CAAClG,CAAC,CAAC;UAChBkG,MAAM,CAAC2b,SAAS,CAACO,CAAC,CAAC,IAAIA,CAAC,IAAID,CAAC,CAAC1gB,CAAC,IAAI8d,CAAC,CAAC4C,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC;QAChD;QACAN,EAAE,CAACniB,CAAC,CAAC;MACP;MACA,OAAO,CAAC,CAAC;IACX,CAAC;IACDuF,OAAO,WAAPA,OAAOA,CAAC/D,CAAC,EAAE;MACT3L,CAAC,CAACmK,CAAC,CAAC;MACJ,IAAIK,CAAC,GAAGqW,OAAO,CAACnR,OAAO,CAAC/D,CAAC,CAAC,CAAC7H,MAAM,CAAC,UAACqI,CAAC,EAAK;QACvC,IAAIqgB,CAAC,GAAGluB,CAAC,CAAC4iB,GAAG,CAAC/U,CAAC,CAAC;QAChB,OAAOqgB,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACvgB,CAAC,KAAKuZ,CAAC;MAClC,CAAC,CAAC;MAAC,IAAAqH,SAAA,GAAA9J,0BAAA,CACgBzkB,CAAC;QAAAwuB,KAAA;MAAA;QAApB,KAAAD,SAAA,CAAAlhB,CAAA,MAAAmhB,KAAA,GAAAD,SAAA,CAAA5iB,CAAA,IAAA6C,IAAA,GACE;UAAA,IAAAigB,WAAA,GAAAlK,cAAA,CAAAiK,KAAA,CAAA/uB,KAAA;YADQkO,CAAC,GAAA8gB,WAAA;YAAEvhB,CAAC,GAAAuhB,WAAA;UACZvhB,CAAC,CAACS,CAAC,KAAKuZ,CAAC,IAAI,EAAEvZ,CAAC,IAAIN,CAAC,CAAC,IAAInB,CAAC,CAACwD,IAAI,CAAC/B,CAAC,CAAC;QAAA;MAAC,SAAA+gB,GAAA;QAAAH,SAAA,CAAAhjB,CAAA,CAAAmjB,GAAA;MAAA;QAAAH,SAAA,CAAAnhB,CAAA;MAAA;MACtC,OAAOlB,CAAC;IACV,CAAC;IACDiE,cAAc,WAAdA,cAAcA,CAAA,EAAG;MACfua,EAAE,CAAC,CAAC;IACN;EACF,CACF,CAAC;AACH;AACA,SAASsD,EAAEA,CAACziB,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAClByoB,CAAC,CAAClgB,CAAC,EAAEA,CAAC,CAACoC,CAAC,GAAGnC,CAAC,CAAC;AACf;AACA,IAAImjB,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE;AAClB,SAASC,EAAEA,CAAA,EAAG;EACZ,IAAIJ,EAAE,KAAK,KAAK,CAAC,EAAE;IACjBA,EAAE,GAAGva,MAAM,EAAEwa,EAAE,GAAG,SAAS,CAAChK,IAAI,CAACxF,SAAS,CAAC4P,SAAS,CAAC;IACrD,IAAIzjB,CAAC,GAAG0jB,OAAO,CAACvjB,SAAS;MAAEF,CAAC,GAAG0jB,IAAI,CAACxjB,SAAS;IAC7CmjB,EAAE,GAAG9F,EAAE,CAACvd,CAAC,EAAE,YAAY,CAAC,CAACoX,GAAG,EAAEkM,EAAE,GAAG/F,EAAE,CAACvd,CAAC,EAAE,aAAa,CAAC,CAACoX,GAAG,EAAErX,CAAC,CAAC4jB,OAAO,GAAG,KAAK,CAAC,EAAE5jB,CAAC,CAAC6jB,WAAW,GAAG,KAAK,CAAC,EAAE7jB,CAAC,CAAC8jB,YAAY,GAAG,IAAI,EAAE9jB,CAAC,CAAC+jB,OAAO,GAAG,KAAK,CAAC,EAAE/jB,CAAC,CAACgkB,GAAG,GAAG,KAAK,CAAC,EAAEC,IAAI,CAAC9jB,SAAS,CAAC+jB,GAAG,GAAG,KAAK,CAAC;EACjM;AACF;AACA,SAASC,EAAEA,CAAA,EAAS;EAAA,IAARnkB,CAAC,GAAAvI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EAChB,OAAO7B,QAAQ,CAACwuB,cAAc,CAACpkB,CAAC,CAAC;AACnC;AACA;AACA,SAASqkB,EAAEA,CAACrkB,CAAC,EAAE;EACb,OAAOsjB,EAAE,CAAC5hB,IAAI,CAAC1B,CAAC,CAAC;AACnB;AACA;AACA,SAASiiB,EAAEA,CAACjiB,CAAC,EAAE;EACb,OAAOujB,EAAE,CAAC7hB,IAAI,CAAC1B,CAAC,CAAC;AACnB;AACA,SAASskB,CAACA,CAACtkB,CAAC,EAAEC,CAAC,EAAE;EACf,IAAI,CAAC2hB,CAAC,EACJ,OAAO,eAAgByC,EAAE,CAACrkB,CAAC,CAAC;EAC9B,IAAIE,CAAC,GACH;EACA,eAAgBmkB,EAAE,CAACvC,CAAC,CACrB;EACD,OAAO5hB,CAAC,KAAK,IAAI,KAAKA,CAAC,GAAG4hB,CAAC,CAACyC,WAAW,CAACJ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEpC,EAAE,CAAC7hB,CAAC,CAAC,EAAEA,CAAC;AAC1D;AACA,SAASskB,EAAEA,CAACxkB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI,CAAC2hB,CAAC,EAAE;IACN,IAAI1hB,CAAC,GACH;IACA,eAAgBmkB,EAAE,CAChB;IACArkB,CACF,CACD;IACD,OAAOE,CAAC,YAAYukB,OAAO,IAAIvkB,CAAC,CAAClL,IAAI,KAAK,EAAE,GAAG,eAAgBitB,EAAE,CAAC/hB,CAAC,CAAC,GAAGA,CAAC;EAC1E;EACA,OAAO4hB,CAAC;AACV;AACA,SAAS4C,EAAEA,CAAC1kB,CAAC,EAAiB;EAAA,IAAfC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAC1B,IAAImK,CAAC,GAAGggB,CAAC,GAAGE,CAAC,GAAG9hB,CAAC;EACjB,KAAK,IAAIvL,CAAC,EAAEwL,CAAC,EAAE,GACbxL,CAAC,GAAGmN,CAAC,EAAEA,CAAC,GAAG;EACX,eAAgBqgB,EAAE,CAACrgB,CAAC,CAAC;EACvB,IAAI,CAACggB,CAAC,EACJ,OAAOhgB,CAAC;EACV,IAAInB,CAAC,GAAGmB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACwgB,QAAQ;EACvC,IAAIliB,CAAC,IAAIO,CAAC,KAAK,CAAC,EAAE;IAChB,IAAIH,CAAC,GAAG6jB,EAAE,CAAC,CAAC;IACZ,OAAOviB,CAAC,KAAK,IAAI,GAAGnN,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACkwB,KAAK,CAACrkB,CAAC,CAAC,GAAGsB,CAAC,CAACgjB,MAAM,CAACtkB,CAAC,CAAC,EAAEyhB,EAAE,CAACzhB,CAAC,CAAC,EAAEA,CAAC;EACrE;EACA,OAAOyhB,EAAE,CAACngB,CAAC,CAAC,EAAE;EACdA,CAAC;AACH;AACA,SAASijB,EAAEA,CAAC7kB,CAAC,EAAE;EACbA,CAAC,CAACrH,WAAW,GAAG,EAAE;AACpB;AACA,IAAImsB,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,IAAI;EAAEC,EAAE,GAAG,CAAC,CAAC;EAAEC,EAAE,GAAG,CAAC,CAAC;AACjD,SAASC,EAAEA,CAACnlB,CAAC,EAAE;EACbklB,EAAE,GAAGllB,CAAC;AACR;AACA,IAAIolB,EAAE,GAAG,EAAE;AACX,IAAIhvB,CAAC,GAAG,IAAI;EAAE2pB,EAAE,GAAG,CAAC,CAAC;AACrB,SAASsF,EAAEA,CAACrlB,CAAC,EAAE;EACb5J,CAAC,GAAG4J,CAAC;AACP;AACA,IAAIwgB,CAAC,GAAG,IAAI;AACZ,SAASc,EAAEA,CAACthB,CAAC,EAAE;EACbwgB,CAAC,GAAGxgB,CAAC;AACP;AACA,IAAIggB,EAAE,GAAG,IAAI;AACb,SAASC,EAAEA,CAACjgB,CAAC,EAAE;EACbggB,EAAE,GAAGhgB,CAAC;AACR;AACA,IAAIslB,CAAC,GAAG,IAAI;EAAEC,CAAC,GAAG,CAAC;EAAE9E,EAAE,GAAG,IAAI;AAC9B,SAASC,EAAEA,CAAC1gB,CAAC,EAAE;EACbygB,EAAE,GAAGzgB,CAAC;AACR;AACA,IAAIwlB,EAAE,GAAG,CAAC;EAAEC,EAAE,GAAG,CAAC;EAAEhE,EAAE,GAAG,CAAC,CAAC;AAC3B,SAASnB,EAAEA,CAAA,EAAG;EACZ,OAAO,EAAEkF,EAAE;AACb;AACA,SAASE,EAAEA,CAAC1lB,CAAC,EAAE;EACb,IAAI2B,CAAC;EACL,IAAI1B,CAAC,GAAGD,CAAC,CAAC6B,CAAC;EACX,IAAI,CAAC5B,CAAC,GAAGuc,EAAE,MAAM,CAAC,EAChB,OAAO,CAAC,CAAC;EACX,IAAI,CAACvc,CAAC,GAAGwc,EAAE,MAAM,CAAC,EAAE;IAClB,IAAIvc,CAAC,GAAGF,CAAC,CAACghB,IAAI;MAAEpf,CAAC,GAAG,CAAC3B,CAAC,GAAGoc,EAAE,MAAM,CAAC;IAClC,IAAInc,CAAC,KAAK,IAAI,EAAE;MACd,IAAIzL,CAAC;QAAEgM,CAAC;QAAEH,CAAC,GAAG,CAACL,CAAC,GAAGqc,EAAE,MAAM,CAAC;QAAEza,CAAC,GAAGD,CAAC,IAAI4e,CAAC,KAAK,IAAI,IAAI,CAACiB,EAAE;QAAE3f,CAAC,GAAG5B,CAAC,CAAC5L,MAAM;MACtE,IAAIgM,CAAC,IAAIuB,CAAC,EAAE;QACV,IAAIlB,CAAC,GACH;UACAX,CACD;UAAEoC,CAAC,GAAGzB,CAAC,CAACtH,MAAM;QACf,KAAK5E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqN,CAAC,EAAErN,CAAC,EAAE;UAAA,IAAAkxB,YAAA;UACpBllB,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC,EAAE,CAAC6L,CAAC,IAAI,EAAE,CAACqB,CAAC,GAAGlB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC+e,SAAS,KAAK,IAAI,IAAI7d,CAAC,CAACye,QAAQ,CAACzf,CAAC,CAAC,CAAC,KAAK,EAAAglB,YAAA,GAACllB,CAAC,CAAC+e,SAAS,cAAAmG,YAAA,cAAAA,YAAA,GAAKllB,CAAC,CAAC+e,SAAS,GAAG,EAAE,EAAGrb,IAAI,CAACxD,CAAC,CAAC;QAAC;QACrIL,CAAC,KAAKK,CAAC,CAACkB,CAAC,IAAIya,EAAE,CAAC,EAAEza,CAAC,IAAIO,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACP,CAAC,GAAGwa,EAAE,MAAM,CAAC,KAAK1b,CAAC,CAACkB,CAAC,IAAIwa,EAAE,CAAC;MACtE;MACA,KAAK5nB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGqN,CAAC,EAAErN,CAAC,EAAE,EACpB,IAAIgM,CAAC,GAAGP,CAAC,CAACzL,CAAC,CAAC,EAAEixB,EAAE,CACd;MACAjlB,CACF,CAAC,IAAI+gB,EAAE,CACL;MACA/gB,CACF,CAAC,EAAEA,CAAC,CAACkf,EAAE,GAAG3f,CAAC,CAAC2f,EAAE,EACZ,OAAO,CAAC,CAAC;IACf;IACA,CAAC,CAAC/d,CAAC,IAAI4e,CAAC,KAAK,IAAI,IAAI,CAACiB,EAAE,KAAKd,EAAE,CAAC3gB,CAAC,EAAEuc,CAAC,CAAC;EACvC;EACA,OAAO,CAAC,CAAC;AACX;AACA,SAASqJ,EAAEA,CAAC5lB,CAAC,EAAEC,CAAC,EAAE;EAChB,KAAK,IAAIC,CAAC,GAAGD,CAAC,EAAEC,CAAC,KAAK,IAAI,GAAI;IAC5B,IAAI,CAACA,CAAC,CAAC2B,CAAC,GAAGua,EAAE,MAAM,CAAC,EAClB,IAAI;MACFlc,CAAC,CAAC2d,EAAE,CAAC7d,CAAC,CAAC;MACP;IACF,CAAC,CAAC,OAAA6lB,QAAA,EAAM;MACN3lB,CAAC,CAAC2B,CAAC,IAAIua,EAAE;IACX;IACFlc,CAAC,GAAGA,CAAC,CAAC7G,MAAM;EACd;EACA,MAAMyrB,EAAE,GAAG,CAAC,CAAC,EAAE9kB,CAAC;AAClB;AACA,SAAS8lB,EAAEA,CAAC9lB,CAAC,EAAE;EACb,OAAO,CAACA,CAAC,CAAC6B,CAAC,GAAG8a,EAAE,MAAM,CAAC,KAAK3c,CAAC,CAAC3G,MAAM,KAAK,IAAI,IAAI,CAAC2G,CAAC,CAAC3G,MAAM,CAACwI,CAAC,GAAGua,EAAE,MAAM,CAAC,CAAC;AAC3E;AACA,SAAS2J,EAAEA,CAAC/lB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAIkjB,EAAE,EAAE;IACN,IAAI5kB,CAAC,KAAK,IAAI,KAAK4kB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAEgB,EAAE,CAAC7lB,CAAC,CAAC,EAChC,MAAMD,CAAC;IACT;EACF;EACAE,CAAC,KAAK,IAAI,KAAK4kB,EAAE,GAAG,CAAC,CAAC,CAAC;EACvB;IACEc,EAAE,CAAC5lB,CAAC,EAAEC,CAAC,CAAC;IACR;EACF;AACF;AACA,SAAS+lB,EAAEA,CAAChmB,CAAC,EAAEC,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACtB,IAAImK,CAAC,GAAG5B,CAAC,CAACwf,SAAS;EACnB,IAAI5d,CAAC,KAAK,IAAI,EACZ,KAAK,IAAInN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,CAACtN,MAAM,EAAEG,CAAC,EAAE,EAAE;IACjC,IAAIgM,CAAC,GAAGmB,CAAC,CAACnN,CAAC,CAAC;IACZ,CAACgM,CAAC,CAACoB,CAAC,GAAGia,EAAE,MAAM,CAAC,GAAGkK,EAAE,CACnB;IACAvlB,CAAC,EACDR,CAAC,EACD,CAAC,CACH,CAAC,GAAGA,CAAC,KAAKQ,CAAC,KAAKP,CAAC,GAAGygB,EAAE,CAAClgB,CAAC,EAAE+b,EAAE,CAAC,GAAG,CAAC/b,CAAC,CAACoB,CAAC,GAAG0a,CAAC,MAAM,CAAC,IAAIoE,EAAE,CAAClgB,CAAC,EAAEgc,EAAE,CAAC,EAAEmE,EAAE,CAC9D;IACAngB,CACF,CAAC,CAAC;EACJ;AACJ;AACA,SAAS8gB,EAAEA,CAACvhB,CAAC,EAAE;EACb,IAAI2iB,CAAC;EACL,IAAI1iB,CAAC,GAAGqlB,CAAC;IAAEplB,CAAC,GAAGqlB,CAAC;IAAE3jB,CAAC,GAAG6e,EAAE;IAAEhsB,CAAC,GAAG2B,CAAC;IAAEqK,CAAC,GAAGghB,EAAE;IAAEnhB,CAAC,GAAG0f,EAAE;IAAEne,CAAC,GAAGkf,CAAC;IAAEjf,CAAC,GAAGie,EAAE;IAAEpf,CAAC,GAAGX,CAAC,CAAC6B,CAAC;EACvEyjB,CAAC,GAAG;EACJ,IAAI,EAAEC,CAAC,GAAG,CAAC,EAAE9E,EAAE,GAAG,IAAI,EAAEgB,EAAE,GAAG,CAAC9gB,CAAC,GAAG0b,EAAE,MAAM,CAAC,KAAK0D,EAAE,IAAI,CAACkF,EAAE,IAAI7uB,CAAC,KAAK,IAAI,CAAC,EAAEA,CAAC,GAAG,CAACuK,CAAC,IAAIub,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,GAAGnc,CAAC,GAAG,IAAI,EAAEggB,EAAE,GAAG,IAAI,EAAEiG,EAAE,CAACjmB,CAAC,CAAC8gB,GAAG,CAAC,EAAEf,EAAE,GAAG,CAAC,CAAC,EAAE0F,EAAE,EAAE;EACnJ,IAAI;IACF,IAAIrjB,CAAC,GACH;MACA,CAAC,CAAC,EAAEpC,CAAC,CAAC6d,EAAE,EAAE,CACX;MAAElc,CAAC,GAAG3B,CAAC,CAACghB,IAAI;IACb,IAAIsE,CAAC,KAAK,IAAI,EAAE;MACd,IAAIhjB,CAAC;MACL,IAAI4jB,EAAE,CAAClmB,CAAC,EAAEulB,CAAC,CAAC,EAAE5jB,CAAC,KAAK,IAAI,IAAI4jB,CAAC,GAAG,CAAC,EAC/B,KAAK5jB,CAAC,CAACrN,MAAM,GAAGixB,CAAC,GAAGD,CAAC,CAAChxB,MAAM,EAAEgO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgjB,CAAC,CAAChxB,MAAM,EAAEgO,CAAC,EAAE,EACpDX,CAAC,CAAC4jB,CAAC,GAAGjjB,CAAC,CAAC,GAAGgjB,CAAC,CAAChjB,CAAC,CAAC,CAAC,KAElBtC,CAAC,CAACghB,IAAI,GAAGrf,CAAC,GAAG2jB,CAAC;MAChB,IAAI,CAAC7D,EAAE,EACL,KAAKnf,CAAC,GAAGijB,CAAC,EAAEjjB,CAAC,GAAGX,CAAC,CAACrN,MAAM,EAAEgO,CAAC,EAAE;QAAA,IAAA6jB,YAAA;QAC3B,EAAAA,YAAA,GAAC,CAACxD,CAAC,GAAGhhB,CAAC,CAACW,CAAC,CAAC,EAAEkd,SAAS,cAAA2G,YAAA,cAAAA,YAAA,GAAKxD,CAAC,CAACnD,SAAS,GAAG,EAAE,EAAGrb,IAAI,CAACnE,CAAC,CAAC;MAAC;IAC3D,CAAC,MAAM2B,CAAC,KAAK,IAAI,IAAI4jB,CAAC,GAAG5jB,CAAC,CAACrN,MAAM,KAAK4xB,EAAE,CAAClmB,CAAC,EAAEulB,CAAC,CAAC,EAAE5jB,CAAC,CAACrN,MAAM,GAAGixB,CAAC,CAAC;IAC7D,IAAIpF,EAAE,CAAC,CAAC,IAAIM,EAAE,KAAK,IAAI,IAAI,CAACV,EAAE,IAAIpe,CAAC,KAAK,IAAI,IAAI,CAAC3B,CAAC,CAAC6B,CAAC,IAAIia,EAAE,GAAGW,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EAC1E,KAAKla,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG;IAChBme,EAAE,CAACnsB,MAAM,EAAEgO,CAAC,EAAE,EACZ0jB,EAAE,CACAvF,EAAE,CAACne,CAAC,CAAC,EACL;IACAtC,CACF,CAAC;IACL,OAAOvL,CAAC,KAAK,IAAI,IAAIgxB,EAAE,EAAE,EAAErjB,CAAC;EAC9B,CAAC,SAAS;IACRkjB,CAAC,GAAGrlB,CAAC,EAAEslB,CAAC,GAAGrlB,CAAC,EAAEugB,EAAE,GAAG7e,CAAC,EAAExL,CAAC,GAAG3B,CAAC,EAAEgtB,EAAE,GAAGhhB,CAAC,EAAEuf,EAAE,GAAG1f,CAAC,EAAE2lB,EAAE,CAACpkB,CAAC,CAAC,EAAEke,EAAE,GAAGje,CAAC;EAC5D;AACF;AACA,SAASskB,EAAEA,CAACpmB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGD,CAAC,CAACuf,SAAS;EACnB,IAAItf,CAAC,KAAK,IAAI,EAAE;IACd,IAAI0B,CAAC,GAAGwb,EAAE,CAAC1b,IAAI,CAACxB,CAAC,EAAEF,CAAC,CAAC;IACrB,IAAI4B,CAAC,KAAK,CAAC,CAAC,EAAE;MACZ,IAAInN,CAAC,GAAGyL,CAAC,CAAC5L,MAAM,GAAG,CAAC;MACpBG,CAAC,KAAK,CAAC,GAAGyL,CAAC,GAAGD,CAAC,CAACuf,SAAS,GAAG,IAAI,IAAItf,CAAC,CAAC0B,CAAC,CAAC,GAAG1B,CAAC,CAACzL,CAAC,CAAC,EAAEyL,CAAC,CAACgF,GAAG,CAAC,CAAC,CAAC;IAC3D;EACF;EACAhF,CAAC,KAAK,IAAI,IAAI,CAACD,CAAC,CAAC4B,CAAC,GAAGia,EAAE,MAAM,CAAC;EAAI;EAClC;EACA;EACCwJ,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAClF,QAAQ,CAACngB,CAAC,CAAC,CAAC,KAAK0gB,EAAE,CAAC1gB,CAAC,EAAEwc,EAAE,CAAC,EAAE,CAACxc,CAAC,CAAC4B,CAAC,IAAIwa,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC,KAAKrc,CAAC,CAAC4B,CAAC,IAAIya,EAAE,CAAC,EAAE4E,EAAE,CACtF;EACAjhB,CACF,CAAC,EAAEimB,EAAE,CACH;EACAjmB,CAAC,EACD,CACF,CAAC,CAAC;AACJ;AACA,SAASimB,EAAEA,CAAClmB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAACghB,IAAI;EACd,IAAI9gB,CAAC,KAAK,IAAI,EACZ,KAAK,IAAI0B,CAAC,GAAG3B,CAAC,EAAE2B,CAAC,GAAG1B,CAAC,CAAC5L,MAAM,EAAEsN,CAAC,EAAE,EAC/BwkB,EAAE,CAACpmB,CAAC,EAAEE,CAAC,CAAC0B,CAAC,CAAC,CAAC;AACjB;AACA,SAASykB,EAAEA,CAACrmB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC6B,CAAC;EACX,IAAI,CAAC5B,CAAC,GAAG0c,EAAE,MAAM,CAAC,EAAE;IAClBgE,EAAE,CAAC3gB,CAAC,EAAEuc,CAAC,CAAC;IACR,IAAIrc,CAAC,GAAGsgB,CAAC;MAAE5e,CAAC,GAAGmf,CAAC;MAAEtsB,CAAC,GAAGwwB,EAAE;IACxBzE,CAAC,GAAGxgB,CAAC,EAAEilB,EAAE,GAAG,CAAC,CAAC;IACd,IAAI;MACF,CAAChlB,CAAC,GAAGgc,EAAE,MAAM,CAAC,GAAGqK,EAAE,CAACtmB,CAAC,CAAC,GAAGumB,EAAE,CAACvmB,CAAC,CAAC,EAAEwmB,EAAE,CAACxmB,CAAC,CAAC;MACrC,IAAIS,CAAC,GAAG8gB,EAAE,CAACvhB,CAAC,CAAC;MACbA,CAAC,CAACymB,QAAQ,GAAG,OAAOhmB,CAAC,IAAI,UAAU,GAAGA,CAAC,GAAG,IAAI,EAAET,CAAC,CAAC2f,EAAE,GAAG6F,EAAE;MACzD,IAAIllB,CAAC,GAAGN,CAAC,CAACghB,IAAI;QAAEnf,CAAC;MACjBga,EAAE,IAAIyD,EAAE,IAAItf,CAAC,CAAC6B,CAAC,GAAG2a,EAAE;IACtB,CAAC,CAAC,OAAO1a,CAAC,EAAE;MACVikB,EAAE,CAACjkB,CAAC,EAAE9B,CAAC,EAAEE,CAAC,EAAE0B,CAAC,IAAI5B,CAAC,CAAC8gB,GAAG,CAAC;IACzB,CAAC,SAAS;MACRmE,EAAE,GAAGxwB,CAAC,EAAE+rB,CAAC,GAAGtgB,CAAC;IACf;EACF;AACF;AACA,SAASwmB,EAAEA,CAAA,EAAG;EACZ,IAAI;IACF3H,EAAE,CAAC,CAAC;EACN,CAAC,CAAC,OAAO/e,CAAC,EAAE;IACV,IAAIglB,EAAE,KAAK,IAAI,EACbe,EAAE,CAAC/lB,CAAC,EAAEglB,EAAE,EAAE,IAAI,CAAC,CAAC,KAEhB,MAAMhlB,CAAC;EACX;AACF;AACA,SAAS2mB,EAAEA,CAAA,EAAG;EACZ,IAAI3mB,CAAC,GAAGilB,EAAE;EACV,IAAI;IACF,IAAIhlB,CAAC,GAAG,CAAC;IACT,KAAKglB,EAAE,GAAG,CAAC,CAAC,EAAEG,EAAE,CAAC9wB,MAAM,GAAG,CAAC,GAAI;MAC7B2L,CAAC,EAAE,GAAG,GAAG,IAAIymB,EAAE,CAAC,CAAC;MACjB,IAAIxmB,CAAC,GAAGklB,EAAE;QAAExjB,CAAC,GAAG1B,CAAC,CAAC5L,MAAM;MACxB8wB,EAAE,GAAG,EAAE;MACP,KAAK,IAAI3wB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGmN,CAAC,EAAEnN,CAAC,EAAE,EAAE;QAC1B,IAAIgM,CAAC,GAAGmmB,EAAE,CAAC1mB,CAAC,CAACzL,CAAC,CAAC,CAAC;QAChBoyB,EAAE,CAACpmB,CAAC,CAAC;MACP;IACF;EACF,CAAC,SAAS;IACRskB,EAAE,GAAG,CAAC,CAAC,EAAEE,EAAE,GAAGjlB,CAAC,EAAEglB,EAAE,GAAG,IAAI;EAC5B;AACF;AACA,SAAS6B,EAAEA,CAAC7mB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC1L,MAAM;EAChB,IAAI2L,CAAC,KAAK,CAAC,EACT,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,EAAEC,CAAC,EAAE,EAAE;IAC1B,IAAI0B,CAAC,GAAG5B,CAAC,CAACE,CAAC,CAAC;IACZ,IAAI,CAAC0B,CAAC,CAACC,CAAC,IAAI8a,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EACzB,IAAI;MACFgJ,EAAE,CAAC9jB,CAAC,CAAC,KAAKykB,EAAE,CAACzkB,CAAC,CAAC,EAAEA,CAAC,CAACof,IAAI,KAAK,IAAI,IAAIpf,CAAC,CAACklB,KAAK,KAAK,IAAI,IAAIllB,CAAC,CAACmlB,WAAW,KAAK,IAAI,KAAKnlB,CAAC,CAAC6kB,QAAQ,KAAK,IAAI,GAAGO,EAAE,CAACplB,CAAC,CAAC,GAAGA,CAAC,CAACic,EAAE,GAAG,IAAI,CAAC,CAAC;IAChI,CAAC,CAAC,OAAOppB,CAAC,EAAE;MACVsxB,EAAE,CAACtxB,CAAC,EAAEmN,CAAC,EAAE,IAAI,EAAEA,CAAC,CAACkf,GAAG,CAAC;IACvB;EACJ;AACJ;AACA,SAASF,EAAEA,CAAC5gB,CAAC,EAAE;EACb+kB,EAAE,KAAKA,EAAE,GAAG,CAAC,CAAC,EAAEzG,cAAc,CAACqI,EAAE,CAAC,CAAC;EACnC,KAAK,IAAI1mB,CAAC,GAAG+kB,EAAE,GAAGhlB,CAAC,EAAEC,CAAC,CAAC5G,MAAM,KAAK,IAAI,GAAI;IACxC4G,CAAC,GAAGA,CAAC,CAAC5G,MAAM;IACZ,IAAI6G,CAAC,GAAGD,CAAC,CAAC4B,CAAC;IACX,IAAI,CAAC3B,CAAC,IAAIic,EAAE,GAAGD,EAAE,CAAC,MAAM,CAAC,EAAE;MACzB,IAAI,CAAChc,CAAC,GAAGqc,CAAC,MAAM,CAAC,EAAE;MACnBtc,CAAC,CAAC4B,CAAC,IAAI0a,CAAC;IACV;EACF;EACA6I,EAAE,CAACjhB,IAAI,CAAClE,CAAC,CAAC;AACZ;AACA,SAAS2mB,EAAEA,CAAC5mB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,EAAE,EAAEC,CAAC,GAAGF,CAAC,EAAEE,CAAC,KAAK,IAAI,GAAI;IACpC,IAAI0B,CAAC,GAAG1B,CAAC,CAAC2B,CAAC;MAAEpN,CAAC,GAAG,CAACmN,CAAC,IAAIsa,EAAE,GAAGC,EAAE,CAAC,MAAM,CAAC;MAAE1b,CAAC,GAAGhM,CAAC,IAAI,CAACmN,CAAC,GAAG2a,CAAC,MAAM,CAAC;IAC9D,IAAI,CAAC9b,CAAC,IAAI,CAACmB,CAAC,GAAG8a,EAAE,MAAM,CAAC,EAAE;MACxB,IAAI,CAAC9a,CAAC,GAAGma,EAAE,MAAM,CAAC,EAChB9b,CAAC,CAACkE,IAAI,CAACjE,CAAC,CAAC,CAAC,KACP,IAAIzL,CAAC,EACRyL,CAAC,CAAC2B,CAAC,IAAI0a,CAAC,CAAC,KACN;QACH,IAAIjc,CAAC,GAAGlK,CAAC;QACT,IAAI;UACFA,CAAC,GAAG8J,CAAC,EAAEwlB,EAAE,CAACxlB,CAAC,CAAC,IAAImmB,EAAE,CAACnmB,CAAC,CAAC;QACvB,CAAC,CAAC,OAAOS,CAAC,EAAE;UACVolB,EAAE,CAACplB,CAAC,EAAET,CAAC,EAAE,IAAI,EAAEA,CAAC,CAAC4gB,GAAG,CAAC;QACvB,CAAC,SAAS;UACR1qB,CAAC,GAAGkK,CAAC;QACP;MACF;MACA,IAAIuB,CAAC,GAAG3B,CAAC,CAAC4mB,KAAK;MACf,IAAIjlB,CAAC,KAAK,IAAI,EAAE;QACd3B,CAAC,GAAG2B,CAAC;QACL;MACF;IACF;IACA,IAAIC,CAAC,GAAG5B,CAAC,CAAC7G,MAAM;IAChB,KAAK6G,CAAC,GAAGA,CAAC,CAACyD,IAAI,EAAEzD,CAAC,KAAK,IAAI,IAAI4B,CAAC,KAAK,IAAI,GACvC5B,CAAC,GAAG4B,CAAC,CAAC6B,IAAI,EAAE7B,CAAC,GAAGA,CAAC,CAACzI,MAAM;EAC5B;EACA,OAAO4G,CAAC;AACV;AACA,SAASgnB,CAACA,CAACjnB,CAAC,EAAE;EACZ,IAAIC,CAAC;EACL,KAAKue,EAAE,CAAC,CAAC,EAAE4G,EAAE,CAAC9wB,MAAM,GAAG,CAAC,GACtBywB,EAAE,GAAG,CAAC,CAAC,EAAE4B,EAAE,CAAC,CAAC,EAAEnI,EAAE,CAAC,CAAC;EACrB,OACE,gBACAve,CAAC;AAEL;AAAC,SACcinB,EAAEA,CAAA;EAAA,OAAAC,GAAA,CAAAnhB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAA0vB,IAAA;EAAAA,GAAA,GAAA7gB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAqJ,SAAA;IAAA,OAAAjO,yBAAA,GAAAoB,IAAA,UAAA+M,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhJ,IAAA,GAAAgJ,SAAA,CAAAxK,IAAA;QAAA;UAAAwK,SAAA,CAAAxK,IAAA;UAAA,OACQqB,OAAO,CAACpC,OAAO,CAAC,CAAC;QAAA;UAAEqkB,CAAC,CAAC,CAAC;QAAA;QAAA;UAAA,OAAA9Y,SAAA,CAAA7I,IAAA;MAAA;IAAA,GAAA0I,QAAA;EAAA,CAC7B;EAAA,OAAAmZ,GAAA,CAAAnhB,KAAA,OAAAvO,SAAA;AAAA;AACD,SAAStB,CAACA,CAAC6J,CAAC,EAAE;EACZ,IAAIC,CAAC,GAAGD,CAAC,CAAC6B,CAAC;IAAE3B,CAAC,GAAG,CAACD,CAAC,GAAG6b,EAAE,MAAM,CAAC;EAC/B,IAAI1lB,CAAC,KAAK,IAAI,IAAI,CAAC2pB,EAAE,EAAE;IACrBC,EAAE,KAAK,IAAI,IAAIA,EAAE,CAACI,QAAQ,CAACpgB,CAAC,CAAC,IAAIof,EAAE,CAAC,CAAC;IACrC,IAAIxd,CAAC,GAAGxL,CAAC,CAAC4qB,IAAI;IACdhhB,CAAC,CAAC0f,EAAE,GAAG+F,EAAE,KAAKzlB,CAAC,CAAC0f,EAAE,GAAG+F,EAAE,EAAEH,CAAC,KAAK,IAAI,IAAI1jB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAAC2jB,CAAC,CAAC,KAAKvlB,CAAC,GAAGulB,CAAC,EAAE,GAAGD,CAAC,KAAK,IAAI,GAAGA,CAAC,GAAG,CAACtlB,CAAC,CAAC,GAAG,CAAC,CAACyhB,EAAE,IAAI,CAAC6D,CAAC,CAAClF,QAAQ,CAACpgB,CAAC,CAAC,KAAKslB,CAAC,CAACnhB,IAAI,CAACnE,CAAC,CAAC,CAAC;EACtI,CAAC,MAAM,IAAIE,CAAC,IAAI;EAChBF,CAAC,CAACghB,IAAI,KAAK,IAAI,IAAI;EACnBhhB,CAAC,CAACihB,OAAO,KAAK,IAAI,EAAE;IAClB,IAAIxsB,CAAC,GACH;MACAuL,CACD;MAAES,CAAC,GAAGhM,CAAC,CAAC4E,MAAM;IACfoH,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACoB,CAAC,GAAGwa,EAAE,MAAM,CAAC,KAAK5nB,CAAC,CAACoN,CAAC,IAAIwa,EAAE,CAAC;EAC/C;EACA,OAAOnc,CAAC,KAAKzL,CAAC,GAAG;EACjBuL,CAAC,EAAE0lB,EAAE,CAACjxB,CAAC,CAAC,IAAI+sB,EAAE,CAAC/sB,CAAC,CAAC,CAAC,EAAEuL,CAAC,CAACoC,CAAC;AACzB;AACA,SAASglB,EAAEA,CAACpnB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG8f,EAAE;EACV,IAAI;IACF,OAAOA,EAAE,GAAG,CAAC,CAAC,EAAE/f,CAAC,CAAC,CAAC;EACrB,CAAC,SAAS;IACR+f,EAAE,GAAG9f,CAAC;EACR;AACF;AACA,IAAMonB,EAAE,GAAG,CAAC,IAAI;AAChB,SAAS1G,EAAEA,CAAC3gB,CAAC,EAAEC,CAAC,EAAE;EAChBD,CAAC,CAAC6B,CAAC,GAAG7B,CAAC,CAAC6B,CAAC,GAAGwlB,EAAE,GAAGpnB,CAAC;AACpB;AACA,SAASqnB,EAAEA,CAACtnB,CAAC,EAAE;EACbwgB,CAAC,KAAK,IAAI,IAAIpqB,CAAC,KAAK,IAAI,IAAI0oB,EAAE,CAAC,CAAC,EAAE1oB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAGwa,EAAE,MAAM,CAAC,IAAImE,CAAC,KAAK,IAAI,IAAI3B,EAAE,CAAC,CAAC,EAAEqG,EAAE,IAAItG,EAAE,CAAC,CAAC;AACpG;AACA,SAAS2I,EAAEA,CAACvnB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGD,CAAC,CAACunB,IAAI;EACdtnB,CAAC,KAAK,IAAI,GAAGD,CAAC,CAACunB,IAAI,GAAGvnB,CAAC,CAAC6mB,KAAK,GAAG9mB,CAAC,IAAIE,CAAC,CAACyD,IAAI,GAAG3D,CAAC,EAAEA,CAAC,CAACmF,IAAI,GAAGjF,CAAC,EAAED,CAAC,CAACunB,IAAI,GAAGxnB,CAAC,CAAC;AAC1E;AACA,SAASynB,EAAEA,CAACznB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAU;EAAA,IAAR0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACzB,IAAIhD,CAAC,GAAG+rB,CAAC;IAAE/f,CAAC,GAAG;MACbqgB,GAAG,EAAEC,CAAC;MACNC,IAAI,EAAE,IAAI;MACV+F,WAAW,EAAE,IAAI;MACjBW,SAAS,EAAE,IAAI;MACf7lB,CAAC,EAAE7B,CAAC,GAAGwc,EAAE;MACTsK,KAAK,EAAE,IAAI;MACXjJ,EAAE,EAAE5d,CAAC;MACLunB,IAAI,EAAE,IAAI;MACV7jB,IAAI,EAAE,IAAI;MACVtK,MAAM,EAAE5E,CAAC;MACT0Q,IAAI,EAAE,IAAI;MACVshB,QAAQ,EAAE,IAAI;MACdkB,WAAW,EAAE,IAAI;MACjBhI,EAAE,EAAE;IACN,CAAC;EACD,IAAIzf,CAAC,EACH,IAAI;IACFmmB,EAAE,CAAC5lB,CAAC,CAAC,EAAEA,CAAC,CAACoB,CAAC,IAAI+a,EAAE;EAClB,CAAC,CAAC,OAAO9a,CAAC,EAAE;IACV,MAAMqf,EAAE,CAAC1gB,CAAC,CAAC,EAAEqB,CAAC;EAChB,CAAC,MACE7B,CAAC,KAAK,IAAI,IAAI2gB,EAAE,CAACngB,CAAC,CAAC;EACxB,IAAIH,CAAC,GAAGJ,CAAC,IAAIO,CAAC,CAACugB,IAAI,KAAK,IAAI,IAAIvgB,CAAC,CAACqmB,KAAK,KAAK,IAAI,IAAIrmB,CAAC,CAACsmB,WAAW,KAAK,IAAI,IAAItmB,CAAC,CAACgmB,QAAQ,KAAK,IAAI,IAAI,CAAChmB,CAAC,CAACoB,CAAC,IAAIkb,EAAE,GAAGX,EAAE,CAAC,MAAM,CAAC;EAC5H,IAAI,CAAC9b,CAAC,IAAIsB,CAAC,KAAKnN,CAAC,KAAK,IAAI,IAAI8yB,EAAE,CAAC9mB,CAAC,EAAEhM,CAAC,CAAC,EAAE2B,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAACyL,CAAC,GAAGia,EAAE,MAAM,CAAC,CAAC,EAAE;IAAA,IAAA8L,UAAA;IACvE,IAAI/lB,CAAC,GACH;IACAzL,CACD;IACD,EAAAwxB,UAAA,GAAC/lB,CAAC,CAACof,OAAO,cAAA2G,UAAA,cAAAA,UAAA,GAAK/lB,CAAC,CAACof,OAAO,GAAG,EAAE,EAAG9c,IAAI,CAAC1D,CAAC,CAAC;EACzC;EACA,OAAOA,CAAC;AACV;AACA,SAASonB,EAAEA,CAAC7nB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGwnB,EAAE,CAACzL,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;EAC1B,OAAO2E,EAAE,CAAC1gB,CAAC,EAAEsc,CAAC,CAAC,EAAEtc,CAAC,CAACwmB,QAAQ,GAAGzmB,CAAC,EAAEC,CAAC;AACpC;AACA,SAAS6nB,EAAEA,CAAC9nB,CAAC,EAAE;EACbsnB,EAAE,CAAC,CAAC;EACJ,IAAIrnB,CAAC,GAAGugB,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC3e,CAAC,GAAGqa,EAAE,MAAM,CAAC,IAAI6E,CAAC,KAAK,IAAI,IAAI,CAACA,CAAC,CAAC4B,CAAC;EAC5D,IAAI1iB,CAAC,EAAE;IAAA,IAAA8nB,IAAA;IACL,IAAI7nB,CAAC,GACH;IACA6gB,CACD;IACD,EAAAgH,IAAA,GAAC7nB,CAAC,CAACF,CAAC,cAAA+nB,IAAA,cAAAA,IAAA,GAAK7nB,CAAC,CAACF,CAAC,GAAG,EAAE,EAAGmE,IAAI,CAAC;MACvB0Z,EAAE,EAAE7d,CAAC;MACLgoB,MAAM,EAAExH,CAAC;MACTyH,QAAQ,EAAE7xB;IACZ,CAAC,CAAC;EACJ,CAAC,MAAM;IACL,IAAIwL,CAAC,GAAGsmB,EAAE,CAACloB,CAAC,CAAC;IACb,OAAO4B,CAAC;EACV;AACF;AACA,SAASumB,EAAEA,CAACnoB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGwnB,EAAE,CAACtL,EAAE,EAAEnc,CAAC,EAAE,CAAC,CAAC,CAAC;EACvB,OAAO,YAAM;IACXmhB,EAAE,CAAClhB,CAAC,CAAC;EACP,CAAC;AACH;AACA,SAASmoB,EAAEA,CAACpoB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGwnB,EAAE,CAACtL,EAAE,EAAEnc,CAAC,EAAE,CAAC,CAAC,CAAC;EACvB,OAAO;IAAA,IAACE,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;IAAA,OAAK,IAAIuN,OAAO,CAAC,UAACpD,CAAC,EAAK;MACpC1B,CAAC,CAACmoB,KAAK,GAAGC,EAAE,CAACroB,CAAC,EAAE,YAAM;QACpBkhB,EAAE,CAAClhB,CAAC,CAAC,EAAE2B,CAAC,CAAC,KAAK,CAAC,CAAC;MAClB,CAAC,CAAC,IAAIuf,EAAE,CAAClhB,CAAC,CAAC,EAAE2B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;EAAA;AACJ;AACA,SAASsmB,EAAEA,CAACloB,CAAC,EAAE;EACb,OAAOynB,EAAE,CAAC1L,EAAE,EAAE/b,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB;AACA,SAASuoB,EAAEA,CAACvoB,CAAC,EAAE;EACb,OAAOynB,EAAE,CAACzL,EAAE,EAAEhc,CAAC,EAAE,CAAC,CAAC,CAAC;AACtB;AACA,SAASwoB,EAAEA,CAACxoB,CAAC,EAAkB;EAAA,IAAhBC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGopB,EAAE;EAC3B,IAAMjf,CAAC,GAAG3B,CAAC,CAACwoB,GAAG,CAACvoB,CAAC,CAAC;EAClB,OAAOwoB,EAAE,CAAC;IAAA,OAAM1oB,CAAC,CAAAgG,KAAA,SAAAyS,kBAAA,CAAI7W,CAAC,CAAC6mB,GAAG,CAACtyB,CAAC,CAAC,EAAC;EAAA,EAAC;AACjC;AACA,SAASuyB,EAAEA,CAAC1oB,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAClB,OAAOgwB,EAAE,CAACzL,EAAE,GAAGC,EAAE,GAAGhc,CAAC,EAAED,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B;AACA,SAAS2oB,EAAEA,CAAC3oB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,OAAOgwB,EAAE,CAACzL,EAAE,GAAGE,EAAE,EAAElc,CAAC,EAAE,CAAC,CAAC,EAAEC,CAAC,CAAC;AAC9B;AACA,SAASumB,EAAEA,CAACxmB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAACymB,QAAQ;EAClB,IAAIxmB,CAAC,KAAK,IAAI,EAAE;IACd,IAAMC,CAAC,GAAGglB,EAAE;MAAEtjB,CAAC,GAAGxL,CAAC;IACnB+uB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEE,EAAE,CAAC,IAAI,CAAC;IAChB,IAAI;MACFplB,CAAC,CAACyB,IAAI,CAAC,IAAI,CAAC;IACd,CAAC,SAAS;MACRyjB,EAAE,CAACjlB,CAAC,CAAC,EAAEmlB,EAAE,CAACzjB,CAAC,CAAC;IACd;EACF;AACF;AACA,SAAS2kB,EAAEA,CAACvmB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAIyI,CAAC,GAAGF,CAAC,CAAC8mB,KAAK;EACf,KAAK9mB,CAAC,CAAC8mB,KAAK,GAAG9mB,CAAC,CAACwnB,IAAI,GAAG,IAAI,EAAEtnB,CAAC,KAAK,IAAI,GAAI;IAC1C,IAAI0B,CAAC,GAAG1B,CAAC,CAACyD,IAAI;IACd,CAACzD,CAAC,CAAC2B,CAAC,GAAGsa,EAAE,MAAM,CAAC,GAAGjc,CAAC,CAAC7G,MAAM,GAAG,IAAI,GAAG8nB,EAAE,CAACjhB,CAAC,EAAED,CAAC,CAAC,EAAEC,CAAC,GAAG0B,CAAC;EACtD;AACF;AACA,SAAS0kB,EAAEA,CAACtmB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAGD,CAAC,CAAC8mB,KAAK,EAAE7mB,CAAC,KAAK,IAAI,GAAI;IAClC,IAAIC,CAAC,GAAGD,CAAC,CAAC0D,IAAI;IACd,CAAC1D,CAAC,CAAC4B,CAAC,GAAGqa,EAAE,MAAM,CAAC,IAAIiF,EAAE,CAAClhB,CAAC,CAAC,EAAEA,CAAC,GAAGC,CAAC;EAClC;AACF;AACA,SAASihB,EAAEA,CAACnhB,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACnB,IAAIyI,CAAC,GAAG,CAAC,CAAC;EACV,IAAI,CAACD,CAAC,IAAI,CAACD,CAAC,CAAC6B,CAAC,GAAGib,EAAE,MAAM,CAAC,KAAK9c,CAAC,CAAC+mB,WAAW,KAAK,IAAI,EAAE;IACrD,KAAK,IAAInlB,CAAC,GAAG5B,CAAC,CAAC+mB,WAAW,EAAEtyB,CAAC,GAAGuL,CAAC,CAAC0nB,SAAS,EAAE9lB,CAAC,KAAK,IAAI,GAAI;MACzD,IAAInB,CAAC,GAAGmB,CAAC,KAAKnN,CAAC,GAAG,IAAI,IACpB;MACA,eAAgBwtB,EAAE,CAACrgB,CAAC,CAAC,CACtB;MACDA,CAAC,CAAChG,MAAM,CAAC,CAAC,EAAEgG,CAAC,GAAGnB,CAAC;IACnB;IACAP,CAAC,GAAG,CAAC,CAAC;EACR;EACAqmB,EAAE,CAACvmB,CAAC,EAAEC,CAAC,IAAI,CAACC,CAAC,CAAC,EAAEgmB,EAAE,CAAClmB,CAAC,EAAE,CAAC,CAAC,EAAE2gB,EAAE,CAAC3gB,CAAC,EAAE2c,EAAE,CAAC;EACnC,IAAIrc,CAAC,GAAGN,CAAC,CAAC2nB,WAAW;EACrB,IAAIrnB,CAAC,KAAK,IAAI;IAAA,IAAAsoB,UAAA,GAAA1P,0BAAA,CACI5Y,CAAC;MAAAuoB,MAAA;IAAA;MAAjB,KAAAD,UAAA,CAAA9mB,CAAA,MAAA+mB,MAAA,GAAAD,UAAA,CAAAxoB,CAAA,IAAA6C,IAAA,GACE;QAAA,IADSnB,CAAC,GAAA+mB,MAAA,CAAA30B,KAAA;QACV4N,CAAC,CAACwD,IAAI,CAAC,CAAC;MAAA;IAAC,SAAA6d,GAAA;MAAAyF,UAAA,CAAA5oB,CAAA,CAAAmjB,GAAA;IAAA;MAAAyF,UAAA,CAAA/mB,CAAA;IAAA;EAAA;EACb2kB,EAAE,CAACxmB,CAAC,CAAC;EACL,IAAI6B,CAAC,GAAG7B,CAAC,CAAC3G,MAAM;EAChBwI,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACilB,KAAK,KAAK,IAAI,IAAIE,EAAE,CAAChnB,CAAC,CAAC,EAAEA,CAAC,CAAC2D,IAAI,GAAG3D,CAAC,CAACmF,IAAI,GAAGnF,CAAC,CAACymB,QAAQ,GAAGzmB,CAAC,CAAC8gB,GAAG,GAAG9gB,CAAC,CAACghB,IAAI,GAAGhhB,CAAC,CAAC6d,EAAE,GAAG7d,CAAC,CAAC+mB,WAAW,GAAG/mB,CAAC,CAAC0nB,SAAS,GAAG,IAAI;AACpI;AACA,SAASV,EAAEA,CAAChnB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGD,CAAC,CAAC3G,MAAM;IAAE6G,CAAC,GAAGF,CAAC,CAACmF,IAAI;IAAEvD,CAAC,GAAG5B,CAAC,CAAC2D,IAAI;EACxCzD,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACyD,IAAI,GAAG/B,CAAC,CAAC,EAAEA,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACuD,IAAI,GAAGjF,CAAC,CAAC,EAAED,CAAC,KAAK,IAAI,KAAKA,CAAC,CAAC6mB,KAAK,KAAK9mB,CAAC,KAAKC,CAAC,CAAC6mB,KAAK,GAAGllB,CAAC,CAAC,EAAE3B,CAAC,CAACunB,IAAI,KAAKxnB,CAAC,KAAKC,CAAC,CAACunB,IAAI,GAAGtnB,CAAC,CAAC,CAAC;AACtI;AACA,SAASooB,EAAEA,CAACtoB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG,EAAE;EACV4oB,EAAE,CAAC9oB,CAAC,EAAEE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE6oB,EAAE,CAAC7oB,CAAC,EAAE,YAAM;IACxBihB,EAAE,CAACnhB,CAAC,CAAC,EAAEC,CAAC,IAAIA,CAAC,CAAC,CAAC;EACjB,CAAC,CAAC;AACJ;AACA,SAAS8oB,EAAEA,CAAC/oB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAGF,CAAC,CAAC1L,MAAM;EAChB,IAAI4L,CAAC,GAAG,CAAC,EAAE;IACT,IAAI0B,CAAC,GAAG,SAAJA,CAACA,CAAA;MAAA,OAAS,EAAE1B,CAAC,IAAID,CAAC,CAAC,CAAC;IAAA;IAAC,IAAA+oB,UAAA,GAAA9P,0BAAA,CACXlZ,CAAC;MAAAipB,MAAA;IAAA;MAAf,KAAAD,UAAA,CAAAlnB,CAAA,MAAAmnB,MAAA,GAAAD,UAAA,CAAA5oB,CAAA,IAAA6C,IAAA,GACE;QAAA,IADOxO,CAAC,GAAAw0B,MAAA,CAAA/0B,KAAA;QACRO,CAAC,CAACy0B,GAAG,CAACtnB,CAAC,CAAC;MAAA;IAAC,SAAAuhB,GAAA;MAAA6F,UAAA,CAAAhpB,CAAA,CAAAmjB,GAAA;IAAA;MAAA6F,UAAA,CAAAnnB,CAAA;IAAA;EACb,CAAC,MACC5B,CAAC,CAAC,CAAC;AACP;AACA,SAAS6oB,EAAEA,CAAC9oB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;EACnB,IAAI,CAACF,CAAC,CAAC6B,CAAC,GAAG6a,EAAE,MAAM,CAAC,EAAE;IACpB,IAAI1c,CAAC,CAAC6B,CAAC,IAAI6a,EAAE,EAAE1c,CAAC,CAAC2nB,WAAW,KAAK,IAAI;MAAA,IAAAwB,UAAA,GAAAjQ,0BAAA,CACnBlZ,CAAC,CAAC2nB,WAAW;QAAAyB,MAAA;MAAA;QAA7B,KAAAD,UAAA,CAAArnB,CAAA,MAAAsnB,MAAA,GAAAD,UAAA,CAAA/oB,CAAA,IAAA6C,IAAA,GACE;UAAA,IADS3C,CAAC,GAAA8oB,MAAA,CAAAl1B,KAAA;UACV,CAACoM,CAAC,CAAC+oB,SAAS,IAAInpB,CAAC,KAAKD,CAAC,CAACkE,IAAI,CAAC7D,CAAC,CAAC;QAAA;MAAC,SAAA6iB,GAAA;QAAAgG,UAAA,CAAAnpB,CAAA,CAAAmjB,GAAA;MAAA;QAAAgG,UAAA,CAAAtnB,CAAA;MAAA;IAAA;IACpC,KAAK,IAAID,CAAC,GAAG5B,CAAC,CAAC8mB,KAAK,EAAEllB,CAAC,KAAK,IAAI,GAAI;MAClC,IAAInN,CAAC,GAAGmN,CAAC,CAAC+B,IAAI;QAAElD,CAAC,GAAG,CAACmB,CAAC,CAACC,CAAC,GAAGgb,EAAE,MAAM,CAAC,IAAI,CAACjb,CAAC,CAACC,CAAC,GAAGqa,EAAE,MAAM,CAAC;MACxD4M,EAAE,CAAClnB,CAAC,EAAE3B,CAAC,EAAEQ,CAAC,GAAGP,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE0B,CAAC,GAAGnN,CAAC;IAC7B;EACF;AACF;AACA,SAAS60B,EAAEA,CAACtpB,CAAC,EAAE;EACbupB,EAAE,CAACvpB,CAAC,EAAE,CAAC,CAAC,CAAC;AACX;AACA,SAASupB,EAAEA,CAACvpB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI,CAACD,CAAC,CAAC6B,CAAC,GAAG6a,EAAE,MAAM,CAAC,EAAE;IACpB1c,CAAC,CAAC6B,CAAC,IAAI6a,EAAE,EAAE,CAAC1c,CAAC,CAAC6B,CAAC,GAAG0a,CAAC,MAAM,CAAC,KAAKvc,CAAC,CAAC6B,CAAC,IAAI0a,CAAC,CAAC,EAAEmJ,EAAE,CAAC1lB,CAAC,CAAC,KAAK2gB,EAAE,CAAC3gB,CAAC,EAAEwc,EAAE,CAAC,EAAEoE,EAAE,CAAC5gB,CAAC,CAAC,CAAC;IACrE,KAAK,IAAIE,CAAC,GAAGF,CAAC,CAAC8mB,KAAK,EAAE5mB,CAAC,KAAK,IAAI,GAAI;MAClC,IAAI0B,CAAC,GAAG1B,CAAC,CAACyD,IAAI;QAAElP,CAAC,GAAG,CAACyL,CAAC,CAAC2B,CAAC,GAAGgb,EAAE,MAAM,CAAC,IAAI,CAAC3c,CAAC,CAAC2B,CAAC,GAAGqa,EAAE,MAAM,CAAC;MACxDqN,EAAE,CAACrpB,CAAC,EAAEzL,CAAC,GAAGwL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEC,CAAC,GAAG0B,CAAC;IAC1B;IACA,IAAI5B,CAAC,CAAC2nB,WAAW,KAAK,IAAI;MAAA,IAAA6B,UAAA,GAAAtQ,0BAAA,CACRlZ,CAAC,CAAC2nB,WAAW;QAAA8B,MAAA;MAAA;QAA7B,KAAAD,UAAA,CAAA1nB,CAAA,MAAA2nB,MAAA,GAAAD,UAAA,CAAAppB,CAAA,IAAA6C,IAAA,GACE;UAAA,IADSxC,CAAC,GAAAgpB,MAAA,CAAAv1B,KAAA;UACV,CAACuM,CAAC,CAAC4oB,SAAS,IAAIppB,CAAC,KAAKQ,CAAC,MAAG,CAAC,CAAC;QAAA;MAAC,SAAA0iB,GAAA;QAAAqG,UAAA,CAAAxpB,CAAA,CAAAmjB,GAAA;MAAA;QAAAqG,UAAA,CAAA3nB,CAAA;MAAA;IAAA;EACnC;AACF;AACA,SAAS6nB,EAAEA,CAAC1pB,CAAC,EAAE;EACb,MAAM,IAAIgD,KAAK,CAAC,kDAAkD,CAAC;AACrE;AACA,IAAI+d,CAAC,GAAG,IAAI;AACZ,SAASkF,EAAEA,CAACjmB,CAAC,EAAE;EACb+gB,CAAC,GAAG/gB,CAAC;AACP;AACA,SAAS2pB,EAAEA,CAAC3pB,CAAC,EAAa;EAAA,IAAXC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEyI,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACtB0sB,CAAC,GAAG;IACF7e,CAAC,EAAE6e,CAAC;IACJpgB,CAAC,EAAE,IAAI;IACPX,CAAC,EAAE,IAAI;IACP2iB,CAAC,EAAE,CAAC,CAAC;IACL7gB,CAAC,EAAE9B,CAAC;IACJ4pB,CAAC,EAAE,IAAI;IACPhoB,CAAC,EAAE;EACL,CAAC;AACH;AACA,SAASioB,EAAEA,CAAC7pB,CAAC,EAAE;EACb,IAAMC,CAAC,GAAG8gB,CAAC;EACX,IAAI9gB,CAAC,KAAK,IAAI,EAAE;IACdD,CAAC,KAAK,KAAK,CAAC,KAAKC,CAAC,CAAC2pB,CAAC,GAAG5pB,CAAC,CAAC;IACzB,IAAMM,CAAC,GAAGL,CAAC,CAACD,CAAC;IACb,IAAIM,CAAC,KAAK,IAAI,EAAE;MACd,IAAIJ,CAAC,GAAGsgB,CAAC;QAAE5e,CAAC,GAAGxL,CAAC;MAChB6J,CAAC,CAACD,CAAC,GAAG,IAAI;MACV,IAAI;QACF,KAAK,IAAIvL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6L,CAAC,CAAChM,MAAM,EAAEG,CAAC,EAAE,EAAE;UACjC,IAAIgM,CAAC,GAAGH,CAAC,CAAC7L,CAAC,CAAC;UACZ6sB,EAAE,CAAC7gB,CAAC,CAACunB,MAAM,CAAC,EAAE3C,EAAE,CAAC5kB,CAAC,CAACwnB,QAAQ,CAAC,EAAEC,EAAE,CAACznB,CAAC,CAACod,EAAE,CAAC;QACxC;MACF,CAAC,SAAS;QACRyD,EAAE,CAACphB,CAAC,CAAC,EAAEmlB,EAAE,CAACzjB,CAAC,CAAC;MACd;IACF;IACAmf,CAAC,GAAG9gB,CAAC,CAACiC,CAAC,EAAEjC,CAAC,CAAC0iB,CAAC,GAAG,CAAC,CAAC;EACnB;EACA,OAAO3iB,CAAC,IAAI;EACZ,CAAC,CAAC;AACJ;AACA,SAASmgB,EAAEA,CAAA,EAAG;EACZ,OAAO,CAAC,CAAC;AACX;AACA,IAAM2J,EAAE,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC;AACtC,SAASC,EAAEA,CAAC/pB,CAAC,EAAE;EACb,OAAO8pB,EAAE,CAAC1J,QAAQ,CAACpgB,CAAC,CAAC;AACvB;AACA,IAAIgqB,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAAA,EAAG;EACZD,EAAE,KAAKA,EAAE,GAAG,CAAC,CAAC,EAAEp0B,QAAQ,CAACwJ,gBAAgB,CACvC,OAAO,EACP,UAACY,CAAC,EAAK;IACLgF,OAAO,CAACpC,OAAO,CAAC,CAAC,CAACE,IAAI,CAAC,YAAM;MAC3B,IAAI7C,CAAC;MACL,IAAI,CAACD,CAAC,CAACkqB,gBAAgB;QAAA,IAAAC,UAAA,GAAAjR,0BAAA,CAGnB;UACAlZ,CAAC,CAAC6V,MAAM,CAACuU,QAAQ;UAAAC,MAAA;QAAA;UAHnB,KAAAF,UAAA,CAAAroB,CAAA,MAAAuoB,MAAA,GAAAF,UAAA,CAAA/pB,CAAA,IAAA6C,IAAA,GAKE;YAAA,IAJM/C,CAAC,GAAAmqB,MAAA,CAAAn2B,KAAA;YAIP,CAAC+L,CAAC,GAAGC,CAAC,CAACoqB,MAAM,KAAK,IAAI,IAAIrqB,CAAC,CAACyB,IAAI,CAACxB,CAAC,CAAC;UAAA;QAAC,SAAAijB,GAAA;UAAAgH,UAAA,CAAAnqB,CAAA,CAAAmjB,GAAA;QAAA;UAAAgH,UAAA,CAAAtoB,CAAA;QAAA;MAAA;IAC1C,CAAC,CAAC;EACJ,CAAC;EACD;EACA;IAAE0oB,OAAO,EAAE,CAAC;EAAE,CAChB,CAAC,CAAC;AACJ;AACA,SAASC,EAAEA,CAACxqB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAG7J,CAAC;IAAE8J,CAAC,GAAGsgB,CAAC;EAChB6E,EAAE,CAAC,IAAI,CAAC,EAAE/D,EAAE,CAAC,IAAI,CAAC;EAClB,IAAI;IACF,OAAOthB,CAAC,CAAC,CAAC;EACZ,CAAC,SAAS;IACRqlB,EAAE,CAACplB,CAAC,CAAC,EAAEqhB,EAAE,CAACphB,CAAC,CAAC;EACd;AACF;AACA,SAASuqB,EAAEA,CAACzqB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAS;EAAA,IAAP0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGyI,CAAC;EACxBF,CAAC,CAACZ,gBAAgB,CAACa,CAAC,EAAE;IAAA,OAAMuqB,EAAE,CAACtqB,CAAC,CAAC;EAAA,EAAC;EAClC,IAAMzL,CAAC,GAAGuL,CAAC,CAACsqB,MAAM;EAClB71B,CAAC,GAAGuL,CAAC,CAACsqB,MAAM,GAAG,YAAM;IACnB71B,CAAC,CAAC,CAAC,EAAEmN,CAAC,CAAC,CAAC,CAAC,CAAC;EACZ,CAAC,GAAG5B,CAAC,CAACsqB,MAAM,GAAG;IAAA,OAAM1oB,CAAC,CAAC,CAAC,CAAC,CAAC;EAAA,GAAEqoB,EAAE,CAAC,CAAC;AAClC;AACA,IAAMS,EAAE,GAAG,eAAgB,IAAI1P,GAAG,CAAC,CAAC;EAAE2P,EAAE,GAAG,eAAgB,IAAI3P,GAAG,CAAC,CAAC;AACpE,SAAS4P,EAAEA,CAAC5qB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAU;EAAA,IAAR0B,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EACzB,SAAShD,CAACA,CAACgM,CAAC,EAAE;IAAA,IAAA+Q,KAAA;IACZ,IAAI5P,CAAC,CAAC2oB,OAAO,IAAIM,EAAE,CAACnpB,IAAI,CAACzB,CAAC,EAAEQ,CAAC,CAAC,EAAE,CAACA,CAAC,CAACqqB,YAAY,EAC7C,OAAON,EAAE,CAAC;MAAA,OAAMtqB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACwB,IAAI,CAAC8P,KAAI,EAAE/Q,CAAC,CAAC;IAAA,EAAC;EACzD;EACA,OAAOT,CAAC,CAAC+qB,UAAU,CAAC,SAAS,CAAC,IAAI/qB,CAAC,CAAC+qB,UAAU,CAAC,OAAO,CAAC,IAAI/qB,CAAC,KAAK,OAAO,GAAGqe,EAAE,CAAC,YAAM;IAClFpe,CAAC,CAACb,gBAAgB,CAACY,CAAC,EAAEvL,CAAC,EAAEmN,CAAC,CAAC;EAC7B,CAAC,CAAC,GAAG3B,CAAC,CAACb,gBAAgB,CAACY,CAAC,EAAEvL,CAAC,EAAEmN,CAAC,CAAC,EAAEnN,CAAC;AACrC;AACA,SAASu2B,EAAEA,CAAChrB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIgM,CAAC,GAAG;MAAE8pB,OAAO,EAAE3oB,CAAC;MAAEqpB,OAAO,EAAEx2B;IAAE,CAAC;IAAE6L,CAAC,GAAGsqB,EAAE,CAAC5qB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEO,CAAC,CAAC;EACtD,CAACR,CAAC,KAAKrK,QAAQ,CAACiF,IAAI,IAAIoF,CAAC,KAAK4I,MAAM,IAAI5I,CAAC,KAAKrK,QAAQ,KAAKiyB,EAAE,CAAC,YAAM;IAClE5nB,CAAC,CAACirB,mBAAmB,CAAClrB,CAAC,EAAEM,CAAC,EAAEG,CAAC,CAAC;EAChC,CAAC,CAAC;AACJ;AACA,SAAS0qB,EAAEA,CAACnrB,CAAC,EAAE;EACb,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,CAAC,CAAC1L,MAAM,EAAE2L,CAAC,EAAE,EAC/ByqB,EAAE,CAAC/uB,GAAG,CAACqE,CAAC,CAACC,CAAC,CAAC,CAAC;EAAC,IAAAmrB,UAAA,GAAAlS,0BAAA,CACDyR,EAAE;IAAAU,MAAA;EAAA;IAAhB,KAAAD,UAAA,CAAAtpB,CAAA,MAAAupB,MAAA,GAAAD,UAAA,CAAAhrB,CAAA,IAAA6C,IAAA,GACE;MAAA,IADO/C,CAAC,GAAAmrB,MAAA,CAAAn3B,KAAA;MACRgM,CAAC,CAACF,CAAC,CAAC;IAAA;EAAC,SAAAmjB,GAAA;IAAAiI,UAAA,CAAAprB,CAAA,CAAAmjB,GAAA;EAAA;IAAAiI,UAAA,CAAAvpB,CAAA;EAAA;AACT;AACA,SAASgpB,EAAEA,CAAC7qB,CAAC,EAAE;EACb,IAAI+iB,CAAC;EACL,IAAI9iB,CAAC,GAAG,IAAI;IAAEC,CAAC,GACb;IACAD,CAAC,CAACqrB,aACH;IAAE1pB,CAAC,GAAG5B,CAAC,CAACvH,IAAI;IAAEhE,CAAC,GAAG,CAAC,CAACsuB,CAAC,GAAG/iB,CAAC,CAACurB,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGxI,CAAC,CAACrhB,IAAI,CAAC1B,CAAC,CAAC,KAAK,EAAE;IAAES,CAAC,GAC7E;IACAhM,CAAC,CAAC,CAAC,CAAC,IAAIuL,CAAC,CAAC6V,MACX;IAAEvV,CAAC,GAAG,CAAC;IAAEuB,CAAC,GAAG7B,CAAC,CAACwrB,MAAM;EACtB,IAAI3pB,CAAC,EAAE;IACL,IAAIC,CAAC,GAAGrN,CAAC,CAAC0jB,OAAO,CAACtW,CAAC,CAAC;IACpB,IAAIC,CAAC,KAAK,CAAC,CAAC,KAAK7B,CAAC,KAAKrK,QAAQ,IAAIqK,CAAC,KAAK;IACzC4I,MAAM,CAAC,EAAE;MACP7I,CAAC,CAACwrB,MAAM,GAAGvrB,CAAC;MACZ;IACF;IACA,IAAIU,CAAC,GAAGlM,CAAC,CAAC0jB,OAAO,CAAClY,CAAC,CAAC;IACpB,IAAIU,CAAC,KAAK,CAAC,CAAC,EACV;IACFmB,CAAC,IAAInB,CAAC,KAAKL,CAAC,GAAGwB,CAAC,CAAC;EACnB;EACA,IAAIrB,CAAC,GAAG;EACRhM,CAAC,CAAC6L,CAAC,CAAC,IAAIN,CAAC,CAAC6V,MAAM,EAAEpV,CAAC,KAAKR,CAAC,EAAE;IACzBsd,EAAE,CAACvd,CAAC,EAAE,eAAe,EAAE;MACrBiB,YAAY,EAAE,CAAC,CAAC;MAChBoW,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,OAAO5W,CAAC,IAAIP,CAAC;MACf;IACF,CAAC,CAAC;IACF,IAAIkC,CAAC,GAAGhM,CAAC;MAAEuL,CAAC,GAAG6e,CAAC;IAChB6E,EAAE,CAAC,IAAI,CAAC,EAAE/D,EAAE,CAAC,IAAI,CAAC;IAClB,IAAI;MACF,KAAK,IAAIhf,CAAC,EAAEqgB,CAAC,GAAG,EAAE,EAAEliB,CAAC,KAAK,IAAI,GAAI;QAChC,IAAIiiB,CAAC,GAAGjiB,CAAC,CAACgrB,YAAY,IAAIhrB,CAAC,CAACirB,UAAU,IAAI;QAC1CjrB,CAAC,CAACkrB,IAAI,IAAI,IAAI;QACd,IAAI;UACF,IAAI/I,CAAC,GAAGniB,CAAC,CAAC,IAAI,GAAGmB,CAAC,CAAC;UACnB,IAAIghB,CAAC,IAAI,IAAI,KAAK,EAAC;UACnBniB,CAAC,CAACmrB,QAAQ;UAAI;UACd;UACA5rB,CAAC,CAAC6V,MAAM,KAAKpV,CAAC,CAAC,EACb,IAAI0c,EAAE,CAACyF,CAAC,CAAC,EAAE;YACT,IAAAiJ,EAAA,GAAgBjJ,CAAC;cAAAkJ,GAAA,GAAA1T,QAAA,CAAAyT,EAAA;cAAZhJ,CAAC,GAAAiJ,GAAA;cAAKhJ,CAAC,GAAAgJ,GAAA,CAAAzmB,KAAA;YACZwd,CAAC,CAAC7c,KAAK,CAACvF,CAAC,GAAGT,CAAC,EAAA3F,MAAA,CAAAoe,kBAAA,CAAKqK,CAAC,EAAC,CAAC;UACvB,CAAC,MACCF,CAAC,CAAClhB,IAAI,CAACjB,CAAC,EAAET,CAAC,CAAC;QAClB,CAAC,CAAC,OAAOoZ,CAAC,EAAE;UACV9W,CAAC,GAAGqgB,CAAC,CAACxe,IAAI,CAACiV,CAAC,CAAC,GAAG9W,CAAC,GAAG8W,CAAC;QACvB;QACA,IAAIpZ,CAAC,CAAC8qB,YAAY,IAAIpI,CAAC,KAAKziB,CAAC,IAAIyiB,CAAC,KAAK,IAAI,EACzC;QACFjiB,CAAC,GAAGiiB,CAAC;MACP;MACA,IAAIpgB,CAAC,EAAE;QAAA,IAAAypB,UAAA,GAAA7S,0BAAA,CACSyJ,CAAC;UAAAqJ,MAAA;QAAA;UAAA,IAAAC,KAAA,YAAAA,MAAA,EACb;YAAA,IADO7S,CAAC,GAAA4S,MAAA,CAAA93B,KAAA;YACRoqB,cAAc,CAAC,YAAM;cACnB,MAAMlF,CAAC;YACT,CAAC,CAAC;UAAA,CAAC;UAHL,KAAA2S,UAAA,CAAAjqB,CAAA,MAAAkqB,MAAA,GAAAD,UAAA,CAAA3rB,CAAA,IAAA6C,IAAA;YAAAgpB,KAAA;UAAA;QAGK,SAAA9I,GAAA;UAAA4I,UAAA,CAAA/rB,CAAA,CAAAmjB,GAAA;QAAA;UAAA4I,UAAA,CAAAlqB,CAAA;QAAA;QACL,MAAMS,CAAC;MACT;IACF,CAAC,SAAS;MACRtC,CAAC,CAACwrB,MAAM,GAAGvrB,CAAC,EAAE,OAAOD,CAAC,CAACksB,aAAa,EAAE7G,EAAE,CAACjjB,CAAC,CAAC,EAAEkf,EAAE,CAAC3f,CAAC,CAAC;IACpD;EACF;AACF;AACA,SAASwqB,EAAEA,CAACnsB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGrK,QAAQ,CAACwI,aAAa,CAAC,UAAU,CAAC;EAC1C,OAAO6B,CAAC,CAACvF,SAAS,GAAGsF,CAAC,EAAEC,CAAC,CAACmsB,OAAO;AACnC;AACA,SAASC,EAAEA,CAACrsB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GACH;EACAsgB,CACD;EACDtgB,CAAC,CAAC6mB,WAAW,KAAK,IAAI,KAAK7mB,CAAC,CAAC6mB,WAAW,GAAG/mB,CAAC,EAAEE,CAAC,CAACwnB,SAAS,GAAGznB,CAAC,CAAC;AAChE;AACA;AACA,SAASqsB,EAAEA,CAACtsB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG,CAACD,CAAC,GAAGob,EAAE,MAAM,CAAC;IAAEzZ,CAAC,GAAG,CAAC3B,CAAC,GAAGqb,EAAE,MAAM,CAAC;IAAE7mB,CAAC;IAAEgM,CAAC,GAAG,CAACT,CAAC,CAAC+qB,UAAU,CAAC,KAAK,CAAC;EACvE,OAAO,YAAM;IACX,IAAInJ,CAAC,EACH,OAAOyK,EAAE,CAACvK,CAAC,EAAE,IAAI,CAAC,EAAEA,CAAC;IACvBrtB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAG03B,EAAE,CAAC1rB,CAAC,GAAGT,CAAC,GAAG,KAAK,GAAGA,CAAC,CAAC,EAAEE,CAAC,KAAKzL,CAAC,GAAG;IACtD,eAAgB4vB,EAAE,CAAC5vB,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI6L,CAAC,GACH;IACAsB,CAAC,IAAIyhB,EAAE,GAAGztB,QAAQ,CAAC22B,UAAU,CAAC93B,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC+3B,SAAS,CAAC,CAAC,CAAC,CACtD;IACD,IAAItsB,CAAC,EAAE;MACL,IAAI2B,CAAC,GACH;QACA,eAAgBwiB,EAAE,CAAC/jB,CAAC,CACrB;QAAEwB,CAAC,GACF;QACAxB,CAAC,CAACmsB,SACH;MACDJ,EAAE,CAACxqB,CAAC,EAAEC,CAAC,CAAC;IACV,CAAC,MACCuqB,EAAE,CAAC/rB,CAAC,EAAEA,CAAC,CAAC;IACV,OAAOA,CAAC;EACV,CAAC;AACH;AACA;AACA,SAASosB,EAAEA,CAAC1sB,CAAC,EAAEC,CAAC,EAAa;EAAA,IAAXC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;EACzB,IAAImK,CAAC,GAAG,CAAC5B,CAAC,CAAC+qB,UAAU,CAAC,KAAK,CAAC;IAAEt2B,CAAC,OAAA4F,MAAA,CAAO6F,CAAC,OAAA7F,MAAA,CAAIuH,CAAC,GAAG5B,CAAC,GAAG,KAAK,GAAGA,CAAC,QAAA3F,MAAA,CAAK6F,CAAC,MAAG;IAAEO,CAAC;EACxE,OAAO,YAAM;IACX,IAAImhB,CAAC,EACH,OAAOyK,EAAE,CAACvK,CAAC,EAAE,IAAI,CAAC,EAAEA,CAAC;IACvB,IAAI,CAACrhB,CAAC,EAAE;MACN,IAAIH,CAAC,GACH;QACA6rB,EAAE,CAAC13B,CAAC,CACL;QAAEoN,CAAC,GACF;QACA,eAAgBwiB,EAAE,CAAC/jB,CAAC,CACrB;MACDG,CAAC,GAAG;MACJ,eAAgB4jB,EAAE,CAACxiB,CAAC,CAAC;IACvB;IACA,IAAIC,CAAC,GACH;IACArB,CAAC,CAAC+rB,SAAS,CAAC,CAAC,CAAC,CACf;IACD,OAAOH,EAAE,CAACvqB,CAAC,EAAEA,CAAC,CAAC,EAAEA,CAAC;EACpB,CAAC;AACH;AACA,SAAS6qB,EAAEA,CAAC3sB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI2hB,CAAC,EAAE;IACLpB,CAAC,CAACkH,SAAS,GAAG5F,CAAC,EAAEE,EAAE,CAAC,CAAC;IACrB;EACF;EACAhiB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAAC4kB,MAAM,CACpB;EACA3kB,CACF,CAAC;AACH;AACA,SAAS2sB,EAAEA,CAAC5sB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAO4sB,EAAE,CAAC7sB,CAAC,EAAEC,CAAC,CAAC;AACjB;AACA,SAAS6sB,EAAEA,CAAC9sB,CAAC,EAAEC,CAAC,EAAE;EAAA,IAAA8sB,QAAA;EAChBvJ,EAAE,CAAC,CAAC,EAAEvjB,CAAC,CAAC+sB,KAAK,IAAAD,QAAA,GAAG9sB,CAAC,CAAC+sB,KAAK,cAAAD,QAAA,cAAAA,QAAA,GAAI,CAAC,CAAC;EAC7B,IAAM7sB,CAAC,GAAGD,CAAC,CAAC4V,MAAM;IAAEjU,CAAC,GAAGggB,CAAC;IAAEntB,CAAC,GAAGqtB,CAAC;EAChC,IAAI;IACF,KAAK,IAAIrhB,CAAC,GACR;IACA,eAAgB4jB,EAAE,CAACnkB,CAAC,CACrB,EAAEO,CAAC,KAAKA,CAAC,CAAC2hB,QAAQ,KAAK,CAAC,IAAI;IAC7B3hB,CAAC,CAACzL,IAAI,KAAKumB,EAAE,CAAC,GACZ9a,CAAC,GAAG;IACJ,eAAgBwhB,EAAE,CAACxhB,CAAC,CAAC;IACvB,IAAI,CAACA,CAAC,EACJ,MAAMib,EAAE;IACVmG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEE,EAAE,CACR;IACAthB,CACF,CAAC,EAAEuhB,EAAE,CAAC,CAAC;IACP,IAAM1hB,CAAC,GAAGusB,EAAE,CAAC7sB,CAAC,EAAAiG,mBAAA,CAAAA,mBAAA,KAAOhG,CAAC;MAAEgtB,MAAM,EAAExsB;IAAC,EAAE,CAAC;IACpC,IAAIqhB,CAAC,KAAK,IAAI,IAAIA,CAAC,CAACM,QAAQ,KAAK,CAAC,IAAI;IACtCN,CAAC,CAAC9sB,IAAI,KAAKymB,EAAE,EACX,MAAMiG,EAAE,CAAC,CAAC,EAAEhG,EAAE;IAChB,OAAOmG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;IACfvhB,CAAC;EACH,CAAC,CAAC,OAAOA,CAAC,EAAE;IACV,IAAIA,CAAC,KAAKob,EAAE,EACV,OAAOzb,CAAC,CAACitB,OAAO,KAAK,CAAC,CAAC,IAAIlO,EAAE,CAAC,CAAC,EAAEwE,EAAE,CAAC,CAAC,EAAEqB,EAAE,CAAC3kB,CAAC,CAAC,EAAE2hB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE+K,EAAE,CAAC5sB,CAAC,EAAEC,CAAC,CAAC;IAChE,MAAMK,CAAC;EACT,CAAC,SAAS;IACRuhB,EAAE,CAACjgB,CAAC,CAAC,EAAEmgB,EAAE,CAACttB,CAAC,CAAC;EACd;AACF;AACA,IAAM04B,EAAE,GAAG,eAAgB,IAAIzV,GAAG,CAAC,CAAC;AACpC,SAASmV,EAAEA,CAAC7sB,CAAC,EAAAotB,IAAA,EAAiF;EAAA,IAArEntB,CAAC,GAAAmtB,IAAA,CAATvX,MAAM;IAAa3V,CAAC,GAAAktB,IAAA,CAATH,MAAM;IAAAI,UAAA,GAAAD,IAAA,CAAKE,KAAK;IAAE1rB,CAAC,GAAAyrB,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;IAAU54B,CAAC,GAAA24B,IAAA,CAATG,MAAM;IAAc9sB,CAAC,GAAA2sB,IAAA,CAAVI,OAAO;IAAAC,UAAA,GAAAL,IAAA,CAAKJ,KAAK;IAAE1sB,CAAC,GAAAmtB,UAAA,cAAG,CAAC,CAAC,GAAAA,UAAA;EACxFjK,EAAE,CAAC,CAAC;EACJ,IAAI3hB,CAAC,GAAG,eAAgB,IAAImZ,GAAG,CAAC,CAAC;IAAElZ,CAAC,GAAG,SAAJA,CAACA,CAAIH,CAAC,EAAK;MAC5C,KAAK,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,CAAC,CAACrN,MAAM,EAAEgO,CAAC,EAAE,EAAE;QACjC,IAAIqgB,CAAC,GAAGhhB,CAAC,CAACW,CAAC,CAAC;QACZ,IAAI,CAACT,CAAC,CAAC+V,GAAG,CAAC+K,CAAC,CAAC,EAAE;UACb9gB,CAAC,CAAClG,GAAG,CAACgnB,CAAC,CAAC;UACR,IAAID,CAAC,GAAGqH,EAAE,CAACpH,CAAC,CAAC;UACb1iB,CAAC,CAACb,gBAAgB,CAACujB,CAAC,EAAEkI,EAAE,EAAE;YAAEI,OAAO,EAAEvI;UAAE,CAAC,CAAC;UACzC,IAAIE,CAAC,GAAGuK,EAAE,CAAC9V,GAAG,CAACsL,CAAC,CAAC;UACjBC,CAAC,KAAK,KAAK,CAAC,IAAIhtB,QAAQ,CAACwJ,gBAAgB,CAACujB,CAAC,EAAEkI,EAAE,EAAE;YAAEI,OAAO,EAAEvI;UAAE,CAAC,CAAC,EAAEyK,EAAE,CAACtV,GAAG,CAAC8K,CAAC,EAAE,CAAC,CAAC,IAAIwK,EAAE,CAACtV,GAAG,CAAC8K,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC;QACpG;MACF;IACF,CAAC;EACD9gB,CAAC,CAACub,EAAE,CAACqN,EAAE,CAAC,CAAC,EAAEC,EAAE,CAAChvB,GAAG,CAACmG,CAAC,CAAC;EACpB,IAAInB,CAAC,GAAG,KAAK,CAAC;IAAEyB,CAAC,GAAGgmB,EAAE,CAAC,YAAM;MAC3B,IAAIzmB,CAAC,GAAGzB,CAAC,aAADA,CAAC,cAADA,CAAC,GAAID,CAAC,CAACskB,WAAW,CAACJ,EAAE,CAAC,CAAC,CAAC;MAChC,OAAOwE,EAAE,CAAC,YAAM;QACd,IAAIloB,CAAC,EAAE;UACLkpB,EAAE,CAAC,CAAC,CAAC,CAAC;UACN,IAAIrnB,CAAC,GACH;UACAye,CACD;UACDze,CAAC,CAAC3B,CAAC,GAAGF,CAAC;QACT;QACAhM,CAAC,KAAKmN,CAAC,CAAC8rB,QAAQ,GAAGj5B,CAAC,CAAC,EAAEmtB,CAAC,IAAIyK,EAAE,CAC5B;QACA1qB,CAAC,EACD,IACF,CAAC,EAAEhB,CAAC,GAAGX,CAAC,CAAC2B,CAAC,EAAEC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAEggB,CAAC,KAAKpB,CAAC,CAACkH,SAAS,GAAG5F,CAAC,CAAC,EAAErhB,CAAC,IAAIopB,EAAE,CAAC,CAAC;MACzD,CAAC,CAAC,EAAE,YAAM;QACR,IAAInH,CAAC;QAAC,IAAAiL,UAAA,GAAAzU,0BAAA,CACQrX,CAAC;UAAA+rB,MAAA;QAAA;UAAf,KAAAD,UAAA,CAAA7rB,CAAA,MAAA8rB,MAAA,GAAAD,UAAA,CAAAvtB,CAAA,IAAA6C,IAAA,GAAiB;YAAA,IAARX,CAAC,GAAAsrB,MAAA,CAAA15B,KAAA;YACR+L,CAAC,CAACirB,mBAAmB,CAAC5oB,CAAC,EAAEuoB,EAAE,CAAC;YAC5B,IAAIlI,CAAC,GACH;YACAwK,EAAE,CAAC9V,GAAG,CAAC/U,CAAC,CACT;YACD,EAAEqgB,CAAC,KAAK,CAAC,IAAI/sB,QAAQ,CAACs1B,mBAAmB,CAAC5oB,CAAC,EAAEuoB,EAAE,CAAC,EAAEsC,EAAE,UAAO,CAAC7qB,CAAC,CAAC,IAAI6qB,EAAE,CAACtV,GAAG,CAACvV,CAAC,EAAEqgB,CAAC,CAAC;UAChF;QAAC,SAAAQ,GAAA;UAAAwK,UAAA,CAAA3tB,CAAA,CAAAmjB,GAAA;QAAA;UAAAwK,UAAA,CAAA9rB,CAAA;QAAA;QACD8oB,EAAE,UAAO,CAAC7oB,CAAC,CAAC,EAAEH,CAAC,KAAKzB,CAAC,KAAK,CAACwiB,CAAC,GAAG/gB,CAAC,CAAC+pB,UAAU,KAAK,IAAI,IAAIhJ,CAAC,CAACmL,WAAW,CAAClsB,CAAC,CAAC,CAAC;MAC3E,CAAC;IACH,CAAC,CAAC;EACF,OAAOmsB,EAAE,CAACjW,GAAG,CAAClX,CAAC,EAAEyB,CAAC,CAAC,EAAEzB,CAAC;AACxB;AACA,IAAImtB,EAAE,GAAG,eAAgB,IAAIC,OAAO,CAAC,CAAC;AACtC,SAASC,EAAEA,CAAChuB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAMC,CAAC,GAAG4tB,EAAE,CAACzW,GAAG,CAACrX,CAAC,CAAC;EACnB,OAAOE,CAAC,IAAI4tB,EAAE,UAAO,CAAC9tB,CAAC,CAAC,EAAEE,CAAC,CAACD,CAAC,CAAC,IAAI+E,OAAO,CAACpC,OAAO,CAAC,CAAC;AACrD;AACA,SAASqrB,EAAEA,CAACjuB,CAAC,EAAEC,CAAC,EAAmB;EAAA,IAAAiuB,KAAA,GAAAz2B,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAR,CAAC,CAAC,EAAE,CAAC,CAAC;IAAA02B,KAAA,GAAAnV,cAAA,CAAAkV,KAAA;IAAdhuB,CAAC,GAAAiuB,KAAA;IAAEvsB,CAAC,GAAAusB,KAAA;EACrBvM,CAAC,IAAI1hB,CAAC,KAAK,CAAC,IAAI8hB,EAAE,CAAC,CAAC;EACpB,IAAIvtB,CAAC,GAAGuL,CAAC;IAAES,CAAC,GAAG,IAAI;IAAEH,CAAC,GAAG,IAAI;IAAEuB,CAAC,GAAG8Z,CAAC;IAAE7Z,CAAC,GAAG5B,CAAC,GAAG,CAAC,GAAG2c,EAAE,GAAG,CAAC;IAAElc,CAAC,GAAG,CAAC,CAAC;EAChE,IAAMyB,CAAC,GAAG,SAAJA,CAACA,CAAIE,CAAC,EAAa;MAAA,IAAXqgB,CAAC,GAAAlrB,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;MAClBkJ,CAAC,GAAG,CAAC,CAAC,EAAEgB,CAAC,CAACghB,CAAC,EAAErgB,CAAC,CAAC;IACjB,CAAC;IAAEX,CAAC,GAAG,SAAJA,CAACA,CAAIW,CAAC,EAAEqgB,CAAC,EAAK;MACf,IAAI9gB,CAAC,MAAMA,CAAC,GAAGS,CAAC,CAAC,EAAE;MACnB,IAAIogB,CAAC,GAAG,CAAC,CAAC;MACV,IAAId,CAAC,IAAIhgB,CAAC,KAAK,CAAC,CAAC,EAAE;QACjB,IAAI1B,CAAC,KAAK,CAAC,EAAE;UACX,IAAM2iB,CAAC,GACL;UACApuB,CAAC,CAACO,IACH;UACD6tB,CAAC,KAAKtH,EAAE,GAAG3Z,CAAC,GAAG,CAAC,GAAGihB,CAAC,KAAKrH,EAAE,GAAG5Z,CAAC,GAAG,CAAC,GAAG,CAAC,IAAIA,CAAC,GAAGwsB,QAAQ,CAACvL,CAAC,CAACwL,SAAS,CAAC,CAAC,CAAC,CAAC,EAAEzsB,CAAC,KAAKA,CAAC,KAAKA,CAAC,GAAGC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3G;QACA,IAAM+gB,CAAC,GAAGhhB,CAAC,GAAG1B,CAAC;QACf,CAAC,CAAC2B,CAAC,KAAK+gB,CAAC,KAAKnuB,CAAC,GAAG0tB,EAAE,CAAC,CAAC,EAAEJ,EAAE,CAACttB,CAAC,CAAC,EAAEotB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEa,CAAC,GAAG,CAAC,CAAC,EAAE9gB,CAAC,GAAG,CAAC,CAAC,CAAC;MACxD;MACAC,CAAC,IAAIpB,CAAC,GAAG6oB,EAAE,CAAC7oB,CAAC,CAAC,GAAGkiB,CAAC,KAAKliB,CAAC,GAAGkoB,EAAE,CAAC;QAAA,OAAMhG,CAAC,CAACluB,CAAC,CAAC;MAAA,EAAC,CAAC,EAAE6L,CAAC,IAAIgoB,EAAE,CAAChoB,CAAC,EAAE,YAAM;QAC3DA,CAAC,GAAG,IAAI;MACV,CAAC,CAAC,KAAKA,CAAC,GAAGgpB,EAAE,CAAChpB,CAAC,CAAC,GAAGqiB,CAAC,KAAKriB,CAAC,GAAGqoB,EAAE,CAAC;QAAA,OAAMhG,CAAC,CAACluB,CAAC,EAAE,CAACyL,CAAC,GAAG,CAAC,EAAE0B,CAAC,CAAC,CAAC;MAAA,EAAC,CAAC,EAAEnB,CAAC,IAAI6nB,EAAE,CAAC7nB,CAAC,EAAE,YAAM;QACzEA,CAAC,GAAG,IAAI;MACV,CAAC,CAAC,CAAC,EAAEiiB,CAAC,IAAIb,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;EACD6G,EAAE,CAAC,YAAM;IACP/nB,CAAC,GAAG,CAAC,CAAC,EAAEV,CAAC,CAACmC,CAAC,CAAC,EAAEzB,CAAC,IAAIgB,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;EAClC,CAAC,EAAEG,CAAC,CAAC,EAAE8f,CAAC,KAAKntB,CAAC,GAAGqtB,CAAC,CAAC;AACrB;AACA,SAASwM,EAAEA,CAACtuB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIgM,CAAC,GAAGT,CAAC;IAAEM,CAAC,GAAG,EAAE;IAAEuB,CAAC;EACpB6mB,EAAE,CAAC,YAAM;IAAA,IAAA6F,GAAA;IACP,IAAIjuB,CAAC,MAAMA,CAAC,IAAAiuB,GAAA,GAAGtuB,CAAC,CAAC,CAAC,cAAAsuB,GAAA,cAAAA,GAAA,GAAI,EAAE,CAAC,EAAE;MACzB3M,CAAC,IAAII,EAAE,CAAC,CAAC;MACT;IACF;IACAngB,CAAC,KAAK,KAAK,CAAC,KAAKsf,EAAE,CAACtf,CAAC,CAAC,EAAEA,CAAC,GAAG,KAAK,CAAC,CAAC,EAAEvB,CAAC,KAAK,EAAE,KAAKuB,CAAC,GAAG8mB,EAAE,CAAC,YAAM;MAC7D,IAAI/G,CAAC,EAAE;QACLE,CAAC,CAAC9sB,IAAI;QACN,KAAK,IAAI8M,CAAC,GAAGkgB,EAAE,CAAC,CAAC,EAAErhB,CAAC,GAAGmB,CAAC,EAAEA,CAAC,KAAK,IAAI,KAAKA,CAAC,CAACsgB,QAAQ,KAAK,CAAC,IAAI;QAC7DtgB,CAAC,CAAC9M,IAAI,KAAK,EAAE,CAAC,GACZ2L,CAAC,GAAGmB,CAAC,EAAEA,CAAC,GAAG;QACX,eAAgBmgB,EAAE,CAACngB,CAAC,CAAC;QACvB,IAAIA,CAAC,KAAK,IAAI,EACZ,MAAM4f,EAAE,CAAC,CAAC,EAAEhG,EAAE;QAChB2Q,EAAE,CAACvK,CAAC,EAAEnhB,CAAC,CAAC,EAAEF,CAAC,GAAGshB,EAAE,CAACjgB,CAAC,CAAC;QACnB;MACF;MACA,IAAIM,CAAC,GAAG9B,CAAC,GAAG,EAAE;QAAEqB,CAAC,GAAGwqB,EAAE,CAAC/pB,CAAC,CAAC;MACzBiqB,EAAE,CACA;MACA,eAAgBhI,EAAE,CAAC1iB,CAAC,CAAC,EACrB;MACAA,CAAC,CAAC8qB,SACJ,CAAC,EAAEhsB,CAAC,CAACmkB,MAAM,CAACjjB,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;AACJ;AACA,SAAS6sB,EAAEA,CAACxuB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAE;EACzB,IAAIoN,CAAC;EACL+f,CAAC,IAAII,EAAE,CAAC,CAAC;EACT,IAAIvhB,CAAC,GAAG,CAACoB,CAAC,GAAG5B,CAAC,CAACwuB,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG5sB,CAAC,CAAC3B,CAAC,CAAC;IAAEI,CAAC,GAAG,CAAC,CAAC;EACvDG,CAAC,KAAK,CAAC,CAAC,KAAKA,CAAC,GAAGR,CAAC,CAACyuB,QAAQ,EAAEpuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAEG,CAAC,KAAK,KAAK,CAAC,IAAIA,CAAC,CAACT,CAAC,EAAEM,CAAC,GAAG;IAAA,OAAMsB,CAAC;EAAA,IAAGA,CAAC,CAAC;AAC7E;AACA,SAAS+sB,EAAEA,CAAC3uB,CAAC,EAAEC,CAAC,EAAE;EAChBoe,EAAE,CAAC,YAAM;IAAA,IAAAuQ,OAAA;IACP,IAAI1uB,CAAC,GAAGF,CAAC,CAAC6uB,WAAW,CAAC,CAAC;MAAEjtB,CAAC,GACxB;MACA1B,CAAC,CAACyrB,IAAI,IACJ;MACAzrB,CAAC,IAED,wBAAA0uB,OAAA,GACA1uB,CAAC,CAAC4uB,IAAI,cAAAF,OAAA,cAAAA,OAAA,GAAI;MACV1uB,CAAC,CAACorB,aAAa,CAACwD,IAEnB;IACD,IAAI,CAACltB,CAAC,CAACzH,aAAa,CAAC,GAAG,GAAG8F,CAAC,CAACqI,IAAI,CAAC,EAAE;MAClC,IAAM7T,CAAC,GAAGmB,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;MACzC3J,CAAC,CAACs6B,EAAE,GAAG9uB,CAAC,CAACqI,IAAI,EAAE7T,CAAC,CAACkE,WAAW,GAAGsH,CAAC,CAAC+uB,IAAI,EAAEptB,CAAC,CAAC2iB,WAAW,CAAC9vB,CAAC,CAAC;IACzD;EACF,CAAC,CAAC;AACJ;AACA,IAAMw6B,EAAE,GAAAxW,kBAAA,2BACO;AACf,SAASyW,EAAEA,CAAClvB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE;EACnB,IAAI0B,CAAC,GAAG,EAAE,GAAG5B,CAAC;EACd,IAAIE,CAAC,EAAE;IACL,KAAK,IAAIzL,CAAC,IAAIyL,CAAC,EACb,IAAIA,CAAC,CAACzL,CAAC,CAAC,EACNmN,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,GAAG,GAAGnN,CAAC,GAAGA,CAAC,CAAC,KACrB,IAAImN,CAAC,CAACtN,MAAM,EACf,KAAK,IAAImM,CAAC,GAAGhM,CAAC,CAACH,MAAM,EAAEgM,CAAC,GAAG,CAAC,EAAE,CAACA,CAAC,GAAGsB,CAAC,CAACuW,OAAO,CAAC1jB,CAAC,EAAE6L,CAAC,CAAC,KAAK,CAAC,GAAI;MAC1D,IAAIuB,CAAC,GAAGvB,CAAC,GAAGG,CAAC;MACb,CAACH,CAAC,KAAK,CAAC,IAAI2uB,EAAE,CAAC7O,QAAQ,CAACxe,CAAC,CAACtB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAMuB,CAAC,KAAKD,CAAC,CAACtN,MAAM,IAAI26B,EAAE,CAAC7O,QAAQ,CAACxe,CAAC,CAACC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,GAAG,CAACtB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAGsB,CAAC,CAACysB,SAAS,CAAC,CAAC,EAAE/tB,CAAC,CAAC,IAAIsB,CAAC,CAACysB,SAAS,CAACxsB,CAAC,GAAG,CAAC,CAAC,GAAGvB,CAAC,GAAGuB,CAAC;IACnJ;EACN;EACA,OAAOD,CAAC,KAAK,EAAE,GAAG,IAAI,GAAGA,CAAC;AAC5B;AACA,SAASutB,EAAEA,CAACnvB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAEgM,CAAC,EAAE;EAC5B,IAAIH,CAAC,GAAGN,CAAC,CAAC6jB,WAAW;EACrB,IAAIjC,CAAC,IAAIthB,CAAC,KAAKJ,CAAC,EAAE;IAChB,IAAI2B,CAAC,GAAGqtB,EAAE,CAAChvB,CAAC,EAAE0B,CAAC,EAAEnB,CAAC,CAAC;IACnB,CAAC,CAACmhB,CAAC,IAAI/f,CAAC,KAAK7B,CAAC,CAAC5F,YAAY,CAAC,OAAO,CAAC,MAAMyH,CAAC,IAAI,IAAI,GAAG7B,CAAC,CAACovB,eAAe,CAAC,OAAO,CAAC,GAAGpvB,CAAC,CAACqvB,SAAS,GAAGxtB,CAAC,CAAC,EAAE7B,CAAC,CAAC6jB,WAAW,GAAG3jB,CAAC;EACxH,CAAC,MAAM,IAAIO,CAAC,IAAIhM,CAAC,KAAKgM,CAAC,EACrB,KAAK,IAAIqB,CAAC,IAAIrB,CAAC,EAAE;IACf,IAAIE,CAAC,GAAG,CAAC,CAACF,CAAC,CAACqB,CAAC,CAAC;IACd,CAACrN,CAAC,IAAI,IAAI,IAAIkM,CAAC,KAAK,CAAC,CAAClM,CAAC,CAACqN,CAAC,CAAC,KAAK9B,CAAC,CAACvE,SAAS,CAAC6zB,MAAM,CAACxtB,CAAC,EAAEnB,CAAC,CAAC;EACzD;EACF,OAAOF,CAAC;AACV;AACA,IAAM8uB,EAAE,GAAG/uB,MAAM,CAAC,mBAAmB,CAAC;EAAEgvB,EAAE,GAAGhvB,MAAM,CAAC,SAAS,CAAC;AAC9D,SAASivB,EAAEA,CAACzvB,CAAC,EAAE;EACb,IAAI4hB,CAAC,EAAE;IACL,IAAI3hB,CAAC,GAAG,CAAC,CAAC;MAAEC,CAAC,GAAG,SAAJA,CAACA,CAAA,EAAS;QACpB,IAAI,CAACD,CAAC,EAAE;UACN,IAAIA,CAAC,GAAG,CAAC,CAAC,EAAED,CAAC,CAAC0vB,YAAY,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI9tB,CAAC,GAAG5B,CAAC,CAAC9L,KAAK;YACfy7B,EAAE,CAAC3vB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAEA,CAAC,CAAC9L,KAAK,GAAG0N,CAAC;UACnC;UACA,IAAI5B,CAAC,CAAC0vB,YAAY,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAIj7B,CAAC,GAAGuL,CAAC,CAACtH,OAAO;YACjBi3B,EAAE,CAAC3vB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAEA,CAAC,CAACtH,OAAO,GAAGjE,CAAC;UACvC;QACF;MACF,CAAC;IACDuL,CAAC,CAACsqB,MAAM,GAAGpqB,CAAC,EAAEqe,EAAE,CAACre,CAAC,CAAC,EAAE+pB,EAAE,CAAC,CAAC;EAC3B;AACF;AACA,SAAS2F,EAAEA,CAAC5vB,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAIC,CAAC,GAAG2vB,EAAE,CAAC7vB,CAAC,CAAC;EACbE,CAAC,CAAChM,KAAK,MAAMgM,CAAC,CAAChM,KAAK,GAAG;EACvB+L,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,KAAK,CAAC,CAAC;EAAI;EAChB;EACAD,CAAC,CAAC9L,KAAK,KAAK+L,CAAC,KAAKA,CAAC,KAAK,CAAC,IAAID,CAAC,CAAC8vB,QAAQ,KAAK,UAAU,CAAC,KAAK9vB,CAAC,CAAC9L,KAAK,GAAG+L,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,EAAE,CAAC;AAChF;AACA,SAAS0vB,EAAEA,CAAC3vB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAInN,CAAC,GAAGo7B,EAAE,CAAC7vB,CAAC,CAAC;EACb4hB,CAAC,KAAKntB,CAAC,CAACwL,CAAC,CAAC,GAAGD,CAAC,CAAC5F,YAAY,CAAC6F,CAAC,CAAC,EAAEA,CAAC,KAAK,KAAK,IAAIA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,MAAM,IAAID,CAAC,CAAC8vB,QAAQ,KAAK,MAAM,CAAC,IAAIr7B,CAAC,CAACwL,CAAC,CAAC,MAAMxL,CAAC,CAACwL,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAKD,CAAC,KAAK,SAAS,KAAKD,CAAC,CAACkd,EAAE,CAAC,GAAGhd,CAAC,CAAC,EAAEA,CAAC,IAAI,IAAI,GAAGF,CAAC,CAACovB,eAAe,CAACnvB,CAAC,CAAC,GAAG,OAAOC,CAAC,IAAI,QAAQ,IAAI6vB,EAAE,CAAC/vB,CAAC,CAAC,CAACogB,QAAQ,CAACngB,CAAC,CAAC,GAAGD,CAAC,CAACC,CAAC,CAAC,GAAGC,CAAC,GAAGF,CAAC,CAAC9H,YAAY,CAAC+H,CAAC,EAAEC,CAAC,CAAC,CAAC;AACpR;AACA,SAAS2vB,EAAEA,CAAC7vB,CAAC,EAAE;EAAA,IAAAgwB,eAAA;EACb;IACE;IACA;IAAA,CAAAA,eAAA,GACAhwB,CAAC,CAAC8jB,YAAY,cAAAkM,eAAA,cAAAA,eAAA,GAAKhwB,CAAC,CAAC8jB,YAAY,GAAAtmB,qBAAA,CAAAA,qBAAA,KAC9B+xB,EAAE,EAAGvvB,CAAC,CAAC8vB,QAAQ,CAAC1P,QAAQ,CAAC,GAAG,CAAC,GAC7BoP,EAAE,EAAGxvB,CAAC,CAACiwB,YAAY,KAAKrU,EAAE;EAC5B;AAEL;AACA,IAAIsU,EAAE,GAAG,eAAgB,IAAIxY,GAAG,CAAC,CAAC;AAClC,SAASqY,EAAEA,CAAC/vB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGiwB,EAAE,CAAC7Y,GAAG,CAACrX,CAAC,CAAC8vB,QAAQ,CAAC;EAC1B,IAAI7vB,CAAC,EAAE,OAAOA,CAAC;EACfiwB,EAAE,CAACrY,GAAG,CAAC7X,CAAC,CAAC8vB,QAAQ,EAAE7vB,CAAC,GAAG,EAAE,CAAC;EAC1B,KAAK,IAAIC,CAAC,EAAE0B,CAAC,GAAG5B,CAAC,EAAEvL,CAAC,GAAGivB,OAAO,CAACvjB,SAAS,EAAE1L,CAAC,KAAKmN,CAAC,GAAI;IACnD1B,CAAC,GAAGud,EAAE,CAAC7b,CAAC,CAAC;IACT,KAAK,IAAInB,CAAC,IAAIP,CAAC,EACbA,CAAC,CAACO,CAAC,CAAC,CAACoX,GAAG,IAAI5X,CAAC,CAACkE,IAAI,CAAC1D,CAAC,CAAC;IACvBmB,CAAC,GAAGgc,EAAE,CAAChc,CAAC,CAAC;EACX;EACA,OAAO3B,CAAC;AACV;AACA,SAASkwB,EAAEA,CAACnwB,CAAC,EAAEC,CAAC,EAAS;EAAA,IAAPC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAGwI,CAAC;EACrBwqB,EAAE,CAACzqB,CAAC,EAAE,QAAQ,EAAE,UAAC4B,CAAC,EAAK;IACrB,IAAInN,CAAC,GAAGmN,CAAC,GAAG5B,CAAC,CAACowB,cAAc,GAAGpwB,CAAC,CAACtH,OAAO;IACxCwH,CAAC,CAACzL,CAAC,CAAC;EACN,CAAC,CAAC;EAAE;EACJ;EACA,CAACmtB,CAAC,IAAI5hB,CAAC,CAACowB,cAAc,KAAKpwB,CAAC,CAACtH,OAAO;EAAI;EACxC0uB,EAAE,CAACnnB,CAAC,CAAC,IAAI,IAAI,KAAKC,CAAC,CAACF,CAAC,CAACtH,OAAO,CAAC,EAAE6vB,EAAE,CAAC,YAAM;IACvC,IAAI3mB,CAAC,GAAG3B,CAAC,CAAC,CAAC;IACXD,CAAC,CAACtH,OAAO,GAAG,CAAC,CAACkJ,CAAC;EACjB,CAAC,CAAC;AACJ;AACA,SAASyuB,EAAEA,CAACrwB,CAAC,EAAEC,CAAC,EAAE;EAChB,OAAOD,CAAC,KAAKC,CAAC,IAAI,CAACD,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACgd,EAAE,CAAC,MAAM/c,CAAC;AACtD;AACA,SAASqwB,EAAEA,CAAA,EAAkB;EAAA,IAAjBtwB,CAAC,GAAAvI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC,CAAC;EAAA,IAAEwI,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EAAA,IAAE6L,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EAAA,IAAEuN,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,OAAAmD,SAAA,MAAApD,SAAA;EACzB,OAAO6zB,EAAE,CAAC,YAAM;IACd,IAAIzzB,CAAC,EAAEgM,CAAC;IACR,OAAO8nB,EAAE,CAAC,YAAM;MACd9zB,CAAC,GAAGgM,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAE2mB,EAAE,CAAC,YAAM;QACtBpnB,CAAC,KAAKE,CAAC,CAAA8F,KAAA,SAAAyS,kBAAA,CAAIhY,CAAC,EAAC,KAAKR,CAAC,CAAA+F,KAAA,UAAChG,CAAC,EAAA3F,MAAA,CAAAoe,kBAAA,CAAKhY,CAAC,GAAC,EAAEhM,CAAC,IAAI47B,EAAE,CAACnwB,CAAC,CAAA8F,KAAA,SAAAyS,kBAAA,CAAIhkB,CAAC,EAAC,EAAEuL,CAAC,CAAC,IAAIC,CAAC,CAAA+F,KAAA,UAAC,IAAI,EAAA3L,MAAA,CAAAoe,kBAAA,CAAKhkB,CAAC,GAAC,CAAC;MACrE,CAAC,CAAC;IACJ,CAAC,CAAC,EAAE,YAAM;MACR4pB,EAAE,CAAC,YAAM;QACP5d,CAAC,IAAI4vB,EAAE,CAACnwB,CAAC,CAAA8F,KAAA,SAAAyS,kBAAA,CAAIhY,CAAC,EAAC,EAAET,CAAC,CAAC,IAAIC,CAAC,CAAA+F,KAAA,UAAC,IAAI,EAAA3L,MAAA,CAAAoe,kBAAA,CAAKhY,CAAC,GAAC;MACtC,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CAAC,EAAET,CAAC;AACP;AACA,SAASuwB,EAAEA,CAACvwB,CAAC,EAAE;EACb+gB,CAAC,KAAK,IAAI,IAAI2I,EAAE,CAAC,CAAC,EAAE5B,EAAE,CAAC,YAAM;IAC3B,IAAM7nB,CAAC,GAAGmnB,EAAE,CAACpnB,CAAC,CAAC;IACf,IAAI,OAAOC,CAAC,IAAI,UAAU,EAAE,OAC1B,yBACAA,CAAC;EAEL,CAAC,CAAC;AACJ;AACA,SAASuwB,EAAEA,CAACxwB,CAAC,EAAE;EACb+gB,CAAC,KAAK,IAAI,IAAI2I,EAAE,CAAC,CAAC,EAAE6G,EAAE,CAAC;IAAA,OAAM;MAAA,OAAMnJ,EAAE,CAACpnB,CAAC,CAAC;IAAA;EAAA,EAAC;AAC3C;AACA,IAAIywB,EAAE,GAAG,CAAC,CAAC;AACX,SAASC,EAAEA,CAAC1wB,CAAC,EAAE;EACb,IAAIC,CAAC,GAAGwwB,EAAE;EACV,IAAI;IACF,OAAOA,EAAE,GAAG,CAAC,CAAC,EAAE,CAACzwB,CAAC,CAAC,CAAC,EAAEywB,EAAE,CAAC;EAC3B,CAAC,SAAS;IACRA,EAAE,GAAGxwB,CAAC;EACR;AACF;AACA,SAAS0wB,CAACA,CAAC3wB,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EAAA,IAAAgvB,GAAA,EAAAC,IAAA,EAAAC,KAAA;EACrB,IAAIC,EAAE;EACN,IAAIt8B,CAAC,GAAG,CAACyL,CAAC,GAAG+a,EAAE,MAAM,CAAC;IAAExa,CAAC,GAAG,CAAC,CAAC;IAAEH,CAAC,GAAG,CAACJ,CAAC,GAAGib,EAAE,MAAM,CAAC;IAAEtZ,CAAC,GAAG,CAAC3B,CAAC,GAAGkb,EAAE,MAAM,CAAC;IAAEtZ,CAAC,GAAG,CAAC,CAAC;IAAEnB,CAAC;EACjFL,CAAC,IAAAswB,GAAA,GAAYF,EAAE,CAAC;IAAA,OACd,gBACA1wB,CAAC,CAACC,CAAC,CAAC;EAAA,CACL,CAAC,EAAA4wB,IAAA,GAAA7X,cAAA,CAAA4X,GAAA,MAHGjwB,CAAC,GAAAkwB,IAAA,KAAE/uB,CAAC,GAAA+uB,IAAA,KAAAD,GAAA,IAGJjwB,CAAC,GAAG;EACTX,CAAC,CAACC,CAAC,CAAC;EACJ,IAAImC,CAAC,GAAG4a,EAAE,IAAIhd,CAAC,IAAIid,EAAE,IAAIjd,CAAC;IAAE2B,CAAC,GAAGrB,CAAC,MAAAwwB,KAAA,GAAM,CAACC,EAAE,GAAGvT,EAAE,CAACxd,CAAC,EAAEC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG8wB,EAAE,CAAClZ,GAAG,cAAAiZ,KAAA,cAAAA,KAAA,GAAM1uB,CAAC,IAAInC,CAAC,IAAID,CAAC,IAAK,UAACgxB,CAAC;MAAA,OAAKhxB,CAAC,CAACC,CAAC,CAAC,GAAG+wB,CAAC;IAAA,CAAC,CAAE,IAAI,KAAK,CAAC;IAAE1uB,CAAC,GACnI;IACAV,CACD;IAAE+gB,CAAC,GAAG,CAAC,CAAC;IAAED,CAAC,GAAG,CAAC,CAAC;IAAEE,CAAC,GAAG,SAAJA,CAACA,CAAA;MAAA,OAAUF,CAAC,GAAG,CAAC,CAAC,EAAEC,CAAC,KAAKA,CAAC,GAAG,CAAC,CAAC,EAAE9gB,CAAC,GAAGS,CAAC,GAAG8kB,EAAE,CAC5D;MACAxlB,CACF,CAAC,GAAGU,CAAC,GAAG;MACRV,CAAC,CAAC,EAAEU,CAAC;IAAA,CAAC;EACN3B,CAAC,KAAK,KAAK,CAAC,IAAIiB,CAAC,KAAK,KAAK,CAAC,KAAKD,CAAC,IAAIlB,CAAC,IAAIwe,EAAE,CAAC,CAAC,EAAEte,CAAC,GAAGiiB,CAAC,CAAC,CAAC,EAAEjhB,CAAC,IAAIA,CAAC,CAAChB,CAAC,CAAC,CAAC;EACpE,IAAIkiB,CAAC;EACL,IAAIA,CAAC,GAAG,SAAJA,CAACA,CAAA,EAAS;IACZ,IAAImO,CAAC,GACH;IACAhxB,CAAC,CAACC,CAAC,CACJ;IACD,OAAO+wB,CAAC,KAAK,KAAK,CAAC,GAAGpO,CAAC,CAAC,CAAC,IAAID,CAAC,GAAG,CAAC,CAAC,EAAED,CAAC,GAAG,CAAC,CAAC,EAAEsO,CAAC,CAAC;EACjD,CAAC,EAAE,CAAC9wB,CAAC,GAAGgb,EAAE,MAAM,CAAC,EACf,OAAO2H,CAAC;EACV,IAAIlhB,CAAC,EAAE;IACL,IAAImhB,CAAC,GAAG9iB,CAAC,CAACixB,QAAQ;IAClB,OAAO,UAASD,CAAC,EAAEE,CAAC,EAAE;MACpB,OAAOz5B,SAAS,CAACnD,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC48B,CAAC,IAAIpO,CAAC,IAAIhhB,CAAC,KAAKH,CAAC,CAACuvB,CAAC,GAAGrO,CAAC,CAAC,CAAC,GAAGmO,CAAC,CAAC,EAAEA,CAAC,IAAInO,CAAC,CAAC,CAAC;IAC3E,CAAC;EACH;EACA,IAAIE,CAAC,GAAG,CAAC,CAAC;IAAE3J,CAAC,GAAG,eAAgB0G,EAAE,CAACnf,CAAC,CAAC;IAAEwwB,EAAE,GAAG,eAAgBtQ,EAAE,CAAC,YAAM;MACnE,IAAImQ,CAAC,GAAGnO,CAAC,CAAC,CAAC;QAAEqO,CAAC,GAAG/6B,CAAC,CAACijB,CAAC,CAAC;MACrB,OAAO2J,CAAC,IAAIA,CAAC,GAAG,CAAC,CAAC,EAAEmO,CAAC,IAAI9X,CAAC,CAAChX,CAAC,GAAG4uB,CAAC;IAClC,CAAC,CAAC;EACF,OAAOv8B,CAAC,KAAK08B,EAAE,CAAC1R,MAAM,GAAGd,EAAE,CAAC,EAAE,UAASqS,CAAC,EAAEE,CAAC,EAAE;IAC3C,IAAIz5B,SAAS,CAACnD,MAAM,GAAG,CAAC,EAAE;MACxB,IAAM88B,CAAC,GAAGF,CAAC,GAAG/6B,CAAC,CAACg7B,EAAE,CAAC,GAAG7wB,CAAC,GAAG+hB,EAAE,CAAC2O,CAAC,CAAC,GAAGA,CAAC;MACnC,OAAOG,EAAE,CAAC1R,MAAM,CAAC2R,CAAC,CAAC,KAAKrO,CAAC,GAAG,CAAC,CAAC,EAAE7C,CAAC,CAAC9G,CAAC,EAAEgY,CAAC,CAAC,EAAE1O,CAAC,IAAIpgB,CAAC,KAAK,KAAK,CAAC,KAAKA,CAAC,GAAG8uB,CAAC,CAAC,EAAEhK,EAAE,CAAC;QAAA,OAAMjxB,CAAC,CAACg7B,EAAE,CAAC;MAAA,EAAC,CAAC,EAAEH,CAAC;IAC5F;IACA,OAAO76B,CAAC,CAACg7B,EAAE,CAAC;EACd,CAAC;AACH;AACA,SAASE,EAAEA,CAACrxB,CAAC,EAAE;EACb,OAAO,IAAIsxB,EAAE,CAACtxB,CAAC,CAAC;AAClB;AACA,IAAIuxB,EAAE,EAAEC,EAAE;AAAC,IACLF,EAAE;EACN;AACF;AACA;AACA;AACA;EACE,SAAAA,GAAYrxB,CAAC,EAAE;IAAA,IAAAwxB,SAAA;MAAAte,MAAA;IAAApf,qBAAA,OAAAu9B,EAAA;IACb;IACA1X,EAAE,CAAC,IAAI,EAAE2X,EAAE,CAAC;IACZ;IACA3X,EAAE,CAAC,IAAI,EAAE4X,EAAE,CAAC;IACZ,IAAI/wB,CAAC;IACL,IAAIP,CAAC,GAAG,eAAgB,IAAIwX,GAAG,CAAC,CAAC;MAAE9V,CAAC,GAAG,SAAJA,CAACA,CAAItB,CAAC,EAAEuB,CAAC,EAAK;QAC/C,IAAIC,CAAC,GAAG,eAAgBge,EAAE,CAACje,CAAC,CAAC;QAC7B,OAAO3B,CAAC,CAAC2X,GAAG,CAACvX,CAAC,EAAEwB,CAAC,CAAC,EAAEA,CAAC;MACvB,CAAC;IACD,IAAMrN,CAAC,GAAG,IAAI6tB,KAAK,CAAArc,mBAAA,CAAAA,mBAAA,KACZhG,CAAC,CAACqtB,KAAK,IAAI,CAAC,CAAC;MAAEI,QAAQ,EAAE,CAAC;IAAC,IAChC;MACErW,GAAG,WAAHA,GAAGA,CAAC/W,CAAC,EAAEuB,CAAC,EAAE;QAAA,IAAA6vB,MAAA;QACR,OAAOv7B,CAAC,EAAAu7B,MAAA,GAACxxB,CAAC,CAACmX,GAAG,CAACxV,CAAC,CAAC,cAAA6vB,MAAA,cAAAA,MAAA,GAAI9vB,CAAC,CAACC,CAAC,EAAEmV,OAAO,CAACK,GAAG,CAAC/W,CAAC,EAAEuB,CAAC,CAAC,CAAC,CAAC;MAC/C,CAAC;MACD+V,GAAG,WAAHA,GAAGA,CAACtX,CAAC,EAAEuB,CAAC,EAAE;QAAA,IAAA8vB,OAAA;QACR,OAAO9vB,CAAC,KAAKob,EAAE,GAAG,CAAC,CAAC,IAAI9mB,CAAC,EAAAw7B,OAAA,GAACzxB,CAAC,CAACmX,GAAG,CAACxV,CAAC,CAAC,cAAA8vB,OAAA,cAAAA,OAAA,GAAI/vB,CAAC,CAACC,CAAC,EAAEmV,OAAO,CAACK,GAAG,CAAC/W,CAAC,EAAEuB,CAAC,CAAC,CAAC,CAAC,EAAEmV,OAAO,CAACY,GAAG,CAACtX,CAAC,EAAEuB,CAAC,CAAC,CAAC;MACpF,CAAC;MACDgW,GAAG,WAAHA,GAAGA,CAACvX,CAAC,EAAEuB,CAAC,EAAEC,CAAC,EAAE;QAAA,IAAA8vB,OAAA;QACX,OAAO1R,CAAC,EAAA0R,OAAA,GAAC1xB,CAAC,CAACmX,GAAG,CAACxV,CAAC,CAAC,cAAA+vB,OAAA,cAAAA,OAAA,GAAIhwB,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAEkV,OAAO,CAACa,GAAG,CAACvX,CAAC,EAAEuB,CAAC,EAAEC,CAAC,CAAC;MACxD;IACF,CACF,CAAC;IACDgY,EAAE,CAAC,IAAI,EAAE0X,EAAE,EAAE,CAACvxB,CAAC,CAAC4xB,OAAO,GAAG/E,EAAE,GAAGF,EAAE,EAAE3sB,CAAC,CAAC6xB,SAAS,EAAE;MAC9Cjc,MAAM,EAAE5V,CAAC,CAAC4V,MAAM;MAChBoX,MAAM,EAAEhtB,CAAC,CAACgtB,MAAM;MAChBK,KAAK,EAAE74B,CAAC;MACR+4B,OAAO,EAAEvtB,CAAC,CAACutB,OAAO;MAClBR,KAAK,GAAAyE,SAAA,GAAExxB,CAAC,CAAC+sB,KAAK,cAAAyE,SAAA,cAAAA,SAAA,GAAI,CAAC,CAAC;MACpBvE,OAAO,EAAEjtB,CAAC,CAACitB;IACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAACzsB,CAAC,GAAGR,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACqtB,KAAK,KAAK,IAAI,IAAI7sB,CAAC,CAACsxB,MAAM,CAAC,IAAI9xB,CAAC,CAAC+xB,IAAI,KAAK,CAAC,CAAC,KAAK/K,CAAC,CAAC,CAAC,EAAEnN,EAAE,CAAC,IAAI,EAAEyX,EAAE,EAAE98B,CAAC,CAACi5B,QAAQ,CAAC;IAAC,IAAAuE,MAAA,YAAAA,OAAA;MAC9G,IAAM3xB,CAAC,GAAA4xB,YAAA,CAAAC,GAAA;MACV7xB,CAAC,KAAK,MAAM,IAAIA,CAAC,KAAK,UAAU,IAAIA,CAAC,KAAK,KAAK,IAAIid,EAAE,CAACpK,MAAI,EAAE7S,CAAC,EAAE;QAC7D+W,GAAG,WAAHA,GAAGA,CAAA,EAAG;UACJ,OAAOsC,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAClxB,CAAC,CAAC;QACvB,CAAC;QACD,yBACAuX,GAAG,WAAHA,GAAGA,CAAChW,CAAC,EAAE;UACL8X,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAClxB,CAAC,CAAC,GAAGuB,CAAC;QACpB,CAAC;QACDb,UAAU,EAAE,CAAC;MACf,CAAC,CAAC;IAAC;IAVL,SAAAmxB,GAAA,MAAAD,YAAA,GAAgBz7B,MAAM,CAACC,IAAI,CAACijB,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAAC,EAAAW,GAAA,GAAAD,YAAA,CAAA59B,MAAA,EAAA69B,GAAA;MAAAF,MAAA;IAAA;IAWxCtY,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACY,IAAI,GAAG;IACnB,UAAC9xB,CAAC,EAAK;MACL7J,MAAM,CAAC47B,MAAM,CAAC59B,CAAC,EAAE6L,CAAC,CAAC;IACrB,CAAC,EAAEqZ,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACc,QAAQ,GAAG,YAAM;MAC9BtE,EAAE,CAACrU,CAAC,CAACxG,MAAI,EAAEqe,EAAE,CAAC,CAAC;IACjB,CAAC;EACH;EACA;EAAA,OAAAx9B,kBAAA,CAAAs9B,EAAA;IAAAr9B,GAAA;IAAAC,KAAA,EACA,SAAAk+B,IAAIA,CAACnyB,CAAC,EAAE;MACN0Z,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACY,IAAI,CAACnyB,CAAC,CAAC;IACrB;IACA;AACF;AACA;AACA;AACA;EAJE;IAAAhM,GAAA;IAAAC,KAAA,EAKA,SAAAq+B,GAAGA,CAACtyB,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAyT,MAAA;MACRgG,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACtxB,CAAC,CAAC,GAAG0Z,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACtxB,CAAC,CAAC,IAAI,EAAE;MACrC,IAAM2B,CAAC,GAAG,SAAJA,CAACA,CAAA;QAAA,SAAA4wB,IAAA,GAAA/6B,SAAA,CAAAnD,MAAA,EAAOG,CAAC,OAAAmkB,KAAA,CAAA4Z,IAAA,GAAAC,IAAA,MAAAA,IAAA,GAAAD,IAAA,EAAAC,IAAA;UAADh+B,CAAC,CAAAg+B,IAAA,IAAAh7B,SAAA,CAAAg7B,IAAA;QAAA;QAAA,OAAKvyB,CAAC,CAACwB,IAAI,CAAAsE,KAAA,CAAN9F,CAAC,GAAMyT,MAAI,EAAAtZ,MAAA,CAAK5F,CAAC,EAAC;MAAA;MACtC,OAAOklB,CAAC,CAAC,IAAI,EAAE4X,EAAE,CAAC,CAACtxB,CAAC,CAAC,CAACkE,IAAI,CAACvC,CAAC,CAAC,EAAE,YAAM;QACnC+X,CAAC,CAAChG,MAAI,EAAE4d,EAAE,CAAC,CAACtxB,CAAC,CAAC,GAAG0Z,CAAC,CAAChG,MAAI,EAAE4d,EAAE,CAAC,CAACtxB,CAAC,CAAC,CAAChG,MAAM,CACpC;QACA,UAACxF,CAAC;UAAA,OAAKA,CAAC,KAAKmN,CAAC;QAAA,CAChB,CAAC;MACH,CAAC;IACH;EAAC;IAAA3N,GAAA;IAAAC,KAAA,EACD,SAAAo+B,QAAQA,CAAA,EAAG;MACT3Y,CAAC,CAAC,IAAI,EAAE6X,EAAE,CAAC,CAACc,QAAQ,CAAC,CAAC;IACxB;EAAC;AAAA;AAEHf,EAAE,GAAG,IAAIxD,OAAO,CAAC,CAAC,EAAEyD,EAAE,GAAG,IAAIzD,OAAO,CAAC,CAAC;AACtC,IAAI2E,EAAE;AACN,OAAOC,WAAW,IAAI,UAAU,KAAKD,EAAE,0BAAAE,YAAA;EACrC;AACF;AACA;AACA;AACA;EACE,SAAAF,GAAYzyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;IAAA,IAAA8T,MAAA;IAAA3hB,qBAAA,OAAA2+B,EAAA;IACnBhd,MAAA,GAAAgB,gBAAA,OAAAgc,EAAA;IACA;IACAjZ,EAAE,CAAA/D,MAAA,EAAO,QAAQ,CAAC;IAClB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,CAAC;IACf;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,CAAC;IACf;IACA+D,EAAE,CAAA/D,MAAA,EAAO,MAAM,EAAE,CAAC,CAAC,CAAC;IACpB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,OAAO,EAAE,CAAC,CAAC,CAAC;IACrB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC;IACnB;IACA+D,EAAE,CAAA/D,MAAA,EAAO,OAAO,EAAE,eAAgB,IAAIgC,GAAG,CAAC,CAAC,CAAC;IAC5C;IACA+B,EAAE,CAAA/D,MAAA,EAAO,MAAM,CAAC;IAChBA,MAAA,CAAKmd,MAAM,GAAG5yB,CAAC,EAAEyV,MAAA,CAAKod,GAAG,GAAG5yB,CAAC,EAAE0B,CAAC,IAAI8T,MAAA,CAAKqd,YAAY,CAAC;MAAEC,IAAI,EAAE;IAAO,CAAC,CAAC;IAAC,OAAAtd,MAAA;EAC1E;EACA;AACF;AACA;AACA;AACA;EAJEiB,eAAA,CAAA+b,EAAA,EAAAE,YAAA;EAAA,OAAA5+B,kBAAA,CAAA0+B,EAAA;IAAAz+B,GAAA;IAAAC,KAAA,EAKA,SAAAkL,gBAAgBA,CAACa,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MACxB,IAAI,IAAI,CAACqxB,GAAG,CAAChzB,CAAC,CAAC,GAAG,IAAI,CAACgzB,GAAG,CAAChzB,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAACgzB,GAAG,CAAChzB,CAAC,CAAC,CAACkE,IAAI,CAACjE,CAAC,CAAC,EAAE,IAAI,CAACgzB,GAAG,EAAE;QAClE,IAAMz+B,CAAC,GAAG,IAAI,CAACy+B,GAAG,CAACX,GAAG,CAACtyB,CAAC,EAAEC,CAAC,CAAC;QAC5B,IAAI,CAACizB,KAAK,CAACtb,GAAG,CAAC3X,CAAC,EAAEzL,CAAC,CAAC;MACtB;MACAmiB,mBAAA,CAAA8b,EAAA,gCAAuBzyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC;IAChC;IACA;AACF;AACA;AACA;AACA;EAJE;IAAA3N,GAAA;IAAAC,KAAA,EAKA,SAAAg3B,mBAAmBA,CAACjrB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MAC3B,IAAIgV,mBAAA,CAAA8b,EAAA,mCAA0BzyB,CAAC,EAAEC,CAAC,EAAE0B,CAAC,IAAG,IAAI,CAACsxB,GAAG,EAAE;QAChD,IAAMz+B,CAAC,GAAG,IAAI,CAAC0+B,KAAK,CAAC9b,GAAG,CAACnX,CAAC,CAAC;QAC3BzL,CAAC,KAAKA,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC0+B,KAAK,UAAO,CAACjzB,CAAC,CAAC,CAAC;MAClC;IACF;EAAC;IAAAjM,GAAA;IAAAC,KAAA;MAAA,IAAAk/B,kBAAA,GAAA9sB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CACD,SAAAuC,QAAA;QAAA,IAAAmsB,MAAA;QAAA,IAAApzB,CAAA,EAAAC,CAAA,EAAA0B,CAAA,EAAA0xB,WAAA,EAAAC,OAAA,EAAAC,GAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,GAAA,EAAAC,EAAA,EAAAn/B,CAAA,EAAAmC,GAAA,EAAAi9B,WAAA,EAAAC,OAAA,EAAArzB,CAAA,EAAAH,CAAA;QAAA,OAAAP,yBAAA,GAAAoB,IAAA,UAAAqG,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAtC,IAAA,GAAAsC,QAAA,CAAA9D,IAAA;YAAA;cAAA,MACM,IAAI,CAACowB,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAACb,GAAG;gBAAAzrB,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cACvB1D,CAAC,GAAG,SAAJA,CAACA,CAAYxL,CAAC,EAAE;gBAClB,OAAO,UAACgM,CAAC,EAAK;kBACZ,IAAMH,CAAC,GAAG1K,QAAQ,CAACwI,aAAa,CAAC,MAAM,CAAC;kBACxC3J,CAAC,KAAK,SAAS,KAAK6L,CAAC,CAACoE,IAAI,GAAGjQ,CAAC,CAAC,EAAEk4B,EAAE,CAAClsB,CAAC,EAAEH,CAAC,CAAC;gBAC3C,CAAC;cACH,CAAC;cAAAmH,QAAA,CAAA9D,IAAA;cAAA,OACSqB,OAAO,CAACpC,OAAO,CAAC,CAAC;YAAA;cAAA,MAAE,CAAC,IAAI,CAACmxB,IAAI,IAAI,IAAI,CAACb,GAAG;gBAAAzrB,QAAA,CAAA9D,IAAA;gBAAA;cAAA;cAAA,OAAA8D,QAAA,CAAAjE,MAAA;YAAA;cAE7CtD,CAAC,GAAG,CAAC,CAAC,EAAE0B,CAAC,GAAGoyB,EAAE,CAAC,IAAI,CAAC;cAAAV,WAAA,GAAApa,0BAAA,CACV,IAAI,CAAC4Z,GAAG;cAAA;gBAAxB,KAAAQ,WAAA,CAAAxxB,CAAA,MAAAyxB,OAAA,GAAAD,WAAA,CAAAlzB,CAAA,IAAA6C,IAAA,GACE;kBADSxO,GAAC,GAAA8+B,OAAA,CAAAr/B,KAAA;kBACVO,GAAC,IAAImN,CAAC,KAAKnN,GAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAACw/B,GAAG,CAACvF,QAAQ,IAAI,IAAI,CAACuF,GAAG,CAACvF,QAAQ,GAAGzuB,CAAC,CAACxL,GAAC,CAAC,EAAEyL,CAAC,WAAQ,GAAG,CAAC,CAAC,IAAIA,CAAC,CAACzL,GAAC,CAAC,GAAGwL,CAAC,CAACxL,GAAC,CAAC,CAAC;gBAAA;cAAC,SAAA0uB,GAAA;gBAAAmQ,WAAA,CAAAtzB,CAAA,CAAAmjB,GAAA;cAAA;gBAAAmQ,WAAA,CAAAzxB,CAAA;cAAA;cAAA4xB,WAAA,GAAAva,0BAAA,CAC/F,IAAI,CAACgb,UAAU;cAAA;gBAA/B,KAAAT,WAAA,CAAA3xB,CAAA,MAAA4xB,OAAA,GAAAD,WAAA,CAAArzB,CAAA,IAAA6C,IAAA,GAAiC;kBAAtBxO,GAAC,GAAAi/B,OAAA,CAAAx/B,KAAA;kBACJuM,EAAC,GAAG,IAAI,CAAC0zB,KAAK,CAAC1/B,GAAC,CAACiQ,IAAI,CAAC;kBAC5BjE,EAAC,IAAI,IAAI,CAACwzB,GAAG,KAAK,IAAI,CAACA,GAAG,CAACxzB,EAAC,CAAC,GAAG2zB,EAAE,CAAC3zB,EAAC,EAAEhM,GAAC,CAACP,KAAK,EAAE,IAAI,CAACmgC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACvE;cAAC,SAAAlR,GAAA;gBAAAsQ,WAAA,CAAAzzB,CAAA,CAAAmjB,GAAA;cAAA;gBAAAsQ,WAAA,CAAA5xB,CAAA;cAAA;cACD,KAAWpN,CAAC,IAAI,IAAI,CAAC4/B,KAAK,EACxB,EAAE5/B,CAAC,IAAI,IAAI,CAACw/B,GAAG,CAAC,IAAI,IAAI,CAACx/B,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,CAACw/B,GAAG,CAACx/B,CAAC,CAAC,GAAG,IAAI,CAACA,CAAC,CAAC,EAAE,OAAO,IAAI,CAACA,CAAC,CAAC,CAAC;cACnF,IAAI,CAACy+B,GAAG,GAAG7B,EAAE,CAAC;gBACZS,SAAS,EAAE,IAAI,CAACe,MAAM;gBACtBhd,MAAM,EAAE,IAAI,CAACye,UAAU,IAAI,IAAI;gBAC/BhH,KAAK,EAAArnB,mBAAA,CAAAA,mBAAA,KACA,IAAI,CAACguB,GAAG;kBACXxF,OAAO,EAAEvuB,CAAC;kBACV6xB,MAAM,EAAE;gBAAI;cAEhB,CAAC,CAAC,EAAE,IAAI,CAACwC,IAAI,GAAGpM,EAAE,CAAC,YAAM;gBACvBI,EAAE,CAAC,YAAM;kBACP,IAAI9zB,CAAC;kBACL4+B,MAAI,CAACmB,GAAG,GAAG,CAAC,CAAC;kBAAC,IAAAC,WAAA,GAAAvb,0BAAA,CACEoE,EAAE,CAAC+V,MAAI,CAACH,GAAG,CAAC;oBAAAwB,OAAA;kBAAA;oBAA5B,KAAAD,WAAA,CAAA3yB,CAAA,MAAA4yB,OAAA,GAAAD,WAAA,CAAAr0B,CAAA,IAAA6C,IAAA,GAA8B;sBAAA,IAAnBxC,CAAC,GAAAi0B,OAAA,CAAAxgC,KAAA;sBACV,IAAI,EAAE,CAACO,CAAC,GAAG4+B,MAAI,CAACgB,KAAK,CAAC5zB,CAAC,CAAC,KAAK,IAAI,IAAIhM,CAAC,CAACkgC,OAAO,CAAC,EAAE;sBACjDtB,MAAI,CAACY,GAAG,CAACxzB,CAAC,CAAC,GAAG4yB,MAAI,CAACH,GAAG,CAACzyB,CAAC,CAAC;sBACzB,IAAMH,CAAC,GAAG8zB,EAAE,CACV3zB,CAAC,EACD4yB,MAAI,CAACY,GAAG,CAACxzB,CAAC,CAAC,EACX4yB,MAAI,CAACgB,KAAK,EACV,aACF,CAAC;sBACD/zB,CAAC,IAAI,IAAI,GAAG+yB,MAAI,CAACjE,eAAe,CAACiE,MAAI,CAACgB,KAAK,CAAC5zB,CAAC,CAAC,CAACm0B,SAAS,IAAIn0B,CAAC,CAAC,GAAG4yB,MAAI,CAACn7B,YAAY,CAACm7B,MAAI,CAACgB,KAAK,CAAC5zB,CAAC,CAAC,CAACm0B,SAAS,IAAIn0B,CAAC,EAAEH,CAAC,CAAC;oBACrH;kBAAC,SAAA6iB,GAAA;oBAAAsR,WAAA,CAAAz0B,CAAA,CAAAmjB,GAAA;kBAAA;oBAAAsR,WAAA,CAAA5yB,CAAA;kBAAA;kBACDwxB,MAAI,CAACmB,GAAG,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC;cACJ,CAAC,CAAC;cACF,KAAW//B,GAAC,IAAI,IAAI,CAACw+B,GAAG;gBAAAY,WAAA,GAAA3a,0BAAA,CACN,IAAI,CAAC+Z,GAAG,CAACx+B,GAAC,CAAC;gBAAA;kBAA3B,KAAAo/B,WAAA,CAAA/xB,CAAA,MAAAgyB,OAAA,GAAAD,WAAA,CAAAzzB,CAAA,IAAA6C,IAAA,GAA6B;oBAAlBxC,CAAC,GAAAqzB,OAAA,CAAA5/B,KAAA;oBACJoM,CAAC,GAAG,IAAI,CAAC4yB,GAAG,CAACX,GAAG,CAAC99B,GAAC,EAAEgM,CAAC,CAAC;oBAC5B,IAAI,CAAC0yB,KAAK,CAACtb,GAAG,CAACpX,CAAC,EAAEH,CAAC,CAAC;kBACtB;gBAAC,SAAA6iB,GAAA;kBAAA0Q,WAAA,CAAA7zB,CAAA,CAAAmjB,GAAA;gBAAA;kBAAA0Q,WAAA,CAAAhyB,CAAA;gBAAA;cAAA;cACH,IAAI,CAACoxB,GAAG,GAAG,CAAC,CAAC;YAAC;YAAA;cAAA,OAAAxrB,QAAA,CAAAnC,IAAA;UAAA;QAAA,GAAA4B,OAAA;MAAA,CAEjB;MAAA,SApDK2tB,iBAAiBA,CAAA;QAAA,OAAAzB,kBAAA,CAAAptB,KAAA,OAAAvO,SAAA;MAAA;MAAA,OAAjBo9B,iBAAiB;IAAA,IAqDvB;IACA;IACA;AACF;AACA;AACA;AACA;EAJE;IAAA5gC,GAAA;IAAAC,KAAA,EAKA,SAAA4gC,wBAAwBA,CAAC70B,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;MAChC,IAAInN,CAAC;MACL,IAAI,CAAC+/B,GAAG,KAAKv0B,CAAC,GAAG,IAAI,CAACk0B,KAAK,CAACl0B,CAAC,CAAC,EAAE,IAAI,CAACg0B,GAAG,CAACh0B,CAAC,CAAC,GAAGm0B,EAAE,CAACn0B,CAAC,EAAE2B,CAAC,EAAE,IAAI,CAACyyB,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC5/B,CAAC,GAAG,IAAI,CAACy+B,GAAG,KAAK,IAAI,IAAIz+B,CAAC,CAAC29B,IAAI,CAAA50B,qBAAA,KAAIyC,CAAC,EAAG,IAAI,CAACg0B,GAAG,CAACh0B,CAAC,CAAC,CAAE,CAAC,CAAC;IACvI;EAAC;IAAAhM,GAAA;IAAAC,KAAA,EACD,SAAA6gC,oBAAoBA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACrB,IAAI,CAACjB,IAAI,GAAG,CAAC,CAAC,EAAE/uB,OAAO,CAACpC,OAAO,CAAC,CAAC,CAACE,IAAI,CAAC,YAAM;QAC3C,CAACkyB,MAAI,CAACjB,IAAI,IAAIiB,MAAI,CAAC9B,GAAG,KAAK8B,MAAI,CAAC9B,GAAG,CAACZ,QAAQ,CAAC,CAAC,EAAE0C,MAAI,CAACT,IAAI,CAAC,CAAC,EAAES,MAAI,CAAC9B,GAAG,GAAG,KAAK,CAAC,CAAC;MACjF,CAAC,CAAC;IACJ;IACA;AACF;AACA;EAFE;IAAAj/B,GAAA;IAAAC,KAAA,EAGA,SAAAigC,KAAKA,CAACl0B,CAAC,EAAE;MAAA,IAAAg1B,MAAA;MACP,OAAO3X,EAAE,CAAC,IAAI,CAAC+W,KAAK,CAAC,CAACa,IAAI,CACxB,UAACh1B,CAAC;QAAA,OAAK+0B,MAAI,CAACZ,KAAK,CAACn0B,CAAC,CAAC,CAAC00B,SAAS,KAAK30B,CAAC,IAAI,CAACg1B,MAAI,CAACZ,KAAK,CAACn0B,CAAC,CAAC,CAAC00B,SAAS,IAAI10B,CAAC,CAACi1B,WAAW,CAAC,CAAC,KAAKl1B,CAAC;MAAA,CAC3F,CAAC,IAAIA,CAAC;IACR;EAAC;AAAA,eAAAwX,gBAAA,CAjIqDkb,WAAW,EAkIlE,CAAC;AACF,SAASyB,EAAEA,CAACp0B,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAE;EACtB,IAAInB,CAAC;EACL,IAAMhM,CAAC,GAAG,CAACgM,CAAC,GAAGP,CAAC,CAACF,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGS,CAAC,CAAChI,IAAI;EAC9C,IAAIwH,CAAC,GAAGxL,CAAC,KAAK,SAAS,IAAI,OAAOwL,CAAC,IAAI,SAAS,GAAGA,CAAC,IAAI,IAAI,GAAGA,CAAC,EAAE,CAAC2B,CAAC,IAAI,CAAC1B,CAAC,CAACF,CAAC,CAAC,EAC3E,OAAOC,CAAC;EACV,IAAI2B,CAAC,KAAK,aAAa,EACrB,QAAQnN,CAAC;IACP,KAAK,QAAQ;IACb,KAAK,OAAO;MACV,OAAOwL,CAAC,IAAI,IAAI,GAAG,IAAI,GAAG/K,IAAI,CAACC,SAAS,CAAC8K,CAAC,CAAC;IAC7C,KAAK,SAAS;MACZ,OAAOA,CAAC,GAAG,EAAE,GAAG,IAAI;IACtB,KAAK,QAAQ;MACX,OAAOA,CAAC,aAADA,CAAC,cAADA,CAAC,GAAI,IAAI;IAClB;MACE,OAAOA,CAAC;EACZ,CAAC,MAED,QAAQxL,CAAC;IACP,KAAK,QAAQ;IACb,KAAK,OAAO;MACV,OAAOwL,CAAC,IAAI/K,IAAI,CAACuK,KAAK,CAACQ,CAAC,CAAC;IAC3B,KAAK,SAAS;MACZ,OAAOA,CAAC;IACV;IACA,KAAK,QAAQ;MACX,OAAOA,CAAC,IAAI,IAAI,GAAG,CAACA,CAAC,GAAGA,CAAC;IAC3B;MACE,OAAOA,CAAC;EACZ;AACJ;AACA,SAAS+zB,EAAEA,CAACh0B,CAAC,EAAE;EACb,IAAMC,CAAC,GAAG,CAAC,CAAC;EACZ,OAAOD,CAAC,CAACo1B,UAAU,CAACp2B,OAAO,CAAC,UAACkB,CAAC,EAAK;IACjCD,CAAC,CACC;IACAC,CAAC,CAACm1B,IAAI,IAAI,SAAS,CACpB,GAAG,CAAC,CAAC;EACR,CAAC,CAAC,EAAEp1B,CAAC;AACP;AACA,SAASq1B,EAAEA,CAACt1B,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAE0B,CAAC,EAAEnN,CAAC,EAAEgM,CAAC,EAAE;EAC5B,IAAIH,CAAC,0BAAAi1B,GAAA;IACH,SAAAj1B,EAAA,EAAc;MAAA,IAAAk1B,MAAA;MAAAzhC,qBAAA,OAAAuM,CAAA;MACZk1B,MAAA,GAAA9e,gBAAA,OAAApW,CAAA,GAAMN,CAAC,EAAEE,CAAC,EAAEzL,CAAC,IAAG+gC,MAAA,CAAKnB,KAAK,GAAGp0B,CAAC;MAAC,OAAAu1B,MAAA;IACjC;IAAC7e,eAAA,CAAArW,CAAA,EAAAi1B,GAAA;IAAA,OAAAvhC,kBAAA,CAAAsM,CAAA;MAAArM,GAAA;MAAAojB,GAAA,EACD,SAAAA,IAAA,EAAgC;QAC9B,OAAOiG,EAAE,CAACrd,CAAC,CAAC,CAACwoB,GAAG,CACd,UAAC5mB,CAAC;UAAA,OAAK,CAAC5B,CAAC,CAAC4B,CAAC,CAAC,CAAC+yB,SAAS,IAAI/yB,CAAC,EAAEszB,WAAW,CAAC,CAAC;QAAA,CAC5C,CAAC;MACH;IAAC;EAAA,EARmBzC,EAAE,CASvB;EACD,OAAOpV,EAAE,CAACrd,CAAC,CAAC,CAACjB,OAAO,CAAC,UAAC6C,CAAC,EAAK;IAC1B0b,EAAE,CAACjd,CAAC,CAACH,SAAS,EAAE0B,CAAC,EAAE;MACjBwV,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,OAAO,IAAI,CAAC6b,GAAG,IAAIrxB,CAAC,IAAI,IAAI,CAACqxB,GAAG,GAAG,IAAI,CAACA,GAAG,CAACrxB,CAAC,CAAC,GAAG,IAAI,CAACoyB,GAAG,CAACpyB,CAAC,CAAC;MAC9D,CAAC;MACDgW,GAAG,WAAHA,GAAGA,CAAC/V,CAAC,EAAE;QACL,IAAIH,CAAC;QACLG,CAAC,GAAGsyB,EAAE,CAACvyB,CAAC,EAAEC,CAAC,EAAE7B,CAAC,CAAC,EAAE,IAAI,CAACg0B,GAAG,CAACpyB,CAAC,CAAC,GAAGC,CAAC;QAChC,IAAInB,CAAC,GAAG,IAAI,CAACuyB,GAAG;QAChB,IAAIvyB,CAAC,EAAE;UACL,IAAIyB,CAAC,GAAG,CAACT,CAAC,GAAG6b,EAAE,CAAC7c,CAAC,EAAEkB,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGF,CAAC,CAAC0V,GAAG;UAC/CjV,CAAC,GAAGzB,CAAC,CAACkB,CAAC,CAAC,GAAGC,CAAC,GAAGnB,CAAC,CAACyxB,IAAI,CAAA50B,qBAAA,KAAIqE,CAAC,EAAGC,CAAC,CAAE,CAAC;QACnC;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAEF,CAAC,CAAC5C,OAAO,CAAC,UAAC6C,CAAC,EAAK;IACnB0b,EAAE,CAACjd,CAAC,CAACH,SAAS,EAAE0B,CAAC,EAAE;MACjBwV,GAAG,WAAHA,GAAGA,CAAA,EAAG;QACJ,IAAIvV,CAAC;QACL,OAAO,CAACA,CAAC,GAAG,IAAI,CAACoxB,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGpxB,CAAC,CAACD,CAAC,CAAC;MAC/C;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EAAE7B,CAAC,CAACjI,OAAO,GAAG;EAChBuI,CAAC,EAAEA,CAAC;AACN;AACA,IAAMm1B,EAAE,GAAG,IAAIC,WAAW,CAAC,CAAC;AAC5B,SAASC,EAAEA,CAAC31B,CAAC,EAAE;EACb,OAAOyY,kBAAA,CAAI,IAAImd,UAAU,CAAC51B,CAAC,CAAC,EAAEyoB,GAAG,CAAC,UAACxoB,CAAC;IAAA,OAAKA,CAAC,CAAC0I,QAAQ,CAAC,EAAE,CAAC,CAACktB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAAA,EAAC,CAACC,IAAI,CAAC,EAAE,CAAC;AACpF;AAAC,SACcC,EAAEA,CAAA1tB,EAAA;EAAA,OAAA2tB,GAAA,CAAAhwB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAAu+B,IAAA;EAAAA,GAAA,GAAA1vB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAgK,UAAkB3O,CAAC;IAAA,IAAAC,CAAA;MAAAC,CAAA;MAAA0B,CAAA;MAAAnN,CAAA;MAAAwhC,OAAA,GAAAx+B,SAAA;IAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAA0N,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAA3J,IAAA,GAAA2J,UAAA,CAAAnL,IAAA;QAAA;UAAE1D,CAAC,GAAAg2B,OAAA,CAAA3hC,MAAA,QAAA2hC,OAAA,QAAA5hC,SAAA,GAAA4hC,OAAA,MAAG,SAAS;UAAE/1B,CAAC,GAAA+1B,OAAA,CAAA3hC,MAAA,QAAA2hC,OAAA,QAAA5hC,SAAA,GAAA4hC,OAAA,MAAG,GAAG;UACnCr0B,CAAC,GAAG5L,IAAI,CAACkgC,GAAG,CAAC,CAAC,CAACvtB,QAAQ,CAAC,EAAE,CAAC;UACjC3I,CAAC,KAAKA,CAAC,GAAGm2B,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAGn2B,CAAC,CAAC,CAAC;UAAC4O,UAAA,CAAAnL,IAAA;UAAA,OACzB2yB,EAAE,CAAC10B,CAAC,EAAE5B,CAAC,EAAEC,CAAC,CAAC;QAAA;UAArBxL,CAAC,GAAAqa,UAAA,CAAAzL,IAAA;UAAA,OAAAyL,UAAA,CAAAtL,MAAA,WACA;YACL+yB,SAAS,EAAEt2B,CAAC;YACZu2B,SAAS,EAAE/hC,CAAC;YACZgiC,IAAI,EAAE70B,CAAC;YACP80B,SAAS,EAAE;UACb,CAAC;QAAA;QAAA;UAAA,OAAA5nB,UAAA,CAAAxJ,IAAA;MAAA;IAAA,GAAAqJ,SAAA;EAAA,CACF;EAAA,OAAAqnB,GAAA,CAAAhwB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SACc6+B,EAAEA,CAAAjsB,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAosB,GAAA,CAAA3wB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAAk/B,IAAA;EAAAA,GAAA,GAAArwB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAiyB,UAAkB52B,CAAC,EAAEC,CAAC,EAAEC,CAAC;IAAA,OAAAH,yBAAA,GAAAoB,IAAA,UAAA01B,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAA3xB,IAAA,GAAA2xB,UAAA,CAAAnzB,IAAA;QAAA;UAAA,MACnB,QAAOozB,MAAM,iCAAAp0B,aAAA,CAANo0B,MAAM,KAAG,GAAG,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAIA,MAAM,CAACC,MAAM,CAAC;YAAAF,UAAA,CAAAnzB,IAAA;YAAA;UAAA;UAAA,MACxE,IAAIX,KAAK,CAAC,kIAAkI,CAAC;QAAA;UAAA8zB,UAAA,CAAA7uB,EAAA,GAC9I0tB,EAAE;UAAAmB,UAAA,CAAAnzB,IAAA;UAAA,OACDozB,MAAM,CAACC,MAAM,CAACC,MAAM,CACxB/2B,CAAC,CAAC1H,WAAW,CAAC,CAAC,EACfi9B,EAAE,CAACyB,MAAM,CAACl3B,CAAC,GAAGC,CAAC,CACjB,CAAC;QAAA;UAAA62B,UAAA,CAAAK,EAAA,GAAAL,UAAA,CAAAzzB,IAAA;UAAA,OAAAyzB,UAAA,CAAAtzB,MAAA,eAAAszB,UAAA,CAAA7uB,EAAA,EAAA6uB,UAAA,CAAAK,EAAA;QAAA;QAAA;UAAA,OAAAL,UAAA,CAAAxxB,IAAA;MAAA;IAAA,GAAAsxB,SAAA;EAAA,CAEJ;EAAA,OAAAD,GAAA,CAAA3wB,KAAA,OAAAvO,SAAA;AAAA;AACD,SAAS2/B,EAAEA,CAACp3B,CAAC,EAAEC,CAAC,EAAiC;EAAA,IAA/BC,CAAC,GAAAzI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,SAAS;EAAA,IAAEmK,CAAC,GAAAnK,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,GAAG;EAAA,IAAEhD,CAAC,GAAAgD,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,CAAC;EAC7C,IAAMgJ,CAAC,GAAG,IAAI42B,eAAe,CAAC,CAAC;IAAE/2B,CAAC,GAAGtK,IAAI,CAACkgC,GAAG,CAAC,CAAC;EAC/C,OAAO;IACLoB,OAAO,EAAEhxB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAC,SAAAuE,SAAA;MAAA,IAAApH,CAAA;MAAA,OAAA/B,yBAAA,GAAAoB,IAAA,UAAAgI,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjE,IAAA,GAAAiE,SAAA,CAAAzF,IAAA;UAAA;YACC7B,CAAC,GAAGrN,CAAC;UAAA;YAAA,MAAEqN,CAAC,IAAIF,CAAC;cAAAwH,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,KAChBlD,CAAC,CAAC82B,MAAM,CAACC,OAAO;cAAApuB,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WACX,IAAI;UAAA;YAAA4F,SAAA,CAAAzF,IAAA;YAAA,OACH2yB,EAAE,CAACr2B,CAAC,EAAE6B,CAAC,EAAE5B,CAAC,CAAC;UAAA;YAAAkJ,SAAA,CAAAnB,EAAA,GAAAmB,SAAA,CAAA/F,IAAA;YAAA+F,SAAA,CAAA+tB,EAAA,GAAKn3B,CAAC;YAAA,MAAAoJ,SAAA,CAAAnB,EAAA,KAAAmB,SAAA,CAAA+tB,EAAA;cAAA/tB,SAAA,CAAAzF,IAAA;cAAA;YAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WAClB;cACLi0B,MAAM,EAAE31B,CAAC;cACT41B,IAAI,EAAE1hC,IAAI,CAACkgC,GAAG,CAAC,CAAC,GAAG51B;YACrB,CAAC;UAAA;YAPmBwB,CAAC,IAAI,CAAC;YAAAsH,SAAA,CAAAzF,IAAA;YAAA;UAAA;YAAA,OAAAyF,SAAA,CAAA5F,MAAA,WASvB,IAAI;UAAA;UAAA;YAAA,OAAA4F,SAAA,CAAA9D,IAAA;QAAA;MAAA,GAAA4D,QAAA;IAAA,CACZ,GAAE,CAAC;IACJyuB,UAAU,EAAEl3B;EACd,CAAC;AACH;AACA,SAASm3B,EAAEA,CAAA,EAAG;EACZ,IAAI;IACF,OAAOC,IAAI,CAACC,cAAc,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC,CAACC,QAAQ;EACzD,CAAC,CAAC,OAAAC,QAAA,EAAM,CACR;AACF;AACA,SAASC,EAAEA,CAACl4B,CAAC,EAAE;EACb,IAAMC,CAAC,GAAGk4B,IAAI,CAACn4B,CAAC,CAAC;IAAEE,CAAC,GAAG,IAAI01B,UAAU,CAAC31B,CAAC,CAAC3L,MAAM,CAAC;EAC/C,KAAK,IAAIsN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3B,CAAC,CAAC3L,MAAM,EAAEsN,CAAC,EAAE,EAC/B1B,CAAC,CAAC0B,CAAC,CAAC,GAAG3B,CAAC,CAACm4B,UAAU,CAACx2B,CAAC,CAAC;EACxB,OAAO1B,CAAC;AACV;AACA,SAASm4B,EAAEA,CAACr4B,CAAC,EAAU;EAAA,IAARC,CAAC,GAAAxI,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;EACnB,IAAMyI,CAAC,GAAG,IAAI01B,UAAU,CAAC31B,CAAC,CAAC;EAC3B,KAAK,IAAI2B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG3B,CAAC,EAAE2B,CAAC,EAAE,EACxB1B,CAAC,CAAC0B,CAAC,CAAC,GAAG5B,CAAC,GAAG,GAAG,EAAEA,CAAC,GAAGm2B,IAAI,CAACmC,KAAK,CAACt4B,CAAC,GAAG,GAAG,CAAC;EACzC,OAAOE,CAAC;AACV;AAAC,SACcq4B,EAAEA,CAAAvtB,GAAA;EAAA,OAAAwtB,GAAA,CAAAxyB,KAAA,OAAAvO,SAAA;AAAA;AAAA,SAAA+gC,IAAA;EAAAA,GAAA,GAAAlyB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8zB,UAAkBz4B,CAAC;IAAA,IAAAC,CAAA;MAAAC,CAAA;MAAA0B,CAAA;MAAAnN,CAAA;MAAAgM,CAAA;MAAAH,CAAA;MAAAuB,CAAA;MAAAC,CAAA;MAAAnB,CAAA;MAAAyB,CAAA;MAAAs2B,OAAA,GAAAjhC,SAAA;IAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAAw3B,WAAAC,UAAA;MAAA,kBAAAA,UAAA,CAAAzzB,IAAA,GAAAyzB,UAAA,CAAAj1B,IAAA;QAAA;UAAE1D,CAAC,GAAAy4B,OAAA,CAAApkC,MAAA,QAAAokC,OAAA,QAAArkC,SAAA,GAAAqkC,OAAA,MAAG,EAAE;UAAEx4B,CAAC,GAAAw4B,OAAA,CAAApkC,MAAA,QAAAokC,OAAA,QAAArkC,SAAA,GAAAqkC,OAAA,MAAG,GAAG;UAAE92B,CAAC,GAAA82B,OAAA,CAAApkC,MAAA,QAAAokC,OAAA,QAAArkC,SAAA,GAAAqkC,OAAA,MAAG,CAAC;UACnCjkC,CAAC,GAAG,SAAS,EAAEgM,CAAC,GAAG,IAAI42B,eAAe,CAAC,CAAC,EAAE/2B,CAAC,GAAGtK,IAAI,CAACkgC,GAAG,CAAC,CAAC,EAAEr0B,CAAC;YAAA,IAAAg3B,KAAA,GAAAvyB,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAG,SAAAm0B,UAAA;cAAA,IAAA12B,CAAA,EAAAT,CAAA;cAAA,OAAA5B,yBAAA,GAAAoB,IAAA,UAAA43B,WAAAC,UAAA;gBAAA,kBAAAA,UAAA,CAAA7zB,IAAA,GAAA6zB,UAAA,CAAAr1B,IAAA;kBAAA;oBACzDvB,CAAC,GAAGR,CAAC;kBAAA;oBAAA,MAAEQ,CAAC,IAAIlC,CAAC;sBAAA84B,UAAA,CAAAr1B,IAAA;sBAAA;oBAAA;oBAAA,MAChBlD,CAAC,CAAC82B,MAAM,CAACC,OAAO,IAAI,CAAC11B,CAAC,IAAI,CAACnB,CAAC;sBAAAq4B,UAAA,CAAAr1B,IAAA;sBAAA;oBAAA;oBAAA,OAAAq1B,UAAA,CAAAx1B,MAAA,WACvB,IAAI;kBAAA;oBAAAw1B,UAAA,CAAA7zB,IAAA;oBAAA6zB,UAAA,CAAAr1B,IAAA;oBAAA,OAEKozB,MAAM,CAACC,MAAM,CAACiC,OAAO,CACnC;sBACEv0B,IAAI,EAAEjQ,CAAC;sBACPykC,EAAE,EAAEb,EAAE,CAACj2B,CAAC;oBACV,CAAC,EACDN,CAAC,EACDnB,CACF,CAAC;kBAAA;oBAPKgB,CAAC,GAAAq3B,UAAA,CAAA31B,IAAA;oBAAA,KAQH1B,CAAC;sBAAAq3B,UAAA,CAAAr1B,IAAA;sBAAA;oBAAA;oBAAA,OAAAq1B,UAAA,CAAAx1B,MAAA,WACI;sBACL21B,SAAS,EAAE,IAAIC,WAAW,CAAC,CAAC,CAACC,MAAM,CAAC13B,CAAC,CAAC;sBACtC+1B,IAAI,EAAE1hC,IAAI,CAACkgC,GAAG,CAAC,CAAC,GAAG51B;oBACrB,CAAC;kBAAA;oBAAA04B,UAAA,CAAAr1B,IAAA;oBAAA;kBAAA;oBAAAq1B,UAAA,CAAA7zB,IAAA;oBAAA6zB,UAAA,CAAA/wB,EAAA,GAAA+wB,UAAA;kBAAA;oBAhBiB52B,CAAC,IAAI,CAAC;oBAAA42B,UAAA,CAAAr1B,IAAA;oBAAA;kBAAA;oBAAA,OAAAq1B,UAAA,CAAAx1B,MAAA,WAoBvB,IAAI;kBAAA;kBAAA;oBAAA,OAAAw1B,UAAA,CAAA1zB,IAAA;gBAAA;cAAA,GAAAwzB,SAAA;YAAA,CACZ;YAAA,gBAtB+Dj3B,CAACA,CAAA;cAAA,OAAAg3B,KAAA,CAAA7yB,KAAA,OAAAvO,SAAA;YAAA;UAAA;UAuB7DqK,CAAC,GAAG,IAAI,EAAEnB,CAAC,GAAG,IAAI;UAAAi4B,UAAA,CAAAzzB,IAAA;UAEpBxE,CAAC,GAAGu3B,EAAE,CAACl4B,CAAC,CAAC;UAAC44B,UAAA,CAAAj1B,IAAA;UAAA,OACMozB,MAAM,CAACC,MAAM,CAACC,MAAM,CAClC,SAAS,EACTxB,EAAE,CAACyB,MAAM,CAACj3B,CAAC,CACb,CAAC;QAAA;UAHKmC,CAAC,GAAAw2B,UAAA,CAAAv1B,IAAA;UAAAu1B,UAAA,CAAAj1B,IAAA;UAAA,OAIGozB,MAAM,CAACC,MAAM,CAACsC,SAAS,CAC/B,KAAK,EACLl3B,CAAC,EACD3N,CAAC,EACD,CAAC,CAAC,EACF,CAAC,SAAS,CACZ,CAAC;QAAA;UANDqN,CAAC,GAAA82B,UAAA,CAAAv1B,IAAA;UAAAu1B,UAAA,CAAAj1B,IAAA;UAAA;QAAA;UAAAi1B,UAAA,CAAAzzB,IAAA;UAAAyzB,UAAA,CAAA3wB,EAAA,GAAA2wB,UAAA;UAAA,OAAAA,UAAA,CAAAp1B,MAAA,WAQM;YACL8zB,OAAO,EAAEtyB,OAAO,CAACu0B,MAAM,CAAC,CAAC;YACzB5B,UAAU,EAAEl3B;UACd,CAAC;QAAA;UAAA,OAAAm4B,UAAA,CAAAp1B,MAAA,WAEI;YACL8zB,OAAO,EAAEz1B,CAAC,CAAC,CAAC;YACZ81B,UAAU,EAAEl3B;UACd,CAAC;QAAA;QAAA;UAAA,OAAAm4B,UAAA,CAAAtzB,IAAA;MAAA;IAAA,GAAAmzB,SAAA;EAAA,CACF;EAAA,OAAAD,GAAA,CAAAxyB,KAAA,OAAAvO,SAAA;AAAA;AACD,IAAI+hC,CAAC,GAAG,eAAiB,UAACx5B,CAAC;IAAA,OAAMA,CAAC,CAACy5B,KAAK,GAAG,OAAO,EAAEz5B,CAAC,CAAC05B,QAAQ,GAAG,UAAU,EAAE15B,CAAC,CAAC25B,SAAS,GAAG,WAAW,EAAE35B,CAAC,CAAC45B,UAAU,GAAG,YAAY,EAAE55B,CAAC,CAAC65B,OAAO,GAAG,SAAS,EAAE75B,CAAC;EAAA,CAAC,CAAEw5B,CAAC,IAAI,CAAC,CAAC,CAAC;EAAEM,EAAE,GAAG,eAAgBpN,EAAE,CAAC,mfAAmf,CAAC;EAAEqN,EAAE,GAAG,eAAgBzN,EAAE,CAAC,qHAAqH,EAAE,CAAC,CAAC;EAAE0N,EAAE,GAAG,eAAgB1N,EAAE,CAAC,yEAAyE,CAAC;EAAE2N,EAAE,GAAG,eAAgB3N,EAAE,CAAC,0CAA0C,CAAC;EAAE4N,EAAE,GAAG,eAAgB5N,EAAE,CAAC,m0CAAm0C,CAAC;EAAE6N,EAAE,GAAG,eAAgB7N,EAAE,CAAC,sCAAsC,CAAC;EAAE8N,EAAE,GAAG,eAAgB9N,EAAE,CAAC,sCAAsC,CAAC;EAAE+N,EAAE,GAAG,eAAgB/N,EAAE,CAAC,mUAAmU,CAAC;EAAEgO,EAAE,GAAG,eAAgBhO,EAAE,CAAC,qFAAqF,CAAC;EAAEiO,EAAE,GAAG,eAAgBjO,EAAE,CAAC,uDAAuD,CAAC;EAAEkO,EAAE,GAAG,eAAgBlO,EAAE,CAAC,yNAAyN,EAAE,CAAC,CAAC;AACzuG,IAAMmO,EAAE,GAAG;EACTnyB,IAAI,EAAE,eAAe;EACrB0mB,IAAI;AAQN,CAAC;AACD,SAAS0L,EAAEA,CAAC16B,CAAC,EAAEC,CAAC,EAAE;EAChB,IAAI06B,EAAE,EAAEC,EAAE;EACVjR,EAAE,CAAC1pB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE0uB,EAAE,CAAC3uB,CAAC,EAAEy6B,EAAE,CAAC;EACpB,IAAIv6B,CAAC,GAAGywB,CAAC,CAAC1wB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE2B,CAAC,GAAG+uB,CAAC,CAAC1wB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAExL,CAAC,GAAGk8B,CAAC,CAAC1wB,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEQ,CAAC,GAAGkwB,CAAC,CAAC1wB,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEK,CAAC,GAAGqwB,CAAC,CAAC1wB,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE4B,CAAC,GAAG8uB,CAAC,CAAC1wB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE6B,CAAC,GAAG6uB,CAAC,CAAC1wB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAAEU,CAAC,GAAGgwB,CAAC,CAAC1wB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEmC,CAAC,GAAGuuB,CAAC,CAAC1wB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE0B,CAAC,GAAGgvB,CAAC,CAAC1wB,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEqC,CAAC,GAAGquB,CAAC,CAAC1wB,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE0iB,CAAC,GAAGgO,CAAC,CAAC1wB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEyiB,CAAC,GAAGiO,CAAC,CAAC1wB,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE2iB,CAAC,GAAG+N,CAAC,CAAC1wB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE4iB,CAAC,GAAG8N,CAAC,CAAC1wB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC;IAAE6iB,CAAC,GAAG6N,CAAC,CAAC1wB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,CAAC;IAAE8iB,CAAC,GAAG4N,CAAC,CAAC1wB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEmZ,CAAC,GAAGuX,CAAC,CAAC1wB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEkxB,EAAE,GAAGR,CAAC,CAAC1wB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE8wB,EAAE,GAAGJ,CAAC,CAAC1wB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE+wB,CAAC,GAAGL,CAAC,CAAC1wB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAEixB,CAAC,GAAGP,CAAC,CAAC1wB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAEmxB,CAAC,GAAGT,CAAC,CAAC1wB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE46B,EAAE,GAAGlK,CAAC,CAAC1wB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAAE66B,EAAE,GAAGnK,CAAC,CAAC1wB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;MAAA,OAAMk2B,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAElnB,SAAS,CAACmnB,mBAAmB,IAAI,CAAC,CAAC;IAAA,EAAC;IAAEC,EAAE,GAAGtK,CAAC,CAAC1wB,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EAC73B,IAAMi7B,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAAEC,EAAE,GAAG,kBAAkB;IAAEC,EAAE,GAAG,qBAAqB;IAAEC,EAAE,GAAG,SAALA,EAAEA,CAAIj7B,CAAC,EAAES,CAAC,EAAK;MAChHZ,CAAC,CAAC8xB,MAAM,CAACuJ,aAAa,CAAC,IAAIC,WAAW,CAACn7B,CAAC,EAAE;QAAEo7B,MAAM,EAAE36B;MAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAE46B,EAAE,GAAG,CAACb,EAAE,GAAG,CAACD,EAAE,GAAG/kC,QAAQ,CAAC8lC,eAAe,CAACC,IAAI,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGhB,EAAE,CAACiB,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGhB,EAAE,CAAC,CAAC,CAAC;IAAEiB,EAAE,GAAG,eAAgBhb,EAAE,CAAC,YAAM;MAC3I,IAAIzgB,CAAC;MACL,OAAO3L,CAAC,CAAC,CAAC,IAAI,IAAI2lB,GAAG,CAAC3lB,CAAC,CAAC,CAAC,EAAEqU,QAAQ,CAACgzB,MAAM,CAAC,CAACnQ,IAAI,CAACoQ,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC37B,CAAC,GAAG3L,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI2L,CAAC,CAACggB,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjI,CAAC,CAAC;IAAE4b,EAAE,GAAG,eAAgBnb,EAAE,CAAC;MAAA,OAAMpgB,CAAC,CAAC,CAAC,GAAGw7B,EAAE,CAACx7B,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;IAAA,EAAC;IAAEy7B,EAAE,GAAG,eAAgBrb,EAAE,CAAC;MAAA,OAAMqQ,CAAC,CAAC,CAAC,GAAG+K,EAAE,CAAC/K,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAAA,EAAC;IAAEiL,CAAC,GAAG,eAAgBtb,EAAE,CAAC,YAAM;MACzI,IAAIzgB,CAAC;MACL,OAAA6F,mBAAA;QACEm2B,aAAa,EAAEjB,EAAE;QACjBhzB,KAAK,EAAE,uCAAuC;QAC9Ck0B,OAAO,EAAE,kCAAkC;QAC3CC,MAAM,4BAAAjiC,MAAA,CAA2B+gC,EAAE,wCAAA/gC,MAAA,CAAiC,CAAC,CAAC+F,CAAC,GAAGjK,CAAC,CAAC+lC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG97B,CAAC,CAACg8B,aAAa,KAAKjB,EAAE,kBAAc;QACxIoB,KAAK,EAAE,iBAAiB;QACxBC,QAAQ,EAAE,UAAU;QACpBC,SAAS,EAAE,cAAc;QACzBC,SAAS,EAAE;MAA2B,GACnCvmC,CAAC,CAAC+lC,EAAE,CAAC;IAEZ,CAAC,CAAC;IAAES,EAAE,GAAG,eAAgB9b,EAAE,CAAC;MAAA,OAAM+B,CAAC,CAAC,CAAC,OAAAvoB,MAAA,CAAOwoB,CAAC,CAAC,CAAC,cAAW;IAAA,EAAC;EAC3D,IAAI+Z,EAAE,GAAGhd,EAAE,CAAC,CAAC,CAAC,CAAC;IAAEid,CAAC,GAAGjd,EAAE,CAACyC,EAAE,CAACmX,CAAC,CAACI,UAAU,CAAC,CAAC;IAAEkD,CAAC,GAAGld,EAAE,CAAC,KAAK,CAAC,CAAC;IAAEmd,EAAE,GAAGnd,EAAE,CAAC,IAAI,CAAC;IAAEod,EAAE,GAAG,IAAI;IAAEj7B,CAAC,GAAG,IAAI;IAAEk7B,EAAE,GAAGrd,EAAE,CAAC,IAAI,CAAC;IAAEsd,EAAE,GAAG,IAAI;IAAEC,EAAE,GAAG,EAAE;IAAEC,EAAE,GAAGxd,EAAE,CAAC,IAAI,CAAC;EAC/IkI,EAAE,CAAC,YAAM;IACPuV,EAAE,CAAClnC,CAAC,CAAC8mC,EAAE,CAAC,CAAC;EACX,CAAC,CAAC,EAAEnV,EAAE,CAAC,YAAM;IACXwV,EAAE,CAACnnC,CAAC,CAAC0mC,CAAC,CAAC,CAAC;EACV,CAAC,CAAC,EAAErM,EAAE,CAAC,YAAM;IACX+M,EAAE,CAAC,CAAC,EAAEx7B,CAAC,KAAKA,CAAC,CAACmpB,mBAAmB,CAAC,QAAQ,EAAEsS,EAAE,CAAC,EAAEz7B,CAAC,CAACmpB,mBAAmB,CAAC,OAAO,EAAEuS,EAAE,CAAC,EAAE17B,CAAC,CAACmpB,mBAAmB,CAAC,SAAS,EAAEwS,EAAE,CAAC,EAAE37B,CAAC,GAAG,IAAI,CAAC,EAAEm7B,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAEtnC,QAAQ,CAACs1B,mBAAmB,CAAC,OAAO,EAAE0S,EAAE,CAAC,EAAEhoC,QAAQ,CAACs1B,mBAAmB,CAAC,QAAQ,EAAE2S,EAAE,CAAC,EAAEh1B,MAAM,CAACqiB,mBAAmB,CAAC,QAAQ,EAAE4S,EAAE,CAAC;EAC5S,CAAC,CAAC,EAAEvN,EAAE,CAAC,YAAM;IACX,IAAInwB,CAAC;IACL29B,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAEA,CAAC,CAAC,SAAS,EAAEjD,EAAE,CAAC,CAAC,CAAC,EAAEkD,EAAE,CAAC,CAAC,EAAED,CAAC,CAAC,SAAS,EAAEZ,EAAE,CAAC7oC,MAAM,GAAG6oC,EAAE,CAAC1U,GAAG,CAAC,UAAC5nB,CAAC;MAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACw5B,UAAU;IAAA,EAAC,CAACnI,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE1E,CAAC,CAAC,CAAC,IAAI2M,CAAC,CAAC,iBAAiB,CAAC,EAAEp9B,CAAC,CAAC,CAAC,IAAIu9B,EAAE,CAACv9B,CAAC,CAAC,CAAC,CAAC,EAAET,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI69B,CAAC,CAAC,MAAM,EAAE79B,CAAC,CAAC,CAAC,CAAC,EAAEkC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI+7B,EAAE,CAAC/7B,CAAC,CAAC,CAAC,CAAC,EAAEL,CAAC,GAAG,CAAC3B,CAAC,GAAGjK,CAAC,CAAC2mC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG18B,CAAC,CAACrH,OAAO,CAAC,MAAM,CAAC,EAAEgJ,CAAC,KAAKA,CAAC,CAAC3C,gBAAgB,CAAC,QAAQ,EAAEo+B,EAAE,EAAE;MAAEjT,OAAO,EAAE,CAAC;IAAE,CAAC,CAAC,EAAExoB,CAAC,CAAC3C,gBAAgB,CAAC,OAAO,EAAEq+B,EAAE,CAAC,EAAEv9B,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI6B,CAAC,CAAC3C,gBAAgB,CAAC,SAAS,EAAEs+B,EAAE,CAAC,CAAC,EAAEx9B,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAKkZ,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,CAAC,EAAEloC,CAAC,CAAC0lC,EAAE,CAAC,KAAKlZ,CAAC,CAAC,CAAC,IAAID,CAAC,CAAC,CAAC,CAAC,IAAIqb,CAAC,CAAC,mGAAmG,CAAC,EAAEO,qBAAqB,CAAC,YAAM;MAC9nBjD,EAAE,CAAC,MAAM,CAAC;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,SAASkD,EAAEA,CAACn+B,CAAC,EAAES,CAAC,EAAE;IAChB,OAAO29B,IAAI,CAACtpC,IAAI,CAACC,SAAS,CAAC;MACzBohC,SAAS,EAAEn2B,CAAC,CAACm2B,SAAS;MACtBC,SAAS,EAAEp2B,CAAC,CAACo2B,SAAS;MACtBiB,MAAM,EAAE52B,CAAC,CAAC42B,MAAM;MAChBhB,IAAI,EAAEr2B,CAAC,CAACq2B,IAAI;MACZC,SAAS,EAAEt2B,CAAC,CAACs2B,SAAS;MACtBrd,IAAI,EAAE+X,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;MACvBsG,IAAI,EAAE72B,CAAC,CAAC62B;IACV,CAAC,CAAC,CAAC;EACL;EACA,SAAS6F,EAAEA,CAAA,EAAG;IACZ,SAAAkB,GAAA,MAAAC,GAAA,GAAgBvB,EAAE,EAAAsB,GAAA,GAAAC,GAAA,CAAApqC,MAAA,EAAAmqC,GAAA;MAAb,IAAMr+B,CAAC,GAAAs+B,GAAA,CAAAD,GAAA;MACVr+B,CAAC,CAACu+B,OAAO,CAAC,CAAC;IAAC;EAChB;EACA,SAASC,EAAEA,CAAA,EAAG;IACZnqC,CAAC,CAAC,CAAC,IAAIs8B,EAAE,CAAC,CAAC,IAAI56B,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,GAAG2E,EAAE,CAAC,CAAC,GAAGQ,EAAE,CAACrF,CAAC,CAACK,OAAO,EAAE1jC,CAAC,CAACgmC,CAAC,CAAC,CAACE,OAAO,CAAC;EACzE;EAAC,SACcyC,EAAEA,CAAA;IAAA,OAAAC,GAAA,CAAA/4B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAsnC,IAAA;IAAAA,GAAA,GAAAz4B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8E,SAAA;MAAA,IAAArJ,CAAA,EAAA4+B,CAAA,EAAAn+B,CAAA,EAAAo+B,CAAA,EAAAC,CAAA,EAAAC,CAAA,EAAAvV,CAAA,EAAA1nB,CAAA,EAAAk9B,CAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,GAAA;MAAA,OAAAx/B,yBAAA,GAAAoB,IAAA,UAAA2I,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA5E,IAAA,GAAA4E,SAAA,CAAApG,IAAA;UAAA;YAAA,KAEMof,CAAC,CAAC,CAAC;cAAAhZ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACCo6B,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI/6B,KAAK,CAAC,eAAe,CAAC;UAAA;YAAA,KAClD7M,CAAC,CAAC6lC,EAAE,CAAC;cAAAjyB,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,OAAAoG,SAAA,CAAAvG,MAAA,YACAu6B,CAAC,CAAC,0BAA0B,CAAC,EAAE5nC,CAAC,CAAC6lC,EAAE,CAAC;UAAA;YAAA,KACzC5K,CAAC,CAAC,CAAC;cAAArnB,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,OAAAoG,SAAA,CAAAvG,MAAA,YACEu6B,CAAC,CAAC,2BAA2B,EAAE;cAAE1kB,IAAI,EAAE+X,CAAC,CAAC;YAAE,CAAC,CAAC,EAAE2E,EAAE,CAAC,OAAO3E,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,CAACA,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;UAAA;YAEjG,IAAI,CAAC38B,CAAC,CAAC,CAAC,IAAIsN,CAAC,EAAE;cACPi9B,CAAC,GAAGj9B,CAAC,CAAC3H,YAAY,CAAC,QAAQ,CAAC;cAClC4kC,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC5e,QAAQ,CAAC,QAAQ,CAAC,IAAI3rB,CAAC,CAACuqC,CAAC,GAAG,SAAS,CAAC;YACvD;YAAC,IACIvqC,CAAC,CAAC,CAAC;cAAAsV,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACA,IAAIX,KAAK,CAAC,iCAAiC,CAAC;UAAA;YACpD+6B,CAAC,CAAC,yBAAyB,EAAEtpC,CAAC,CAAC,CAAC,CAAC;YAC7BoM,CAAC,GAAG,IAAI,EAAEo+B,CAAC,GAAG,IAAI;YAAA,KAClB3+B,CAAC,CAAC,CAAC;cAAAyJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACDo6B,CAAC,CAAC,mBAAmB,CAAC,EAAE,OAAOz9B,CAAC,CAAC,CAAC,IAAI,QAAQ;cAAAyJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC5C9C,CAAC,GAAG2+B,UAAU,CAACl/B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAACO,CAAC;cAAAkJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC3B,IAAIX,KAAK,qCAAA3I,MAAA,CAAqCiG,CAAC,CAAC,CAAC,CAAE,CAAC;UAAA;YAAAyJ,SAAA,CAAApG,IAAA;YAAA;UAAA;YAE5D9C,CAAC,GAAGP,CAAC,CAAC,CAAC;UAAC;YACN4+B,CAAC,GAAG;cACRv3B,OAAO,EAAEqpB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG;gBAAE,sBAAsB,EAAE;cAAI,CAAC,GAAG,CAAC;YAC3D,CAAC;YAAA,KACGnwB,CAAC;cAAAkJ,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAAoG,SAAA,CAAApG,IAAA;YAAA,OACW9C,CAAC,CAACpM,CAAC,CAAC,CAAC,EAAEyqC,CAAC,CAAC;UAAA;YAAnBD,CAAC,GAAAl1B,SAAA,CAAA1G,IAAA;YAAA,MAAoB,CAAC47B,CAAC,IAAI,EAAEA,CAAC,YAAYQ,QAAQ,CAAC;cAAA11B,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MAC/C,IAAIX,KAAK,CAAC,kDAAkD,CAAC;UAAA;YAAA+G,SAAA,CAAApG,IAAA;YAAA;UAAA;YAAAoG,SAAA,CAAApG,IAAA;YAAA,OAE3DkE,KAAK,CAACpT,CAAC,CAAC,CAAC,EAAEyqC,CAAC,CAAC;UAAA;YAAvBD,CAAC,GAAAl1B,SAAA,CAAA1G,IAAA;UAAA;YAAA,MACC47B,CAAC,CAACl3B,MAAM,KAAK,GAAG;cAAAgC,SAAA,CAAApG,IAAA;cAAA;YAAA;YAAA,MACZ,IAAIX,KAAK,0BAAA3I,MAAA,CAA0B4kC,CAAC,CAACl3B,MAAM,MAAG,CAAC;UAAA;YACjDo3B,CAAC,GAAGF,CAAC,CAACt3B,OAAO,CAAC0P,GAAG,CAAC,iBAAiB,CAAC;YAAAtN,SAAA,CAAApG,IAAA;YAAA,OAAYs7B,CAAC,CAACj3B,IAAI,CAAC,CAAC;UAAA;YAAlB4hB,CAAC,GAAA7f,SAAA,CAAA1G,IAAA;YAAmBnB,CAAC,GAAG,IAAIwG,eAAe,CAAC,CAACtI,CAAC,GAAGwpB,CAAC,CAAC6M,IAAI,CAACmF,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAGx7B,CAAC,CAAC,CAAC,CAAC,CAAC;YAAEg/B,CAAC,GAAGl9B,CAAC,CAACmV,GAAG,CAAC,SAAS,CAAC,IAAInV,CAAC,CAACmV,GAAG,CAAC,QAAQ,CAAC;YACjL,IAAI+nB,CAAC,EAAE;cACCJ,EAAC,GAAG,IAAIhpC,IAAI,CAAC,CAACopC,CAAC,GAAG,GAAG,CAAC,EAAEE,EAAE,GAAG1qC,KAAK,CAACoqC,EAAC,CAAC/oC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG+oC,EAAC,CAAC/oC,OAAO,CAAC,CAAC,GAAGD,IAAI,CAACkgC,GAAG,CAAC,CAAC;cACpFoJ,EAAE,GAAG,CAAC,IAAIpB,EAAE,CAACoB,EAAE,CAAC;YAClB;YACA,IAAIH,CAAC,EACH,IAAI;cACIH,GAAC,GAAG9pC,IAAI,CAACuK,KAAK,CAAC0/B,CAAC,CAAC;cACvBH,GAAC,IAAIr8B,aAAA,CAAOq8B,GAAC,KAAI,QAAQ,KAAKA,GAAC,CAACU,SAAS,KAAKV,GAAC,CAACU,SAAS,GAAG,IAAItlB,GAAG,CAAC4kB,GAAC,CAACU,SAAS,EAAE,IAAItlB,GAAG,CAAC3lB,CAAC,CAAC,CAAC,CAAC,CAAC,CAACkU,QAAQ,CAAC,CAAC,CAAC,EAAEg3B,EAAE,CAACX,GAAC,CAAC,CAAC;YACpH,CAAC,CAAC,OAAOA,CAAC,EAAE;cACVjB,CAAC,CAAC,0CAA0C,EAAEiB,CAAC,CAAC;YAClD;YAAC,OAAAj1B,SAAA,CAAAvG,MAAA,WACIomB,CAAC;UAAA;UAAA;YAAA,OAAA7f,SAAA,CAAAzE,IAAA;QAAA;MAAA,GAAAmE,QAAA;IAAA,CAEX;IAAA,OAAAs1B,GAAA,CAAA/4B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAASmoC,EAAEA,CAACx/B,CAAC,EAAE;IACb,IAAI6+B,CAAC;IACL,IAAMp+B,CAAC,GAAGkB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC5H,aAAa,CAAC,OAAOiG,CAAC,IAAI,QAAQ,mBAAA/F,MAAA,CAAkB+F,CAAC,WAAO,+CAA+C,CAAC;IAC7I,OAAO,CAAC,CAAC6+B,CAAC,GAAGp+B,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC3M,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG+qC,CAAC,CAAC55B,KAAK,CAACxE,CAAC,CAAC3M,KAAK,CAACikB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC;EACxG;EACA,SAAS0nB,EAAEA,CAAA,EAAG;IACZ,OAAO7O,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG;MAC3B8O,gBAAgB,EAAE,KAAK,CAAC;MACxBC,UAAU,EAAE,KAAK,CAAC;MAClBC,YAAY,EAAE,KAAK,CAAC;MACpBC,KAAK,EAAE,CAAC,CAAC;MACTC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,MAAM,EAAE,CAAC,CAAC;MACVC,SAAS,EAAE,KAAK,CAAC;MACjBniC,IAAI,EAAE,KAAK,CAAC;MACZ85B,QAAQ,EAAE,KAAK;IACjB,CAAC,GAAGr1B,aAAA,CAAOquB,CAAC,CAAC,CAAC,KAAI,QAAQ,GAAGA,CAAC,CAAC,CAAC,GAAG;MACjC8O,gBAAgB,EAAE,KAAK,CAAC;MACxBC,UAAU,EAAE,KAAK,CAAC;MAClBC,YAAY,EAAE,KAAK,CAAC;MACpBC,KAAK,EAAE,KAAK,CAAC;MACbC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,iBAAiB,EAAE,KAAK,CAAC;MACzBC,MAAM,EAAE,KAAK,CAAC;MACdC,SAAS,EAAE,KAAK,CAAC;MACjBniC,IAAI,EAAE,KAAK,CAAC;MACZ85B,QAAQ,EAAE,KAAK;IACjB,CAAC;EACH;EACA,SAASsI,EAAEA,CAAClgC,CAAC,EAAE;IACb,OAAOqY,kBAAA,CACF,CAAC1W,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAClM,gBAAgB,CAACuK,CAAC,IAAI,IAAI,IAAIA,CAAC,CAAC9L,MAAM,GAAG8L,CAAC,CAACqoB,GAAG,CAAC,UAACwW,CAAC;MAAA,uBAAA5kC,MAAA,CAAoB4kC,CAAC;IAAA,CAAI,CAAC,CAACnJ,IAAI,CAAC,IAAI,CAAC,GAAG,kFAAkF,CAAC,KAAK,EAAE,EAC9MyK,MAAM,CACN,UAACtB,CAAC,EAAEC,CAAC,EAAK;MACR,IAAMC,CAAC,GAAGD,CAAC,CAACx6B,IAAI;QAAEklB,CAAC,GAAGsV,CAAC,CAAChrC,KAAK;MAC7B,OAAOirC,CAAC,IAAIvV,CAAC,KAAKqV,CAAC,CAACE,CAAC,CAAC,GAAG,IAAI,CAAC9lB,IAAI,CAACuQ,CAAC,CAAC,GAAGA,CAAC,CAAC4W,OAAO,CAAC,IAAIC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,QACvF,CAAC,GAAG7W,CAAC,CAAC,EAAEqV,CAAC;IACJ,CAAC,EACD,CAAC,CACH,CAAC;EACH;EACA,SAASjB,EAAEA,CAAA,EAAG;IACZ,IAAM59B,CAAC,GAAG+wB,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAGA,EAAE,CAAC,CAAC,CAACyK,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,IAAA8E,WAAA,GAAAxnB,0BAAA,CACrCsmB,UAAU,CAACmB,aAAa;MAAAC,OAAA;IAAA;MAAxC,KAAAF,WAAA,CAAA5+B,CAAA,MAAA8+B,OAAA,GAAAF,WAAA,CAAAtgC,CAAA,IAAA6C,IAAA,GACE;QAAA,IADSpC,CAAC,GAAA+/B,OAAA,CAAA1sC,KAAA;QACV,CAAC,CAACkM,CAAC,IAAIA,CAAC,CAACggB,QAAQ,CAACvf,CAAC,CAACo9B,UAAU,CAAC,KAAKd,EAAE,CAACh5B,IAAI,CAAC,IAAItD,CAAC,CAAC;UAChD6f,EAAE,EAAEvqB,CAAC,CAAC2mC,CAAC,CAAC;UACR+D,OAAO,EAAEzC,EAAE;UACX0C,QAAQ,EAAEzF,EAAE;UACZ0F,gBAAgB,EAAEC,EAAE;UACpBC,iBAAiB,EAAEC,EAAE;UACrBC,QAAQ,EAAEC,EAAE;UACZxxB,GAAG,EAAEmuB,CAAC;UACNz5B,KAAK,EAAEu6B,EAAE;UACTwC,KAAK,EAAEC,EAAE;UACTC,QAAQ,EAAEC,EAAE;UACZC,iBAAiB,EAAEC,EAAE;UACrBC,MAAM,EAAEtD;QACV,CAAC,CAAC,CAAC;MAAA;IAAC,SAAAlb,GAAA;MAAAud,WAAA,CAAA1gC,CAAA,CAAAmjB,GAAA;IAAA;MAAAud,WAAA,CAAA7+B,CAAA;IAAA;EACR;EACA,SAASk8B,CAACA,CAAA,EAAO;IAAA,IAAA6D,QAAA;IAAA,SAAAC,KAAA,GAAApqC,SAAA,CAAAnD,MAAA,EAAH8L,CAAC,OAAAwY,KAAA,CAAAipB,KAAA,GAAAC,KAAA,MAAAA,KAAA,GAAAD,KAAA,EAAAC,KAAA;MAAD1hC,CAAC,CAAA0hC,KAAA,IAAArqC,SAAA,CAAAqqC,KAAA;IAAA;IACb,CAACjgC,CAAC,CAAC,CAAC,IAAIzB,CAAC,CAAC2hC,IAAI,CAAC,UAAClhC,CAAC;MAAA,OAAKA,CAAC,YAAYmC,KAAK;IAAA,EAAC,KAAK,CAAA4+B,QAAA,GAAA15B,OAAO,EAAC9H,CAAC,CAAC,CAAC,CAAC,YAAY4C,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAAgD,KAAA,CAAA47B,QAAA,GAAC,QAAQ,WAAAvnC,MAAA,CAAWwoB,CAAC,CAAC,CAAC,QAAAxoB,MAAA,CAAQ+F,CAAC,EAAC;EACjI;EACA,SAAS4hC,EAAEA,CAAA,EAAG;IACZ,CAACxI,CAAC,CAACI,UAAU,EAAEJ,CAAC,CAACC,KAAK,EAAED,CAAC,CAACK,OAAO,CAAC,CAACzZ,QAAQ,CAACjqB,CAAC,CAAC0mC,CAAC,CAAC,CAAC,GAAG7L,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAACjvB,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAACkgC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG/hB,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC,GAAGxjB,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,GAAGne,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC;EAChK;EACA,SAASgB,EAAEA,CAACx9B,CAAC,EAAE;IACb,IAAMS,CAAC,GAAGT,CAAC,CAACyV,MAAM;IAClBzT,CAAC,CAAC,CAAC,IAAIvB,CAAC,IAAI,CAAC1K,CAAC,CAAC2mC,CAAC,CAAC,CAACphC,QAAQ,CAACmF,CAAC,CAAC,KAAK1K,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,IAAIx5B,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI/J,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,CAAC,KAAKzjC,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACoF,OAAO,GAAG,MAAM,CAAC;EACnI;EACA,SAASqoB,EAAEA,CAAA,EAAG;IACZz7B,CAAC,CAAC,CAAC,IAAIjM,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIsI,EAAE,CAAC,CAAC;EACtC;EACA,SAAS7E,EAAEA,CAACj9B,CAAC,EAAE;IACb,SAAA+hC,GAAA,MAAAC,IAAA,GAAgBjF,EAAE,EAAAgF,GAAA,GAAAC,IAAA,CAAA9tC,MAAA,EAAA6tC,GAAA;MAAb,IAAMthC,CAAC,GAAAuhC,IAAA,CAAAD,GAAA;MACV,OAAOthC,CAAC,CAACwhC,aAAa,IAAI,UAAU,IAAIxhC,CAAC,CAACwhC,aAAa,CAAClsC,CAAC,CAAC8mC,EAAE,CAAC,CAAC;IAAC;EACnE;EACA,SAASS,EAAEA,CAACt9B,CAAC,EAAE;IACbjK,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIyE,EAAE,CAAC,CAAC;EAC/B;EACA,SAASb,EAAEA,CAACp9B,CAAC,EAAE;IACb2B,CAAC,IAAI7B,CAAC,CAAC,CAAC,KAAK,UAAU,GAAG/J,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAIx5B,CAAC,CAACkiC,cAAc,CAAC,CAAC,EAAEliC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAE++B,EAAE,CAAC,CAAC,CAACv7B,IAAI,CAAC,YAAM;MAC1Gf,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACwgC,aAAa,CAAC,CAAC;IAChC,CAAC,CAAC,IAAIpsC,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,KAAKt5B,CAAC,CAACkiC,cAAc,CAAC,CAAC,EAAEliC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAEnJ,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAI6I,EAAE,CAAC,CAAC,CAAC,GAAGzgC,CAAC,IAAIK,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI/J,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,KAAKx5B,CAAC,CAACkiC,cAAc,CAAC,CAAC,EAAEliC,CAAC,CAACd,eAAe,CAAC,CAAC,EAAEnJ,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACoF,OAAO,GAAG,OAAO,EAAE0sB,EAAE,CAAC,CAAC,CAAC;EAC5O;EACA,SAASzE,EAAEA,CAAA,EAAG;IACZoB,EAAE,CAAC,CAAC;EACN;EACA,SAAS2D,EAAEA,CAAA,EAAG;IACZrsC,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAIxjC,CAAC,CAACgmC,CAAC,CAAC,CAACO,SAAS,IAAIp/B,KAAK,CAACnH,CAAC,CAACgmC,CAAC,CAAC,CAACO,SAAS,CAAC;EACjE;EACA,SAASY,EAAEA,CAACl9B,CAAC,EAAE;IACb,SAAAqiC,GAAA,MAAAC,IAAA,GAAgBvF,EAAE,EAAAsF,GAAA,GAAAC,IAAA,CAAApuC,MAAA,EAAAmuC,GAAA;MAAb,IAAM5hC,CAAC,GAAA6hC,IAAA,CAAAD,GAAA;MACV,OAAO5hC,CAAC,CAAC8hC,aAAa,IAAI,UAAU,IAAI9hC,CAAC,CAAC8hC,aAAa,CAACxsC,CAAC,CAAC0mC,CAAC,CAAC,CAAC;IAAC;IAChEz6B,CAAC,CAAC,CAAC,IAAIjM,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACI,UAAU,IAAI0E,qBAAqB,CAAC,YAAM;MAC1D4D,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAEhiB,CAAC,CAAC0c,EAAE,EAAEzmC,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,CAAC;EAChC;EACA,SAASoE,EAAEA,CAAA,EAAG;IACZ17B,CAAC,CAAC,CAAC,IAAI8/B,EAAE,CAAC,CAAC;EACb;EACA,SAASjG,EAAEA,CAAC77B,CAAC,EAAE;IACb,OAAOlL,IAAI,CAACuK,KAAK,CAACW,CAAC,CAAC;EACtB;EACA,SAAS8hC,EAAEA,CAAA,EAAS;IAAA,IAAR9hC,CAAC,GAAA3I,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;IAChB,IAAItB,CAAC,CAAC2mC,CAAC,CAAC,EACN,IAAIE,EAAE,KAAKA,EAAE,GAAG,CAACr7B,CAAC,CAAC,CAAC,GAAG/L,QAAQ,CAACuE,aAAa,CAACwH,CAAC,CAAC,CAAC,CAAC,GAAGI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC5H,aAAa,CAAC,8FAA8F,CAAC,KAAK4H,CAAC,CAAC,EAAEi7B,EAAE,EAAE;MACpM,IAAMn8B,CAAC,GAAGutB,QAAQ,CAAC9rB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE;QAAE28B,CAAC,GAAGjC,EAAE,CAAClgC,qBAAqB,CAAC,CAAC;QAAEoiC,CAAC,GAAG/oC,CAAC,CAAC2mC,CAAC,CAAC,CAAChgC,qBAAqB,CAAC,CAAC;QAAEqiC,CAAC,GAAGvpC,QAAQ,CAAC8lC,eAAe,CAACkH,YAAY;QAAEhZ,CAAC,GAAGh0B,QAAQ,CAAC8lC,eAAe,CAACmH,WAAW;QAAE3gC,CAAC,GAAGE,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG68B,CAAC,CAAC6D,MAAM,GAAG5D,CAAC,CAACjiC,MAAM,GAAG4D,CAAC,GAAGT,CAAC,GAAG++B,CAAC,GAAG/8B,CAAC,CAAC,CAAC,KAAK,KAAK;QAAEg9B,CAAC,GAAGjJ,IAAI,CAAC4M,GAAG,CAAC3iC,CAAC,EAAE+1B,IAAI,CAAC4E,GAAG,CAACnR,CAAC,GAAGxpB,CAAC,GAAG8+B,CAAC,CAAChiC,KAAK,EAAE+hC,CAAC,CAACjiC,IAAI,GAAGiiC,CAAC,CAAC/hC,KAAK,GAAG,CAAC,GAAGgiC,CAAC,CAAChiC,KAAK,GAAG,CAAC,CAAC,CAAC;MAC9U,IAAIgF,CAAC,GAAG/L,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACzT,GAAG,MAAAtC,MAAA,CAAM4kC,CAAC,CAACtiC,GAAG,IAAIuiC,CAAC,CAACjiC,MAAM,GAAG4D,CAAC,CAAC,OAAI,GAAG1K,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACzT,GAAG,MAAAtC,MAAA,CAAM4kC,CAAC,CAAC6D,MAAM,GAAGjiC,CAAC,OAAI,EAAE1K,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACpT,IAAI,MAAA3C,MAAA,CAAM+kC,CAAC,OAAI,EAAEjpC,CAAC,CAAC2mC,CAAC,CAAC,CAAC5kC,YAAY,CAAC,eAAe,EAAEgK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,EAAE/L,CAAC,CAAC4mC,EAAE,CAAC,EAAE;QAC1L,IAAMiC,CAAC,GAAG7oC,CAAC,CAAC4mC,EAAE,CAAC,CAACjgC,qBAAqB,CAAC,CAAC;QACvC3G,CAAC,CAAC4mC,EAAE,CAAC,CAAC3sB,KAAK,CAACpT,IAAI,GAAGiiC,CAAC,CAACjiC,IAAI,GAAGoiC,CAAC,GAAGH,CAAC,CAAC/hC,KAAK,GAAG,CAAC,GAAG8hC,CAAC,CAAC9hC,KAAK,GAAG,CAAC,GAAG,IAAI;MAClE;IACF,CAAC,MACC6gC,CAAC,CAAC,wCAAwC,CAAC;EACjD;EAAC,SACciF,EAAEA,CAAA/3B,GAAA;IAAA,OAAAg4B,GAAA,CAAAj9B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAwrC,IAAA;IAAAA,GAAA,GAAA38B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA8F,SAAkBrK,CAAC;MAAA,IAAAS,CAAA,EAAAqiC,GAAA,EAAA/D,CAAA,EAAAvV,CAAA,EAAA1nB,CAAA,EAAAk9B,CAAA,EAAAJ,CAAA,EAAAM,EAAA,EAAA6D,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAArE,CAAA,EAAAC,CAAA;MAAA,OAAAn/B,yBAAA,GAAAoB,IAAA,UAAAwJ,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAzF,IAAA,GAAAyF,SAAA,CAAAjH,IAAA;UAAA;YAAA,IACZk3B,EAAE,CAAC,CAAC;cAAAjwB,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MACD,IAAIX,KAAK,CAAC,8BAA8B,CAAC;UAAA;YACjD+6B,CAAC,CAAC,qCAAqC,EAAElD,EAAE,CAAC,CAAC,CAAC;YACxCh6B,CAAC,GAAG;cAAE0iC,OAAO,EAAEnjC;YAAE,CAAC;YACxB,IAAI4wB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;cAAAkS,GAAA,GAYVrD,EAAE,CAAC,CAAC,EAVYV,CAAC,GAAA+D,GAAA,CAAnBpD,gBAAgB,EACJlW,CAAC,GAAAsZ,GAAA,CAAbnD,UAAU,EACI79B,CAAC,GAAAghC,GAAA,CAAflD,YAAY,EACLZ,CAAC,GAAA8D,GAAA,CAARjD,KAAK,EACcjB,CAAC,GAAAkE,GAAA,CAApB/C,iBAAiB,EACEb,EAAE,GAAA4D,GAAA,CAArBhD,iBAAiB,EACTiD,EAAE,GAAAD,GAAA,CAAV9C,MAAM,EACKgD,EAAE,GAAAF,GAAA,CAAb7C,SAAS,EACHgD,EAAE,GAAAH,GAAA,CAARhlC,IAAI,EACMolC,EAAE,GAAAJ,GAAA,CAAZlL,QAAQ;cAEVn3B,CAAC,CAACi/B,gBAAgB,GAAGX,CAAC,EAAEt+B,CAAC,CAACk/B,UAAU,GAAGnW,CAAC,EAAE/oB,CAAC,CAACm/B,YAAY,GAAG99B,CAAC,EAAErB,CAAC,CAACo/B,KAAK,GAAGb,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGQ,EAAE,CAACR,CAAC,CAAC,EAAEv+B,CAAC,CAACq/B,iBAAiB,GAAGZ,EAAE,EAAEz+B,CAAC,CAACs/B,iBAAiB,GAAGnB,CAAC,KAAKvD,EAAE,GAAG,CAACA,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE56B,CAAC,CAACu/B,MAAM,GAAG+C,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG7C,EAAE,CAAC6C,EAAE,CAAC,EAAEtiC,CAAC,CAACw/B,SAAS,GAAG+C,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,IAAI,MAAM,EAAEviC,CAAC,CAAC3C,IAAI,GAAGmlC,EAAE,EAAExiC,CAAC,CAACm3B,QAAQ,GAAGsL,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,GAAGA,EAAE,IAAI1L,EAAE,CAAC,CAAC;YAClU;YAAChtB,SAAA,CAAAjH,IAAA;YAAA,OACekE,KAAK,CAACgzB,EAAE,CAAC,CAAC,EAAE;cAC1BhgC,IAAI,EAAE3F,IAAI,CAACC,SAAS,CAAC0L,CAAC,CAAC;cACvB8G,OAAO,EAAE;gBAAE,cAAc,EAAE;cAAmB,CAAC;cAC/CzE,MAAM,EAAE;YACV,CAAC,CAAC;UAAA;YAJI+7B,CAAC,GAAAr0B,SAAA,CAAAvH,IAAA;YAAA,MAKH47B,CAAC,CAACl3B,MAAM,KAAK,GAAG;cAAA6C,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MACZ,IAAIX,KAAK,0BAAA3I,MAAA,CAA0B4kC,CAAC,CAACl3B,MAAM,MAAG,CAAC;UAAA;YAAA6C,SAAA,CAAAjH,IAAA;YAAA,OACvCs7B,CAAC,CAACj3B,IAAI,CAAC,CAAC;UAAA;YAAlBk3B,CAAC,GAAAt0B,SAAA,CAAAvH,IAAA;YAAA,MACH67B,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACqE,OAAO,IAAIrjB,CAAC,CAACkd,EAAE,EAAE/a,EAAE,CAAC6c,CAAC,CAACqE,OAAO,CAAC,CAAC,EAAElI,EAAE,CAAC,oBAAoB,EAAE6D,CAAC,CAAC,EAAEt9B,CAAC,CAAC,CAAC,IAAIs9B,CAAC,CAACsE,cAAc,KAAK,KAAK;cAAA54B,SAAA,CAAAjH,IAAA;cAAA;YAAA;YAAA,MAC1G,IAAIX,KAAK,CAAC,8CAA8C,CAAC;UAAA;UAAA;YAAA,OAAA4H,SAAA,CAAAtF,IAAA;QAAA;MAAA,GAAAmF,QAAA;IAAA,CAClE;IAAA,OAAAw4B,GAAA,CAAAj9B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAASymC,EAAEA,CAAC99B,CAAC,EAAE;IACb29B,CAAC,CAAC,QAAQ,EAAE39B,CAAC,CAAC,EAAE88B,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAE98B,CAAC,GAAG,CAAC,GAAGw+B,EAAE,CAAC,CAAC,GAAG1B,EAAE,GAAGlf,UAAU,CAAC4gB,EAAE,EAAEx+B,CAAC,CAAC;EAC5F;EACA,SAAS+9B,EAAEA,CAAC/9B,CAAC,EAAE;IACb29B,CAAC,CAAC,UAAU,EAAE39B,CAAC,CAAC,EAAEgC,CAAC,CAAC,CAAC,KAAKhC,CAAC,KAAKjK,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACpT,IAAI,GAAG,EAAE,EAAE7G,CAAC,CAAC2mC,CAAC,CAAC,CAAC1sB,KAAK,CAACzT,GAAG,GAAG,EAAE,CAAC,EAAEyF,CAAC,CAAChC,CAAC,KAAK,CAAC,CAAC,IAAIA,CAAC,KAAK,EAAE,GAAG,MAAM,GAAGA,CAAC,KAAK,CAAC,CAAC,IAAIA,CAAC,KAAK,OAAO,GAAG,KAAK,CAAC,GAAGgC,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,IAAIA,CAAC,CAAC,UAAU,CAAC,EAAEtK,QAAQ,CAACwJ,gBAAgB,CAAC,QAAQ,EAAEy+B,EAAE,CAAC,EAAEjoC,QAAQ,CAACwJ,gBAAgB,CAAC,OAAO,EAAEw+B,EAAE,CAAC,EAAE/0B,MAAM,CAACzJ,gBAAgB,CAAC,QAAQ,EAAE0+B,EAAE,CAAC,IAAI59B,CAAC,CAAC,CAAC,KAAK,UAAU,IAAIA,CAAC,CAAC,KAAK,CAAC,CAAC;EACjV;EACA,SAASujC,EAAEA,CAACrjC,CAAC,EAAE;IACb,IAAI,CAACA,CAAC,CAACm2B,SAAS,EACd,MAAM,IAAIvzB,KAAK,CAAC,mDAAmD,CAAC;IACtE,IAAI5C,CAAC,CAACs2B,SAAS,KAAK,KAAK,CAAC,EACxB,MAAM,IAAI1zB,KAAK,CAAC,mDAAmD,CAAC;IACtE,IAAI,CAACk4B,EAAE,CAAC9a,QAAQ,CAAChgB,CAAC,CAACm2B,SAAS,CAAC/9B,WAAW,CAAC,CAAC,CAAC,EACzC,MAAM,IAAIwK,KAAK,6CAAA3I,MAAA,CAA6C6gC,EAAE,CAACpF,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;IAC9E,IAAI,CAAC11B,CAAC,CAACo2B,SAAS,IAAIp2B,CAAC,CAACo2B,SAAS,CAACliC,MAAM,GAAG,EAAE,EACzC,MAAM,IAAI0O,KAAK,CAAC,wCAAwC,CAAC;IAC3D,IAAI,CAAC5C,CAAC,CAACq2B,IAAI,IAAIr2B,CAAC,CAACq2B,IAAI,CAACniC,MAAM,GAAG,EAAE,EAC/B,MAAM,IAAI0O,KAAK,CAAC,mCAAmC,CAAC;EACxD;EAAC,SACcs+B,EAAEA,CAAAp2B,GAAA;IAAA,OAAAw4B,GAAA,CAAA19B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAisC,IAAA;IAAAA,GAAA,GAAAp9B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAyG,SAAkBhL,CAAC;MAAA,IAAAS,CAAA,EAAAo+B,CAAA;MAAA,OAAAl/B,yBAAA,GAAAoB,IAAA,UAAAmK,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAApG,IAAA,GAAAoG,SAAA,CAAA5H,IAAA;UAAA;YACb9C,CAAC,GAAG,IAAI;YAAA,MACR,QAAQ,IAAIgI,MAAM;cAAA0C,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA4H,SAAA,CAAApG,IAAA;YAAAoG,SAAA,CAAA5H,IAAA;YAAA,OAERggC,EAAE,CAACvjC,CAAC,EAAEA,CAAC,CAACwjC,SAAS,CAAC;UAAA;YAA5B/iC,CAAC,GAAA0K,SAAA,CAAAlI,IAAA;YAAAkI,SAAA,CAAA5H,IAAA;YAAA;UAAA;YAAA4H,SAAA,CAAApG,IAAA;YAAAoG,SAAA,CAAAtD,EAAA,GAAAsD,SAAA;YAEDwyB,CAAC,CAAAxyB,SAAA,CAAAtD,EAAE,CAAC;UAAC;YAAA,MAEH,CAACpH,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC42B,MAAM,MAAM,KAAK,CAAC,IAAI,YAAY,IAAIr3B,CAAC;cAAAmL,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA,OAAA4H,SAAA,CAAA/H,MAAA,WAC1D;cAAExO,IAAI,EAAEoL,CAAC;cAAEyjC,QAAQ,EAAEhjC;YAAE,CAAC;UAAA;YAAA,MAE/B,YAAY,IAAIT,CAAC;cAAAmL,SAAA,CAAA5H,IAAA;cAAA;YAAA;YAAA4H,SAAA,CAAA5H,IAAA;YAAA,OACH40B,EAAE,CAACn4B,CAAC,CAAC0jC,UAAU,EAAE1jC,CAAC,CAACnM,GAAG,EAAEmM,CAAC,CAACwjC,SAAS,CAAC;UAAA;YAA9C3E,CAAC,GAAA1zB,SAAA,CAAAlI,IAAA;YAAAkI,SAAA,CAAA4rB,EAAA,GACQ/2B,CAAC;YAAAmL,SAAA,CAAA5H,IAAA;YAAA,OAAkBs7B,CAAC,CAAC3H,OAAO;UAAA;YAAA/rB,SAAA,CAAAw4B,EAAA,GAAAx4B,SAAA,CAAAlI,IAAA;YAAA,OAAAkI,SAAA,CAAA/H,MAAA;cAAlCxO,IAAI,EAAAuW,SAAA,CAAA4rB,EAAA;cAAK0M,QAAQ,EAAAt4B,SAAA,CAAAw4B;YAAA;UAAA;YAAAx4B,SAAA,CAAAy4B,EAAA,GAGpB5jC,CAAC;YAAAmL,SAAA,CAAA5H,IAAA;YAAA,OACSyzB,EAAE,CAACh3B,CAAC,CAACo2B,SAAS,EAAEp2B,CAAC,CAACq2B,IAAI,EAAEr2B,CAAC,CAACm2B,SAAS,EAAEn2B,CAAC,CAACwjC,SAAS,IAAI9gB,CAAC,CAAC,CAAC,CAAC,CAACwU,OAAO;UAAA;YAAA/rB,SAAA,CAAA04B,EAAA,GAAA14B,SAAA,CAAAlI,IAAA;YAAA,OAAAkI,SAAA,CAAA/H,MAAA;cADhFxO,IAAI,EAAAuW,SAAA,CAAAy4B,EAAA;cACJH,QAAQ,EAAAt4B,SAAA,CAAA04B;YAAA;UAAA;UAAA;YAAA,OAAA14B,SAAA,CAAAjG,IAAA;QAAA;MAAA,GAAA8F,QAAA;IAAA,CAEX;IAAA,OAAAs4B,GAAA,CAAA19B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SACcksC,EAAEA,CAAAh4B,GAAA;IAAA,OAAAu4B,GAAA,CAAAl+B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAysC,IAAA;IAAAA,GAAA,GAAA59B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAAoH,SAAkB3L,CAAC;MAAA,IAAAS,CAAA;QAAAo+B,CAAA;QAAAC,CAAA;QAAAh9B,CAAA;QAAAi9B,CAAA;QAAAvV,CAAA;QAAAua,IAAA;QAAAC,GAAA;QAAAC,EAAA;QAAAC,MAAA,GAAA7sC,SAAA;MAAA,OAAAsI,yBAAA,GAAAoB,IAAA,UAAA8K,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA/G,IAAA,GAAA+G,SAAA,CAAAvI,IAAA;UAAA;YAAE9C,CAAC,GAAAyjC,MAAA,CAAAhwC,MAAA,QAAAgwC,MAAA,QAAAjwC,SAAA,GAAAiwC,MAAA,MAAG,OAAOlT,CAAC,CAAC,CAAC,IAAI,QAAQ,GAAGA,CAAC,CAAC,CAAC,GAAGtO,CAAC,CAAC,CAAC;YAAEmc,CAAC,GAAAqF,MAAA,CAAAhwC,MAAA,QAAAgwC,MAAA,QAAAjwC,SAAA,GAAAiwC,MAAA,MAAGnO,IAAI,CAACoO,IAAI,CAACzJ,EAAE,CAAC,CAAC,CAAC;YACxEoE,CAAC,GAAG,EAAE;YACZD,CAAC,GAAG9I,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAE5E,IAAI,CAAC4M,GAAG,CAAC,CAAC,EAAE9D,CAAC,CAAC,CAAC;YAChC,KAAS/8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+8B,CAAC,EAAE/8B,CAAC,EAAE,EACxBg9B,CAAC,CAAC/6B,IAAI,CAACqgC,kBAAkB,CAACvJ,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5BkE,CAAC,GAAGhJ,IAAI,CAACoO,IAAI,CAAC1jC,CAAC,GAAGo+B,CAAC,CAAC;YAAA/yB,SAAA,CAAAvI,IAAA;YAAA,OAAYqB,OAAO,CAACy/B,GAAG,CAACvF,CAAC,CAACzW,GAAG,CAAC,UAACvmB,CAAC,EAAEk9B,CAAC,EAAK;cAChE,IAAMJ,CAAC,GAAGI,CAAC,GAAGD,CAAC;cACf,OAAO,IAAIn6B,OAAO,CAAC,UAACs6B,EAAE,EAAK;gBACzBp9B,CAAC,CAAC9C,gBAAgB,CAAC,SAAS,EAAE,UAAC+jC,EAAE,EAAK;kBACpC,IAAIA,EAAE,CAACnuC,IAAI,EACT,SAAA0vC,GAAA,MAAAC,EAAA,GAAiBzF,CAAC,EAAAwF,GAAA,GAAAC,EAAA,CAAArwC,MAAA,EAAAowC,GAAA;oBAAb,IAAMtB,EAAE,GAAAuB,EAAA,CAAAD,GAAA;oBACXtB,EAAE,KAAKlhC,CAAC,IAAIkhC,EAAE,CAACwB,WAAW,CAAC;sBAAEnsC,IAAI,EAAE;oBAAQ,CAAC,CAAC;kBAAC;kBAClD6mC,EAAE,CAAC6D,EAAE,CAACnuC,IAAI,CAAC;gBACb,CAAC,CAAC,EAAEkN,CAAC,CAAC0iC,WAAW,CAAC;kBAChBrB,OAAO,EAAEnjC,CAAC;kBACV2iC,GAAG,EAAE/D,CAAC,GAAGG,CAAC;kBACV0F,KAAK,EAAE7F,CAAC;kBACRvmC,IAAI,EAAE;gBACR,CAAC,CAAC;cACJ,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;UAAA;YAfyBmxB,CAAC,GAAA1d,SAAA,CAAA7I,IAAA;YAgB7B,KAAA8gC,IAAA,MAAAC,GAAA,GAAgBlF,CAAC,EAAAiF,IAAA,GAAAC,GAAA,CAAA9vC,MAAA,EAAA6vC,IAAA;cAANjiC,EAAC,GAAAkiC,GAAA,CAAAD,IAAA;cACVjiC,EAAC,CAAC4iC,SAAS,CAAC,CAAC;YAAC;YAAA,OAAA54B,SAAA,CAAA1I,MAAA,WACTomB,CAAC,CAACsL,IAAI,CAAC,UAAChzB,CAAC;cAAA,OAAK,CAAC,CAACA,CAAC;YAAA,EAAC,IAAI,IAAI;UAAA;UAAA;YAAA,OAAAgK,SAAA,CAAA5G,IAAA;QAAA;MAAA,GAAAyG,QAAA;IAAA,CAClC;IAAA,OAAAm4B,GAAA,CAAAl+B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SACc2mC,EAAEA,CAAA;IAAA,OAAA2G,GAAA,CAAA/+B,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAAstC,IAAA;IAAAA,GAAA,GAAAz+B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA+H,SAAA;MAAA,IAAAtM,CAAA;MAAA,OAAAL,yBAAA,GAAAoB,IAAA,UAAAyL,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA1H,IAAA,GAAA0H,SAAA,CAAAlJ,IAAA;UAAA;YAAA,IACOyV,CAAC,CAAC,CAAC;cAAAvM,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YACN69B,EAAE,CAAChI,CAAC,CAACC,KAAK,CAAC;YAAC,OAAA5sB,SAAA,CAAArJ,MAAA;UAAA;YAGRpD,CAAC,GAAG+8B,EAAE,CAACjI,IAAI,CAAC,UAACr0B,CAAC;cAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACw5B,UAAU,KAAK,aAAa;YAAA,EAAC;YAAA,MAChE,CAAC79B,CAAC,IAAI,EAAE,SAAS,IAAIA,CAAC,CAAC;cAAAyM,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YACzB69B,EAAE,CAAChI,CAAC,CAACC,KAAK,CAAC,EAAEsE,CAAC,CAAC,iFAAiF,CAAC;YAAC,OAAAlxB,SAAA,CAAArJ,MAAA;UAAA;YAAA,MAGhG,SAAS,IAAIpD,CAAC,IAAI,OAAOA,CAAC,CAACygC,OAAO,IAAI,UAAU;cAAAh0B,SAAA,CAAAlJ,IAAA;cAAA;YAAA;YAAA,OAAAkJ,SAAA,CAAArJ,MAAA,WAC3CpD,CAAC,CAACygC,OAAO,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAh0B,SAAA,CAAAvH,IAAA;QAAA;MAAA,GAAAoH,QAAA;IAAA,CACrB;IAAA,OAAAq4B,GAAA,CAAA/+B,KAAA,OAAAvO,SAAA;EAAA;EACD,SAASkoC,EAAEA,CAACv/B,CAAC,EAAE;IACbA,CAAC,CAAC0jC,UAAU,KAAK,KAAK,CAAC,IAAI1qB,CAAC,CAAChZ,CAAC,CAAC0jC,UAAU,CAAC,EAAE1jC,CAAC,CAAC4kC,IAAI,KAAK,KAAK,CAAC,KAAK9kC,CAAC,CAACE,CAAC,CAAC4kC,IAAI,CAAC,EAAE9kC,CAAC,CAAC,CAAC,KAAK,QAAQ,KAAKkZ,CAAC,CAAC,CAAC,GAAGglB,EAAE,CAAC,CAAC,GAAGC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAEj+B,CAAC,CAAC6kC,SAAS,KAAK,KAAK,CAAC,IAAIrjC,CAAC,CAAC,CAAC,CAACxB,CAAC,CAAC6kC,SAAS,CAAC,EAAE7kC,CAAC,CAAC8kC,WAAW,KAAK,KAAK,CAAC,IAAI5kC,CAAC,CAACF,CAAC,CAAC8kC,WAAW,CAAC,EAAE9kC,CAAC,CAAC+kC,cAAc,KAAK,KAAK,CAAC,IAAIxjC,CAAC,CAACvB,CAAC,CAAC+kC,cAAc,CAAC,EAAE/kC,CAAC,CAACglC,KAAK,KAAK,KAAK,CAAC,IAAItjC,CAAC,CAAC1B,CAAC,CAACglC,KAAK,CAAC,EAAEhlC,CAAC,CAACilC,cAAc,KAAK,KAAK,CAAC,IAAI/iC,CAAC,CAAClC,CAAC,CAACilC,cAAc,CAAC,EAAEjlC,CAAC,CAACklC,QAAQ,KAAK,KAAK,CAAC,IAAInH,EAAE,CAAC/9B,CAAC,CAACklC,QAAQ,CAAC,EAAEllC,CAAC,CAACmlC,MAAM,KAAK,KAAK,CAAC,KAAKrH,EAAE,CAAC99B,CAAC,CAACmlC,MAAM,CAAC,EAAE5kC,CAAC,CAACP,CAAC,CAACmlC,MAAM,CAAC,CAAC,EAAEnlC,CAAC,CAACo2B,SAAS,KAAK/1B,CAAC,CAAC,OAAOL,CAAC,CAACo2B,SAAS,IAAI,QAAQ,GAAGp2B,CAAC,CAACo2B,SAAS,GAAGthC,IAAI,CAACC,SAAS,CAACiL,CAAC,CAACo2B,SAAS,CAAC,CAAC,EAAEiN,EAAE,CAACttC,CAAC,CAAC6lC,EAAE,CAAC,CAAC,CAAC,EAAE57B,CAAC,CAAColC,YAAY,KAAK,KAAK,CAAC,IAAI/wC,CAAC,CAAC2L,CAAC,CAAColC,YAAY,CAAC,EAAEplC,CAAC,CAACqlC,KAAK,KAAK,KAAK,CAAC,IAAI5jC,CAAC,CAAC,CAAC,CAACzB,CAAC,CAACqlC,KAAK,CAAC,EAAErlC,CAAC,CAACslC,UAAU,KAAK,KAAK,CAAC,IAAI/iB,CAAC,CAAC,CAAC,CAACviB,CAAC,CAACslC,UAAU,CAAC,EAAEtlC,CAAC,CAACulC,QAAQ,KAAK,KAAK,CAAC,IAAIjjB,CAAC,CAAC,CAAC,CAACtiB,CAAC,CAACulC,QAAQ,CAAC,EAAEvlC,CAAC,CAACwjC,SAAS,KAAK,KAAK,CAAC,IAAI9gB,CAAC,CAAC,CAAC1iB,CAAC,CAACwjC,SAAS,CAAC,EAAExjC,CAAC,CAACwlC,SAAS,KAAK,KAAK,CAAC,IAAI7iB,CAAC,CAAC,CAAC,CAAC3iB,CAAC,CAACwlC,SAAS,CAAC,EAAExlC,CAAC,CAACsE,IAAI,KAAK,KAAK,CAAC,IAAIme,CAAC,CAACziB,CAAC,CAACsE,IAAI,CAAC,EAAEtE,CAAC,CAACylC,eAAe,KAAK,KAAK,CAAC,IAAI9U,EAAE,CAAC,CAAC,CAAC3wB,CAAC,CAACylC,eAAe,CAAC,EAAEzlC,CAAC,CAAC0lC,UAAU,KAAK,KAAK,CAAC,IAAI9U,CAAC,CAACruB,aAAA,CAAOvC,CAAC,CAAC0lC,UAAU,KAAI,QAAQ,GAAG1lC,CAAC,CAAC0lC,UAAU,GAAG,CAAC,CAAC1lC,CAAC,CAAC0lC,UAAU,CAAC,EAAE1lC,CAAC,CAAC2lC,OAAO,IAAI7U,CAAC,CAAC,OAAO9wB,CAAC,CAAC2lC,OAAO,IAAI,QAAQ,GAAG3lC,CAAC,CAAC2lC,OAAO,GAAG7wC,IAAI,CAACC,SAAS,CAACiL,CAAC,CAAC2lC,OAAO,CAAC,CAAC,EAAE3lC,CAAC,CAACiZ,IAAI,KAAK,KAAK,CAAC,IAAI+X,CAAC,CAAC,OAAOhxB,CAAC,CAACiZ,IAAI,IAAI,QAAQ,GAAGjZ,CAAC,CAACiZ,IAAI,GAAG,CAAC,CAACjZ,CAAC,CAACiZ,IAAI,CAAC,EAAEjZ,CAAC,CAACs/B,SAAS,KAAK,KAAK,CAAC,IAAI7E,EAAE,CAACz6B,CAAC,CAACs/B,SAAS,CAAC,EAAEt/B,CAAC,CAAC4lC,OAAO,KAAK,KAAK,CAAC,IAAIlL,EAAE,CAAC,CAAC16B,CAAC,CAAC4lC,OAAO,CAAC,EAAE5lC,CAAC,CAAC6lC,SAAS,KAAK,KAAK,CAAC,IAAIhL,EAAE,CAAC76B,CAAC,CAAC6lC,SAAS,CAAC;EACzvC;EACA,SAASjF,EAAEA,CAAA,EAAG;IACZ,OAAO;MACLgE,IAAI,EAAE9kC,CAAC,CAAC,CAAC;MACT+kC,SAAS,EAAErjC,CAAC,CAAC,CAAC;MACd4jC,YAAY,EAAE/wC,CAAC,CAAC,CAAC;MACjBgxC,KAAK,EAAE5jC,CAAC,CAAC,CAAC;MACVujC,KAAK,EAAEtjC,CAAC,CAAC,CAAC;MACVyjC,MAAM,EAAE5kC,CAAC,CAAC,CAAC;MACX2kC,QAAQ,EAAEljC,CAAC,CAAC,CAAC;MACb+iC,cAAc,EAAExjC,CAAC,CAAC,CAAC;MACnB0jC,cAAc,EAAE/iC,CAAC,CAAC,CAAC;MACnBojC,UAAU,EAAE/iB,CAAC,CAAC,CAAC;MACfgjB,QAAQ,EAAEjjB,CAAC,CAAC,CAAC;MACbhe,IAAI,EAAEme,CAAC,CAAC,CAAC;MACT+gB,SAAS,EAAE9gB,CAAC,CAAC,CAAC;MACd8iB,SAAS,EAAE7iB,CAAC,CAAC,CAAC;MACd+gB,UAAU,EAAE1qB,CAAC,CAAC,CAAC;MACfysB,eAAe,EAAE9U,EAAE,CAAC,CAAC;MACrB+U,UAAU,EAAE9U,CAAC,CAAC,CAAC;MACf+U,OAAO,EAAE5vC,CAAC,CAACgmC,CAAC,CAAC;MACb9iB,IAAI,EAAE+X,CAAC,CAAC,CAAC;MACTsO,SAAS,EAAE7E,EAAE,CAAC,CAAC;MACfmL,OAAO,EAAElL,EAAE,CAAC,CAAC;MACbmL,SAAS,EAAEhL,EAAE,CAAC;IAChB,CAAC;EACH;EACA,SAASiG,EAAEA,CAAA,EAAG;IACZ,OAAOlE,EAAE;EACX;EACA,SAASkJ,EAAEA,CAAC9lC,CAAC,EAAE;IACb,OAAO+8B,EAAE,CAACjI,IAAI,CAAC,UAACr0B,CAAC;MAAA,OAAKA,CAAC,CAAC4D,WAAW,CAACw5B,UAAU,KAAK79B,CAAC;IAAA,EAAC;EACvD;EACA,SAASghC,EAAEA,CAAA,EAAG;IACZ,OAAOjrC,CAAC,CAAC0mC,CAAC,CAAC;EACb;EACA,SAASgC,EAAEA,CAAA,EAA6B;IAAA,IAA5Bz+B,CAAC,GAAA3I,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG+hC,CAAC,CAACI,UAAU;IAAA,IAAE/4B,CAAC,GAAApJ,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;IACpCylC,EAAE,KAAKS,YAAY,CAACT,EAAE,CAAC,EAAEA,EAAE,GAAG,IAAI,CAAC,EAAEhd,CAAC,CAAC0c,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE1c,CAAC,CAACkd,EAAE,EAAE,IAAI,CAAC,EAAEoE,EAAE,CAACphC,CAAC,EAAES,CAAC,CAAC;EACvE;EACA,SAAS6gC,EAAEA,CAACthC,CAAC,EAAE;IACb48B,EAAE,GAAG58B,CAAC;EACR;EACA,SAASohC,EAAEA,CAACphC,CAAC,EAAY;IAAA,IAAVS,CAAC,GAAApJ,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;IACrByoB,CAAC,CAAC2c,CAAC,EAAExa,EAAE,CAACjiB,CAAC,CAAC,CAAC,EAAE8f,CAAC,CAAC+c,EAAE,EAAE5a,EAAE,CAACxhB,CAAC,CAAC,CAAC,EAAEw6B,EAAE,CAAC,aAAa,EAAE;MAC3CkI,OAAO,EAAEptC,CAAC,CAACinC,EAAE,CAAC;MACd+I,KAAK,EAAEhwC,CAAC,CAAC0mC,CAAC;IACZ,CAAC,CAAC;EACJ;EAAC,SACcwB,EAAEA,CAAA;IAAA,OAAA+H,GAAA,CAAApgC,KAAA,OAAAvO,SAAA;EAAA;EAAA,SAAA2uC,IAAA;IAAAA,GAAA,GAAA9/B,uBAAA,cAAAvG,yBAAA,GAAA4E,IAAA,CAAjB,SAAA0I,SAAA;MAAA,OAAAtN,yBAAA,GAAAoB,IAAA,UAAAoM,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArI,IAAA,GAAAqI,SAAA,CAAA7J,IAAA;UAAA;YACSk7B,EAAE,CAACrF,CAAC,CAACG,SAAS,CAAC;YAAAnsB,SAAA,CAAA7J,IAAA;YAAA,OAAQ,IAAIqB,OAAO,CAAC,UAAC5E,CAAC;cAAA,OAAK4d,UAAU,CAAC5d,CAAC,EAAE0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAAA,EAAC;UAAA;YAAA,OAAA0L,SAAA,CAAAhK,MAAA,WAAEs7B,EAAE,CAAC,CAAC,CAACh8B,IAAI,CAAC,UAAC1C,CAAC;cAAA,OAAMqjC,EAAE,CAACrjC,CAAC,CAAC,EAAE29B,CAAC,CAAC,WAAW,EAAE39B,CAAC,CAAC,EAAEkhC,EAAE,CAAClhC,CAAC,CAAC;YAAA,CAAC,CAAC,CAAC0C,IAAI,CAAC,UAAAujC,KAAA,EAA8B;cAAA,IAArBjmC,CAAC,GAAAimC,KAAA,CAAPrxC,IAAI;gBAAe6L,CAAC,GAAAwlC,KAAA,CAAXxC,QAAQ;cACtJ,IAAI9F,CAAC,CAAC,UAAU,EAAEl9B,CAAC,CAAC,EAAE,WAAW,IAAIT,CAAC,IAAIS,CAAC,IAAI,EAAE,WAAW,IAAIA,CAAC,CAAC,EAChE,IAAI,CAACA,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,GAAGA,CAAC,CAAC42B,MAAM,MAAM,KAAK,CAAC,EAAE;gBAC9C,IAAIoD,EAAE,CAAC,CAAC,EACN,OAAOmI,EAAE,CAACzE,EAAE,CAACn+B,CAAC,EAAES,CAAC,CAAC,CAAC;gBACrBqf,CAAC,CAACkd,EAAE,EAAE/a,EAAE,CAACkc,EAAE,CAACn+B,CAAC,EAAES,CAAC,CAAC,CAAC,CAAC,EAAEk9B,CAAC,CAAC,SAAS,EAAE5nC,CAAC,CAACinC,EAAE,CAAC,CAAC;cAC1C,CAAC,MACC,MAAMW,CAAC,CAAC,iHAAiH,CAAC,EAAE,IAAI/6B,KAAK,CAAC,6BAA6B,CAAC;YAC1K,CAAC,CAAC,CAACF,IAAI,CAAC,YAAM;cACZ0+B,EAAE,CAAChI,CAAC,CAACE,QAAQ,CAAC,EAAEqE,CAAC,CAAC,UAAU,CAAC,EAAE7W,EAAE,CAAC,CAAC,CAACpkB,IAAI,CAAC,YAAM;gBAC7Cu4B,EAAE,CAAC,UAAU,EAAE;kBAAEkI,OAAO,EAAEptC,CAAC,CAACinC,EAAE;gBAAE,CAAC,CAAC;cACpC,CAAC,CAAC;YACJ,CAAC,CAAC,SAAM,CAAC,UAACh9B,CAAC,EAAK;cACd29B,CAAC,CAAC39B,CAAC,CAAC,EAAEohC,EAAE,CAAChI,CAAC,CAACC,KAAK,EAAEr5B,CAAC,CAACqP,OAAO,CAAC;YAC9B,CAAC,CAAC;UAAA;UAAA;YAAA,OAAAjC,SAAA,CAAAlI,IAAA;QAAA;MAAA,GAAA+H,QAAA;IAAA,CACH;IAAA,OAAA+4B,GAAA,CAAApgC,KAAA,OAAAvO,SAAA;EAAA;EACD,IAAI6uC,EAAE,GAAG9L,EAAE,CAAC,CAAC;IAAE+L,EAAE,GAAG/hB,EAAE,CAAC8hB,EAAE,CAAC;EAC1B9X,EAAE,CAAC+X,EAAE,EAAEtmC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;EACxB,IAAIumC,EAAE,GAAG9hB,EAAE,CAAC6hB,EAAE,EAAE,CAAC,CAAC;IAAEE,EAAE,GAAGniB,CAAC,CAACkiB,EAAE,CAAC;IAAEE,EAAE,GAAGpiB,CAAC,CAACmiB,EAAE,CAAC;EAC1C;IACE,IAAIE,EAAE,GAAG,SAALA,EAAEA,CAAIvmC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGi5B,EAAE,CAAC,CAAC;MACZnN,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;IACV,CAAC;IACDotB,EAAE,CAACyY,EAAE,EAAE,UAACtmC,CAAC,EAAK;MACZjK,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,IAAIv5B,CAAC,CAACumC,EAAE,CAAC;IAC/B,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAGliB,EAAE,CAACgiB,EAAE,EAAE,CAAC,CAAC;EAClB,IAAIG,EAAE;EACN,IAAIC,EAAE,GAAGxiB,CAAC,CAACsiB,EAAE,CAAC;EACdnX,EAAE,CAACqX,EAAE,CAAC,EAAEA,EAAE,CAACC,QAAQ,GAAG/E,EAAE,EAAE9f,CAAC,CAAC0kB,EAAE,CAAC;EAC/B,IAAII,EAAE,GAAGtiB,EAAE,CAACkiB,EAAE,EAAE,CAAC,CAAC;IAAEK,EAAE,GAAG3iB,CAAC,CAAC0iB,EAAE,CAAC;EAC9B;IACE,IAAIE,EAAE,GAAG,SAALA,EAAEA,CAAI9mC,CAAC,EAAK;QACd,IAAIS,CAAC,GAAGk5B,EAAE,CAAC,CAAC;UAAEkF,CAAC,GAAGza,EAAE,CAAC3jB,CAAC,CAAC;UAAEq+B,CAAC,GAAG5a,CAAC,CAAC2a,CAAC,CAAC;QACjC3Q,EAAE,CAAC4Q,CAAC,EAAE;UAAA,OAAM/oC,CAAC,CAACgmC,CAAC,CAAC,CAACK,QAAQ;QAAA,EAAC,EAAEta,CAAC,CAAC+c,CAAC,CAAC;QAChC,IAAIE,CAAC,GAAGza,EAAE,CAACua,CAAC,EAAE,CAAC,CAAC;QAChBxP,EAAE,CAAC0P,CAAC,CAAC,EAAE3W,EAAE,CAAC,YAAM;UACdmH,EAAE,CAACwP,CAAC,EAAE,MAAM,EAAEtc,CAAC,CAAC,CAAC,CAAC,EAAE+M,EAAE,CAACuP,CAAC,EAAEhpC,CAAC,CAACinC,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,EAAEzQ,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;MACd,CAAC;MAAEsmC,EAAE,GAAG,SAALA,EAAEA,CAAI/mC,CAAC,EAAES,CAAC,EAAK;QAChB;UACE,IAAIo+B,CAAC,GAAG,SAAJA,CAACA,CAAIE,CAAC,EAAK;cACb,IAAIvV,CAAC,GAAGoQ,EAAE,CAAC,CAAC;gBAAE93B,CAAC,GAAGoiB,CAAC,CAACsF,CAAC,CAAC;cACtB0E,EAAE,CAACpsB,CAAC,EAAE;gBAAA,OAAM/L,CAAC,CAACgmC,CAAC,CAAC,CAACM,SAAS;cAAA,EAAC,EAAEva,CAAC,CAAC0H,CAAC,CAAC,EAAE+C,EAAE,CAACwS,CAAC,EAAEvV,CAAC,CAAC;YAC7C,CAAC;YAAEsV,CAAC,GAAG,SAAJA,CAACA,CAAIC,CAAC,EAAK;cACZ,IAAIvV,CAAC,GAAGqQ,EAAE,CAAC,CAAC;gBAAE/3B,CAAC,GAAGoiB,CAAC,CAACsF,CAAC,CAAC;cACtB0E,EAAE,CAACpsB,CAAC,EAAE;gBAAA,OAAM/L,CAAC,CAACgmC,CAAC,CAAC,CAACI,KAAK;cAAA,EAAC,EAAEra,CAAC,CAAC0H,CAAC,CAAC,EAAEpB,EAAE,CAAC;gBAAA,OAAMmH,EAAE,CAAC/F,CAAC,EAAE,KAAK,EAAEzzB,CAAC,CAACwmC,EAAE,CAAC,CAAC;cAAA,EAAC,EAAEhQ,EAAE,CAACwS,CAAC,EAAEvV,CAAC,CAAC;YACxE,CAAC;UACDqE,EAAE,CACA7tB,CAAC,EACD,UAAC++B,CAAC,EAAK;YACLhpC,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACG,SAAS,GAAGwF,CAAC,CAACF,CAAC,CAAC,GAAGE,CAAC,CAACD,CAAC,EAAE,CAAC,CAAC,CAAC;UACxC,CAAC,EACDr+B,CACF,CAAC;QACH;MACF,CAAC;IACDotB,EAAE,CAACgZ,EAAE,EAAE,UAAC7mC,CAAC,EAAK;MACZjK,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACE,QAAQ,GAAGt5B,CAAC,CAAC8mC,EAAE,CAAC,GAAG9mC,CAAC,CAAC+mC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;EACJ;EACAjlB,CAAC,CAAC8kB,EAAE,CAAC;EACL,IAAII,EAAE,GAAG1iB,EAAE,CAACsiB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIK,EAAE,GAAG,SAALA,EAAEA,CAAIjnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGq5B,EAAE,CAAC,CAAC;QAAE+E,CAAC,GAAG3a,CAAC,CAACzjB,CAAC,CAAC;MACtB8uB,EAAE,CAACsP,CAAC,EAAE,MAAM,EAAE7D,EAAE,CAAC,EAAElZ,CAAC,CAACrhB,CAAC,CAAC,EAAE2nB,EAAE,CAAC;QAAA,OAAMmH,EAAE,CAACsP,CAAC,EAAE,YAAY,EAAE9oC,CAAC,CAACgmC,CAAC,CAAC,CAACC,aAAa,CAAC;MAAA,EAAC,EAAEzP,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;IACtF,CAAC;IACDotB,EAAE,CAACmZ,EAAE,EAAE,UAAChnC,CAAC,EAAK;MACZ,CAACsiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAIvsB,CAAC,CAAC0lC,EAAE,CAAC,KAAKz7B,CAAC,CAACinC,EAAE,CAAC;IAChC,CAAC,CAAC;EACJ;EACAnlB,CAAC,CAACukB,EAAE,CAAC;EACL,IAAIa,EAAE,GAAG5iB,EAAE,CAAC+hB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIc,EAAE,GAAG,SAALA,EAAEA,CAAInnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGw5B,EAAE,CAAC,CAAC;QAAE4E,CAAC,GAAGva,EAAE,CAACJ,CAAC,CAACzjB,CAAC,CAAC,EAAE,CAAC,CAAC;MAC7B;QACE,IAAIq+B,CAAC,GAAG,SAAJA,CAACA,CAAItV,CAAC,EAAK;YACb,IAAI1nB,CAAC,GAAGi4B,EAAE,CAAC,CAAC;cAAEiF,CAAC,GAAG9a,CAAC,CAACpiB,CAAC,CAAC;YACtBosB,EAAE,CAAC8Q,CAAC,EAAE;cAAA,OAAMjpC,CAAC,CAACgmC,CAAC,CAAC,CAACE,OAAO;YAAA,EAAC,EAAEna,CAAC,CAAChgB,CAAC,CAAC,EAAEsmB,EAAE,CAAC;cAAA,OAAMmH,EAAE,CAACztB,CAAC,EAAE,OAAO,EAAE/L,CAAC,CAAC8mC,EAAE,CAAC,CAAC;YAAA,EAAC,EAAEtQ,EAAE,CAAC/C,CAAC,EAAE1nB,CAAC,CAAC;UAC5E,CAAC;UAAEi9B,CAAC,GAAG,SAAJA,CAACA,CAAIvV,CAAC,EAAK;YACZ,IAAI1nB,CAAC,GAAGk4B,EAAE,CAAC,CAAC;cAAEgF,CAAC,GAAG9a,CAAC,CAACpiB,CAAC,CAAC;YACtBosB,EAAE,CAAC8Q,CAAC,EAAE;cAAA,OAAMjpC,CAAC,CAACgmC,CAAC,CAAC,CAACh0B,KAAK;YAAA,EAAC,EAAE+Z,CAAC,CAAChgB,CAAC,CAAC,EAAEsmB,EAAE,CAAC;cAAA,OAAMmH,EAAE,CAACztB,CAAC,EAAE,OAAO,EAAE/L,CAAC,CAAC8mC,EAAE,CAAC,CAAC;YAAA,EAAC,EAAEtQ,EAAE,CAAC/C,CAAC,EAAE1nB,CAAC,CAAC;UAC1E,CAAC;QACD+rB,EAAE,CAACgR,CAAC,EAAE,UAACrV,CAAC,EAAK;UACXzzB,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACK,OAAO,GAAGjQ,CAAC,CAACsV,CAAC,CAAC,GAAGtV,CAAC,CAACuV,CAAC,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;MACJ;MACAjd,CAAC,CAACrhB,CAAC,CAAC,EAAE8rB,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;IAChB,CAAC;IACDotB,EAAE,CAACqZ,EAAE,EAAE,UAAClnC,CAAC,EAAK;MACZ,CAACjK,CAAC,CAAC8mC,EAAE,CAAC,IAAI9mC,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACK,OAAO,KAAKz5B,CAAC,CAACmnC,EAAE,CAAC;IACxC,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAG9iB,EAAE,CAAC4iB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIG,EAAE,GAAG,SAALA,EAAEA,CAAIrnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAGy5B,EAAE,CAAC,CAAC;QAAE2E,CAAC,GAAG3a,CAAC,CAACzjB,CAAC,CAAC;QAAEq+B,CAAC,GAAG5a,CAAC,CAAC2a,CAAC,CAAC;MAChC3Q,EAAE,CAAC4Q,CAAC,EAAE;QAAA,OAAM/oC,CAAC,CAACgmC,CAAC,CAAC,CAACG,MAAM;MAAA,EAAC,EAAEpa,CAAC,CAAC+c,CAAC,CAAC,EAAE/c,CAAC,CAACrhB,CAAC,CAAC,EAAE8rB,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;IAChD,CAAC;IACDotB,EAAE,CAACuZ,EAAE,EAAE,UAACpnC,CAAC,EAAK;MACZjK,CAAC,CAACgmC,CAAC,CAAC,CAACG,MAAM,KAAK3Z,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAIxsB,CAAC,CAAC0lC,EAAE,CAAC,CAAC,IAAIz7B,CAAC,CAACqnC,EAAE,CAAC;IAC/C,CAAC,CAAC;EACJ;EACA,IAAIC,EAAE,GAAGhjB,EAAE,CAAC8iB,EAAE,EAAE,CAAC,CAAC;EAClB;IACE,IAAIG,EAAE,GAAG,SAALA,EAAEA,CAAIvnC,CAAC,EAAK;MACd,IAAIS,CAAC,GAAG05B,EAAE,CAAC,CAAC;MACZjK,EAAE,CAACzvB,CAAC,EAAE,UAACo+B,CAAC;QAAA,OAAK/e,CAAC,CAAC6c,EAAE,EAAEkC,CAAC,CAAC;MAAA,GAAE;QAAA,OAAM9oC,CAAC,CAAC4mC,EAAE,CAAC;MAAA,EAAC,EAAEpQ,EAAE,CAACvsB,CAAC,EAAES,CAAC,CAAC;IAC/C,CAAC;IACDotB,EAAE,CAACyZ,EAAE,EAAE,UAACtnC,CAAC,EAAK;MACZgC,CAAC,CAAC,CAAC,IAAIhC,CAAC,CAACunC,EAAE,CAAC;IACd,CAAC,CAAC;EACJ;EACA,OAAOzlB,CAAC,CAACskB,EAAE,CAAC,EAAElW,EAAE,CAACkW,EAAE,EAAE,UAACpmC,CAAC;IAAA,OAAK8f,CAAC,CAAC4c,CAAC,EAAE18B,CAAC,CAAC;EAAA,GAAE;IAAA,OAAMjK,CAAC,CAAC2mC,CAAC,CAAC;EAAA,EAAC,EAAEtU,EAAE,CAClD,UAACpoB,CAAC,EAAK;IACLuvB,EAAE,CAAC6W,EAAE,EAAE,YAAY,EAAErwC,CAAC,CAAC0mC,CAAC,CAAC,CAAC,EAAElN,EAAE,CAAC6W,EAAE,EAAE,eAAe,EAAEpkC,CAAC,CAAC,CAAC,CAAC,EAAEykC,EAAE,GAAG1X,EAAE,CAACyX,EAAE,EAAE,CAAC,EAAE,+BAA+B,EAAE,IAAI,EAAEC,EAAE,EAAEzmC,CAAC,CAAC,EAAEuvB,EAAE,CAACmX,EAAE,EAAE,IAAI,EAAE3wC,CAAC,CAACwmC,EAAE,CAAC,CAAC,EAAEmK,EAAE,CAACc,QAAQ,GAAG1nC,CAAC,CAAC,CAAC,KAAK,UAAU,KAAK,CAACkC,CAAC,CAAC,CAAC,IAAIlC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;EAC1M,CAAC,EACD,CACE;IAAA,OAAO;MACL,eAAe,EAAE/J,CAAC,CAAC0mC,CAAC,CAAC,KAAKrD,CAAC,CAACG;IAC9B,CAAC;EAAA,CAAC,CAEN,CAAC,EAAE3O,EAAE,CAAC,SAAS,EAAE8b,EAAE,EAAEtE,EAAE,CAAC,EAAErS,EAAE,CAAC2W,EAAE,EAAE;IAAA,OAAM3wC,CAAC,CAACymC,EAAE,CAAC;EAAA,GAAE,UAACx8B,CAAC;IAAA,OAAK8f,CAAC,CAAC0c,EAAE,EAAEx8B,CAAC,CAAC;EAAA,EAAC,EAAEusB,EAAE,CAAC3sB,CAAC,EAAEsmC,EAAE,CAAC,EAAEzc,EAAE,CAAC;IAC5EgX,OAAO,EAAEzC,EAAE;IACXyJ,SAAS,EAAElI,EAAE;IACboB,gBAAgB,EAAEC,EAAE;IACpBC,iBAAiB,EAAEC,EAAE;IACrB4G,SAAS,EAAE5B,EAAE;IACb/E,QAAQ,EAAEC,EAAE;IACZ98B,KAAK,EAAEu6B,EAAE;IACT4C,iBAAiB,EAAEC,EAAE;IACrBH,QAAQ,EAAEC,EAAE;IACZG,MAAM,EAAEtD,EAAE;IACV,IAAI2G,IAAIA,CAAA,EAAG;MACT,OAAO9kC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI8kC,IAAIA,CAAC5kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACjBF,CAAC,CAACE,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIge,SAASA,CAAA,EAAG;MACd,OAAOrjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIqjC,SAASA,CAAC7kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtBwB,CAAC,CAACxB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIue,YAAYA,CAAA,EAAG;MACjB,OAAO/wC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+wC,YAAYA,CAACplC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACzB3L,CAAC,CAAC2L,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8gB,aAAaA,CAAA,EAAG;MAClB,OAAOtnC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIsnC,aAAaA,CAAC3nC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC1BK,CAAC,CAACL,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIie,WAAWA,CAAA,EAAG;MAChB,OAAO5kC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4kC,WAAWA,CAAC9kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACxBE,CAAC,CAACF,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIwe,KAAKA,CAAA,EAAG;MACV,OAAO5jC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4jC,KAAKA,CAACrlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACdyB,CAAC,CAACzB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIme,KAAKA,CAAA,EAAG;MACV,OAAOtjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIsjC,KAAKA,CAAChlC,CAAC,EAAM;MAAA,IAAPA,CAAC;QAADA,CAAC,GAAG,CAAC;MAAA;MACb0B,CAAC,CAAC1B,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIse,MAAMA,CAAA,EAAG;MACX,OAAO5kC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4kC,MAAMA,CAACnlC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACnBO,CAAC,CAACP,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIqe,QAAQA,CAAA,EAAG;MACb,OAAOljC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIkjC,QAAQA,CAACllC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACrBgC,CAAC,CAAChC,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIke,cAAcA,CAAA,EAAG;MACnB,OAAOxjC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIwjC,cAAcA,CAAC/kC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC3BuB,CAAC,CAACvB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIoe,cAAcA,CAAA,EAAG;MACnB,OAAO/iC,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+iC,cAAcA,CAACjlC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MAC3BkC,CAAC,CAAClC,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIye,UAAUA,CAAA,EAAG;MACf,OAAO/iB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+iB,UAAUA,CAACtlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACnBuiB,CAAC,CAACviB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI0e,QAAQA,CAAA,EAAG;MACb,OAAOjjB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIijB,QAAQA,CAACvlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACjBsiB,CAAC,CAACtiB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8H,EAAEA,CAAA,EAAG;MACP,OAAOnM,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAImM,EAAEA,CAAC3uB,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACfwiB,CAAC,CAACxiB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIviB,IAAIA,CAAA,EAAG;MACT,OAAOme,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIne,IAAIA,CAACtE,CAAC,EAAa;MAAA,IAAdA,CAAC;QAADA,CAAC,GAAG,QAAQ;MAAA;MACnByiB,CAAC,CAACziB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI2c,SAASA,CAAA,EAAG;MACd,OAAO9gB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI8gB,SAASA,CAACxjC,CAAC,EAAQ;MAAA,IAATA,CAAC;QAADA,CAAC,GAAG,GAAG;MAAA;MACnB0iB,CAAC,CAAC1iB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI2e,SAASA,CAAA,EAAG;MACd,OAAO7iB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6iB,SAASA,CAACxlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MAClB2iB,CAAC,CAAC3iB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI6c,UAAUA,CAAA,EAAG;MACf,OAAO1qB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI0qB,UAAUA,CAAC1jC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACvBgZ,CAAC,CAAChZ,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI+gB,OAAOA,CAAA,EAAG;MACZ,OAAO7W,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI6W,OAAOA,CAAC5nC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACpB+wB,EAAE,CAAC/wB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI4e,eAAeA,CAAA,EAAG;MACpB,OAAO9U,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI8U,eAAeA,CAACzlC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACxB2wB,EAAE,CAAC3wB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6e,UAAUA,CAAA,EAAG;MACf,OAAO9U,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI8U,UAAUA,CAAC1lC,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACnB4wB,CAAC,CAAC5wB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI8e,OAAOA,CAAA,EAAG;MACZ,OAAO7U,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI6U,OAAOA,CAAC3lC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACpB8wB,CAAC,CAAC9wB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAI5N,IAAIA,CAAA,EAAG;MACT,OAAO+X,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI/X,IAAIA,CAACjZ,CAAC,EAAO;MAAA,IAARA,CAAC;QAADA,CAAC,GAAG,CAAC,CAAC;MAAA;MACbgxB,CAAC,CAAChxB,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACX,CAAC;IACD,IAAIyY,SAASA,CAAA,EAAG;MACd,OAAO7E,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAI6E,SAASA,CAACt/B,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtBy6B,EAAE,CAACz6B,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAI+e,OAAOA,CAAA,EAAG;MACZ,OAAOlL,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAIkL,OAAOA,CAAC5lC,CAAC,EAAqD;MAAA,IAAtDA,CAAC;QAADA,CAAC,GAAG+1B,IAAI,CAAC4E,GAAG,CAAC,EAAE,EAAElnB,SAAS,CAACmnB,mBAAmB,IAAI,CAAC,CAAC;MAAA;MAC9DF,EAAE,CAAC16B,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACZ,CAAC;IACD,IAAIgf,SAASA,CAAA,EAAG;MACd,OAAOhL,EAAE,CAAC,CAAC;IACb,CAAC;IACD,IAAIgL,SAASA,CAAC7lC,CAAC,EAAW;MAAA,IAAZA,CAAC;QAADA,CAAC,GAAG,KAAK,CAAC;MAAA;MACtB66B,EAAE,CAAC76B,CAAC,CAAC,EAAE6mB,CAAC,CAAC,CAAC;IACZ;EACF,CAAC,CAAC;AACJ;AACAkE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACd8c,cAAc,CAAClnC,MAAM,CAAC,eAAe,EAAEu0B,EAAE,CACvCoF,EAAE,EACF;EACEuK,SAAS,EAAE;IAAExsC,IAAI,EAAE;EAAU,CAAC;EAC9BgtC,KAAK,EAAE;IAAEhtC,IAAI,EAAE;EAAU,CAAC;EAC1B2sC,KAAK,EAAE;IAAE3sC,IAAI,EAAE;EAAS,CAAC;EACzB8sC,MAAM,EAAE;IAAE9sC,IAAI,EAAE;EAAS,CAAC;EAC1B4sC,cAAc,EAAE;IAAE5sC,IAAI,EAAE;EAAS,CAAC;EAClCitC,UAAU,EAAE;IAAEjtC,IAAI,EAAE;EAAU,CAAC;EAC/BktC,QAAQ,EAAE;IAAEltC,IAAI,EAAE;EAAU,CAAC;EAC7BmrC,SAAS,EAAE;IAAEnrC,IAAI,EAAE;EAAS,CAAC;EAC7BmtC,SAAS,EAAE;IAAEntC,IAAI,EAAE;EAAU,CAAC;EAC9BotC,eAAe,EAAE;IAAEptC,IAAI,EAAE;EAAU,CAAC;EACpC4gB,IAAI,EAAE;IAAE5gB,IAAI,EAAE;EAAU,CAAC;EACzButC,OAAO,EAAE;IAAEvtC,IAAI,EAAE;EAAS,CAAC;EAC3BusC,IAAI,EAAE,CAAC,CAAC;EACRQ,YAAY,EAAE,CAAC,CAAC;EAChBuC,aAAa,EAAE,CAAC,CAAC;EACjB7C,WAAW,EAAE,CAAC,CAAC;EACfI,QAAQ,EAAE,CAAC,CAAC;EACZH,cAAc,EAAE,CAAC,CAAC;EAClBpW,EAAE,EAAE,CAAC,CAAC;EACNrqB,IAAI,EAAE,CAAC,CAAC;EACRo/B,UAAU,EAAE,CAAC,CAAC;EACdkE,OAAO,EAAE,CAAC,CAAC;EACXlC,UAAU,EAAE,CAAC,CAAC;EACdC,OAAO,EAAE,CAAC,CAAC;EACXrG,SAAS,EAAE,CAAC,CAAC;EACbuG,SAAS,EAAE,CAAC;AACd,CAAC,EACD,CAAC,SAAS,CAAC,EACX,CACE,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,UAAU,EACV,QAAQ,CACT,EACD,CAAC,CACH,CAAC,CAAC;AACFzG,UAAU,CAACgF,kBAAkB,GAAG,UAACxkC,CAAC;EAAA,OAAKA,CAAC,GAAG,IAAIua,MAAM,CAAC,IAAIH,GAAG,CAACpa,CAAC,CAAC,CAAC,GAAG,IAAIma,EAAE,CAAC,CAAC;AAAA;AAC5EqlB,UAAU,CAACmB,aAAa,GAAGnB,UAAU,CAACmB,aAAa,IAAI,EAAE;;;;;;;;;;;;;;;;;ACxkFzD;AACkC;AAClC;AACgD;AAAA,IAE3BwH,WAAW,0BAAA1xB,SAAA;EAG5B,SAAA0xB,YAAYr3B,MAAM,EAAE;IAAA/c,sBAAA,OAAAo0C,WAAA;IAAA,OAAAzxB,iBAAA,OAAAyxB,WAAA,GACVr3B,MAAM;EAChB;EAAC6F,gBAAA,CAAAwxB,WAAA,EAAA1xB,SAAA;EAAA,OAAAziB,mBAAA,CAAAm0C,WAAA;IAAAl0C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACk3B,+BAA+B,CAAC,CAAC;IAC1C;EAAC;IAAAn0C,GAAA;IAAAC,KAAA,EAED,SAAAk0C,+BAA+BA,CAAA,EAAG;MAC9B,IAAMh1B,MAAM,GAAGxd,QAAQ,CAACuE,aAAa,CAAC,2BAA2B,CAAC;MAClEiZ,MAAM,CAAC3X,SAAS,CAACE,GAAG,CAACO,UAAU,CAAC;MAChCkX,MAAM,CAAC3X,SAAS,CAACE,GAAG,CAAC0sC,iBAAiB,CAAC;IAC3C;EAAC;AAAA,EAhBoCx3B,QAAQ;AAAArT,sBAAA,CAA5B2qC,WAAW,UACd70B,eAAe;;;;;;;;;;;;;;;;;ACNjC;AACkC;AAClC;AACgD;AAAA,IAE3Bg1B,kBAAkB,0BAAA7xB,SAAA;EAGnC,SAAA6xB,mBAAYx3B,MAAM,EAAE;IAAA/c,8BAAA,OAAAu0C,kBAAA;IAAA,OAAA5xB,yBAAA,OAAA4xB,kBAAA,GACVx3B,MAAM;EAChB;EAAC6F,wBAAA,CAAA2xB,kBAAA,EAAA7xB,SAAA;EAAA,OAAAziB,2BAAA,CAAAs0C,kBAAA;IAAAr0C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;AAAA,EAT2CL,QAAQ;AAAArT,8BAAA,CAAnC8qC,kBAAkB,UACrBC,sBAAsB;;;;;;;;;;;;;;;;;ACNxC;AACkC;AAClC;AACgD;AAAA,IAE3BC,wBAAwB,0BAAA/xB,SAAA;EAGzC,SAAA+xB,yBAAY13B,MAAM,EAAE;IAAA/c,qCAAA,OAAAy0C,wBAAA;IAAA,OAAA9xB,gCAAA,OAAA8xB,wBAAA,GACV13B,MAAM;EAChB;EAAC6F,+BAAA,CAAA6xB,wBAAA,EAAA/xB,SAAA;EAAA,OAAAziB,kCAAA,CAAAw0C,wBAAA;IAAAv0C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACu3B,4CAA4C,CAAC,CAAC;IACvD;EAAC;IAAAx0C,GAAA;IAAAC,KAAA,EAED,SAAAu0C,4CAA4CA,CAAA,EAAG;MAC3C,IAAMr1B,MAAM,GAAGxd,QAAQ,CAACuE,aAAa,CAAC,2BAA2B,CAAC;MAClEiZ,MAAM,CAAC3X,SAAS,CAACE,GAAG,CAACO,UAAU,CAAC;MAChCkX,MAAM,CAAC3X,SAAS,CAACE,GAAG,CAAC0sC,iBAAiB,CAAC;IAC3C;EAAC;AAAA,EAhBiDx3B,QAAQ;AAAArT,qCAAA,CAAzCgrC,wBAAwB,UAC3BE,4BAA4B;;;;;;;;;;;;;;;;;ACN9C;AACkC;AAClC;AACgD;AAAA,IAE3BC,+BAA+B,0BAAAlyB,SAAA;EAGhD,SAAAkyB,gCAAY73B,MAAM,EAAE;IAAA/c,6CAAA,OAAA40C,+BAAA;IAAA,OAAAjyB,wCAAA,OAAAiyB,+BAAA,GACV73B,MAAM;EAChB;EAAC6F,uCAAA,CAAAgyB,+BAAA,EAAAlyB,SAAA;EAAA,OAAAziB,0CAAA,CAAA20C,+BAAA;IAAA10C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;AAAA,EATwDL,QAAQ;AAAArT,6CAAA,CAAhDmrC,+BAA+B,UAClCC,mCAAmC;;;;;;;;;;;;;;;;;;;;ACLnB;AAAA,IAEbC,WAAW,0BAAApyB,SAAA;EAG5B,SAAAoyB,YAAY/3B,MAAM,EAAE;IAAA/c,uBAAA,OAAA80C,WAAA;IAAA,OAAAnyB,cAAA,OAAAmyB,WAAA,GACV/3B,MAAM;EAChB;EAAC6F,aAAA,CAAAkyB,WAAA,EAAApyB,SAAA;EAAA,OAAAziB,oBAAA,CAAA60C,WAAA;IAAA50C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAAC43B,aAAa,CAAC,CAAC;IACxB;EAAC;IAAA70C,GAAA;IAAAC,KAAA,EACD,SAAA40C,aAAaA,CAAA,EAAG,CAEhB;EAAC;IAAA70C,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,iBAAA,CAAAiyB,WAAA;IACJ;EAAC;AAAA,EAjBoCh4B,QAAQ;AAAArT,uBAAA,CAA5BqrC,WAAW,UACd30B,eAAe;;;;;;;;;;;;ACHD;AAAA,IAEXvD,eAAe;EAAA,SAAAA,gBAAA;IAAA5c,+BAAA,OAAA4c,eAAA;EAAA;EAAA,OAAA3c,4BAAA,CAAA2c,eAAA;IAAA1c,GAAA;IAAAC,KAAA,EAChC,SAAO60C,kCAAkCA,CAACC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAwB;MAAA,IAAtBC,aAAa,GAAA1xC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACzF,OAAO;QACHyG,IAAI,EAAE8qC,UAAU,CAACC,OAAO,CAAC;QACzB/0C,KAAK,EAAE80C,UAAU,CAACE,QAAQ,CAAC;QAC3B7qC,QAAQ,EAAG2qC,UAAU,CAACE,QAAQ,CAAC,IAAIC;MACvC,CAAC;IACL;EAAC;IAAAl1C,GAAA;IAAAC,KAAA,EACD,SAAOk1C,2BAA2BA,CAACJ,UAAU,EAAwB;MAAA,IAAtBG,aAAa,GAAA1xC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC/D,IAAIwxC,OAAO,GAAGD,UAAU,CAACtrC,sBAAsB,CAAC;MAChD,IAAIwrC,QAAQ,GAAGF,UAAU,CAACprC,uBAAuB,CAAC;MAClD;MACA,OAAO+S,eAAe,CAACo4B,kCAAkC,CAACC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,aAAa,CAAC;IAC3G;EAAC;IAAAl1C,GAAA;IAAAC,KAAA,EACD,SAAOm1C,aAAaA,CAACL,UAAU,EAAE;MAC7B,OAAOA,UAAU,IAAI,IAAI,GAAG,EAAE,GAAGA,UAAU,CAACA,UAAU,CAACtrC,sBAAsB,CAAC,CAAC;IACnF;EAAC;IAAAzJ,GAAA;IAAAC,KAAA,EACD,SAAOo1C,8BAA8BA,CAACC,MAAM,EAAEC,KAAK,EAAE;MACjD,IAAIC,WAAW,GAAG,EAAE;MACpB,IAAIC,GAAG,GAAGF,KAAK,CAAC5N,KAAK,CAAC,GAAG,CAAC;MAAC,IAAA5Y,SAAA,GAAA9J,0CAAA,CACZwwB,GAAG;QAAAzmB,KAAA;MAAA;QAAlB,KAAAD,SAAA,CAAAlhB,CAAA,MAAAmhB,KAAA,GAAAD,SAAA,CAAA5iB,CAAA,IAAA6C,IAAA,GAAoB;UAAA,IAAX8rB,EAAE,GAAA9L,KAAA,CAAA/uB,KAAA;UACPu1C,WAAW,CAACtlC,IAAI,CAAColC,MAAM,CAACxa,EAAE,CAAC,CAAC;QAChC;MAAC,SAAA5L,GAAA;QAAAH,SAAA,CAAAhjB,CAAA,CAAAmjB,GAAA;MAAA;QAAAH,SAAA,CAAAnhB,CAAA;MAAA;MACD,OAAO4nC,WAAW;IACtB;EAAC;AAAA;;;;;;;;;AC1BuC;AAAA,IAEvB74B,YAAY;EAAA,SAAAA,aAAA;IAAA7c,4BAAA,OAAA6c,YAAA;EAAA;EAAA,OAAA5c,yBAAA,CAAA4c,YAAA;IAAA3c,GAAA;IAAAC,KAAA,EAC7B,SAAO4b,MAAMA,CAAA,EAAG;MACZnR,MAAM,CAACC,sBAAsB,CAAC0W,cAAc,GAAG,UAAU,GAAGrF,UAAU,EAAE9Q,eAAe,EAAE,UAAC+Q,YAAY,EAAK;QACvGA,YAAY,CAAC9Q,gBAAgB,CAAC,OAAO,EAAE,YAAM;UACzC,IAAI+Q,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAACmb,cAAc,CAAC;UACpDnF,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,QAAQ;QACvC,CAAC,CAAC;MACN,CAAC,CAAC;IACN;EAAC;IAAApc,GAAA;IAAAC,KAAA,EACD,SAAOuc,IAAIA,CAACk5B,QAAQ,EAAE;MAClB,IAAIx5B,OAAO,GAAGva,QAAQ,CAACuE,aAAa,CAACmb,cAAc,CAAC;MACpD,IAAIs0B,UAAU,GAAGz5B,OAAO,CAAChW,aAAa,CAAC0vC,YAAY,CAAC;MACpDD,UAAU,CAAClrC,SAAS,GAAGirC,QAAQ;MAC/Bx5B,OAAO,CAACC,KAAK,CAACC,UAAU,GAAG,SAAS;IACxC;EAAC;AAAA;;;;;;;;;;;;;;;;;;;;AChBqE;AACpC;AACa;AACL;AACb;AACL;AACA;AACQ;AAE2C;AACJ;AAAA,IAEtDy5B,aAAa,0BAAArzB,SAAA;EAC9B;EACA;EACA;;EAEA,SAAAqzB,cAAYh5B,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,yBAAA,OAAA+1C,aAAA;IAChBt4B,KAAA,GAAAkF,oBAAA,OAAAozB,aAAA,GAAMh5B,MAAM;IACZU,KAAA,CAAKu4B,cAAc,GAAG,IAAI;IAC1Bv4B,KAAA,CAAKw4B,UAAU,GAAG,IAAI;IACtBx4B,KAAA,CAAKy4B,WAAW,GAAG,IAAI;IACvBz4B,KAAA,CAAK04B,SAAS,GAAG,IAAI;IACrB14B,KAAA,CAAK24B,UAAU,GAAG,IAAI;IAEtB34B,KAAA,CAAK44B,mBAAmB,GAAG54B,KAAA,CAAK44B,mBAAmB,CAAC9yB,IAAI,CAAA9F,KAAK,CAAC;IAAC,OAAAA,KAAA;EACnE;EAACmF,mBAAA,CAAAmzB,aAAA,EAAArzB,SAAA;EAAA,OAAAziB,sBAAA,CAAA81C,aAAA;IAAA71C,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAqB;MAAA,IAApBo5B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACzB,MAAM,IAAIuL,KAAK,CAAC,qCAAqC,CAAC;IAC1D;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAgd,gBAAgBA,CAAA,EAA8C;MAAA,IAAAiC,MAAA;MAAA,IAA7Ck3B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,IAAE6yC,eAAe,GAAA7yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACxD,IAAI,CAAC4yC,UAAU,EAAE;QACbzzB,uBAAA,CAAAkzB,aAAA;QACA,IAAI,CAACS,aAAa,CAAC,CAAC;QACpB,IAAI,CAACC,uBAAuB,CAAC,CAAC;QAC9B,IAAI,CAACC,eAAe,CAAC,CAAC;QACtB56B,cAAc,CAACC,MAAM,CAAC,YAAM;UACxB,IAAIw6B,eAAe,EAAE;YACjBn3B,MAAI,CAACu3B,kCAAkC,CAAC,CAAC;UAC7C,CAAC,MACI;YACDv3B,MAAI,CAACw3B,qBAAqB,CAAC,CAAC;UAChC;QACJ,CAAC,CAAC;MACN,CAAC,MAAM;QACH,IAAI50B,QAAQ,GAAG,IAAI,CAACC,mBAAmB,CAAC,CAAC;QACzC,IAAI40B,OAAO,GAAG70B,QAAQ,CAAC/L,eAAe,CAAC;QACvC,IAAIL,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIC,cAAc,GAAGjzC,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;QACtD,IAAI,CAAC7V,UAAU,CAACuC,aAAa,CAACu0C,OAAO,EAAEE,cAAc,CAAC,EAAE;UACpD,IAAI,CAACC,sBAAsB,CAAC,CAAC;QACjC;MACJ;IACJ;EAAC;IAAA92C,GAAA;IAAAC,KAAA,EACD,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,IAAI,CAAC9lC,WAAW,KAAKqlC,aAAa,EAAE;QACpC,MAAM,IAAI9mC,KAAK,CAAC,kEAAkE,CAAC;MACvF;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAA82C,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACC,wBAAwB,CAAC,CAAC;MAC/B,IAAI,CAACC,sBAAsB,CAAC,CAAC;IACjC;EAAC;IAAAj3C,GAAA;IAAAC,KAAA,EACD,SAAAi3C,kBAAkBA,CAAA,EAAG;MAAA,IAAAx3B,MAAA;MACjB,IAAIy3B,cAAc,GAAGC,aAAa,GAAG,IAAI,GAAGC,cAAc;MAC1D,IAAIC,eAAe,GAAG31C,QAAQ,CAACuE,aAAa,CAACixC,cAAc,CAAC;MAC5DG,eAAe,CAACnc,eAAe,CAAC,IAAI,CAAC;MACrC,IAAIoc,SAAS,GAAGD,eAAe,CAACjyC,aAAa;MAC7C,IAAImyC,SAAS,GAAI5zC,GAAG,CAAC0E,gCAAgC,CAACivC,SAAS,CAAC,IAAI,MAAO;MAC3E,IAAIE,eAAe,GAAG91C,QAAQ,CAACuE,aAAa,CAACkxC,aAAa,GAAG,OAAO,GAAGC,cAAc,GAAG,GAAG,GAAG1xC,kBAAkB,GAAG,OAAO,GAAG0xC,cAAc,CAAC;MAC5II,eAAe,CAACxzC,YAAY,CAAC,IAAI,EAAEozC,cAAc,CAAC;MAClD,IAAIG,SAAS,EAAEC,eAAe,CAACjwC,SAAS,CAACE,GAAG,CAACW,aAAa,CAAC;MAE3DqC,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAEmsC,cAAc,EAAE,UAAC/rC,KAAK,EAAEssC,YAAY,EAAK;QACxE/zC,WAAK,CAAC4X,oCAAoC,CAAC;UAAEm8B,YAAY,EAAZA;QAAa,CAAC,CAAC;QAC5D/zC,WAAK,CAAC4X,oCAAoC,CAAAhS,yBAAA,KAAImuC,YAAY,CAACpzC,OAAO,EAAGozC,YAAY,CAACpzC,OAAO,CAAE,CAAC;QAC5F,IAAIqzC,UAAU,GAAID,YAAY,CAACpzC,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,GAAImzC,YAAY,GAAGA,YAAY,CAACryC,aAAa;QAC1G,IAAIuyC,UAAU,GAAGD,UAAU,CAACnwC,SAAS,CAACC,QAAQ,CAACY,aAAa,CAAC;QAC7D,IAAIuvC,UAAU,EAAE;UACZD,UAAU,CAACnwC,SAAS,CAACG,MAAM,CAACU,aAAa,CAAC;QAC9C,CAAC,MACI;UACDsvC,UAAU,CAACnwC,SAAS,CAACE,GAAG,CAACW,aAAa,CAAC;QAC3C;QACA,OAAOqX,MAAI,CAACm4B,kBAAkB,CAACzsC,KAAK,EAAEssC,YAAY,CAAC;MACvD,CAAC,CAAC;MACF,IAAI1xC,MAAM,GAAGrE,QAAQ,CAACuE,aAAa,CAACixC,cAAc,CAAC;MACnD,IAAIW,mBAAmB,GAAGl0C,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5DA,MAAM,CAAC/B,YAAY,CAACC,gBAAgB,EAAE4zC,mBAAmB,CAAC;MAC1D9xC,MAAM,CAAC/B,YAAY,CAACE,iBAAiB,EAAE2zC,mBAAmB,CAAC;IAC/D;EAAC;IAAA93C,GAAA;IAAAC,KAAA,EACD,SAAA83C,YAAYA,CAACC,UAAU,EAAmF;MAAA,IAAAv2B,MAAA;MAAA,IAAjFw2B,OAAO,GAAAz0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEpF,MAAM,EAAK;QAAE,OAAOyb,MAAI,CAACo2B,kBAAkB,CAACzsC,KAAK,EAAEpF,MAAM,CAAC;MAAE,CAAC;MACpG,IAAImxC,cAAc,GAAGC,aAAa,GAAG,IAAI,GAAGY,UAAU;MACtDttC,MAAM,CAACM,kBAAkB,CAAC,QAAQ,EAAEmsC,cAAc,EAAEc,OAAO,CAAC;MAC5D,IAAIjyC,MAAM,GAAGrE,QAAQ,CAACuE,aAAa,CAACixC,cAAc,CAAC;MACnD,IAAIW,mBAAmB,GAAGl0C,GAAG,CAACgB,sBAAsB,CAACoB,MAAM,CAAC;MAC5DA,MAAM,CAAC/B,YAAY,CAACC,gBAAgB,EAAE4zC,mBAAmB,CAAC;MAC1D9xC,MAAM,CAAC/B,YAAY,CAACE,iBAAiB,EAAE2zC,mBAAmB,CAAC;IAC/D;EAAC;IAAA93C,GAAA;IAAAC,KAAA,EACD,SAAA43C,kBAAkBA,CAACzsC,KAAK,EAAEpF,MAAM,EAAE;MAC9B,IAAIqc,aAAa,GAAGze,GAAG,CAACmD,4BAA4B,CAACf,MAAM,CAAC;MAC5D,IAAI0P,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIsB,eAAe,GAAG71B,aAAa,IAAIze,GAAG,CAACgE,yBAAyB,CAAC8N,WAAW,CAAC;MACjF,IAAIyiC,KAAK,GAAGx2C,QAAQ,CAACuE,aAAa,CAACoc,WAAW,GAAG,QAAQ,CAAC;MAC1D,IAAI81B,IAAI,GAAGD,KAAK,CAACv2C,gBAAgB,CAAC,aAAa,CAAC;MAChDw2C,IAAI,CAACrtC,OAAO,CAAC,UAACstC,GAAG,EAAK;QAClB,IAAIH,eAAe,IAAI,CAACG,GAAG,CAAC7wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE47B,GAAG,CAAC7wC,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;QACnG,IAAI,CAACy7B,eAAe,IAAIG,GAAG,CAAC7wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAC7D47B,GAAG,CAAC7wC,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;UACrC,IAAI67B,WAAW,GAAGD,GAAG,CAACz2C,gBAAgB,CAAC,QAAQ,GAAGwF,SAAS,CAAC;UAC5DkxC,WAAW,CAACvtC,OAAO,CAAC,UAACwtC,UAAU,EAAK;YAChCA,UAAU,CAACt4C,KAAK,GAAG2D,GAAG,CAACuE,+BAA+B,CAACowC,UAAU,CAAC;UACtE,CAAC,CAAC;QACN;MACJ,CAAC,CAAC;MACF,IAAIL,eAAe,EAAE;QACjB;AACZ;AACA;AACA;AACA;QACYC,KAAK,CAAC1xC,SAAS,GAAG,wDAAwD,GAAG0xC,KAAK,CAAC1xC,SAAS;QAC5F,IAAI,CAAC0xC,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE07B,KAAK,CAAC3wC,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACxF,CAAC,MACI;QACD,IAAI+7B,YAAY,GAAGL,KAAK,CAACjyC,aAAa,CAAC,cAAc,CAAC;QACtD,IAAIsyC,YAAY,IAAI,IAAI,EAAEA,YAAY,CAAC7wC,MAAM,CAAC,CAAC;QAC/C,IAAIwwC,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE07B,KAAK,CAAC3wC,SAAS,CAACG,MAAM,CAAC8U,eAAe,CAAC;QACtF,IAAIg8B,mBAAmB,GAAGN,KAAK,CAACv2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC;QACvEutC,mBAAmB,CAAC1tC,OAAO,CAAC,UAAC2tC,kBAAkB,EAAK;UAChDA,kBAAkB,CAAClxC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAACsrC,eAAe,CAAC,CAAC;MAC1B;MACA,IAAI,CAACmC,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAA34C,GAAA;IAAAC,KAAA,EACD,SAAA24C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACb,YAAY,CAACc,cAAc,CAAC;IACrC;EAAC;IAAA74C,GAAA;IAAAC,KAAA,EACD,SAAA+2C,wBAAwBA,CAAA,EAAG;MAAA,IAAA5X,MAAA;MACvB10B,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE8tC,oBAAoB,EAAE,UAAC1tC,KAAK,EAAE+T,MAAM,EAAK;QACxE/T,KAAK,CAACC,eAAe,CAAC,CAAC;QACvB+zB,MAAI,CAAC0X,sBAAsB,CAAC,CAAC;MACjC,CAAC,CAAC;IACN;EAAC;IAAA92C,GAAA;IAAAC,KAAA,EACD,SAAAg3C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACc,YAAY,CAACgB,UAAU,CAAC;IACjC;EAAC;IAAA/4C,GAAA;IAAAC,KAAA,EACD,SAAA+4C,eAAeA,CAAA,EAAG;MACd,IAAI,CAACjB,YAAY,CAACkB,SAAS,CAAC;IAChC;EAAC;IAAAj5C,GAAA;IAAAC,KAAA,EACD,SAAAi5C,2BAA2BA,CAAA,EAAG;MAAA,IAAAnY,MAAA;MAC1B,IAAI,CAACgX,YAAY,CAACoB,qBAAqB,EAAE,UAAC/tC,KAAK,EAAEguC,qBAAqB,EAAK;QACvErY,MAAI,CAAC8W,kBAAkB,CAAC,CAAC;QACzB,IAAIx1B,aAAa,GAAG+2B,qBAAqB,CAAC5xC,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;QACvE,IAAIiyC,iBAAiB,GAAGz1C,GAAG,CAACgB,sBAAsB,CAACw0C,qBAAqB,CAAC;QACzEnlC,OAAO,CAAC0H,GAAG,CAAC,0BAA0B,CAAC;QACvC1H,OAAO,CAAC0H,GAAG,CAAChY,WAAK,CAACyX,eAAe,CAACk+B,cAAc,CAAC,CAAC;QAClD,IAAIC,kBAAkB,GAAG51C,WAAK,CAACyX,eAAe,CAACk+B,cAAc,CAAC,CAACtzC,MAAM,CAAC,UAAAwzC,OAAO;UAAA,OAAIA,OAAO,CAACL,qBAAqB,CAAC,IAAIE,iBAAiB;QAAA,EAAC;QACrI,IAAII,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAACltC,CAAC,EAAEy+B,CAAC;UAAA,OAAKz+B,CAAC,CAAC9C,QAAQ,CAAC,CAACiwC,aAAa,CAAC1O,CAAC,CAACvhC,QAAQ,CAAC,CAAC;QAAA,EAAC;QAC9F,IAAIkwC,aAAa,GAAGj4C,QAAQ,CAACuE,aAAa,CAACkxC,aAAa,GAAG,IAAI,GAAGxgC,WAAW,CAAC;QAC9E,IAAIijC,iBAAiB,GAAGj2C,GAAG,CAAC0E,gCAAgC,CAACsxC,aAAa,CAAC;QAC3EA,aAAa,CAACnzC,SAAS,GAAG,EAAE;QAC5B,IAAIuD,UAAU,EAAEE,MAAM;QACtBA,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC;QAC/B6vC,aAAa,CAACtpB,WAAW,CAACpmB,MAAM,CAAC;QACjCuvC,cAAc,CAAC1uC,OAAO,CAAC,UAACyuC,OAAO,EAAK;UAChCxvC,UAAU,GAAG0S,eAAe,CAACy4B,2BAA2B,CAACqE,OAAO,EAAEK,iBAAiB,CAAC;UACpF3vC,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;UACrC4vC,aAAa,CAACtpB,WAAW,CAACpmB,MAAM,CAAC;QACrC,CAAC,CAAC;QACF0vC,aAAa,CAACvS,aAAa,CAAC,IAAIyS,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAOz3B,aAAa;MACxB,CAAC,CAAC;IACN;EAAC;IAAAriB,GAAA;IAAAC,KAAA,EACD,SAAA85C,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAChC,YAAY,CAACiC,aAAa,CAAC;IACpC;EAAC;IAAAh6C,GAAA;IAAAC,KAAA,EACD,SAAAg6C,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAAClC,YAAY,CAACmC,cAAc,CAAC;IACrC;IACA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAAl6C,GAAA;IAAAC,KAAA,EASA,SAAA62C,sBAAsBA,CAAA,EAAG;MACrB,IAAIphC,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIj8B,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;MACnD/R,WAAK,CAAC4X,oCAAoC,CAAC,wBAAwB,CAAC;MACpE5X,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;MACzD5X,WAAK,CAAC4X,oCAAoC,CAAC7F,WAAW,CAAC;MACvD/R,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;MACzD5X,WAAK,CAAC4X,oCAAoC,CAACZ,WAAW,CAAC;MACvD,IAAI,CAACkF,KAAK,CAAC,CAAC;MACZhN,GAAG,CAACkC,QAAQ,CAAC,IAAI,CAACvE,WAAW,CAAC6D,IAAI,EAAEsG,WAAW,CAAC;IACpD;EAAC;IAAA3a,GAAA;IAAAC,KAAA,EACD,SAAAk6C,wBAAwBA,CAAC9mC,QAAQ,EAAE;MAC/B,IAAI+mC,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIC,SAAS,GAAGF,KAAK,CAACl0C,aAAa,CAAC,OAAO,CAAC;MAC5Co0C,SAAS,CAAC14C,gBAAgB,CAAC,IAAI,CAAC,CAACmJ,OAAO,CAAC,UAASstC,GAAG,EAAE;QAAEA,GAAG,CAAC1wC,MAAM,CAAC,CAAC;MAAE,CAAC,CAAC;MACzE,IAAI4yC,QAAQ,GAAGlnC,QAAQ,CAACtS,IAAI,CAACy5C,QAAQ,CAAC;MACtC,IAAI,CAAC36C,UAAU,CAACK,OAAO,CAACq6C,QAAQ,CAAC,IAAIA,QAAQ,CAACE,KAAK,CAAC,UAAApC,GAAG;QAAA,OAAIA,GAAG,CAACjsC,cAAc,CAAC,eAAe,CAAC;MAAA,EAAC,EAAE;QAC7FmuC,QAAQ,GAAGA,QAAQ,CAACb,IAAI,CAAC,UAACltC,CAAC,EAAEy+B,CAAC;UAAA,OAAKz+B,CAAC,CAACkuC,aAAa,GAAGzP,CAAC,CAACyP,aAAa;QAAA,EAAC;MACzE;MACAH,QAAQ,CAACxvC,OAAO,CAAC,IAAI,CAAC4vC,YAAY,CAACt3B,IAAI,CAAC,IAAI,CAAC,CAAC;MAC9C,IAAI,CAACmzB,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAAx2C,GAAA;IAAAC,KAAA,EAID,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,MAAM,IAAI7rC,KAAK,CAAC,iEAAiE,CAAC;IACtF;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAA46C,2CAA2CA,CAAA,EAAG;MAAA,IAAA7Z,MAAA;MAC1C,IAAI,CAAC8V,sBAAsB,CAAC,CAAC,CACxBjoC,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV4C,WAAK,CAAC4X,oCAAoC,CAAC,sBAAsB,EAAExa,IAAI,CAAC;QACxEigC,MAAI,CAACmZ,wBAAwB,CAACp5C,IAAI,CAAC;MACvC,CAAC,CAAC,SACI,CAAC,UAAAmT,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAAs2C,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC/0B,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACs5B,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAAC94B,2BAA2B,CAAC,KAAK,CAAC;IAC3C;EAAC;IAAAhiB,GAAA;IAAAC,KAAA,EACD,SAAAy2C,qBAAqBA,CAAA,EAAG;MAAA,IAAAnV,MAAA;MACpB,IAAIwZ,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAID,OAAO,CAAC16C,MAAM,IAAI,CAAC,EAAE;QACrBsc,YAAY,CAACH,IAAI,CAAC,oBAAoB,CAAC;QACvC;MACJ;MACA,IAAIy+B,WAAW,GAAGpF,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIjhC,OAAO,GAAG/R,GAAG,CAACgB,sBAAsB,CAACjD,QAAQ,CAACuE,aAAa,CAACg1C,iBAAiB,CAAC,CAAC;MACnF;AACR;AACA;AACA;AACA;AACA;MACQ,IAAI,CAACC,oBAAoB,CAACJ,OAAO,EAAEE,WAAW,EAAEtlC,OAAO,CAAC,CACnD9G,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV,IAAIA,IAAI,CAACq6C,UAAU,CAAC,IAAIC,WAAW,EAAE;UACjC,IAAIC,QAAQ,EAAE;YACV33C,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;YAC5D5X,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,EAAExa,IAAI,CAAC;UACtE;UACAwgC,MAAI,CAACuV,sBAAsB,CAAC,CAAC;QACjC,CAAC,MACI;UACDnzC,WAAK,CAAC4X,oCAAoC,CAAC,SAAS,EAAExa,IAAI,CAACw6C,WAAW,CAAC,CAAC;UACxE5+B,YAAY,CAACH,IAAI,CAACzb,IAAI,CAACw6C,WAAW,CAAC,CAAC;QACxC;MACJ,CAAC,CAAC,SACI,CAAC,UAAArnC,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAA+6C,eAAeA,CAAA,EAAoB;MAAA,IAAAQ,MAAA;MAAA,IAAnBC,SAAS,GAAAj4C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC7B,IAAIu3C,OAAO,GAAG,EAAE;MAChB,IAAIW,MAAM;MACV/5C,QAAQ,CAACC,gBAAgB,CAAC0gB,WAAW,GAAG,eAAe,CAAC,CAACvX,OAAO,CAAC,UAACstC,GAAG,EAAK;QACtE,IAAIoD,SAAS,IAAI,CAAC73C,GAAG,CAACgE,yBAAyB,CAACywC,GAAG,CAAC,EAAE;QACtDqD,MAAM,GAAGF,MAAI,CAACG,UAAU,CAACtD,GAAG,CAAC;QAC7B0C,OAAO,CAAC7qC,IAAI,CAACwrC,MAAM,CAAC;MACxB,CAAC,CAAC;MACF,OAAOX,OAAO;IAClB;EAAC;IAAA/6C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,MAAM,IAAItpC,KAAK,CAAC,+DAA+D,CAAC;IACpF;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAw2C,kCAAkCA,CAAA,EAAG;MAAA,IAAAmF,OAAA;MACjC,IAAIb,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAID,OAAO,CAAC16C,MAAM,IAAI,CAAC,EAAE;QACrBsc,YAAY,CAACH,IAAI,CAAC,oBAAoB,CAAC;QACvC;MACJ;MACA,IAAIy+B,WAAW,GAAGpF,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIjhC,OAAO,GAAG/R,GAAG,CAACgB,sBAAsB,CAACjD,QAAQ,CAACuE,aAAa,CAACg1C,iBAAiB,CAAC,CAAC;MACnF,IAAI,CAACC,oBAAoB,CAACJ,OAAO,EAAEE,WAAW,EAAEtlC,OAAO,CAAC,CACnD9G,IAAI,CAAC,UAAA9N,IAAI,EAAI;QACV,IAAIA,IAAI,CAACq6C,UAAU,CAAC,IAAIC,WAAW,EAAE;UACjC,IAAIC,QAAQ,EAAE;YACV33C,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,CAAC;YAC5D5X,WAAK,CAAC4X,oCAAoC,CAAC,gBAAgB,EAAExa,IAAI,CAAC;UACtE;UACA66C,OAAI,CAACzB,wBAAwB,CAACp5C,IAAI,CAAC;QACvC,CAAC,MACI;UACD4C,WAAK,CAAC4X,oCAAoC,CAAC,SAAS,EAAExa,IAAI,CAACw6C,WAAW,CAAC,CAAC;UACxE5+B,YAAY,CAACH,IAAI,CAACzb,IAAI,CAACw6C,WAAW,CAAC,CAAC;QACxC;MACJ,CAAC,CAAC,SACI,CAAC,UAAArnC,KAAK;QAAA,OAAID,OAAO,CAACC,KAAK,CAAC,QAAQ,EAAEA,KAAK,CAAC;MAAA,EAAC;IACvD;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAA66C,kBAAkBA,CAAA,EAAG;MAAA,IAAAe,OAAA;MACjBnxC,MAAM,CAACC,sBAAsB,CAAC,GAAG,GAAG+W,aAAa,GAAG,GAAG,GAAGC,QAAQ,GAAG,GAAG,GAAG3F,UAAU,GAAG,UAAU,GAAGA,UAAU,EAAE9Q,eAAe,EAAE,UAACiU,MAAM,EAAK;QAC1IA,MAAM,CAAChU,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;UACxCA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvB8T,MAAM,GAAG/T,KAAK,CAACwW,MAAM;UACrB,IAAIzC,MAAM,CAAC3X,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;UAChDo/B,OAAI,CAAC/E,sBAAsB,CAAC,CAAC;QACjC,CAAC,CAAC;QACF33B,MAAM,CAAC3X,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACzC,CAAC,CAAC;IACN;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EACD,SAAA67C,sBAAsBA,CAAC1wC,KAAK,EAAE+T,MAAM,EAAE;MAClC/T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB0wC,SAAS,CAAC93C,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACwrC,eAAe,EAAE,CAAC,CAAC,GAAGD,SAAS,CAAC51C,YAAY,CAAC,IAAI,CAACqK,WAAW,CAACwrC,eAAe,CAAC,CAAC;MACvH,IAAI7D,KAAK,GAAGx2C,QAAQ,CAACuE,aAAa,CAACoc,WAAW,GAAG,QAAQ,CAAC;MAC1D,IAAI61B,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAI47B,GAAG,GAAG0D,SAAS,CAACxjB,SAAS,CAAC,IAAI,CAAC;MACnC8f,GAAG,CAAC7wC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrCmtC,GAAG,CAACz2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAI+wC,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAAC0gB,WAAW,GAAG,eAAe,CAAC,CAACjiB,MAAM;MAC/Eg4C,GAAG,CAACp0C,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACwrC,eAAe,EAAE,CAAC,CAAC,GAAGC,SAAS,CAAC;MAClE,IAAI,CAACC,gBAAgB,CAAC/D,KAAK,EAAEE,GAAG,CAAC;MACjCF,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAAC3vC,SAAS,GAAG,CAAC;MACnB,IAAI,CAACguC,eAAe,CAAC,CAAC;MACtB,IAAI,CAAC4F,4BAA4B,CAACjE,KAAK,CAAC;IAC5C;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE;MACzB,IAAI,IAAI,CAAC7nC,WAAW,KAAKqlC,aAAa,EAAE;QACpC,MAAM,IAAI9mC,KAAK,CAAC,qEAAqE,CAAC;MAC1F;MACA;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAu2C,eAAeA,CAAA,EAAG;MAAA,IAAA6F,OAAA;MACd,IAAI,IAAI,CAAC7rC,WAAW,KAAKqlC,aAAa,EAAE;QACpC,MAAM,IAAI9mC,KAAK,CAAC,0CAA0C,CAAC;MAC/D;MACArE,MAAM,CAACC,sBAAsB,CAAC2X,WAAW,EAAEpX,eAAe,EAAE,UAACkvC,KAAK,EAAK;QACnEiC,OAAI,CAACC,aAAa,CAAC,CAAC;MACxB,CAAC,CAAC;IACN;EAAC;IAAAt8C,GAAA;IAAAC,KAAA,EACD,SAAAq8C,aAAaA,CAAA,EAAG;MACZ,IAAIC,cAAc,GAAGj6B,WAAW,GAAG,YAAY,GAAGk6B,UAAU;MAC5D,IAAIC,YAAY,GAAG96C,QAAQ,CAACuE,aAAa,CAACq2C,cAAc,CAAC;MACzD54C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAEkhC,YAAY,CAAC;MAC5E,IAAIR,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAAC0gB,WAAW,GAAG,eAAe,CAAC,CAACjiB,MAAM;MAC/E07C,SAAS,GAAGU,YAAY,CAAClkB,SAAS,CAAC,IAAI,CAAC;MACxC52B,QAAQ,CAACC,gBAAgB,CAAC26C,cAAc,CAAC,CAACxxC,OAAO,CAAC,UAASstC,GAAG,EAAE;QAC5DA,GAAG,CAAC1wC,MAAM,CAAC,CAAC;MAChB,CAAC,CAAC;MACFo0C,SAAS,CAAC93C,YAAY,CAAC,IAAI,CAACuM,WAAW,CAACwrC,eAAe,EAAE,CAAC,CAAC,GAAGC,SAAS,CAAC;IAC5E;EAAC;IAAAj8C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI,IAAI,CAAC3nC,WAAW,KAAKqlC,aAAa,EAAE;QACpC,MAAM,IAAI9mC,KAAK,CAAC,sFAAsF,CAAC;MAC3G;IACJ;EAAC;IAAA/O,GAAA;IAAAC,KAAA,EACD,SAAAy8C,kCAAkCA,CAACvE,KAAK,EAAEE,GAAG,EAAE;MAC3C;MACA;MACA,IAAIsE,mBAAmB,GAAGxE,KAAK,CAACv2C,gBAAgB,CAAC,mBAAmB,GAAGg7C,gBAAgB,GAAG,SAAS,GAAGC,UAAU,CAAC;MACjH,IAAIC,eAAe,GAAG,CAAC;MACvBH,mBAAmB,CAAC5xC,OAAO,CAAC,UAACgyC,MAAM,EAAK;QACpCD,eAAe,GAAG5a,IAAI,CAAC4M,GAAG,CAACgO,eAAe,EAAEl8C,UAAU,CAACgD,GAAG,CAACgB,sBAAsB,CAACm4C,MAAM,CAAC,CAAC,CAAC;MAC/F,CAAC,CAAC;MACF,IAAIC,kBAAkB,GAAG3E,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG02C,gBAAgB,GAAG,IAAI,GAAGC,UAAU,CAAC;MACxFj5C,GAAG,CAACQ,kCAAkC,CAAC44C,kBAAkB,EAAEF,eAAe,GAAG,CAAC,CAAC;IACnF;EAAC;IAAA98C,GAAA;IAAAC,KAAA,EACD,SAAAg9C,8BAA8BA,CAAA,EAAG;MAC7B,IAAIC,oBAAoB,GAAG56B,WAAW,GAAG,eAAe,GAAGs6B,gBAAgB,GAAG,SAAS,GAAGC,UAAU,GAAG,GAAG,GAAGD,gBAAgB;MAC7H,IAAI,CAACO,6BAA6B,CAACD,oBAAoB,CAAC;IAC5D;EAAC;IAAAl9C,GAAA;IAAAC,KAAA,EACD,SAAAk9C,6BAA6BA,CAACC,aAAa,EAA8F;MAAA,IAAAC,OAAA;MAAA,IAA5FpF,OAAO,GAAAz0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEu5C,OAAI,CAACC,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACnI4G,MAAM,CAACC,sBAAsB,CAACyyC,aAAa,EAAElyC,eAAe,EAAE,UAACqyC,KAAK,EAAK;QACrEA,KAAK,CAACpyC,gBAAgB,CAAC,QAAQ,EAAE,UAACC,KAAK,EAAK;UACxC6sC,OAAO,CAAC7sC,KAAK,EAAEmyC,KAAK,CAAC;QACzB,CAAC,CAAC;QACFtF,OAAO,CAAC,IAAI,EAAEsF,KAAK,CAAC;MACxB,CAAC,CAAC;IACN;EAAC;IAAAv9C,GAAA;IAAAC,KAAA,EACD,SAAAq9C,kCAAkCA,CAAClyC,KAAK,EAAEtH,OAAO,EAAE;MAC/C,IAAI05C,kBAAkB,GAAG,IAAI,CAACC,6BAA6B,CAAC35C,OAAO,CAAC;MACpE,IAAI45C,eAAe,GAAG55C,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;MAC3D,IAAIu2C,cAAc,GAAG/5C,GAAG,CAACmD,4BAA4B,CAACjD,OAAO,CAAC;MAC9D;MACA;MACA;MACA,IAAI65C,cAAc,IAAID,eAAe,EAAE;QACnC;QACA,IAAI,CAAC/E,oCAAoC,CAAC,CAAC;QAC3C,IAAI,CAACiF,2CAA2C,CAAC95C,OAAO,EAAE65C,cAAc,EAAEH,kBAAkB,CAAC;MACjG;IACJ;EAAC;IAAAx9C,GAAA;IAAAC,KAAA,EACD,SAAAw9C,6BAA6BA,CAAC35C,OAAO,EAAE;MACnC,IAAIs0C,IAAI,GAAG,EAAE;MACb,IAAIhzC,MAAM,GAAGtB,OAAO;MACpB,IAAImD,OAAO;MACX,OAAO7B,MAAM,EAAE;QACX,IAAIA,MAAM,CAACd,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,IAAI,EAAE;UACtC0C,OAAO,GAAG7B,MAAM,CAACoC,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;UAC9CgxC,IAAI,CAACloC,IAAI,CAACjJ,OAAO,CAAC;QACtB;QACA7B,MAAM,GAAGA,MAAM,CAACC,aAAa;MACjC;MACA,OAAO+yC,IAAI;IACf;EAAC;IAAAp4C,GAAA;IAAAC,KAAA,EACD,SAAA29C,2CAA2CA,CAAC95C,OAAO,EAAE65C,cAAc,EAAEH,kBAAkB,EAAE;MACrF,IAAI39C,UAAU,CAACK,OAAO,CAACs9C,kBAAkB,CAAC,EAAE;MAC5C,IAAI/oB,EAAE,GAAG7wB,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;MACvC,IAAI+5C,UAAU,GAAGF,cAAc,IAAI/5C,GAAG,CAACgE,yBAAyB,CAAC6sB,EAAE,CAAC;MACpE,IAAIqpB,WAAW,GAAGN,kBAAkB,CAACO,KAAK,CAAC,CAAC;MAC5Cp6C,WAAK,CAAC4X,oCAAoC,CAAC;QAACsiC,UAAU,EAAVA,UAAU;QAAEC,WAAW,EAAXA;MAAW,CAAC,CAAC;MACrE,IAAID,UAAU,IAAIC,WAAW,EAAE;QAC3Bl6C,GAAG,CAACsD,kBAAkB,CAACutB,EAAE,EAAEopB,UAAU,CAAC;QACtC,IAAI,CAAClF,oCAAoC,CAAC,CAAC;QAC3C,IAAI,CAACiF,2CAA2C,CAACnpB,EAAE,CAACpvB,aAAa,EAAEw4C,UAAU,EAAEL,kBAAkB,CAAC;MACtG;IACJ;EAAC;IAAAx9C,GAAA;IAAAC,KAAA,EACD,SAAA+9C,6CAA6CA,CAACZ,aAAa,EAExD;MAAA,IAAAa,OAAA;MAAA,IAF0DhG,OAAO,GAAAz0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QACvF,IAAI,CAACA,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAEwhC,OAAI,CAACX,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAC7G,CAAC;MACG4G,MAAM,CAACM,kBAAkB,CAAC,QAAQ,EAAEoyC,aAAa,EAAEnF,OAAO,CAAC;IAC/D;EAAC;IAAAj4C,GAAA;IAAAC,KAAA,EACD,SAAAi+C,qBAAqBA,CAAA,EAAG;MACpB,IAAI,CAACf,6BAA6B,CAAC76B,WAAW,GAAG,qBAAqB,GAAG67B,QAAQ,GAAG,MAAM,GAAGA,QAAQ,CAAC;IAC1G;EAAC;IAAAn+C,GAAA;IAAAC,KAAA,EACD,SAAAm+C,qBAAqBA,CAAA,EAAG;MACpB,IAAI,CAACjB,6BAA6B,CAAC76B,WAAW,GAAG,qBAAqB,GAAG5Y,QAAQ,GAAG,MAAM,GAAGA,QAAQ,CAAC;IAC1G;EAAC;IAAA1J,GAAA;IAAAC,KAAA,EACD,SAAAo+C,4BAA4BA,CAAA,EAAG;MAC3B,IAAI,CAAClB,6BAA6B,CAAC76B,WAAW,GAAG,qBAAqB,GAAGg8B,eAAe,GAAG,MAAM,GAAGA,eAAe,CAAC;IACxH;EAAC;IAAAt+C,GAAA;IAAAC,KAAA,EACD,SAAAs+C,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAACpB,6BAA6B,CAAC76B,WAAW,GAAG,qBAAqB,GAAGk8B,SAAS,GAAG,MAAM,GAAGA,SAAS,CAAC;IAC5G;EAAC;IAAAx+C,GAAA;IAAAC,KAAA,EACD,SAAAw+C,kBAAkBA,CAAA,EAA2G;MAAA,IAAAC,OAAA;MAAA,IAA1GC,SAAS,GAAAn7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,EAAE;MAAA,IAAEo7C,iBAAiB,GAAAp7C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAE46C,OAAI,CAAC5C,sBAAsB,CAAC1wC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACvH,IAAI+6C,cAAc,GAAG,kBAAkB,IAAIh/C,UAAU,CAACK,OAAO,CAACy+C,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGA,SAAS,CAAC,GAAG,qBAAqB,GAAGz2C,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGC,UAAU;MAC5K,IAAI42C,oBAAoB,GAAGD,cAAc,GAAG,GAAG,GAAG92C,UAAU;MAC5D,IAAIg3C,sBAAsB,GAAGF,cAAc,GAAG,QAAQ,GAAG92C,UAAU,GAAG,GAAG;MACzEpE,WAAK,CAAC4X,oCAAoC,CAAC,sBAAsB,EAAEujC,oBAAoB,EAAEC,sBAAsB,CAAC;MAChH,IAAI,CAACC,sBAAsB,CAACF,oBAAoB,EAAEC,sBAAsB,CAAC;MACzE,IAAI,CAACE,wBAAwB,CAACH,oBAAoB,EAAEC,sBAAsB,CAAC;MAC3Er0C,MAAM,CAACM,kBAAkB,CACrB,OAAO,EACL,kBAAkB,IAAInL,UAAU,CAACK,OAAO,CAACy+C,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGA,SAAS,CAAC,GAAG,qBAAqB,GAAGz2C,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAGC,UAAU,EACvJ,UAACkD,KAAK,EAAE+T,MAAM,EAAK;QAAEy/B,iBAAiB,CAACxzC,KAAK,EAAE+T,MAAM,CAAC;MAAE,CAC7D,CAAC;IACL;EAAC;IAAAnf,GAAA;IAAAC,KAAA,EACD,SAAA++C,sBAAsBA,CAACF,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAG,OAAA;MAAA,IAAlGC,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEo7C,OAAI,CAAC5B,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACjK4G,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE8zC,oBAAoB,EAAE,UAAC1zC,KAAK,EAAEtH,OAAO,EAAK;QACzEo7C,OAAI,CAACE,0BAA0B,CAACh0C,KAAK,EAAEtH,OAAO,EAAEg7C,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MACjL,CAAC,CAAC;IACN;EAAC;IAAAt/C,GAAA;IAAAC,KAAA,EACD,SAAAm/C,0BAA0BA,CAACh0C,KAAK,EAAEtH,OAAO,EAAEg7C,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAQ,OAAA;MAAA,IAAlGJ,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEy7C,OAAI,CAACjC,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACrL,IAAIA,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,EAAET,OAAO,GAAGA,OAAO,CAACuB,aAAa;MAC3E,IAAIm6C,aAAa,GAAG57C,GAAG,CAAC0E,gCAAgC,CAACxE,OAAO,CAAC;MACjE,IAAI27C,QAAQ,GAAG37C,OAAO,CAAC0D,SAAS,CAACC,QAAQ,CAACL,SAAS,CAAC;MACpD,IAAIixC,GAAG,GAAGz0C,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;MACxC,IAAIu0C,GAAG,CAAC7wC,SAAS,CAACC,QAAQ,CAAC+0C,UAAU,CAAC,IAAI,CAAC54C,GAAG,CAACgE,yBAAyB,CAACywC,GAAG,CAAC,EAAE;QAC3EA,GAAG,CAAC5gB,UAAU,CAACmC,WAAW,CAACye,GAAG,CAAC;MACnC,CAAC,MACI;QACD,IAAIqH,iBAAiB,GAAG/9C,QAAQ,CAACuE,aAAa,CAACy5C,2BAA2B,GAAG,IAAI,GAAG13C,UAAU,GAAG,GAAG,GAAGC,UAAU,GAAG,GAAG,GAAG03C,OAAO,CAAC;QAClI,IAAIC,SAAS,GAAGH,iBAAiB,CAACnnB,SAAS,CAAC,IAAI,CAAC;QACjD30B,GAAG,CAACI,gCAAgC,CAAC67C,SAAS,EAAEL,aAAa,CAAC;QAC9D57C,GAAG,CAACG,+BAA+B,CAAC87C,SAAS,EAAE,KAAK,CAAC;QACrD,IAAIJ,QAAQ,EAAEI,SAAS,CAACr4C,SAAS,CAACE,GAAG,CAACN,SAAS,CAAC;QAChDtD,OAAO,CAACg8C,WAAW,CAACD,SAAS,CAAC;QAC9BV,aAAa,CAAC,IAAI,EAAEU,SAAS,CAAC;QAC9B,IAAI,CAACZ,wBAAwB,CAACH,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MAC/J;MACA,IAAI,CAAC3G,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAA34C,GAAA;IAAAC,KAAA,EACD,SAAAg/C,wBAAwBA,CAACH,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAgB,OAAA;MAAA,IAAlGZ,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEi8C,OAAI,CAACzC,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACnK4G,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE+zC,sBAAsB,EAAE,UAAC3zC,KAAK,EAAEtH,OAAO,EAAK;QAC3Ei8C,OAAI,CAACC,4BAA4B,CAAC50C,KAAK,EAAEtH,OAAO,EAAEg7C,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;UAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;QAAE,CAAC,CAAC;MACnL,CAAC,CAAC;IACN;EAAC;IAAAt/C,GAAA;IAAAC,KAAA,EACD,SAAA+/C,4BAA4BA,CAAC50C,KAAK,EAAEtH,OAAO,EAAEg7C,oBAAoB,EAAEC,sBAAsB,EAAoG;MAAA,IAAAkB,OAAA;MAAA,IAAlGd,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEm8C,OAAI,CAAC3C,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MACvL,IAAIA,OAAO,CAACQ,OAAO,CAACC,WAAW,CAAC,CAAC,IAAI,KAAK,EAAET,OAAO,GAAGA,OAAO,CAACuB,aAAa;MAC3E,IAAIm6C,aAAa,GAAG57C,GAAG,CAAC0E,gCAAgC,CAACxE,OAAO,CAAC;MACjE,IAAI27C,QAAQ,GAAG77C,GAAG,CAACoD,cAAc,CAAClD,OAAO,CAAC;MAC1C,IAAIo8C,oBAAoB,GAAGv+C,QAAQ,CAACuE,aAAa,CAACy5C,2BAA2B,GAAG,IAAI,GAAG13C,UAAU,GAAG,GAAG,GAAGC,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC;MACxI,IAAIo4C,YAAY,GAAGD,oBAAoB,CAAC3nB,SAAS,CAAC,IAAI,CAAC;MACvD30B,GAAG,CAACI,gCAAgC,CAACm8C,YAAY,EAAEX,aAAa,CAAC;MACjE57C,GAAG,CAACG,+BAA+B,CAACo8C,YAAY,EAAE,IAAI,CAAC;MACvD,IAAIV,QAAQ,EAAEU,YAAY,CAAC34C,SAAS,CAACE,GAAG,CAACN,SAAS,CAAC;MACnDtD,OAAO,CAACg8C,WAAW,CAACK,YAAY,CAAC;MACjChB,aAAa,CAAC,IAAI,EAAEgB,YAAY,CAAC;MACjC,IAAI,CAACnB,sBAAsB,CAACF,oBAAoB,EAAEC,sBAAsB,EAAE,UAACM,WAAW,EAAEC,aAAa,EAAK;QAAEH,aAAa,CAACE,WAAW,EAAEC,aAAa,CAAC;MAAE,CAAC,CAAC;MACzJ,IAAI,CAAC3G,oCAAoC,CAAC,CAAC;IAC/C;EAAC;IAAA34C,GAAA;IAAAC,KAAA,EACD,SAAAmgD,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAACC,0BAA0B,CAACC,eAAe,EAAE38C,WAAK,CAACyX,eAAe,CAACmlC,YAAY,CAAC,CAAC;IACzF;EAAC;IAAAvgD,GAAA;IAAAC,KAAA,EACD,SAAAogD,0BAA0BA,CACtBG,SAAS,EACPC,UAAU,EAId;MAAA,IAAAC,OAAA;MAAA,IAHIC,YAAY,GAAAn9C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IACnBo9C,SAAS,GAAAp9C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAACq9C,WAAW,EAAK;QAAEH,OAAI,CAACvK,mBAAmB,CAAC0K,WAAW,CAAC;MAAE,CAAC;MAAA,IACvE1B,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAE48C,OAAI,CAACpD,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MAElG,IAAI68C,YAAY,IAAI,IAAI,EAAEA,YAAY,GAAGr+B,WAAW,GAAG,qBAAqB,GAAGk+B,SAAS;MACxF91C,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE21C,YAAY,GAAG,OAAO,GAAGH,SAAS,EAAE,UAACp1C,KAAK,EAAEd,GAAG,EAAK;QACnFo2C,OAAI,CAACI,8BAA8B,CAC/B11C,KAAK,EACHd,GAAG,EACHk2C,SAAS,EACTC,UAAU,EACVE,YAAY,EACZ,UAACE,WAAW,EAAK;UAAED,SAAS,CAC1BC,WAAW,EACT,UAACz1C,KAAK,EAAEtH,OAAO,EAAK;YAAEq7C,aAAa,CAAC/zC,KAAK,EAAEtH,OAAO,CAAC;UAAE,CAC3D,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACF88C,SAAS,CAACD,YAAY,GAAG,UAAU,GAAGH,SAAS,CAAC;IACpD;EAAC;IAAAxgD,GAAA;IAAAC,KAAA,EACD,SAAAk2C,mBAAmBA,CAAC0K,WAAW,EAAoG;MAAA,IAAAE,OAAA;MAAA,IAAlG5B,aAAa,GAAA37C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAAC4H,KAAK,EAAEtH,OAAO,EAAK;QAAEi9C,OAAI,CAACzD,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC;MAC7H,IAAI,CAACq5C,6BAA6B,CAAC0D,WAAW,EAAE,UAACz1C,KAAK,EAAEtH,OAAO,EAAK;QAAEq7C,aAAa,CAAC/zC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC3G;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAA6gD,8BAA8BA,CAAC11C,KAAK,EAAEd,GAAG,EAAEk2C,SAAS,EAAEQ,gBAAgB,EAAkG;MAAA,IAAAC,OAAA;MAAA,IAAhGN,YAAY,GAAAn9C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAEo9C,SAAS,GAAAp9C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,UAACm9C,YAAY,EAAK;QAAEM,OAAI,CAAC9K,mBAAmB,CAACwK,YAAY,CAAC;MAAE,CAAC;MAClK,IAAI9gD,UAAU,CAACK,OAAO,CAACygD,YAAY,CAAC,EAAEA,YAAY,GAAGr+B,WAAW,GAAG,qBAAqB,GAAGk+B,SAAS;MACpG,IAAIU,UAAU,GAAGt9C,GAAG,CAACuE,+BAA+B,CAACmC,GAAG,CAAC;MACzD,IAAI62C,EAAE,GAAGv9C,GAAG,CAACiB,kBAAkB,CAACyF,GAAG,CAAC;MACpC62C,EAAE,CAAC16C,SAAS,GAAG,EAAE;MACjB,IAAI26C,GAAG,GAAGz/C,QAAQ,CAACwI,aAAa,CAAC,QAAQ,CAAC;MAC1Ci3C,GAAG,CAAC55C,SAAS,CAACE,GAAG,CAAC84C,SAAS,CAAC;MAC5B58C,GAAG,CAACQ,kCAAkC,CAACg9C,GAAG,EAAEF,UAAU,CAAC;MACvD,IAAIl3C,UAAU,EAAEE,MAAM;MACtB,IAAIoxC,QAAQ,EAAE;QACV33C,WAAK,CAAC4X,oCAAoC,CAAC,8BAA8B,CAAC;QAC1E5X,WAAK,CAAC4X,oCAAoC,CAAC;UAACylC,gBAAgB,EAAhBA,gBAAgB;UAAEL,YAAY,EAAZA;QAAY,CAAC,CAAC;MAChF;MACAz2C,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC;MAC/Bq3C,GAAG,CAAC9wB,WAAW,CAACpmB,MAAM,CAAC;MACvB82C,gBAAgB,CAACj2C,OAAO,CAAC,UAACs2C,gBAAgB,EAAK;QAC3Cr3C,UAAU,GAAG0S,eAAe,CAACy4B,2BAA2B,CAACkM,gBAAgB,EAAEH,UAAU,CAAC;QACtFh3C,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;QACrCo3C,GAAG,CAAC9wB,WAAW,CAACpmB,MAAM,CAAC;MAC3B,CAAC,CAAC;MACFi3C,EAAE,CAAC7wB,WAAW,CAAC8wB,GAAG,CAAC;MACnB,IAAIP,WAAW,GAAGF,YAAY,GAAG,UAAU,GAAGH,SAAS;MACvDI,SAAS,CAACC,WAAW,CAAC;IAC1B;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA7gD,GAAA;IAAAC,KAAA,EAOA,SAAAqhD,qBAAqBA,CAACC,UAAU,EAAEC,WAAW,EAAE;MAC3C,IAAI,CAACC,4BAA4B,CAACF,UAAU,EAAEC,WAAW,EAAE/kC,eAAe,CAAC;IAC/E;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EACD,SAAAyhD,2BAA2BA,CAACH,UAAU,EAAEC,WAAW,EAAE;MACjD,IAAI,CAACC,4BAA4B,CAACF,UAAU,EAAEC,WAAW,EAAE/kC,eAAe,CAAC;IAC/E;EAAC;IAAAzc,GAAA;IAAAC,KAAA,EAED,SAAA0hD,2BAA2BA,CAAA,EAAiB;MAAA,IAAAC,OAAA;MAAA,IAAhBC,OAAO,GAAAr+C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MACtC,IAAIq+C,OAAO,IAAI,IAAI,EAAEA,OAAO,GAAGv/B,WAAW;MAC1C,IAAI,CAAC+9B,0BAA0B,CAC3BrqC,mBAAmB,EACjBrS,WAAK,CAACyX,eAAe,CAAC0mC,uBAAuB,CAAC,CAACpI,IAAI,CAAC,UAACltC,CAAC,EAAEy+B,CAAC;QAAA,OAAKz+B,CAAC,CAAC9C,QAAQ,CAAC,CAACiwC,aAAa,CAAC1O,CAAC,CAACvhC,QAAQ,CAAC,CAAC;MAAA,EAAC,EACrGm4C,OAAO,GAAG,qBAAqB,GAAG7rC,mBAAmB,CAAC;MAAA,EACtD,UAAC2qC,YAAY,EAAK;QAAEiB,OAAI,CAACG,yBAAyB,CAACpB,YAAY,CAAC;MAAE,CACxE,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA8hD,yBAAyBA,CAAClB,WAAW,EAAE;MAAA,IAAAmB,OAAA;MACnC,IAAI,CAAC7E,6BAA6B,CAAC0D,WAAW,EAAE,UAACz1C,KAAK,EAAEtH,OAAO,EAAK;QAAEk+C,OAAI,CAACC,8BAA8B,CAAC72C,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IACjI;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAgiD,8BAA8BA,CAAC72C,KAAK,EAAE82C,WAAW,EAAE;MAC/C,IAAI7J,GAAG,GAAGz0C,GAAG,CAACmB,iBAAiB,CAACm9C,WAAW,CAAC;MAC5C,IAAIC,uBAAuB,GAAG,IAAI,CAACC,uBAAuB,CAAC/J,GAAG,CAAC,CAAC,CAAC;MACjE,IAAI,CAACiF,kCAAkC,CAAClyC,KAAK,EAAE82C,WAAW,CAAC;MAC3D,IAAIG,uBAAuB,GAAG,IAAI,CAACD,uBAAuB,CAAC/J,GAAG,CAAC,CAAC,CAAC;MACjE,IACI8J,uBAAuB,IAAIE,uBAAuB,IAC/CA,uBAAuB,IAAI,CAAC,EACjC;MACFpuC,OAAO,CAAC0H,GAAG,CAAC;QAAE0mC,uBAAuB,EAAvBA,uBAAuB;QAAEF,uBAAuB,EAAvBA;MAAwB,CAAC,CAAC;MACjE,IAAIG,uBAAuB,GAAG,IAAI,CAACC,0BAA0B,CAAC,CAAC;MAC/D,IAAIC,SAAS,GAAGnK,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG0Q,WAAW,CAAC;MACtD4rC,SAAS,CAACnb,aAAa,CAAC,IAAIyS,KAAK,CAAC,OAAO,CAAC,CAAC;MAC3C,IAAI2I,UAAU,GAAGpK,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,UAAU,GAAGA,WAAW,CAAC;MAClF6rC,UAAU,CAACh8C,SAAS,GAAG,EAAE;MACzBg8C,UAAU,CAACnyB,WAAW,CAAC1sB,GAAG,CAACmG,YAAY,CAAC,IAAI,CAAC,CAAC;MAC9C,IAAIC,UAAU,EAAEE,MAAM;MACtB,IAAIqvC,kBAAkB,GAAG51C,WAAK,CAACyX,eAAe,CAACk+B,cAAc,CAAC,CAACtzC,MAAM,CAAC,UAAAwzC,OAAO;QAAA,OACzE,CACIA,OAAO,CAACL,qBAAqB,CAAC,IAAIkJ,uBAAuB,IACtDA,uBAAuB,IAAI,CAAC,MAG5B7I,OAAO,CAACL,qBAAqB,CAAC,IAAImJ,uBAAuB,IACzDA,uBAAuB,IAAI,CAAC,CAClC;MAAA,CACL,CAAC;MACD,IAAI7I,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAACltC,CAAC,EAAEy+B,CAAC;QAAA,OAAKz+B,CAAC,CAAC9C,QAAQ,CAAC,CAACiwC,aAAa,CAAC1O,CAAC,CAACvhC,QAAQ,CAAC,CAAC;MAAA,EAAC;MAC9F+vC,cAAc,CAAC1uC,OAAO,CAAC,UAACyuC,OAAO,EAAK;QAChCxvC,UAAU,GAAG0S,eAAe,CAACy4B,2BAA2B,CAACqE,OAAO,CAAC;QACjEtvC,MAAM,GAAGtG,GAAG,CAACmG,YAAY,CAACC,UAAU,CAAC;QACrCy4C,UAAU,CAACnyB,WAAW,CAACpmB,MAAM,CAAC;MAClC,CAAC,CAAC;MACF,IAAI,CAACozC,kCAAkC,CAAClyC,KAAK,EAAEq3C,UAAU,CAAC;IAC9D;EAAC;IAAAziD,GAAA;IAAAC,KAAA,EACD,SAAAyiD,mBAAmBA,CAAA,EAAiB;MAAA,IAAAC,OAAA;MAAA,IAAhBd,OAAO,GAAAr+C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAC9B,IAAIq+C,OAAO,IAAI,IAAI,EAAEA,OAAO,GAAGv/B,WAAW;MAC1C5X,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE62C,OAAO,GAAG,qBAAqB,GAAGjrC,WAAW,GAAG,OAAO,GAAGA,WAAW,EAAE,UAACxL,KAAK,EAAEd,GAAG,EAAK;QACtH3G,WAAK,CAAC4X,oCAAoC,CAACjR,GAAG,CAAC;QAC/C,IAAIs4C,QAAQ,GAAGh/C,GAAG,CAACmB,iBAAiB,CAACuF,GAAG,CAAC;QACzC3G,WAAK,CAAC4X,oCAAoC,CAAC;UAAEjR,GAAG,EAAHA,GAAG;UAAEs4C,QAAQ,EAARA;QAAS,CAAC,CAAC;QAC7D,IAAIC,iBAAiB,GAAGD,QAAQ,CAAC18C,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,CAAC;QAC3E,IAAI8sC,oBAAoB,GAAGH,OAAI,CAACP,uBAAuB,CAACQ,QAAQ,CAAC,CAAC,CAAC;QACnE,IAAIN,uBAAuB,GAAGK,OAAI,CAACJ,0BAA0B,CAAC,CAAC;QAC/D,IAAIQ,iBAAiB,GAAGp/C,WAAK,CAACyX,eAAe,CAACk+B,cAAc,CAAC;QAC7D,IAAIC,kBAAkB,GAAGwJ,iBAAiB,CAAC/8C,MAAM,CAAC,UAAAwzC,OAAO;UAAA,OACrD,CACIA,OAAO,CAACL,qBAAqB,CAAC,IAAI2J,oBAAoB,IACnDA,oBAAoB,IAAI,CAAC,MAGzBtJ,OAAO,CAACL,qBAAqB,CAAC,IAAImJ,uBAAuB,IACzDA,uBAAuB,IAAI,CAAC,CAClC;QAAA,CACL,CAAC;QACD,IAAI7I,cAAc,GAAGF,kBAAkB,CAACG,IAAI,CAAC,UAACltC,CAAC,EAAEy+B,CAAC;UAAA,OAAKz+B,CAAC,CAAC9C,QAAQ,CAAC,CAACiwC,aAAa,CAAC1O,CAAC,CAACvhC,QAAQ,CAAC,CAAC;QAAA,EAAC;QAC9F/F,WAAK,CAAC4X,oCAAoC,CAAC;UAAEsnC,iBAAiB,EAAjBA,iBAAiB;UAAEC,oBAAoB,EAApBA,oBAAoB;UAAER,uBAAuB,EAAvBA,uBAAuB;UAAES,iBAAiB,EAAjBA,iBAAiB;UAAExJ,kBAAkB,EAAlBA;QAAmB,CAAC,CAAC;QACvJ51C,WAAK,CAAC4X,oCAAoC,CAACwnC,iBAAiB,CAAC;QAC7DJ,OAAI,CAAC7B,8BAA8B,CAC/B11C,KAAK,EACHd,GAAG,EACHsM,WAAW,CAAC;QAAA,EACZ6iC,cAAc,CAAC;QAAA,EACfoI,OAAO,GAAG,qBAAqB,GAAGjrC,WAAW,CAAC;QAAA,EAC9C,UAAC+pC,YAAY,EAAK;UAAEgC,OAAI,CAACxM,mBAAmB,CAC1CwK,YAAY,EACV,UAACv1C,KAAK,EAAEtH,OAAO,EAAK;YAAE6+C,OAAI,CAACK,sBAAsB,CAAC53C,KAAK,EAAEtH,OAAO,CAAC;UAAE,CACzE,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACF,IAAI,CAACqyC,mBAAmB,CACpB0L,OAAO,GAAG,qBAAqB,GAAGjrC,WAAW,GAAG,UAAU,GAAGA,WAAW,EACtE,UAACxL,KAAK,EAAEtH,OAAO,EAAK;QAAE6+C,OAAI,CAACK,sBAAsB,CAAC53C,KAAK,EAAEtH,OAAO,CAAC;MAAE,CACzE,CAAC;IACL;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAA+iD,sBAAsBA,CAAC53C,KAAK,EAAEq3C,UAAU,EAAE;MACtC;MACA,IAAIpK,GAAG,GAAGz0C,GAAG,CAACmB,iBAAiB,CAAC09C,UAAU,CAAC;MAC3C,IAAI,CAACnF,kCAAkC,CAAClyC,KAAK,EAAEq3C,UAAU,CAAC;MAC1D,IAAIN,uBAAuB,GAAG,IAAI,CAACC,uBAAuB,CAAC/J,GAAG,CAAC;MAC/D,IAAI4K,YAAY,GAAG,IAAI,CAACC,eAAe,CAAC7K,GAAG,CAAC;MAC5C,IAAI8K,UAAU,GAAG7J,cAAc,CAAC2J,YAAY,CAAC;MAC7C;MACA,IAAIE,UAAU,IAAI,IAAI,IAAIhB,uBAAuB,IAAIgB,UAAU,CAAChK,qBAAqB,CAAC,EAAE;MACxF,IAAIiK,kBAAkB,GAAG/K,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,MAAM,CAAC;MAChF,IAAIotC,kBAAkB,EAAEA,kBAAkB,CAAC/b,aAAa,CAAC,IAAIyS,KAAK,CAAC,OAAO,CAAC,CAAC;MAC5E,IAAIuJ,kBAAkB,GAAGhL,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,UAAU,GAAGA,mBAAmB,CAAC;MAC1GpS,GAAG,CAACS,sBAAsB,CAACg/C,kBAAkB,EAAEF,UAAU,CAAChK,qBAAqB,CAAC,CAAC;MACjF;MACA,IAAI,CAACmE,kCAAkC,CAAClyC,KAAK,EAAEi4C,kBAAkB,CAAC;IACtE;EAAC;IAAArjD,GAAA;IAAAC,KAAA,EACD,SAAAmiD,uBAAuBA,CAAC3tB,EAAE,EAAE;MACxB,IAAI6uB,sBAAsB,GAAG7uB,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAG8P,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;MACvG,OAAOpS,GAAG,CAACuE,+BAA+B,CAACm7C,sBAAsB,CAAC;IACtE;EAAC;IAAAtjD,GAAA;IAAAC,KAAA,EACD,SAAAsiD,0BAA0BA,CAAA,EAAG;MACzB,IAAI7sC,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIyC,iBAAiB,GAAG,CAAC;MACzB,IAAI3jC,WAAW,IAAI,IAAI,EAAE,OAAO2jC,iBAAiB;MACjD,IAAIkK,qBAAqB,GAAG7tC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAGizC,qBAAqB,CAAC;MAClF,IAAIqK,aAAa,GAAG9tC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAG8zC,aAAa,CAAC;MAClE,IAAIyJ,iCAAiC,GAAG7/C,GAAG,CAACuE,+BAA+B,CAACo7C,qBAAqB,CAAC;MAClG5/C,WAAK,CAAC4X,oCAAoC,CAAC;QAAEkoC,iCAAiC,EAAjCA;MAAkC,CAAC,CAAC;MACjF,IAAIA,iCAAiC,IAAI,EAAE,EAAE;QACzC,IAAIC,yBAAyB,GAAG9/C,GAAG,CAACuE,+BAA+B,CAACq7C,aAAa,CAAC;QAClF7/C,WAAK,CAAC4X,oCAAoC,CAAC;UAAEmoC,yBAAyB,EAAzBA;QAA0B,CAAC,CAAC;QACzE,IAAIA,yBAAyB,IAAI,EAAE,EAAE;UACjC,IAAIlK,OAAO,GAAGF,cAAc,CAACoK,yBAAyB,CAAC;UACvDrK,iBAAiB,GAAGG,OAAO,CAACL,qBAAqB,CAAC;QACtD;MACJ,CAAC,MAAM;QACHE,iBAAiB,GAAGzmC,MAAM,CAAC6wC,iCAAiC,CAAC;MACjE;MACA,OAAOpK,iBAAiB;IAC5B;EAAC;IAAAr5C,GAAA;IAAAC,KAAA,EACD,SAAA0jD,2BAA2BA,CAAA,EAAG;MAC1B,IAAIrB,uBAAuB,GAAG,IAAI,CAACC,0BAA0B,CAAC,CAAC;MAC/D,OAAO,EAAE1iD,UAAU,CAACK,OAAO,CAACoiD,uBAAuB,CAAC,IAAIA,uBAAuB,IAAI,CAAC,CAAC;IACzF;EAAC;IAAAtiD,GAAA;IAAAC,KAAA,EACD,SAAAijD,eAAeA,CAACzuB,EAAE,EAAE;MAChB,IAAImvB,cAAc,GAAGnvB,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MAC/E,OAAOhT,GAAG,CAACuE,+BAA+B,CAACy7C,cAAc,CAAC;IAC9D;EAAC;IAAA5jD,GAAA;IAAAC,KAAA,EACD,SAAA4jD,kBAAkBA,CAAA,EAAG;MACjB,IAAInuC,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAI4M,aAAa,GAAG9tC,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAG8zC,aAAa,CAAC;MAClE,IAAI0J,yBAAyB,GAAG9/C,GAAG,CAACuE,+BAA+B,CAACq7C,aAAa,CAAC;MAClF,IAAIM,SAAS,GAAGlxC,MAAM,CAAC8wC,yBAAyB,CAAC;MACjD,OAAOI,SAAS;IACpB;EAAC;IAAA9jD,GAAA;IAAAC,KAAA,EACD,SAAA8jD,mBAAmBA,CAAA,EAAG;MAClB,IAAIC,eAAe,GAAG,IAAI,CAACH,kBAAkB,CAAC,CAAC;MAC/C,OAAO,EAAEhkD,UAAU,CAACK,OAAO,CAAC8jD,eAAe,CAAC,IAAIA,eAAe,IAAI,CAAC,CAAC;IACzE;EAAC;IAAAhkD,GAAA;IAAAC,KAAA,EACD,SAAAgkD,eAAeA,CAAA,EAAG;MACd,IAAI,CAAC5D,0BAA0B,CAAC6D,OAAO,EAAEvgD,WAAK,CAACyX,eAAe,CAAC+oC,UAAU,CAAC,CAAC;IAC/E;EAAC;IAAAnkD,GAAA;IAAAC,KAAA,EACD,SAAAmkD,WAAWA,CAAC3vB,EAAE,EAAE;MACZ,IAAI4vB,UAAU,GAAG5vB,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAGg+C,OAAO,GAAG,IAAI,GAAGA,OAAO,CAAC;MACnE,OAAOtgD,GAAG,CAACuE,+BAA+B,CAACk8C,UAAU,CAAC;IAC1D;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAZI;IAAArkD,GAAA;IAAAC,KAAA,EAaA,SAAA4f,KAAKA,CAAA,EAAG;MACJ,IAAI,IAAI,CAACrP,WAAW,KAAKqlC,aAAa,EAAE;QACpC,MAAM,IAAI9mC,KAAK,CAAC,gCAAgC,CAAC;MACrD;MACA4T,uBAAA,CAAAkzB,aAAA;MACA,IAAIngC,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAI90B,QAAQ,GAAG,CAAC,CAAC;MACjBA,QAAQ,CAAC/L,eAAe,CAAC,GAAGnS,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;MAC7D,IAAI,CAACmM,mBAAmB,CAACC,QAAQ,CAAC;IACtC;EAAC;IAAA9hB,GAAA;IAAAC,KAAA,EAED,SAAAwhD,4BAA4BA,CAAC6C,UAAU,EAAEC,cAAc,EAAEC,aAAa,EAAE;MACpE,IAAIpK,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIoK,QAAQ,GAAGrK,KAAK,CAACl0C,aAAa,CAAC,KAAK,GAAGo+C,UAAU,CAAC;MACtD,IAAII,eAAe,GAAGD,QAAQ,CAACj9C,SAAS,CAACC,QAAQ,CAAC+8C,aAAa,CAAC;MAChE,IAAID,cAAc,IAAIG,eAAe,EAAE;MACvC9gD,GAAG,CAACuD,6BAA6B,CAACs9C,QAAQ,EAAEF,cAAc,EAAEC,aAAa,CAAC;IAC9E;EAAC;IAAAxkD,GAAA;IAAAC,KAAA,EACD,SAAA0kD,kCAAkCA,CAACL,UAAU,EAAEC,cAAc,EAAEC,aAAa,EAAE;MAC1E,IAAIpK,KAAK,GAAGvE,aAAa,CAACwE,YAAY,CAAC,CAAC;MACxC,IAAIoK,QAAQ,GAAGrK,KAAK,CAACl0C,aAAa,CAAC,KAAK,GAAGo+C,UAAU,CAAC;MACtD1gD,GAAG,CAACuD,6BAA6B,CAACs9C,QAAQ,EAAEF,cAAc,EAAEC,aAAa,CAAC;IAC9E;EAAC;IAAAxkD,GAAA;IAAAC,KAAA,EAED,SAAA04C,oCAAoCA,CAAA,EAAG;MACnC,IAAIoC,OAAO,GAAG,IAAI,CAACC,eAAe,CAAC,IAAI,CAAC;MACxC,IAAI4J,gBAAgB,GAAG7J,OAAO,CAAC16C,MAAM,GAAG,CAAC;MAEzC,IAAIqV,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;MAChD,IAAIsB,eAAe,GAAGt0C,GAAG,CAACgE,yBAAyB,CAAC8N,WAAW,CAAC;MAEhEzB,OAAO,CAAC0H,GAAG,CAAC;QAAEo/B,OAAO,EAAPA,OAAO;QAAE6J,gBAAgB,EAAhBA,gBAAgB;QAAElvC,WAAW,EAAXA,WAAW;QAAEwiC,eAAe,EAAfA;MAAgB,CAAC,CAAC;MAExE,IAAI,CAACl2B,2BAA2B,CAAC4iC,gBAAgB,IAAI,CAAC1M,eAAe,CAAC;IAC1E;EAAC;IAAAl4C,GAAA;IAAAC,KAAA,EA5jBD,SAAO22C,cAAcA,CAAA,EAAG;MACpB,OAAOj1C,QAAQ,CAACuE,aAAa,CAACkxC,aAAa,CAAC;IAChD;EAAC;IAAAp3C,GAAA;IAAAC,KAAA,EAuBD,SAAOo6C,YAAYA,CAAA,EAAG;MAClB,OAAO14C,QAAQ,CAACuE,aAAa,CAACoc,WAAW,CAAC;IAC9C;EAAC;AAAA,EA3MsC1F,QAAQ;;;;;;;;;ACZV;AACa;AACL;AACjD;AAC+B;AACc;AACA;AAAA,IAExBioC,YAAY;EAC7B,SAAAA,aAAYC,WAAW,EAAE;IAAAhlD,oBAAA,OAAA+kD,YAAA;IACrB,IAAI,CAAC/9C,IAAI,GAAGg+C,WAAW;EAC3B;EAAC,OAAA/kD,iBAAA,CAAA8kD,YAAA;IAAA7kD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACTrZ,KAAK,CAAC4X,oCAAoC,CAAC,uBAAuB,EAAE,IAAI,CAACzU,IAAI,CAACuN,IAAI,CAAC;MACnF,IAAI,CAACiiC,aAAa,CAAC,CAAC;MACpB,IAAI,CAACyO,qBAAqB,CAAC,CAAC;IAChC;EAAC;IAAA/kD,GAAA;IAAAC,KAAA,EACD,SAAAq2C,aAAaA,CAAA,EAAG,CAChB;EAAC;IAAAt2C,GAAA;IAAAC,KAAA,EACD,SAAA8kD,qBAAqBA,CAAA,EAAG,CAExB;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAzBI;IAAA/kD,GAAA;IAAAC,KAAA,EA2BA,SAAA4f,KAAKA,CAAA,EAAG,CAAC;EAAC;AAAA;;;;;;;;;;;;;;;;;;;ACnD2B;AACa;AACL;AACjD;AAC+B;AACc;AACP;AACC;AAAA,IAElBmlC,iBAAiB,0BAAAC,aAAA;EAClC,SAAAD,kBAAYF,WAAW,EAAE;IAAAhlD,0BAAA,OAAAklD,iBAAA;IAAA,OAAAviC,qBAAA,OAAAuiC,iBAAA,GACfF,WAAW;EACrB;EAACpiC,oBAAA,CAAAsiC,iBAAA,EAAAC,aAAA;EAAA,OAAAllD,uBAAA,CAAAilD,iBAAA;IAAAhlD,GAAA;IAAAC,KAAA,EACD,SAAA+c,UAAUA,CAAA,EAAG;MACT2F,wBAAA,CAAAqiC,iBAAA;MACA,IAAI,CAAC1O,aAAa,CAAC,CAAC;MACpB,IAAI,CAAC4O,WAAW,CAAC,CAAC;IACtB;EAAC;IAAAllD,GAAA;IAAAC,KAAA,EACD,SAAAq2C,aAAaA,CAAA,EAAG;MACZ;IAAA;EACH;IAAAt2C,GAAA;IAAAC,KAAA,EACD,SAAAilD,WAAWA,CAAA,EAAG;MACV;IAAA;EACH;IAAAllD,GAAA;IAAAC,KAAA,EACD,SAAAklD,oBAAoBA,CAAA,EAAG;MACnB,IAAI,CAACr+C,IAAI,CAACu5C,0BAA0B,CAChCnoC,YAAY,EACVvU,WAAK,CAACyX,eAAe,CAACgqC,eAAe,CAAC,CAAC;MAC7C,CAAC;IACL;EAAC;AAAA,EApB0CP,YAAY;;;;;;;;;;;;;;;;;;;;ACT5B;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BQ,wBAAwB,0BAAAC,cAAA;EAKzC,SAAAD,yBAAYxoC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,iCAAA,OAAAulD,wBAAA;IAChB9nC,KAAA,GAAAkF,4BAAA,OAAA4iC,wBAAA,GAAMxoC,MAAM;IAAEtT,iCAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACsD,qBAAqB;IAI5CoH,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,2BAAA,CAAA2iC,wBAAA,EAAAC,cAAA;EAAA,OAAAvlD,8BAAA,CAAAslD,wBAAA;IAAArlD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ10C,WAAK,CAAC4X,oCAAoC,CAAC;QAAE88B,GAAG,EAAHA;MAAI,CAAC,CAAC;MACnD,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAImN,SAAS,GAAGnN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGi4C,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIsH,SAAS,GAAGpN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIg8C,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E+L,OAAO,CAAC0H,GAAG,CAAC,WAAW,CAAC;MACxB1H,OAAO,CAAC0H,GAAG,CAAC6pC,SAAS,CAAC;MAEtB,IAAIG,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACxM,qBAAqB,CAAC,GAAGd,GAAG,CAAClyC,YAAY,CAACgzC,qBAAqB,CAAC;MACxEwM,OAAO,CAACxH,QAAQ,CAAC,GAAGv6C,GAAG,CAACuE,+BAA+B,CAACq9C,SAAS,CAAC;MAClEG,OAAO,CAACj8C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAACs9C,SAAS,CAAC;MAClEE,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC;IAAA;EACH;IAAAn4C,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,+BAAA,CAAA0iC,wBAAA;MACA,IAAI,CAACnH,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACE,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,+BAAA,CAAA0iC,wBAAA;IACJ;EAAC;AAAA,EAxDiDxP,aAAa;AAAAtsC,iCAAA,CAA9C87C,wBAAwB,UAC3BllC,4BAA4B;AAAA5W,iCAAA,CADzB87C,wBAAwB,qBAEhBlM,qBAAqB;;;;;;;;;;;;;;;;;;;;ACXnB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5ByM,eAAe,0BAAAN,cAAA;EAKhC,SAAAM,gBAAY/oC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,uBAAA,OAAA8lD,eAAA;IAChBroC,KAAA,GAAAkF,kBAAA,OAAAmjC,eAAA,GAAM/oC,MAAM;IAAEtT,uBAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACiE,YAAY;IAInCyG,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,iBAAA,CAAAkjC,eAAA,EAAAN,cAAA;EAAA,OAAAvlD,oBAAA,CAAA6lD,eAAA;IAAA5lD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAAChC,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EACD,SAAAi5C,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACnB,YAAY,CAACoB,qBAAqB,CAAC;IAC5C;EAAC;IAAAn5C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIm8C,iCAAiC,GAAGxN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG4/C,gCAAgC,GAAG,IAAI,GAAGA,gCAAgC,CAAC;MAC7I,IAAIC,kBAAkB,GAAG1N,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG8/C,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MAChG,IAAIC,UAAU,GAAG5N,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MACxE,IAAIkH,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;;MAE5E;AACR;AACA;AACA;;MAEQ,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC3L,aAAa,CAAC,GAAG3B,GAAG,CAAClyC,YAAY,CAAC6zC,aAAa,CAAC;MACxD2L,OAAO,CAACxM,qBAAqB,CAAC,GAAG,IAAI,CAACiJ,uBAAuB,CAAC/J,GAAG,CAAC;MAClEsN,OAAO,CAACj8C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAACs9C,SAAS,CAAC;MAClEE,OAAO,CAACG,gCAAgC,CAAC,GAAGliD,GAAG,CAACuE,+BAA+B,CAAC09C,iCAAiC,CAAC;MAClHF,OAAO,CAACK,iBAAiB,CAAC,GAAIpiD,GAAG,CAACuE,+BAA+B,CAAC49C,kBAAkB,CAAC,IAAI,MAAO;MAChGJ,OAAO,CAACnH,SAAS,CAAC,GAAG56C,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;MACpEN,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAGluC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAACirB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,qBAAA,CAAAijC,eAAA;MACA,IAAI,CAACjE,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACvD,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACmI,2CAA2C,CAAC,CAAC;MAClD,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAACjI,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAA0hD,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACtB,0BAA0B,CAC3BrqC,mBAAmB,EACjBrS,WAAK,CAACyX,eAAe,CAAC0mC,uBAAuB,CACnD,CAAC;IACL;EAAC;IAAA9hD,GAAA;IAAAC,KAAA,EACD,SAAAsmD,2CAA2CA,CAAA,EAAG;MAC1C,IAAI,CAACpJ,6BAA6B,CAAC76B,WAAW,GAAG,MAAM,GAAGwjC,gCAAgC,GAAG,IAAI,GAAGA,gCAAgC,CAAC;IACzI;EAAC;IAAA9lD,GAAA;IAAAC,KAAA,EACD,SAAAumD,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAACrJ,6BAA6B,CAAC76B,WAAW,GAAG,MAAM,GAAG0jC,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;IAC3G;EAAC;IAAAhmD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,qBAAA,CAAAijC,eAAA;IACJ;EAAC;AAAA,EA1FwC/P,aAAa;AAAAtsC,uBAAA,CAArCq8C,eAAe,UAClBvlC,mBAAmB;AAAA9W,uBAAA,CADhBq8C,eAAe,qBAEP5L,aAAa;;;;;;;;;;;;;;;;;;;;ACXX;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5ByM,sBAAsB,0BAAAnB,cAAA;EAKvC,SAAAmB,uBAAY5pC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,gCAAA,OAAA2mD,sBAAA;IAChBlpC,KAAA,GAAAkF,2BAAA,OAAAgkC,sBAAA,GAAM5pC,MAAM;IAAEtT,gCAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAAC4E,mBAAmB;IAI1C8F,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,0BAAA,CAAA+jC,sBAAA,EAAAnB,cAAA;EAAA,OAAAvlD,6BAAA,CAAA0mD,sBAAA;IAAAzmD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACiC,eAAe,CAAC,CAAC;MACtB,IAAI,CAACE,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACa,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC7C,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIqO,0BAA0B,GAAGrO,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGygD,yBAAyB,GAAG,WAAW,CAAC;MACnG,IAAIV,UAAU,GAAG5N,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACiB,oBAAoB,CAAC,GAAGvO,GAAG,CAAClyC,YAAY,CAACygD,oBAAoB,CAAC;MACtEjB,OAAO,CAAC1M,SAAS,CAAC,GAAG,IAAI,CAACmL,WAAW,CAAC/L,GAAG,CAAC;MAC1CsN,OAAO,CAAC3L,aAAa,CAAC,GAAG,IAAI,CAACkJ,eAAe,CAAC7K,GAAG,CAAC;MAClDsN,OAAO,CAACgB,yBAAyB,CAAC,GAAG/iD,GAAG,CAACuE,+BAA+B,CAACu+C,0BAA0B,CAAC;MACpGf,OAAO,CAACnH,SAAS,CAAC,GAAG56C,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;MACpEN,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAGluC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAACirB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,8BAAA,CAAA8jC,sBAAA;MACA,IAAI,CAACxC,eAAe,CAAC,CAAC;MACtB,IAAI,CAACtC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACe,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmE,oCAAoC,CAAC,CAAC;MAC3C,IAAI,CAACtI,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAA4mD,oCAAoCA,CAAA,EAAG;MACnC,IAAI,CAAC1J,6BAA6B,CAAC76B,WAAW,GAAG,MAAM,GAAGqkC,yBAAyB,GAAG,IAAI,GAAGA,yBAAyB,CAAC;IAC3H;EAAC;IAAA3mD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,8BAAA,CAAA8jC,sBAAA;IACJ;EAAC;AAAA,EAxE+C5Q,aAAa;AAAAtsC,gCAAA,CAA5Ck9C,sBAAsB,UACzBlmC,0BAA0B;AAAAhX,gCAAA,CADvBk9C,sBAAsB,qBAEdG,oBAAoB;;;;;;;;;;;;;;;;;;;;ACXlB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BE,gBAAgB,0BAAAxB,cAAA;EAKjC,SAAAwB,iBAAYjqC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,wBAAA,OAAAgnD,gBAAA;IAChBvpC,KAAA,GAAAkF,mBAAA,OAAAqkC,gBAAA,GAAMjqC,MAAM;IAAEtT,wBAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACuF,aAAa;IAIpCmF,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,kBAAA,CAAAokC,gBAAA,EAAAxB,cAAA;EAAA,OAAAvlD,qBAAA,CAAA+mD,gBAAA;IAAA9mD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIg8C,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACzL,cAAc,CAAC,GAAG7B,GAAG,CAAClyC,YAAY,CAAC+zC,cAAc,CAAC;MAC1DyL,OAAO,CAACoB,kBAAkB,CAAC,GAAG,IAAI,CAACC,sBAAsB,CAAC3O,GAAG,CAAC;MAC9DsN,OAAO,CAACj8C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAACs9C,SAAS,CAAC;MAClEE,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MAEjEkM,OAAO,CAAC0H,GAAG,CAAC,SAAS,CAAC;MACtB1H,OAAO,CAAC0H,GAAG,CAACgqC,OAAO,CAAC;MAEpB,OAAOA,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAA+mD,sBAAsBA,CAAC3O,GAAG,EAAE;MACxB,IAAI4O,qBAAqB,GAAG5O,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAG6gD,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB,CAAC;MACrG,OAAOnjD,GAAG,CAACuE,+BAA+B,CAAC8+C,qBAAqB,CAAC;IACrE;EAAC;IAAAjnD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGW,kBAAkB,GAAG,OAAO,GAAGA,kBAAkB,CAC5D,CAACllB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,sBAAA,CAAAmkC,gBAAA;MACA,IAAI,CAACI,0BAA0B,CAAC,CAAC;MACjC,IAAI,CAAC9I,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAAinD,0BAA0BA,CAAA,EAAG;MAAA,IAAAhoC,MAAA;MACzB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MAGQ,IAAIyhC,YAAY,GAAGr+B,WAAW,GAAG,qBAAqB,GAAGykC,kBAAkB;MAC3Er8C,MAAM,CAACM,kBAAkB,CAAC,OAAO,EAAE21C,YAAY,GAAG,OAAO,GAAGoG,kBAAkB,EAAE,UAAC37C,KAAK,EAAEd,GAAG,EAAK;QAC5F,IAAI+tC,GAAG,GAAGz0C,GAAG,CAACmB,iBAAiB,CAACuF,GAAG,CAAC;QACpC,IAAI68C,aAAa,GAAGv0C,MAAM,CAACylC,GAAG,CAAClyC,YAAY,CAAC+zC,cAAc,CAAC,CAAC;QAC5Dv2C,WAAK,CAAC4X,oCAAoC,CAAC;UAAE4rC,aAAa,EAAbA;QAAc,CAAC,CAAC;QAC7DjoC,MAAI,CAAC4hC,8BAA8B,CAC/B11C,KAAK,EACHd,GAAG,EACHy8C,kBAAkB,EAClBpjD,WAAK,CAACyX,eAAe,CAACrD,SAAS,CAAC,CAAC/R,MAAM,CAAC,UAAA6O,QAAQ;UAAA,OAE1CA,QAAQ,CAACqlC,cAAc,CAAC,IAAIiN,aAAa,IACtCA,aAAa,GAAG,CAAC;QAAA,CAE5B,CAAC,CAAC;QAAA,EACAxG,YAAY,EACZ,UAACE,WAAW,EAAK;UAAE3hC,MAAI,CAACi3B,mBAAmB,CACzC0K,WAAW,EACT,UAACz1C,KAAK,EAAEtH,OAAO,EAAK;YAAEob,MAAI,CAACo+B,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;UAAE,CACrF,CAAC;QAAE,CACP,CAAC;MACL,CAAC,CAAC;MACF,IAAI,CAACqyC,mBAAmB,CACpBwK,YAAY,GAAG,UAAU,GAAGoG,kBAAkB,EAC5C,UAAC37C,KAAK,EAAEtH,OAAO,EAAK;QAAEob,MAAI,CAACo+B,kCAAkC,CAAClyC,KAAK,EAAEtH,OAAO,CAAC;MAAE,CACrF,CAAC;IACL;IACA;AACJ;AACA;AACA;AACA;EAJI;IAAA9D,GAAA;IAAAC,KAAA,EAMA,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,sBAAA,CAAAmkC,gBAAA;IACJ;EAAC;AAAA,EAzHyCjR,aAAa;AAAAtsC,wBAAA,CAAtCu9C,gBAAgB,UACnBnmC,oBAAoB;AAAApX,wBAAA,CADjBu9C,gBAAgB,qBAER5M,cAAc;;;;;;;;;;;;;;;;;;;;ACXZ;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BkN,kBAAkB,0BAAA9B,cAAA;EAKnC,SAAA8B,mBAAYvqC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,2BAAA,OAAAsnD,kBAAA;IAChB7pC,KAAA,GAAAkF,sBAAA,OAAA2kC,kBAAA,GAAMvqC,MAAM;IAAEtT,2BAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACkG,eAAe;IAItCwE,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,qBAAA,CAAA0kC,kBAAA,EAAA9B,cAAA;EAAA,OAAAvlD,wBAAA,CAAAqnD,kBAAA;IAAApnD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIoN,SAAS,GAAGpN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIg8C,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC0B,gBAAgB,CAAC,GAAGhP,GAAG,CAAClyC,YAAY,CAACkhD,gBAAgB,CAAC;MAC9D1B,OAAO,CAAC2B,SAAS,CAAC,GAAG,IAAI,CAACC,aAAa,CAAClP,GAAG,CAAC;MAC5CsN,OAAO,CAACj8C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAACs9C,SAAS,CAAC;MAClEE,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MAEjEkM,OAAO,CAAC0H,GAAG,CAAC,SAAS,CAAC;MACtB1H,OAAO,CAAC0H,GAAG,CAACgqC,OAAO,CAAC;MAEpB,OAAOA,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAsnD,aAAaA,CAAClP,GAAG,EAAE;MACf,IAAImP,YAAY,GAAGnP,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGohD,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MAC1E,OAAO1jD,GAAG,CAACuE,+BAA+B,CAACq/C,YAAY,CAAC;IAC5D;EAAC;IAAAxnD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkB,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC1C,CAACzlB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,yBAAA,CAAAykC,kBAAA;MACA,IAAI,CAACK,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACrJ,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAAwnD,iBAAiBA,CAAA,EAAG;MAChB,IAAI,CAACpH,0BAA0B,CAC3BiH,SAAS,EACP3jD,WAAK,CAACyX,eAAe,CAACssC,WAAW,CAAC,CAAC;MACzC,CAAC;IACL;EAAC;IAAA1nD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,yBAAA,CAAAykC,kBAAA;IACJ;EAAC;AAAA,EAxE2CvR,aAAa;AAAAtsC,2BAAA,CAAxC69C,kBAAkB,UACrBvmC,sBAAsB;AAAAtX,2BAAA,CADnB69C,kBAAkB,qBAEVC,gBAAgB;;;;;;;;;;;;;;;;;;;;ACXd;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5BM,yBAAyB,0BAAArC,cAAA;EAK1C,SAAAqC,0BAAY9qC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,mCAAA,OAAA6nD,yBAAA;IAChBpqC,KAAA,GAAAkF,8BAAA,OAAAklC,yBAAA,GAAM9qC,MAAM;IAAEtT,mCAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAAC6G,sBAAsB;IAI7C6D,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,6BAAA,CAAAilC,yBAAA,EAAArC,cAAA;EAAA,OAAAvlD,gCAAA,CAAA4nD,yBAAA;IAAA3nD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACmC,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACa,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC6N,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAAC7N,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAAC/C,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EACD,SAAA2nD,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC7P,YAAY,CAACgQ,iBAAiB,CAAC;IACxC;EAAC;IAAA/nD,GAAA;IAAAC,KAAA,EACD,SAAA4nD,kBAAkBA,CAAA,EAAG;MACjB,IAAI,CAAC9P,YAAY,CAACiQ,YAAY,CAAC;IACnC;EAAC;IAAAhoD,GAAA;IAAAC,KAAA,EACD,SAAA6nD,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAAC/P,YAAY,CAACsP,gBAAgB,CAAC;IACvC;EAAC;IAAArnD,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIqO,0BAA0B,GAAGrO,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGygD,yBAAyB,GAAG,WAAW,CAAC;MACnG,IAAIV,UAAU,GAAG5N,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACsC,uBAAuB,CAAC,GAAG5P,GAAG,CAAClyC,YAAY,CAAC8hD,uBAAuB,CAAC;MAC5EtC,OAAO,CAAC1M,SAAS,CAAC,GAAG,IAAI,CAACmL,WAAW,CAAC/L,GAAG,CAAC;MAC1CsN,OAAO,CAAC3L,aAAa,CAAC,GAAG,IAAI,CAACkJ,eAAe,CAAC7K,GAAG,CAAC;MAClDsN,OAAO,CAACgB,yBAAyB,CAAC,GAAG/iD,GAAG,CAACuE,+BAA+B,CAACu+C,0BAA0B,CAAC;MACpGf,OAAO,CAACnH,SAAS,CAAC,GAAG56C,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;MACpEN,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGlC,OAAO,GAAG,OAAO,GAAGA,OAAO,EACjC,MAAM,GAAGluC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,CACjD,CAACirB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,iCAAA,CAAAglC,yBAAA;MACA,IAAI,CAAChG,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACe,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACwF,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAAC7C,QAAQ,CAACJ,oBAAoB,CAAC,CAAC;MACpC,IAAI,CAAC1G,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAAioD,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAAC7H,0BAA0B,CAC3BgI,eAAe,EACb1kD,WAAK,CAACyX,eAAe,CAACktC,kBAAkB,CAAC,CAAC;MAChD,CAAC;IACL;EAAC;IAAAtoD,GAAA;IAAAC,KAAA,EACD,SAAAkoD,kBAAkBA,CAAA,EAAG;MACjB,IAAI,CAAC9H,0BAA0B,CAC3BkI,UAAU,EACR5kD,WAAK,CAACyX,eAAe,CAACotC,aAAa,CAAC,CAAC;MAC3C,CAAC;IACL;EAAC;IAAAxoD,GAAA;IAAAC,KAAA,EACD,SAAAmoD,sBAAsBA,CAAA,EAAG;MACrB,IAAI,CAAC/H,0BAA0B,CAC3BxnC,cAAc,EACZlV,WAAK,CAACyX,eAAe,CAACqtC,iBAAiB,CAAC,CAAC;MAC/C,CAAC;IACL;EAAC;IAAAzoD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,iCAAA,CAAAglC,yBAAA;IACJ;EAAC;AAAA,EApGkD9R,aAAa;AAAAtsC,mCAAA,CAA/Co+C,yBAAyB,UAC5B5mC,6BAA6B;AAAAxX,mCAAA,CAD1Bo+C,yBAAyB,qBAEjBM,uBAAuB;;;;;;;;;;;;;;;;;;;;ACXrB;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAEjD,IAAIS,oBAAoB;AACxB,IAAIC,sCAAsC;AAAC,IAEtBC,iBAAiB,0BAAAtD,cAAA;EAKlC,SAAAsD,kBAAY/rC,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,yBAAA,OAAA8oD,iBAAA;IAChBrrC,KAAA,GAAAkF,oBAAA,OAAAmmC,iBAAA,GAAM/rC,MAAM;IAAEtT,yBAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACmI,uCAAuC;IAI9DuC,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,mBAAA,CAAAkmC,iBAAA,EAAAtD,cAAA;EAAA,OAAAvlD,sBAAA,CAAA6oD,iBAAA;IAAA5oD,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG,CAChB;EAAC;IAAAt2C,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA+6C,eAAeA,CAAA,EAAoB;MAAA,IAAnBS,SAAS,GAAAj4C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC7Bi4C,SAAS,GAAG,IAAI;MAChB,IAAIpD,GAAG,GAAG12C,QAAQ,CAACuE,aAAa,CAAC2iD,iBAAiB,GAAG,YAAY,GAAG1uC,cAAc,CAAC;MACnF,OAAO,CAAC,IAAI,CAACwhC,UAAU,CAACtD,GAAG,CAAC,CAAC;IACjC;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZpkC,OAAO,CAAC0H,GAAG,CAAC,cAAc,EAAE08B,GAAG,CAAC;MAChC,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIyQ,YAAY,GAAGzQ,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAGE,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MACnG,IAAIC,kBAAkB,GAAG3Q,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAGI,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MACrH,IAAIC,sBAAsB,GAAG7Q,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAGM,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;MACnI,IAAIC,aAAa,GAAG/Q,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAG3wC,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;MACtG,IAAImxC,gBAAgB,GAAGhR,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAGS,eAAe,GAAG,IAAI,GAAGA,eAAe,CAAC;MAC/G,IAAIrD,UAAU,GAAG5N,GAAG,CAACnyC,aAAa,CAAC2iD,iBAAiB,GAAG,MAAM,GAAGrK,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;MAC7F;MACA,IAAI+K,YAAY,GAAGlR,GAAG,CAAClyC,YAAY,CAAC2U,gBAAgB,CAAC;MACrD,IAAI6qC,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC7qC,gBAAgB,CAAC,GAAGyuC,YAAY;MACxC5D,OAAO,CAAC6D,aAAa,CAAC,GAAG5lD,GAAG,CAACuE,+BAA+B,CAAC2gD,YAAY,CAAC;MAC1EnD,OAAO,CAAC8D,mBAAmB,CAAC,GAAG7lD,GAAG,CAACuE,+BAA+B,CAAC6gD,kBAAkB,CAAC;MACtFrD,OAAO,CAACwD,sBAAsB,CAAC,GAAGvlD,GAAG,CAACuE,+BAA+B,CAAC+gD,sBAAsB,CAAC;MAC7FvD,OAAO,CAACzL,cAAc,CAAC,GAAGt2C,GAAG,CAACuE,+BAA+B,CAACihD,aAAa,CAAC;MAC5EzD,OAAO,CAAC2D,eAAe,CAAC,GAAG1lD,GAAG,CAACuE,+BAA+B,CAACkhD,gBAAgB,CAAC;MAChF1D,OAAO,CAACnH,SAAS,CAAC,GAAG56C,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;MACpEN,OAAO,CAACz9C,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;MAC5By9C,OAAO,CAAC+D,eAAe,CAAC,GAAG,IAAI,CAACC,oBAAoB,CAACJ,YAAY,CAAC;MAClE5D,OAAO,CAACiE,iCAAiC,CAAC,GAAG,IAAI,CAACC,sCAAsC,CAACN,YAAY,CAAC;MACtGt1C,OAAO,CAAC0H,GAAG,CAAC;QAAEgqC,OAAO,EAAPA;MAAQ,CAAC,CAAC;MACxB,OAAOA,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAA0pD,oBAAoBA,CAACJ,YAAY,EAAE;MAC/B,IAAIO,SAAS,GAAGnoD,QAAQ,CAACC,gBAAgB,CAACmoD,mBAAmB,GAAG,YAAY,GAAGL,eAAe,GAAG,GAAG,GAAGtiD,SAAS,CAAC;MACjH,IAAI0iD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACzpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzD;MACA,IAAI2pD,QAAQ,EACRC,oBAAoB,EAAEC,eAAe,EACrCC,4BAA4B,EAAEC,uBAAuB,EACrDC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,wBAAwB,EAAEC,mBAAmB,EAC7CC,aAAa,EAAEC,QAAQ,EACvBC,oBAAoB,EAAEC,eAAe,EACrC/E,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBj3C,OAAO,CAAC0H,GAAG,CAAC,sBAAsB,CAAC;MACnC1H,OAAO,CAAC0H,GAAG,CAAC;QAAEmuC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAIqB,iBAAiB,GAAG,EAAE;MAC1B,KAAI,IAAIC,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACzpD,MAAM,EAAE+qD,QAAQ,EAAE,EAAE;QAAA,IAAAC,qBAAA;QAC3DrB,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9BnB,oBAAoB,GAAGD,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGolD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGpB,eAAe,GAAGtmD,GAAG,CAACuE,+BAA+B,CAAC8hD,oBAAoB,CAAC;QAC3EE,4BAA4B,GAAGH,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGqlD,sCAAsC,GAAG,IAAI,GAAGA,sCAAsC,CAAC;QACrJnB,uBAAuB,GAAGxmD,GAAG,CAACuE,+BAA+B,CAACgiD,4BAA4B,CAAC;QAC3FE,wBAAwB,GAAGL,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGslD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIlB,mBAAmB,GAAG1mD,GAAG,CAACuE,+BAA+B,CAACkiD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGP,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGulD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIjB,mBAAmB,GAAG5mD,GAAG,CAACuE,+BAA+B,CAACoiD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGT,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGwlD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIhB,mBAAmB,GAAG9mD,GAAG,CAACuE,+BAA+B,CAACsiD,wBAAwB,CAAC;QACnFE,wBAAwB,GAAGX,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGylD,kCAAkC,GAAG,IAAI,GAAGA,kCAAkC,CAAC;QACzIf,mBAAmB,GAAGhnD,GAAG,CAACuE,+BAA+B,CAACwiD,wBAAwB,CAAC;QACnFE,aAAa,GAAGb,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAG0lD,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;QAClFd,QAAQ,GAAGlnD,GAAG,CAACuE,+BAA+B,CAAC0iD,aAAa,CAAC;QAC7DE,oBAAoB,GAAGf,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAG2lD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGb,eAAe,GAAGpnD,GAAG,CAACuE,+BAA+B,CAAC4iD,oBAAoB,CAAC;QAC3E9E,UAAU,GAAG+D,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAGrnD,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAAC9jD,aAAa,CAAC6jD,mBAAmB,GAAG,MAAM,GAAG7hD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,CAAC;QACxIgjD,MAAM,GAAGxF,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpDojD,iBAAiB,CAACj7C,IAAI,EAAAm7C,qBAAA,OAAA9hD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAA8hD,qBAAA,EACjBU,iBAAiB,EAAG/B,QAAQ,CAAC7jD,YAAY,CAAC4lD,iBAAiB,CAAC,GAC1DjxC,gBAAgB,EAAGyuC,YAAY,GAC/ByC,qBAAqB,EAAG9B,eAAe,GACvCqB,sCAAsC,EAAGnB,uBAAuB,GAChEoB,kCAAkC,EAAGlB,mBAAmB,GACxDmB,kCAAkC,EAAGjB,mBAAmB,GACxDkB,kCAAkC,EAAGhB,mBAAmB,GACxDiB,kCAAkC,EAAGf,mBAAmB,GACxDgB,YAAY,EAAGd,QAAQ,GACvBe,mBAAmB,EAAGb,eAAe,GAAAzhD,yBAAA,CAAAA,yBAAA,CAAA8hD,qBAAA,EACrC7M,SAAS,EAAGyM,KAAK,GACjB/iD,UAAU,EAAGgjD,MAAM,EACzB,CAAC;MACN;MAAC;MACD,OAAOC,iBAAiB;IAC5B;EAAC;IAAAnrD,GAAA;IAAAC,KAAA,EACD,SAAA4pD,sCAAsCA,CAACN,YAAY,EAAE;MACjD,IAAIO,SAAS,GAAGnoD,QAAQ,CAACC,gBAAgB,CAACqqD,qCAAqC,GAAG,gBAAgB,GAAGrC,iCAAiC,GAAG,GAAG,GAAGxiD,SAAS,CAAC;MACzJ,IAAI0iD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACzpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzDypD,SAAS,GAAGnlC,KAAK,CAACC,IAAI,CAACklC,SAAS,CAAC;MACjC,IAAIE,QAAQ,EAAEkC,+BAA+B,EACzCC,YAAY,EAAE3S,OAAO,EACrB4S,oBAAoB,EAAEC,eAAe,EACrCC,UAAU,EAAEC,KAAK,EACjBC,wBAAwB,EAAEC,mBAAmB,EAC7CC,8BAA8B,EAAEC,yBAAyB,EACzDC,4BAA4B,EAAEC,uBAAuB,EACrDC,uBAAuB,EAAEC,kBAAkB,EAC3CC,aAAa,EAAEC,QAAQ,EACvBhH,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBj3C,OAAO,CAAC0H,GAAG,CAAC,wCAAwC,CAAC;MACrD1H,OAAO,CAAC0H,GAAG,CAAC;QAAEmuC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAIoD,UAAU,GAAG,EAAE;MACnB,KAAI,IAAI9B,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACzpD,MAAM,EAAE+qD,QAAQ,EAAE,EAAE;QAAA,IAAA+B,gBAAA;QAC3DnD,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9Bc,+BAA+B,GAAGlC,QAAQ,CAAC7jD,YAAY,CAACinD,mCAAmC,CAAC;QAC5FjB,YAAY,GAAGnC,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAG0Q,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;QAC/E4iC,OAAO,GAAG51C,GAAG,CAACuE,+BAA+B,CAACgkD,YAAY,CAAC;QAC3DC,oBAAoB,GAAGpC,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGmnD,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;QACvGhB,eAAe,GAAGzoD,GAAG,CAACuE,+BAA+B,CAACikD,oBAAoB,CAAC;QAC3EE,UAAU,GAAGtC,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGonD,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEf,KAAK,GAAG3oD,GAAG,CAACuE,+BAA+B,CAACmkD,UAAU,CAAC;QACvDE,wBAAwB,GAAGxC,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGqnD,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;QAC/Hd,mBAAmB,GAAG7oD,GAAG,CAACuE,+BAA+B,CAACqkD,wBAAwB,CAAC;QACnFE,8BAA8B,GAAG1C,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGsnD,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;QACrIb,yBAAyB,GAAG/oD,GAAG,CAACuE,+BAA+B,CAACukD,8BAA8B,CAAC;QAC/FE,4BAA4B,GAAG5C,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGunD,2BAA2B,GAAG,IAAI,GAAGA,2BAA2B,CAAC;QAC/HZ,uBAAuB,GAAGjpD,GAAG,CAACuE,+BAA+B,CAACykD,4BAA4B,CAAC;QAC3FE,uBAAuB,GAAG9C,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGwnD,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;QAChHX,kBAAkB,GAAGnpD,GAAG,CAACuE,+BAA+B,CAAC2kD,uBAAuB,CAAC;QACjFE,aAAa,GAAGhD,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGynD,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;QAClFV,QAAQ,GAAGrpD,GAAG,CAACuE,+BAA+B,CAAC6kD,aAAa,CAAC;QAC7D/G,UAAU,GAAG+D,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAGrnD,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAAC9jD,aAAa,CAAC+lD,qCAAqC,GAAG,MAAM,GAAG/jD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,CAAC;QAC1JgjD,MAAM,GAAGxF,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpDmlD,UAAU,CAACh9C,IAAI,EAAAi9C,gBAAA,OAAA5jD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAA4jD,gBAAA,EACVC,mCAAmC,EAAGlB,+BAA+B,GACnEpxC,gBAAgB,EAAGyuC,YAAY,GAC/BvP,aAAa,EAAGR,OAAO,GACvBoU,qBAAqB,EAAGvB,eAAe,GACvCwB,WAAW,EAAGtB,KAAK,GACnBgB,6BAA6B,EAAGd,mBAAmB,GACnDe,6BAA6B,EAAGb,yBAAyB,GACzDc,2BAA2B,EAAGZ,uBAAuB,GACrDa,sBAAsB,EAAGX,kBAAkB,GAC3CY,YAAY,EAAGV,QAAQ,GAAA1jD,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAA4jD,gBAAA,EACvB3O,SAAS,EAAGyM,KAAK,GACjB/iD,UAAU,EAAGgjD,MAAM,GACnB4C,sBAAsB,EAAG,IAAI,CAACC,2BAA2B,CAAC/D,QAAQ,EAAEkC,+BAA+B,CAAC,EAC1G,CAAC;MACN;MACA,OAAOgB,UAAU;IACrB;EAAC;IAAAltD,GAAA;IAAAC,KAAA,EACD,SAAA8tD,2BAA2BA,CAACC,gCAAgC,EAAE9B,+BAA+B,EAAE;MAC3F,IAAIpC,SAAS,GAAGkE,gCAAgC,CAACpsD,gBAAgB,CAACqsD,0BAA0B,GAAG,YAAY,GAAGH,sBAAsB,GAAG,GAAG,GAAG1mD,SAAS,CAAC;MACvJ,IAAI0iD,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACzpD,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE;MACzDypD,SAAS,GAAGnlC,KAAK,CAACC,IAAI,CAACklC,SAAS,CAAC;MACjC,IAAIE,QAAQ,EACRkE,0BAA0B,EAAEC,qBAAqB,EACjDC,mBAAmB,EAAEC,cAAc,EACnCC,kBAAkB,EAAEC,aAAa,EACjCtI,UAAU,EAAEgF,KAAK,EACjBvF,YAAY,EAAEwF,MAAM;MACxBj3C,OAAO,CAAC0H,GAAG,CAAC,6BAA6B,CAAC;MAC1C1H,OAAO,CAAC0H,GAAG,CAAC;QAAEmuC,SAAS,EAATA;MAAU,CAAC,CAAC;MAC1B,IAAI0E,cAAc,GAAG,EAAE;MACvB,KAAI,IAAIpD,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGtB,SAAS,CAACzpD,MAAM,EAAE+qD,QAAQ,EAAE,EAAE;QAC3DpB,QAAQ,GAAGF,SAAS,CAACsB,QAAQ,CAAC;QAC9B8C,0BAA0B,GAAGlE,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGuoD,yBAAyB,GAAG,IAAI,GAAGA,yBAAyB,CAAC;QACzHN,qBAAqB,GAAGvqD,GAAG,CAACuE,+BAA+B,CAAC+lD,0BAA0B,CAAC;QACvFE,mBAAmB,GAAGpE,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGwoD,kBAAkB,GAAG,IAAI,GAAGA,kBAAkB,CAAC;QACpGL,cAAc,GAAGzqD,GAAG,CAACuE,+BAA+B,CAACimD,mBAAmB,CAAC;QACzEE,kBAAkB,GAAGtE,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGyoD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;QACjGJ,aAAa,GAAG3qD,GAAG,CAACuE,+BAA+B,CAACmmD,kBAAkB,CAAC;QACvErI,UAAU,GAAG+D,QAAQ,CAAC9jD,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;QACzEyM,KAAK,GAAGrnD,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;QACvDP,YAAY,GAAGsE,QAAQ,CAAC9jD,aAAa,CAAC+nD,0BAA0B,GAAG,MAAM,GAAG/lD,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,CAAC;QAC/IgjD,MAAM,GAAGxF,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;QACpDymD,cAAc,CAACt+C,IAAI,CAAA3G,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,KACdqlD,wBAAwB,EAAG5E,QAAQ,CAAC7jD,YAAY,CAACyoD,wBAAwB,CAAC,GACxExB,mCAAmC,EAAGlB,+BAA+B,GACrE2C,2BAA2B,EAAGV,qBAAqB,GACnDW,oBAAoB,EAAGT,cAAc,GACrCM,iBAAiB,EAAGJ,aAAa,GACjC/P,SAAS,EAAGyM,KAAK,GACjB/iD,UAAU,EAAGgjD,MAAM,CACzB,CAAC;MACN;MACA,OAAOsD,cAAc;IACzB;EAAC;IAAAxuD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAG2C,WAAW,GAAG,OAAO,GAAGA,WAAW,EACzC,MAAM,GAAGE,iBAAiB,GAAG,OAAO,GAAGA,iBAAiB,EACxD,MAAM,GAAG/wC,YAAY,GAAG,OAAO,GAAGA,YAAY,EAC9C,MAAM,GAAGoxC,eAAe,GAAG,OAAO,GAAGA,eAAe,CACzD,CAACznB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EACD,SAAA62C,sBAAsBA,CAAA,EAAG;MACrB,IAAIiY,UAAU,CAACj0C,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAClC,IAAIpF,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIoY,gBAAgB,GAAGt5C,WAAW,CAACxP,aAAa,CAAC,GAAG,GAAG4U,gBAAgB,CAAC;QACxElX,GAAG,CAACS,sBAAsB,CAAC2qD,gBAAgB,EAAE,EAAE,CAAC;MACpD;MACArsC,uBAAA,CAAAimC,iBAAA;IACJ;EAAC;IAAA5oD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,uBAAA,CAAAimC,iBAAA;MACA,IAAI,CAACqG,2BAA2B,CAAC,CAAC;MAClC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACC,yCAAyC,CAAC,CAAC;IACpD;EAAC;IAAAnvD,GAAA;IAAAC,KAAA,EACD,SAAAgvD,2BAA2BA,CAAA,EAAG;MAC1B,IAAI,CAACG,iCAAiC,CAAC,CAAC;MACxC,IAAI,CAACC,uCAAuC,CAAC,CAAC;MAC9C,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,+BAA+B,CAAC,CAAC;MACtC,IAAIV,UAAU,CAACj0C,gBAAgB,CAAC,GAAG,CAAC,EAAE;QAClC,IAAIq9B,KAAK,GAAGx2C,QAAQ,CAACuE,aAAa,CAAC2iD,iBAAiB,GAAG,QAAQ,CAAC;QAChE,IAAIxQ,GAAG,GAAGF,KAAK,CAACjyC,aAAa,CAAC,IAAI,CAAC;QACnCmyC,GAAG,CAAC7wC,SAAS,CAACE,GAAG,CAAC80C,UAAU,CAAC;QAC7B,IAAI,CAACJ,4BAA4B,CAACjE,KAAK,CAAC;MAC5C;IACJ;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAmvD,iCAAiCA,CAAA,EAAG;MAChC,IAAI5O,SAAS,GAAGuI,WAAW;MAC3B,IAAItI,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACs0C,cAAc,CAAC,CAAC,CAAC;MACxD,IAAI/O,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGE,WAAW;MAC3D,IAAI,CAAC1I,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAovD,uCAAuCA,CAAA,EAAG;MACtC,IAAI7O,SAAS,GAAGyI,iBAAiB;MACjC,IAAIxI,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACu0C,oBAAoB,CAAC,CAAC,CAAC;MAC9D,IAAIhP,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGI,iBAAiB;MACjE,IAAI,CAAC5I,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAqvD,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAACnS,6BAA6B,CAAC0L,iBAAiB,GAAG,MAAM,GAAGM,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;IAC3H;EAAC;IAAAnpD,GAAA;IAAAC,KAAA,EACD,SAAAsvD,kCAAkCA,CAAA,EAAG;MACjC,IAAI/O,SAAS,GAAGtoC,YAAY;MAC5B,IAAIuoC,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACgqC,eAAe,CAAC,CAAC,CAAC;MACzD,IAAIzE,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAG3wC,YAAY;MAC5D,IAAI,CAACmoC,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAuvD,qCAAqCA,CAAA,EAAG;MACpC,IAAIhP,SAAS,GAAG8I,eAAe;MAC/B,IAAI7I,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACw0C,kBAAkB,CAAC,CAAC,CAAC;MAC5D,IAAIjP,YAAY,GAAGkI,iBAAiB,GAAG,MAAM,GAAGS,eAAe;MAC/D,IAAI,CAACjJ,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAwvD,+BAA+BA,CAAA,EAAG;MAC9B,IAAI,CAACtS,6BAA6B,CAAC0L,iBAAiB,GAAG,MAAM,GAAGrK,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACjG;EAAC;IAAAx+C,GAAA;IAAAC,KAAA,EACD,SAAAivD,uBAAuBA,CAAA,EAAG;MACtBxkD,MAAM,CAACC,sBAAsB,CAACo/C,mBAAmB,EAAE7+C,eAAe,EAAE,UAACkvC,KAAK,EAAK;QAC3E,IAAImC,cAAc,GAAGwN,mBAAmB,GAAG,YAAY,GAAGvN,UAAU;QACpE,IAAIC,YAAY,GAAG96C,QAAQ,CAACuE,aAAa,CAACq2C,cAAc,CAAC;QACzD54C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAEkhC,YAAY,CAAC;QAC5E,IAAIR,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAACmoD,mBAAmB,GAAG,eAAe,CAAC,CAAC1pD,MAAM;QACvFqoD,oBAAoB,GAAGjM,YAAY,CAAClkB,SAAS,CAAC,IAAI,CAAC;QACnD52B,QAAQ,CAACC,gBAAgB,CAAC26C,cAAc,CAAC,CAACxxC,OAAO,CAAC,UAASstC,GAAG,EAAE;UAC5DA,GAAG,CAAC1wC,MAAM,CAAC,CAAC;QAChB,CAAC,CAAC;QACF+gD,oBAAoB,CAACzkD,YAAY,CAAC8nD,iBAAiB,EAAE,CAAC,CAAC,GAAG9P,SAAS,CAAC;MACxE,CAAC,CAAC;MAEF,IAAI,CAAC4T,4CAA4C,CAAC,CAAC;MACnD,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,gDAAgD,CAAC,CAAC;MACvD,IAAI,CAACC,qCAAqC,CAAC,CAAC;MAC5C,IAAI,CAACC,4CAA4C,CAAC,CAAC;MACnD,IAAI,CAACC,kCAAkC,CAAC,CAAC;MACzC,IAAI,CAACC,mCAAmC,CAAC,CAAC;IAC9C;EAAC;IAAAtwD,GAAA;IAAAC,KAAA,EACD,SAAA4vD,4CAA4CA,CAAA,EAAG;MAC3C,IAAIrP,SAAS,GAAG8K,mBAAmB;MACnC,IAAI7K,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACm1C,sBAAsB,CAAC,CAAC,CAAC;MAChE,IAAI5P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGuB,mBAAmB;MACrE,IAAI,CAACjL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA6vD,oDAAoDA,CAAA,EAAG;MACnD,IAAItP,SAAS,GAAG+K,sCAAsC;MACtD,IAAI9K,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo1C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGwB,sCAAsC;MACxF,IAAI,CAAClL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA8vD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIvP,SAAS,GAAGgL,kCAAkC;MAClD,IAAI/K,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo1C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAGyB,kCAAkC;MACpF,IAAI,CAACnL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA+vD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIxP,SAAS,GAAGiL,kCAAkC;MAClD,IAAIhL,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo1C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG0B,kCAAkC;MACpF,IAAI,CAACpL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAgwD,gDAAgDA,CAAA,EAAG;MAC/C,IAAIzP,SAAS,GAAGkL,kCAAkC;MAClD,IAAIjL,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo1C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG2B,kCAAkC;MACpF,IAAI,CAACrL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAiwD,gDAAgDA,CAAA,EAAG;MAC/C,IAAI1P,SAAS,GAAGmL,kCAAkC;MAClD,IAAIlL,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo1C,gCAAgC,CAAC,CAAC,CAAC;MAC1E,IAAI7P,YAAY,GAAGoJ,mBAAmB,GAAG,MAAM,GAAG4B,kCAAkC;MACpF,IAAI,CAACtL,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAAkwD,qCAAqCA,CAAA,EAAG;MACpC,IAAI,CAAChT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAG6B,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;IACzG;EAAC;IAAA5rD,GAAA;IAAAC,KAAA,EACD,SAAAmwD,4CAA4CA,CAAA,EAAG;MAC3C,IAAI,CAACjT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAG8B,mBAAmB,GAAG,IAAI,GAAGA,mBAAmB,CAAC;IACvH;EAAC;IAAA7rD,GAAA;IAAAC,KAAA,EACD,SAAAowD,kCAAkCA,CAAA,EAAG;MACjC,IAAI,CAAClT,6BAA6B,CAAC4M,mBAAmB,GAAG,MAAM,GAAGvL,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACnG;EAAC;IAAAx+C,GAAA;IAAAC,KAAA,EACD,SAAAqwD,mCAAmCA,CAAA,EAAG;MAAA,IAAApxC,MAAA;MAClC,IAAI,CAACu/B,kBAAkB,CAACiL,eAAe,EAAE,UAACt+C,KAAK,EAAEtH,OAAO,EAAK;QAAEob,MAAI,CAACuxC,kCAAkC,CAACrlD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC9H;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAwwD,kCAAkCA,CAACrlD,KAAK,EAAE+T,MAAM,EAAE;MAC9C/T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBq9C,oBAAoB,CAACzkD,YAAY,CAAC8nD,iBAAiB,EAAE,CAAC,CAAC,GAAGrD,oBAAoB,CAACviD,YAAY,CAAC4lD,iBAAiB,CAAC,CAAC;MAC/G,IAAI5T,KAAK,GAAGx2C,QAAQ,CAACuE,aAAa,CAAC6jD,mBAAmB,GAAG,QAAQ,CAAC;MAClE,IAAI5R,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAI47B,GAAG,GAAGqQ,oBAAoB,CAACnwB,SAAS,CAAC,IAAI,CAAC;MAC9C8f,GAAG,CAAC7wC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrCmtC,GAAG,CAACz2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAI+wC,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAACmoD,mBAAmB,GAAG,eAAe,CAAC,CAAC1pD,MAAM;MACvFg4C,GAAG,CAACp0C,YAAY,CAAC8nD,iBAAiB,EAAE,CAAC,CAAC,GAAG9P,SAAS,CAAC;MACnD9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAAC3vC,SAAS,GAAG,CAAC;MACnB,IAAI,CAAC0mD,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACwB,uCAAuC,CAACvY,KAAK,CAAC;IACvD;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAywD,uCAAuCA,CAACvY,KAAK,EAAE;MAC3C,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkF,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EACzD,MAAM,GAAGC,sCAAsC,GAAG,OAAO,GAAGA,sCAAsC,EAClG,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,EAC1F,MAAM,GAAGC,kCAAkC,GAAG,OAAO,GAAGA,kCAAkC,CAC/F,CAAC9pB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EACD,SAAAkvD,yCAAyCA,CAAA,EAAG;MACxCzkD,MAAM,CAACC,sBAAsB,CAACshD,qCAAqC,EAAE/gD,eAAe,EAAE,UAACkvC,KAAK,EAAK;QAC7F,IAAImC,cAAc,GAAG0P,qCAAqC,GAAG,YAAY,GAAGzP,UAAU;QACtF,IAAIC,YAAY,GAAG96C,QAAQ,CAACuE,aAAa,CAACq2C,cAAc,CAAC;QACzD54C,WAAK,CAAC4X,oCAAoC,CAAC,kBAAkB,EAAEkhC,YAAY,CAAC;QAC5E,IAAIR,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAACqqD,qCAAqC,GAAG,eAAe,CAAC,CAAC5rD,MAAM;QACzGsoD,sCAAsC,GAAGlM,YAAY,CAAClkB,SAAS,CAAC,IAAI,CAAC;QACrE52B,QAAQ,CAACC,gBAAgB,CAAC26C,cAAc,CAAC,CAACxxC,OAAO,CAAC,UAASstC,GAAG,EAAE;UAC5DA,GAAG,CAAC1wC,MAAM,CAAC,CAAC;QAChB,CAAC,CAAC;QACFghD,sCAAsC,CAAC1kD,YAAY,CAACmpD,mCAAmC,EAAE,CAAC,CAAC,GAAGnR,SAAS,CAAC;MAC5G,CAAC,CAAC;MAEF,IAAI,CAAC0U,8DAA8D,CAAC,CAAC;MACrE,IAAI,CAACC,sDAAsD,CAAC,CAAC;MAC7D,IAAI,CAACC,8DAA8D,CAAC,CAAC;MACrE,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,wEAAwE,CAAC,CAAC;MAC/E,IAAI,CAACC,wEAAwE,CAAC,CAAC;MAC/E,IAAI,CAACC,sEAAsE,CAAC,CAAC;MAC7E,IAAI,CAACC,iEAAiE,CAAC,CAAC;MACxE,IAAI,CAACC,uDAAuD,CAAC,CAAC;MAC9D,IAAI,CAACC,yDAAyD,CAAC,CAAC;MAChE,IAAI,CAACC,oDAAoD,CAAC,CAAC;MAC3D,IAAI,CAACC,wDAAwD,CAAC,CAAC;MAC/D,IAAI,CAACC,qDAAqD,CAAC,CAAC;IAChE;EAAC;IAAAvxD,GAAA;IAAAC,KAAA,EACD,SAAA0wD,8DAA8DA,CAAA,EAAG;MAC7D,IAAI,CAAChP,2BAA2B,CAACsK,qCAAqC,CAAC;MACvE;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACI;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA9BI;IAAAjsD,GAAA;IAAAC,KAAA,EA+BA,SAAA2wD,sDAAsDA,CAAA,EAAG;MACrD,IAAI,CAAClO,mBAAmB,CAACuJ,qCAAqC,CAAC;IACnE;EAAC;IAAAjsD,GAAA;IAAAC,KAAA,EACD,SAAA4wD,8DAA8DA,CAAA,EAAG;MAC7D,IAAIrQ,SAAS,GAAG6M,mBAAmB;MACnC,IAAI5M,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACo2C,uBAAuB,CAAC,CAAC,CAAC;MACjE,IAAI7Q,YAAY,GAAGsL,qCAAqC,GAAG,MAAM,GAAGoB,mBAAmB;MACvF,IAAI,CAAChN,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA6wD,oDAAoDA,CAAA,EAAG;MACnD,IAAItQ,SAAS,GAAG8M,SAAS;MACzB,IAAI7M,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAACq2C,YAAY,CAAC,CAAC,CAAC;MACtD,IAAI9Q,YAAY,GAAGsL,qCAAqC,GAAG,MAAM,GAAGqB,SAAS;MAC7E,IAAI,CAACjN,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA8wD,wEAAwEA,CAAA,EAAG;MACvE,IAAI,CAAC5T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGsB,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;IAC7J;EAAC;IAAAvtD,GAAA;IAAAC,KAAA,EACD,SAAA+wD,wEAAwEA,CAAA,EAAG;MACvE,IAAI,CAAC7T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGuB,6BAA6B,GAAG,IAAI,GAAGA,6BAA6B,CAAC;IAC7J;EAAC;IAAAxtD,GAAA;IAAAC,KAAA,EACD,SAAAgxD,sEAAsEA,CAAA,EAAG;MACrE,IAAI,CAAC9T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGwB,2BAA2B,GAAG,IAAI,GAAGA,2BAA2B,CAAC;IACzJ;EAAC;IAAAztD,GAAA;IAAAC,KAAA,EACD,SAAAixD,iEAAiEA,CAAA,EAAG;MAChE,IAAI,CAAC/T,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAGyB,sBAAsB,GAAG,IAAI,GAAGA,sBAAsB,CAAC;IAC/I;EAAC;IAAA1tD,GAAA;IAAAC,KAAA,EACD,SAAAkxD,uDAAuDA,CAAA,EAAG;MACtD,IAAI,CAAChU,6BAA6B,CAAC8O,qCAAqC,GAAG,MAAM,GAAG0B,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;IAC3H;EAAC;IAAA3tD,GAAA;IAAAC,KAAA,EACD,SAAAmxD,yDAAyDA,CAAA,EAAG;MACxD;IAAA;EACH;IAAApxD,GAAA;IAAAC,KAAA,EACD,SAAAoxD,oDAAoDA,CAAA,EAAG;MACnD,IAAI,CAAClU,6BAA6B,CAAC8O,qCAAqC,GAAG,qBAAqB,GAAGzN,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IACpI;EAAC;IAAAx+C,GAAA;IAAAC,KAAA,EACD,SAAAqxD,wDAAwDA,CAAA,EAAG;MAAA,IAAA5xC,MAAA;MACvD,IAAIzU,SAAS,GAAG,OAAO;MACvB,IAAIhG,QAAQ,GAAGgnD,qCAAqC,GAAG,MAAM,GAAG6B,sBAAsB,GAAG,OAAO,GAAGA,sBAAsB;MACzH,IAAI7V,OAAO,GAAG,SAAVA,OAAOA,CAAI7sC,KAAK,EAAEtH,OAAO,EAAK;QAC9B,IAAI4tD,QAAQ,GAAG9tD,GAAG,CAACiB,kBAAkB,CAACf,OAAO,CAAC;QAC9C,IAAIkqD,gCAAgC,GAAG0D,QAAQ,CAAC5sD,OAAO,CAAC,KAAK,GAAG8kD,iCAAiC,CAAC;QAClG,IAAIsC,+BAA+B,GAAG8B,gCAAgC,CAAC7nD,YAAY,CAACinD,mCAAmC,CAAC;QACxH,IAAIuE,cAAc,GAAGhwD,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QACpDwnD,cAAc,CAAC72B,EAAE,GAAGmzB,0BAA0B,CAAC1hB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAC/DolB,cAAc,CAACnqD,SAAS,CAACE,GAAG,CAACkqD,aAAa,EAAE9D,sBAAsB,CAAC;QAEnE,IAAIjzB,IAAI,GAAGl5B,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QAC1C,IAAI0nD,OAAO,GAAGlwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1C,IAAI2nD,uBAAuB,GAAGnwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1D2nD,uBAAuB,CAACtqD,SAAS,CAACE,GAAG,CAAC+mD,yBAAyB,CAAC;QAChEqD,uBAAuB,CAACrnD,SAAS,GAAG,yBAAyB;QAC7DonD,OAAO,CAACvhC,WAAW,CAACwhC,uBAAuB,CAAC;QAC5C,IAAIC,gBAAgB,GAAGpwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QACnD4nD,gBAAgB,CAACvqD,SAAS,CAACE,GAAG,CAACgnD,kBAAkB,CAAC;QAClDqD,gBAAgB,CAACtnD,SAAS,GAAG,iBAAiB;QAC9ConD,OAAO,CAACvhC,WAAW,CAACyhC,gBAAgB,CAAC;QACrC,IAAIC,eAAe,GAAGrwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAClD6nD,eAAe,CAACxqD,SAAS,CAACE,GAAG,CAACinD,iBAAiB,CAAC;QAChDqD,eAAe,CAACvnD,SAAS,GAAG,gBAAgB;QAC5ConD,OAAO,CAACvhC,WAAW,CAAC0hC,eAAe,CAAC;QACpC,IAAIC,OAAO,GAAGtwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC1C8nD,OAAO,CAACzqD,SAAS,CAACE,GAAG,CAAC82C,SAAS,CAAC;QAChCyT,OAAO,CAACxnD,SAAS,GAAG,OAAO;QAC3BonD,OAAO,CAACvhC,WAAW,CAAC2hC,OAAO,CAAC;QAC5B,IAAIC,QAAQ,GAAGvwD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;QAC3C+nD,QAAQ,CAAC1qD,SAAS,CAACE,GAAG,CAACQ,UAAU,CAAC;QAClC,IAAIiqD,eAAe,GAAGxwD,QAAQ,CAACuE,aAAa,CAACy5C,2BAA2B,GAAG,IAAI,GAAG13C,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,GAAG,GAAG,GAAG03C,OAAO,CAAC;QACjJsS,QAAQ,CAAC5hC,WAAW,CAAC6hC,eAAe,CAAC55B,SAAS,CAAC,IAAI,CAAC,CAAC;QACrDs5B,OAAO,CAACvhC,WAAW,CAAC4hC,QAAQ,CAAC;QAC7Br3B,IAAI,CAACvK,WAAW,CAACuhC,OAAO,CAAC;QACzBF,cAAc,CAACrhC,WAAW,CAACuK,IAAI,CAAC;QAEhC,IAAIj0B,IAAI,GAAGjF,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;QAE1C,IAAIioD,8BAA8B,GAAGrD,UAAU,CAACnF,iCAAiC,CAAC,CAAC5jD,MAAM,CAAC,UAAAqsD,IAAI;UAAA,OAAIA,IAAI,CAACjF,mCAAmC,CAAC,IAAIlB,+BAA+B;QAAA,EAAC;QAC/K,IAAIoG,6BAA6B,GAAIF,8BAA8B,IAAI,IAAI,IAAIA,8BAA8B,CAAC/xD,MAAM,IAAI,CAAC,GAAI,IAAI,GAAG+xD,8BAA8B,CAAC,CAAC,CAAC;QACrK,IAAIG,SAAS,GAAID,6BAA6B,IAAI,IAAI,GAAI,IAAI,GAAGA,6BAA6B,CAACxE,sBAAsB,CAAC;QAEtH75C,OAAO,CAAC0H,GAAG,CAAC;UAAEy2C,8BAA8B,EAA9BA,8BAA8B;UAAEG,SAAS,EAATA;QAAU,CAAC,CAAC;QAC1D,IAAIA,SAAS,IAAI,IAAI,IAAIA,SAAS,CAAClyD,MAAM,GAAG,CAAC,EAAE;UAC3C,KAAK,IAAImyD,WAAW,IAAIhwD,MAAM,CAACC,IAAI,CAAC8vD,SAAS,CAAC,EAAE;YAC5C,IAAIl/C,QAAQ,GAAGk/C,SAAS,CAACC,WAAW,CAAC;YACrC,IAAIna,GAAG,GAAGuQ,iBAAiB,CAAC6J,oCAAoC,CAACp/C,QAAQ,CAAC;YAC1EzM,IAAI,CAAC0pB,WAAW,CAAC+nB,GAAG,CAAC;UACzB;QACJ;QACAsZ,cAAc,CAACrhC,WAAW,CAAC1pB,IAAI,CAAC;QAEhC8qD,QAAQ,CAACjrD,SAAS,GAAGkrD,cAAc,CAACe,SAAS;QAE7C,IAAIC,YAAY,GAAGjB,QAAQ,CAAC9vD,gBAAgB,CAAC,WAAW,GAAGksD,sBAAsB,CAAC;QAClF,IAAI6E,YAAY,IAAI,IAAI,IAAIA,YAAY,CAACtyD,MAAM,GAAG,CAAC,EAAE;UACjD,KAAK,IAAI+qD,QAAQ,GAAG,CAAC,EAAEA,QAAQ,GAAGuH,YAAY,CAACtyD,MAAM,EAAE+qD,QAAQ,EAAE,EAAE;YAC/D,IAAI/S,IAAG,GAAGsa,YAAY,CAACvH,QAAQ,CAAC;YAChC;;YAEA,IAAI/3C,SAAQ,GAAGk/C,SAAS,CAACnH,QAAQ,CAAC,CAAC,CAAC;YACpCn3C,OAAO,CAAC0H,GAAG,CAAC;cAAEyvC,QAAQ,EAARA,QAAQ;cAAE/S,GAAG,EAAHA,IAAG;cAAEhlC,QAAQ,EAARA;YAAS,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAIi7C,kBAAkB,GAAGjW,IAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGyoD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;YAChG/qD,GAAG,CAACS,sBAAsB,CAACiqD,kBAAkB,EAAEj7C,SAAQ,CAACs7C,iBAAiB,CAAC,CAAC;YAC3E,IAAI1I,UAAU,GAAG5N,IAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;YACxE56C,GAAG,CAACS,sBAAsB,CAAC4hD,UAAU,EAAE5yC,SAAQ,CAACmrC,SAAS,CAAC,CAAC;UAC/D;QACJ;QAEA9+B,MAAI,CAACkzC,+BAA+B,CAAC,CAAC;MAC1C,CAAC;MACDloD,MAAM,CAACM,kBAAkB,CACrBC,SAAS,EACPhG,QAAQ,EACRgzC,OACN,CAAC;MACD,IAAI,CAAC2a,+BAA+B,CAAC,CAAC;IAC1C;EAAC;IAAA5yD,GAAA;IAAAC,KAAA,EA8ED,SAAA2yD,+BAA+BA,CAAA,EAAG;MAC9B,IAAI,CAACC,yDAAyD,CAAC,CAAC;MAChE,IAAI,CAACC,kDAAkD,CAAC,CAAC;MACzD,IAAI,CAACC,iDAAiD,CAAC,CAAC;MACxD,IAAI,CAACC,yCAAyC,CAAC,CAAC;MAChD,IAAI,CAACC,0CAA0C,CAAC,CAAC;IACrD;EAAC;IAAAjzD,GAAA;IAAAC,KAAA,EACD,SAAA4yD,yDAAyDA,CAAA,EAAG;MACxD,IAAIrS,SAAS,GAAGiO,yBAAyB;MACzC,IAAIhO,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAAC83C,4BAA4B,CAAC,CAAC,CAAC;MACtE,IAAIvS,YAAY,GAAGsN,0BAA0B,GAAG,MAAM,GAAGQ,yBAAyB;MAClF,IAAI,CAACpO,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA6yD,kDAAkDA,CAAA,EAAG;MACjD,IAAItS,SAAS,GAAGkO,kBAAkB;MAClC,IAAIjO,UAAU,GAAG98C,WAAK,CAACyX,eAAe,CAAC+3C,qBAAqB,CAAC,CAAC,CAAC;MAC/D,IAAIxS,YAAY,GAAGsN,0BAA0B,GAAG,MAAM,GAAGS,kBAAkB;MAC3E,IAAI,CAACrO,0BAA0B,CAC3BG,SAAS,EACPC,UAAU,EACVE,YACN,CAAC;IACL;EAAC;IAAA3gD,GAAA;IAAAC,KAAA,EACD,SAAA8yD,iDAAiDA,CAAA,EAAG;MAChD,IAAI,CAAC5V,6BAA6B,CAAC8Q,0BAA0B,GAAG,MAAM,GAAGU,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;IAC1H;EAAC;IAAA3uD,GAAA;IAAAC,KAAA,EACD,SAAA+yD,yCAAyCA,CAAA,EAAG;MACxC,IAAI,CAAC7V,6BAA6B,CAAC8Q,0BAA0B,GAAG,MAAM,GAAGzP,SAAS,GAAG,IAAI,GAAGA,SAAS,CAAC;IAC1G;EAAC;IAAAx+C,GAAA;IAAAC,KAAA,EACD,SAAAgzD,0CAA0CA,CAAA,EAAG;MAAA,IAAAxxC,MAAA;MACzC,IAAI,CAACg9B,kBAAkB,CAACqP,sBAAsB,EAAE,UAAC1iD,KAAK,EAAEtH,OAAO,EAAK;QAAE2d,MAAI,CAAC2xC,yCAAyC,CAAChoD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAC5I;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAmzD,yCAAyCA,CAAChoD,KAAK,EAAE+T,MAAM,EAAE;MACrD/T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvB,IAAIgoD,cAAc,GAAGzvD,GAAG,CAACsB,gBAAgB,CAACia,MAAM,EAAE,OAAO,CAAC;MAC1D,IAAIg5B,KAAK,GAAGkb,cAAc,CAACntD,aAAa,CAAC,gBAAgB,CAAC;MAC1D,IAAImyC,GAAG,GAAGuQ,iBAAiB,CAAC6J,oCAAoC,CAAC,IAAI,CAAC;MACtE,IAAIta,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C47B,GAAG,CAAC7wC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrCmtC,GAAG,CAACz2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAI+wC,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAACqsD,0BAA0B,GAAG,eAAe,CAAC,CAAC5tD,MAAM;MAC9Fg4C,GAAG,CAACp0C,YAAY,CAAC2qD,wBAAwB,EAAE,CAAC,CAAC,GAAG3S,SAAS,CAAC;MAC1D9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAAC3vC,SAAS,GAAG,CAAC;MACnB,IAAI,CAACoqD,+BAA+B,CAAC,CAAC;MACtC,IAAI,CAACU,8CAA8C,CAACnb,KAAK,CAAC;IAC9D;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAAqzD,8CAA8CA,CAACnb,KAAK,EAAE;MAClD,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGqI,yBAAyB,GAAG,OAAO,GAAGA,yBAAyB,EACrE,MAAM,GAAGC,kBAAkB,GAAG,OAAO,GAAGA,kBAAkB,EAC1D,MAAM,GAAGC,iBAAiB,GAAG,OAAO,GAAGA,iBAAiB,EACxD,MAAM,GAAGnQ,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC7C,CAAC3c,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;MACF,IAAIiN,eAAe,GAAGpb,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAGsG,UAAU,GAAG,IAAI,GAAGD,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC,CAAC1H,MAAM;MAClJ;AACR;AACA;AACA;AACA;AACA;MACQ,IAAI2tD,gCAAgC,GAAGpqD,GAAG,CAACmB,iBAAiB,CAACozC,KAAK,CAAC;MACnE,IAAIqb,aAAa,GAAGxF,gCAAgC,CAAC9nD,aAAa,CAAC,KAAK,GAAGutD,cAAc,GAAG,OAAO,GAAGA,cAAc,CAAC;MACrHD,aAAa,CAAC/oD,SAAS,GAAG8oD,eAAe;IAC7C;EAAC;IAAAvzD,GAAA;IAAAC,KAAA,EAED,SAAAsxD,qDAAqDA,CAAA,EAAG;MAAA,IAAAnyB,MAAA;MACpD,IAAI,CAACqf,kBAAkB,CAACmL,iCAAiC,EAAE,UAACx+C,KAAK,EAAEtH,OAAO,EAAK;QAAEs7B,MAAI,CAACs0B,oDAAoD,CAACtoD,KAAK,EAAEtH,OAAO,CAAC;MAAE,CAAC,CAAC;IAClK;EAAC;IAAA9D,GAAA;IAAAC,KAAA,EACD,SAAAyzD,oDAAoDA,CAACtoD,KAAK,EAAE+T,MAAM,EAAE;MAChE/T,KAAK,CAACC,eAAe,CAAC,CAAC;MACvBs9C,sCAAsC,CAAC1kD,YAAY,CAACmpD,mCAAmC,EAAE,CAAC,CAAC,GAAGzE,sCAAsC,CAACxiD,YAAY,CAACinD,mCAAmC,CAAC,CAAC;MACvL,IAAIjV,KAAK,GAAGx2C,QAAQ,CAACuE,aAAa,CAAC+lD,qCAAqC,GAAG,QAAQ,CAAC;MACpF,IAAI9T,KAAK,CAAC3wC,SAAS,CAACC,QAAQ,CAACgV,eAAe,CAAC,EAAE;MAC/C,IAAI47B,GAAG,GAAGsQ,sCAAsC,CAACpwB,SAAS,CAAC,IAAI,CAAC;MAChE8f,GAAG,CAAC7wC,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MACrCmtC,GAAG,CAACz2C,gBAAgB,CAAC,GAAG,GAAGsJ,eAAe,CAAC,CAACH,OAAO,CAAC,UAASjH,OAAO,EAAE;QAClEA,OAAO,CAAC0D,SAAS,CAACG,MAAM,CAACuD,eAAe,CAAC;MAC7C,CAAC,CAAC;MACF,IAAI+wC,SAAS,GAAGt6C,QAAQ,CAACC,gBAAgB,CAACqqD,qCAAqC,GAAG,eAAe,CAAC,CAAC5rD,MAAM;MACzGg4C,GAAG,CAACp0C,YAAY,CAACmpD,mCAAmC,EAAE,CAAC,CAAC,GAAGnR,SAAS,CAAC;MACrE9D,KAAK,CAACgE,OAAO,CAAC9D,GAAG,CAAC;MAClBF,KAAK,CAAC3vC,SAAS,GAAG,CAAC;MACnB,IAAI,CAAC2mD,yCAAyC,CAAC,CAAC;MAChD,IAAI,CAACwE,yDAAyD,CAACxb,KAAK,CAAC;IACzE;EAAC;IAAAn4C,GAAA;IAAAC,KAAA,EACD,SAAA0zD,yDAAyDA,CAACxb,KAAK,EAAE;MAC7D,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGpwC,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EACzD,MAAM,GAAGY,WAAW,GAAG,OAAO,GAAGA,WAAW,EAC5C,MAAM,GAAGy2C,mBAAmB,GAAG,OAAO,GAAGA,mBAAmB,EAC5D,MAAM,GAAGC,SAAS,GAAG,OAAO,GAAGA,SAAS,CAC7C,CAACzrB,IAAI,CAAC,EAAE,CAAC;MACVskB,SAAS,CAACvkD,gBAAgB,CAACwkD,yBAAyB,CAAC,CAACr7C,OAAO,CAAC,UAACs7C,gBAAgB,EAAK;QAChFA,gBAAgB,CAACC,KAAK,CAAC,CAAC;MAC5B,CAAC,CAAC;IACN;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,uBAAA,CAAAimC,iBAAA;IACJ;EAAC;IAAA5oD,GAAA;IAAAC,KAAA,EA9LD,SAAOwyD,oCAAoCA,CAACp/C,QAAQ,EAAE;MAClD,IAAIA,QAAQ,IAAI,IAAI,EAAEA,QAAQ,GAAA9J,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,CAAAA,yBAAA,KACzBqlD,wBAAwB,EAAG,IAAI,GAC7BC,2BAA2B,EAAAtlD,yBAAA,KACzBslD,2BAA2B,EAAG,CAAC,IAEjCC,oBAAoB,EAAAvlD,yBAAA,KAClBulD,oBAAoB,EAAG,CAAC,IAE1BH,iBAAiB,EAAG,EAAE,GACtBnQ,SAAS,EAAG,EAAE,GACdt2C,UAAU,EAAG,IAAI,CACvB;MACD+L,OAAO,CAAC0H,GAAG,CAAC;QAAEtI,QAAQ,EAARA;MAAS,CAAC,CAAC;MACzB,IAAIugD,KAAK,GAAIvgD,QAAQ,CAACu7C,wBAAwB,CAAC,IAAI,IAAI,IAAIv7C,QAAQ,CAACu7C,wBAAwB,CAAC,GAAG,CAAE;MAClG,IAAIvW,GAAG,GAAG12C,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MACtCkuC,GAAG,CAAC7wC,SAAS,CAACE,GAAG,CAAComD,sBAAsB,CAAC;MACzC,IAAI8F,KAAK,EAAEvb,GAAG,CAAC7wC,SAAS,CAACE,GAAG,CAAC80C,UAAU,CAAC;MACxCnE,GAAG,CAACp0C,YAAY,CAAC2qD,wBAAwB,EAAEv7C,QAAQ,CAACu7C,wBAAwB,CAAC,CAAC;MAE9E,IAAIiF,uBAAuB,GAAGlyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC1D0pD,uBAAuB,CAACrsD,SAAS,CAACE,GAAG,CAAC+mD,yBAAyB,EAAEqF,cAAc,CAAC;MAChF,IAAIC,wBAAwB,GAAGpyD,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MAC5D4pD,wBAAwB,CAACvsD,SAAS,CAACE,GAAG,CAAC+mD,yBAAyB,CAAC;MACjE,IAAIuF,uBAAuB,GAAG3gD,QAAQ,CAACw7C,2BAA2B,CAAC,CAACA,2BAA2B,CAAC;MAChG,IAAIV,qBAAqB,GAAG+E,4BAA4B,CAACc,uBAAuB,CAAC;MACjFpwD,GAAG,CAACC,4CAA4C,CAACkwD,wBAAwB,EAAEC,uBAAuB,CAAC;MACnGD,wBAAwB,CAACtpD,SAAS,GAAI0jD,qBAAqB,IAAI,IAAI,GAAI,EAAE,GAAGA,qBAAqB,CAACzkD,QAAQ,CAAC;MAC3GmqD,uBAAuB,CAACvjC,WAAW,CAACyjC,wBAAwB,CAAC;MAC7D1b,GAAG,CAAC/nB,WAAW,CAACujC,uBAAuB,CAAC;MAExC,IAAII,gBAAgB,GAAGtyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MACnD8pD,gBAAgB,CAACzsD,SAAS,CAACE,GAAG,CAACgnD,kBAAkB,EAAEoF,cAAc,CAAC;MAClE,IAAII,iBAAiB,GAAGvyD,QAAQ,CAACwI,aAAa,CAAC,KAAK,CAAC;MACrD+pD,iBAAiB,CAAC1sD,SAAS,CAACE,GAAG,CAACgnD,kBAAkB,CAAC;MACnD,IAAIyF,gBAAgB,GAAG9gD,QAAQ,CAACy7C,oBAAoB,CAAC,CAACA,oBAAoB,CAAC;MAC3E,IAAIT,cAAc,GAAG8E,qBAAqB,CAACgB,gBAAgB,CAAC;MAC5DvwD,GAAG,CAACC,4CAA4C,CAACqwD,iBAAiB,EAAEC,gBAAgB,CAAC;MACrFD,iBAAiB,CAACzpD,SAAS,GAAI4jD,cAAc,IAAI,IAAI,GAAI,EAAE,GAAGA,cAAc,CAAC3kD,QAAQ,CAAC;MACtFuqD,gBAAgB,CAAC3jC,WAAW,CAAC4jC,iBAAiB,CAAC;MAC/C7b,GAAG,CAAC/nB,WAAW,CAAC2jC,gBAAgB,CAAC;MAEjC,IAAIG,eAAe,GAAGzyD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAClDiqD,eAAe,CAAC5sD,SAAS,CAACE,GAAG,CAACinD,iBAAiB,EAAEmF,cAAc,CAAC;MAChE,IAAIxF,kBAAkB,GAAG3sD,QAAQ,CAACwI,aAAa,CAAC,OAAO,CAAC;MACxDmkD,kBAAkB,CAAC9pD,IAAI,GAAG,QAAQ;MAClC8pD,kBAAkB,CAAC9mD,SAAS,CAACE,GAAG,CAACinD,iBAAiB,CAAC;MACnD,IAAIJ,aAAa,GAAGl7C,QAAQ,CAACs7C,iBAAiB,CAAC;MAC/C/qD,GAAG,CAACS,sBAAsB,CAACiqD,kBAAkB,EAAEC,aAAa,CAAC;MAC7D3qD,GAAG,CAACI,gCAAgC,CAACsqD,kBAAkB,EAAEC,aAAa,CAAC;MACvE6F,eAAe,CAAC9jC,WAAW,CAACg+B,kBAAkB,CAAC;MAC/CjW,GAAG,CAAC/nB,WAAW,CAAC8jC,eAAe,CAAC;MAEhC,IAAIC,OAAO,GAAG1yD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC1CkqD,OAAO,CAAC7sD,SAAS,CAACE,GAAG,CAAC82C,SAAS,EAAEsV,cAAc,CAAC;MAChD,IAAI7N,UAAU,GAAGtkD,QAAQ,CAACwI,aAAa,CAAC,UAAU,CAAC;MACnD87C,UAAU,CAACz+C,SAAS,CAACE,GAAG,CAAC82C,SAAS,CAAC;MACnC,IAAIyM,KAAK,GAAG53C,QAAQ,CAACmrC,SAAS,CAAC;MAC/B56C,GAAG,CAACS,sBAAsB,CAAC4hD,UAAU,EAAEgF,KAAK,CAAC;MAC7CrnD,GAAG,CAACI,gCAAgC,CAACiiD,UAAU,EAAEgF,KAAK,CAAC;MACvDoJ,OAAO,CAAC/jC,WAAW,CAAC21B,UAAU,CAAC;MAC/B5N,GAAG,CAAC/nB,WAAW,CAAC+jC,OAAO,CAAC;MAExBpgD,OAAO,CAAC0H,GAAG,CAAC2yC,kBAAkB,CAAChqD,OAAO,CAAC;MACvC2P,OAAO,CAAC0H,GAAG,CAACsqC,UAAU,CAAC3hD,OAAO,CAAC;MAC/B2P,OAAO,CAAC0H,GAAG,CAAC;QAAE4yC,aAAa,EAAbA,aAAa;QAAEtD,KAAK,EAALA;MAAM,CAAC,CAAC;MAErC,IAAIqJ,QAAQ,GAAG3yD,QAAQ,CAACwI,aAAa,CAAC,IAAI,CAAC;MAC3CmqD,QAAQ,CAAC9sD,SAAS,CAACE,GAAG,CAACQ,UAAU,EAAE4rD,cAAc,CAAC;MAClD,IAAI3B,eAAe,GAAGxwD,QAAQ,CAACuE,aAAa,CAACy5C,2BAA2B,GAAG,IAAI,GAAG13C,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,GAAG,GAAG,GAAG03C,OAAO,CAAC;MACjJ,IAAI2U,kBAAkB,GAAG5yD,QAAQ,CAACuE,aAAa,CAACy5C,2BAA2B,GAAG,IAAI,GAAG13C,UAAU,GAAG,GAAG,GAAG6jD,QAAQ,GAAG,GAAG,GAAG5jD,UAAU,GAAG,GAAG,GAAGH,UAAU,CAAC;MACvJ,IAAI29C,YAAY,GAAIryC,QAAQ,CAACnL,UAAU,CAAC,GAAIqsD,kBAAkB,CAACh8B,SAAS,CAAC,IAAI,CAAC,GAAG45B,eAAe,CAAC55B,SAAS,CAAC,IAAI,CAAC;MAChH+7B,QAAQ,CAAChkC,WAAW,CAACo1B,YAAY,CAAC;MAClCrN,GAAG,CAAC/nB,WAAW,CAACgkC,QAAQ,CAAC;MAEzB,OAAOjc,GAAG;IACd;EAAC;AAAA,EAvrB0CxC,aAAa;AAAAtsC,yBAAA,CAAvCq/C,iBAAiB,UACpB4L,qBAAqB;AAAAjrD,yBAAA,CADlBq/C,iBAAiB,qBAET9tC,gBAAgB;;;;;;;;;;;;;;;;;;;;ACdd;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5B25C,kBAAkB,0BAAAnP,cAAA;EAKnC,SAAAmP,mBAAY53C,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,0BAAA,OAAA20D,kBAAA;IAChBl3C,KAAA,GAAAkF,qBAAA,OAAAgyC,kBAAA,GAAM53C,MAAM;IAAEtT,0BAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACwH,eAAe;IAItCkD,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,oBAAA,CAAA+xC,kBAAA,EAAAnP,cAAA;EAAA,OAAAvlD,uBAAA,CAAA00D,kBAAA;IAAAz0D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC2d,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAAC1a,oBAAoB,CAAC,CAAC;MAC3B,IAAI,CAAC2a,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAAC1d,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAl3C,GAAA;IAAAC,KAAA,EACD,SAAAy0D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAC3c,YAAY,CAACyR,aAAa,CAAC;IACpC;EAAC;IAAAxpD,GAAA;IAAAC,KAAA,EACD,SAAA00D,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAAC5c,YAAY,CAAC0R,mBAAmB,CAAC;IAC1C;EAAC;IAAAzpD,GAAA;IAAAC,KAAA,EACD,SAAA20D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAAC7c,YAAY,CAACuR,eAAe,CAAC;IACtC;EAAC;IAAAtpD,GAAA;IAAAC,KAAA,EAED,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAIwc,uBAAuB,GAAGxc,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGijD,sBAAsB,GAAG,QAAQ,CAAC;MAC1F,IAAIlD,UAAU,GAAG5N,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGs4C,SAAS,GAAG,WAAW,CAAC;MACnE,IAAIkH,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E,IAAIy9C,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAAC7qC,gBAAgB,CAAC,GAAGu9B,GAAG,CAAClyC,YAAY,CAAC2U,gBAAgB,CAAC;MAC9D6qC,OAAO,CAAC6D,aAAa,CAAC,GAAG,IAAI,CAACsL,eAAe,CAACzc,GAAG,CAAC;MAClDsN,OAAO,CAAC8D,mBAAmB,CAAC,GAAG,IAAI,CAACsL,qBAAqB,CAAC1c,GAAG,CAAC;MAC9DsN,OAAO,CAACwD,sBAAsB,CAAC,GAAGvlD,GAAG,CAACuE,+BAA+B,CAAC0sD,uBAAuB,CAAC;MAC9FlP,OAAO,CAACzL,cAAc,CAAC,GAAG,IAAI,CAAC8a,gBAAgB,CAAC3c,GAAG,CAAC;MACpDsN,OAAO,CAAC2D,eAAe,CAAC,GAAG,IAAI,CAAC2L,mBAAmB,CAAC5c,GAAG,CAAC;MACxDsN,OAAO,CAACnH,SAAS,CAAC,GAAG56C,GAAG,CAACuE,+BAA+B,CAAC89C,UAAU,CAAC;MACpEN,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAA60D,eAAeA,CAACrgC,EAAE,EAAE;MAChB,IAAIygC,cAAc,GAAGzgC,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAG6iD,WAAW,GAAG,IAAI,GAAGA,WAAW,CAAC;MAC/E,OAAOnlD,GAAG,CAACuE,+BAA+B,CAAC+sD,cAAc,CAAC;IAC9D;EAAC;IAAAl1D,GAAA;IAAAC,KAAA,EACD,SAAA80D,qBAAqBA,CAACtgC,EAAE,EAAE;MACtB,IAAI0gC,oBAAoB,GAAG1gC,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAG+iD,iBAAiB,GAAG,IAAI,GAAGA,iBAAiB,CAAC;MACjG,OAAOrlD,GAAG,CAACuE,+BAA+B,CAACgtD,oBAAoB,CAAC;IACpE;EAAC;IAAAn1D,GAAA;IAAAC,KAAA,EACD,SAAA+0D,gBAAgBA,CAACvgC,EAAE,EAAE;MACjB,IAAI2gC,eAAe,GAAG3gC,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAGgS,YAAY,GAAG,IAAI,GAAGA,YAAY,CAAC;MAClF,OAAOtU,GAAG,CAACuE,+BAA+B,CAACitD,eAAe,CAAC;IAC/D;EAAC;IAAAp1D,GAAA;IAAAC,KAAA,EACD,SAAAg1D,mBAAmBA,CAACxgC,EAAE,EAAE;MACpB,IAAI4gC,kBAAkB,GAAG5gC,EAAE,CAACvuB,aAAa,CAAC,KAAK,GAAGojD,eAAe,GAAG,IAAI,GAAGA,eAAe,CAAC;MAC3F,OAAO1lD,GAAG,CAACuE,+BAA+B,CAACktD,kBAAkB,CAAC;IAClE;EAAC;IAAAr1D,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC,IAAI+N,OAAO,GAAG/N,KAAK,CAACv2C,gBAAgB,CAAC,KAAK,GAAG46C,UAAU,CAAC;MACxD,IAAI2J,SAAS,GAAGD,OAAO,CAAC,CAAC,CAAC;MAC1B,IAAIE,yBAAyB,GAAG,CAC5B,KAAK,GAAGkP,UAAU,GAAG,IAAI,GAAGA,UAAU,CACzC,CAACzzB,IAAI,CAAC,EAAE,CAAC;MACV,IAAI0zB,YAAY,GAAGpP,SAAS,CAACjgD,aAAa,CAAC,KAAK,GAAGovD,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC,CAAC,CAAC;AAC5F;AACA;AACA;AACA;MACQnP,SAAS,CAAC3+C,SAAS,CAACE,GAAG,CAAC+U,eAAe,CAAC;MACxC84C,YAAY,CAACjP,KAAK,CAAC,CAAC;MACpB;IACJ;EAAC;IAAAtmD,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,wBAAA,CAAA8xC,kBAAA;MACA,IAAI,CAACe,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACC,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACC,yBAAyB,CAAC,CAAC;MAChC,IAAI,CAACC,uBAAuB,CAAC,CAAC;MAC9B,IAAI,CAACpQ,QAAQ,CAACJ,oBAAoB,CAAC,CAAC;MACpC,IAAI,CAACyQ,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACrX,sBAAsB,CAAC,CAAC;MAC7B,IAAI,CAACE,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EACD,SAAAu1D,kBAAkBA,CAAA,EAAG;MAAA,IAAAt2C,MAAA;MACjBxU,MAAM,CAACM,kBAAkB,CACrB,OAAO,CAAC;MAAA,EACNsX,WAAW,GAAG,MAAM,GAAGgzC,UAAU,GAAG,UAAU,GAAGA,UAAU,CAAC;MAAA,EAC5D,UAAClqD,KAAK,EAAEtH,OAAO,EAAK;QAClB,IAAI8+C,QAAQ,GAAGh/C,GAAG,CAACmB,iBAAiB,CAACjB,OAAO,CAAC;QAC7C,IAAIylD,YAAY,GAAG3G,QAAQ,CAACz8C,YAAY,CAAC2U,gBAAgB,CAAC;QAC1D;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;QAEgB,IAAIpF,WAAW,GAAGmgC,aAAa,CAACe,cAAc,CAAC,CAAC;QAChD,IAAIj8B,WAAW,GAAG/W,GAAG,CAAC2B,gBAAgB,CAACmQ,WAAW,CAAC;QACnDiF,WAAW,CAACG,gBAAgB,CAAC,GAAGyuC,YAAY;QAC5C5lD,WAAK,CAAC4X,oCAAoC,CAAC,oBAAoB,CAAC;QAChE5X,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;QACzD5X,WAAK,CAAC4X,oCAAoC,CAAC7F,WAAW,CAAC;QACvD/R,WAAK,CAAC4X,oCAAoC,CAAC,aAAa,CAAC;QACzD5X,WAAK,CAAC4X,oCAAoC,CAACZ,WAAW,CAAC;QACvDuE,MAAI,CAACW,KAAK,CAAC,CAAC;QACZhN,GAAG,CAACkC,QAAQ,CAACy/C,qBAAqB,EAAE75C,WAAW,CAAC;MACpD,CACJ,CAAC;IACL;EAAC;IAAA3a,GAAA;IAAAC,KAAA,EACD,SAAAw1D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACpV,0BAA0B,CAC3B0I,WAAW,EACTplD,WAAK,CAACyX,eAAe,CAACs0C,cAAc,CAAC,CAAC;MAC5C,CAAC;IACL;EAAC;IAAA1vD,GAAA;IAAAC,KAAA,EACD,SAAAy1D,yBAAyBA,CAAA,EAAG;MACxB,IAAI,CAACrV,0BAA0B,CAC3B4I,iBAAiB,EACftlD,WAAK,CAACyX,eAAe,CAACu0C,oBAAoB,CAAC,CAAC;MAClD,CAAC;IACL;EAAC;IAAA3vD,GAAA;IAAAC,KAAA,EACD,SAAA01D,uBAAuBA,CAAA,EAAG;MACtB,IAAI,CAACxY,6BAA6B,CAAC76B,WAAW,GAAG,MAAM,GAAG6mC,sBAAsB,GAAG,SAAS,GAAGA,sBAAsB,CAAC;IAC1H;EAAC;IAAAnpD,GAAA;IAAAC,KAAA,EACD,SAAA21D,mBAAmBA,CAAA,EAAG;MAClB,IAAI,CAACvV,0BAA0B,CAC3BiJ,eAAe,EACb3lD,WAAK,CAACyX,eAAe,CAACw0C,kBAAkB,CAAC,CAAC;MAChD,CAAC;IACL;EAAC;IAAA5vD,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,wBAAA,CAAA8xC,kBAAA;IACJ;EAAC;AAAA,EA9J2C5e,aAAa;AAAAtsC,0BAAA,CAAxCkrD,kBAAkB,UACrBxzC,sBAAsB;AAAA1X,0BAAA,CADnBkrD,kBAAkB,qBAEV35C,gBAAgB;;;;;;;;;;;;;;;;;;;;ACXd;AAC8C;AAC9C;AACU;AACI;AACN;AACU;AACA;AAAA,IAE5B+6C,sBAAsB,0BAAAvQ,cAAA;EAKvC,SAAAuQ,uBAAYh5C,MAAM,EAAE;IAAA,IAAAU,KAAA;IAAAzd,+BAAA,OAAA+1D,sBAAA;IAChBt4C,KAAA,GAAAkF,0BAAA,OAAAozC,sBAAA,GAAMh5C,MAAM;IAAEtT,+BAAA,CAAAgU,KAAA,0BAHK1K,GAAG,CAACijD,mBAAmB;IAI1Cv4C,KAAA,CAAKgoC,QAAQ,GAAG,IAAIP,iBAAiB,CAAAznC,KAAK,CAAC;IAAC,OAAAA,KAAA;EAChD;EAACmF,yBAAA,CAAAmzC,sBAAA,EAAAvQ,cAAA;EAAA,OAAAvlD,4BAAA,CAAA81D,sBAAA;IAAA71D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAAq2C,aAAaA,CAAA,EAAG;MACZ,IAAI,CAACS,mBAAmB,CAAC,CAAC;MAC1B;MACA,IAAI,CAACG,kBAAkB,CAAC,CAAC;IAC7B;IACA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA5BI;IAAAl3C,GAAA;IAAAC,KAAA,EA+BA,SAAA06C,YAAYA,CAACC,OAAO,EAAE;MAClB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACrB,IAAIU,QAAQ,EAAE;QAAE33C,WAAK,CAAC4X,oCAAoC,CAAC,qBAAqB,EAAEq/B,OAAO,CAAC;MAAE;IAChG;EAAC;IAAA56C,GAAA;IAAAC,KAAA,EACD,SAAA07C,UAAUA,CAACtD,GAAG,EAAE;MACZ10C,WAAK,CAAC4X,oCAAoC,CAAC;QAAE88B,GAAG,EAAHA;MAAI,CAAC,CAAC;MACnD,IAAIA,GAAG,IAAI,IAAI,EAAE;MACjB,IAAImN,SAAS,GAAGnN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGi4C,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIsH,SAAS,GAAGpN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGwD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MACrE,IAAIg8C,YAAY,GAAGrN,GAAG,CAACnyC,aAAa,CAAC,KAAK,GAAGgC,UAAU,GAAG,IAAI,GAAGA,UAAU,CAAC;MAE5E+L,OAAO,CAAC0H,GAAG,CAAC,WAAW,CAAC;MACxB1H,OAAO,CAAC0H,GAAG,CAAC6pC,SAAS,CAAC;MAEtB,IAAIG,OAAO,GAAG,CAAC,CAAC;MAChBA,OAAO,CAACoQ,mBAAmB,CAAC,GAAG1d,GAAG,CAAClyC,YAAY,CAAC4vD,mBAAmB,CAAC;MACpEpQ,OAAO,CAACxH,QAAQ,CAAC,GAAGv6C,GAAG,CAACuE,+BAA+B,CAACq9C,SAAS,CAAC;MAClEG,OAAO,CAACj8C,QAAQ,CAAC,GAAG9F,GAAG,CAACuE,+BAA+B,CAACs9C,SAAS,CAAC;MAClEE,OAAO,CAACz9C,UAAU,CAAC,GAAGw9C,YAAY,CAACl+C,SAAS,CAACC,QAAQ,CAACM,UAAU,CAAC;MACjE,OAAO49C,OAAO;IAClB;EAAC;IAAA3lD,GAAA;IAAAC,KAAA,EACD,SAAAi8C,gBAAgBA,CAAC/D,KAAK,EAAEE,GAAG,EAAE,CAE7B;EAAC;IAAAr4C,GAAA;IAAAC,KAAA,EACD,SAAAm8C,4BAA4BA,CAACjE,KAAK,EAAE;MAChC;IAAA;EACH;IAAAn4C,GAAA;IAAAC,KAAA,EAED,SAAAu2C,eAAeA,CAAA,EAAG;MACd7zB,6BAAA,CAAAkzC,sBAAA;MACA,IAAI,CAAC3X,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACE,qBAAqB,CAAC,CAAC;MAC5B,IAAI,CAACK,kBAAkB,CAAC,CAAC;IAC7B;EAAC;IAAAz+C,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,6BAAA,CAAAkzC,sBAAA;IACJ;EAAC;AAAA,EAvF+ChgB,aAAa;AAAAtsC,+BAAA,CAA5CssD,sBAAsB,UACzB10C,0BAA0B;AAAA5X,+BAAA,CADvBssD,sBAAsB,qBAEdE,mBAAmB;;;;;;;;;;;;;;;;;;;;ACZd;AAAA,IAEbC,uBAAuB,0BAAAxzC,SAAA;EAGxC,SAAAwzC,wBAAYn5C,MAAM,EAAE;IAAA/c,mCAAA,OAAAk2D,uBAAA;IAAA,OAAAvzC,8BAAA,OAAAuzC,uBAAA,GACVn5C,MAAM;EAChB;EAAC6F,6BAAA,CAAAszC,uBAAA,EAAAxzC,SAAA;EAAA,OAAAziB,gCAAA,CAAAi2D,uBAAA;IAAAh2D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,iCAAA,CAAAqzC,uBAAA;IACJ;EAAC;AAAA,EAbgDp5C,QAAQ;AAAArT,mCAAA,CAAxCysD,uBAAuB,UAC1BC,2BAA2B;;;;;;;;;;;;;;;;;;;;ACHX;AAAA,IAEbC,0BAA0B,0BAAA1zC,SAAA;EAG3C,SAAA0zC,2BAAYr5C,MAAM,EAAE;IAAA/c,sCAAA,OAAAo2D,0BAAA;IAAA,OAAAzzC,iCAAA,OAAAyzC,0BAAA,GACVr5C,MAAM;EAChB;EAAC6F,gCAAA,CAAAwzC,0BAAA,EAAA1zC,SAAA;EAAA,OAAAziB,mCAAA,CAAAm2D,0BAAA;IAAAl2D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,oCAAA,CAAAuzC,0BAAA;IACJ;EAAC;AAAA,EAbmDt5C,QAAQ;AAAArT,sCAAA,CAA3C2sD,0BAA0B,UAC7BC,8BAA8B;;;;;;;;;;;;;;;;;;;;ACFd;AAAA,IAEbC,WAAW,0BAAA5zC,SAAA;EAG5B,SAAA4zC,YAAYv5C,MAAM,EAAE;IAAA/c,sBAAA,OAAAs2D,WAAA;IAAA,OAAA3zC,iBAAA,OAAA2zC,WAAA,GACVv5C,MAAM;EAChB;EAAC6F,gBAAA,CAAA0zC,WAAA,EAAA5zC,SAAA;EAAA,OAAAziB,mBAAA,CAAAq2D,WAAA;IAAAp2D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,oBAAA,CAAAyzC,WAAA;IACJ;EAAC;AAAA,EAboCx5C,QAAQ;AAAArT,sBAAA,CAA5B6sD,WAAW,UACdC,eAAe;;;;;;;;;;;;;;;;;;;;ACHC;AAAA,IAEbC,iBAAiB,0BAAA9zC,SAAA;EAGlC,SAAA8zC,kBAAYz5C,MAAM,EAAE;IAAA/c,6BAAA,OAAAw2D,iBAAA;IAAA,OAAA7zC,wBAAA,OAAA6zC,iBAAA,GACVz5C,MAAM;EAChB;EAAC6F,uBAAA,CAAA4zC,iBAAA,EAAA9zC,SAAA;EAAA,OAAAziB,0BAAA,CAAAu2D,iBAAA;IAAAt2D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,2BAAA,CAAA2zC,iBAAA;IACJ;EAAC;AAAA,EAb0C15C,QAAQ;AAAArT,6BAAA,CAAlC+sD,iBAAiB,UACpBC,qBAAqB;;;;;;;;;;;;;;;;;;;;ACJL;AAAA,IAEbC,qBAAqB,0BAAAh0C,SAAA;EAGtC,SAAAg0C,sBAAY35C,MAAM,EAAE;IAAA/c,iCAAA,OAAA02D,qBAAA;IAAA,OAAA/zC,4BAAA,OAAA+zC,qBAAA,GACV35C,MAAM;EAChB;EAAC6F,2BAAA,CAAA8zC,qBAAA,EAAAh0C,SAAA;EAAA,OAAAziB,8BAAA,CAAAy2D,qBAAA;IAAAx2D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAACC,gBAAgB,CAAC,CAAC;IAC3B;EAAC;IAAAjd,GAAA;IAAAC,KAAA,EAED,SAAA4f,KAAKA,CAAA,EAAG;MACJ8C,+BAAA,CAAA6zC,qBAAA;IACJ;EAAC;AAAA,EAb8C55C,QAAQ;AAAArT,iCAAA,CAAtCitD,qBAAqB,UACxBC,6BAA6B;;;;;;;;;ACF/C;AACA;AAC4C;AACM;AACe;AACa;AACe;AAC7F;AAC8C;AAC2B;AACnB;AACgB;AACtE;AACwD;AACK;AACe;AAClB;AACE;AACQ;AACpE;AAC4E;AACM;AAC/B;AACa;AACQ;AACxE;AACA;AACA;AACA;;AAE2B;AACA;AACQ;AAAA,IAGdC,MAAM;EACvB,SAAAA,OAAA,EAAc;IAAA,IAAAn5C,KAAA;IAAAzd,qBAAA,OAAA42D,MAAA;IACV;IACA,IAAI,CAACC,KAAK,GAAG,CAAC,CAAC;IACf;IACA,IAAI,CAACA,KAAK,CAACriD,YAAY,CAAC,GAAG;MAAE7D,IAAI,EAAE,UAAU;MAAEmmD,MAAM,EAAEr0C,QAAQA;IAAC,CAAC;IACjE,IAAI,CAACo0C,KAAK,CAACt3C,eAAe,CAAC,GAAG;MAAE5O,IAAI,EAAE,aAAa;MAAEmmD,MAAM,EAAE1iB,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAACyiB,KAAK,CAACriB,sBAAsB,CAAC,GAAG;MAAE7jC,IAAI,EAAE,oBAAoB;MAAEmmD,MAAM,EAAEviB,kBAAkBA;IAAC,CAAC;IAC/F,IAAI,CAACsiB,KAAK,CAACliB,4BAA4B,CAAC,GAAG;MAAEhkC,IAAI,EAAE,0BAA0B;MAAEmmD,MAAM,EAAEriB,wBAAwBA;IAAC,CAAC;IACjH,IAAI,CAACoiB,KAAK,CAAChiB,mCAAmC,CAAC,GAAG;MAAElkC,IAAI,EAAE,iCAAiC;MAAEmmD,MAAM,EAAEliB,+BAA+BA;IAAC,CAAC;IACtI;IACA,IAAI,CAACiiB,KAAK,CAAC12C,eAAe,CAAC,GAAG;MAAExP,IAAI,EAAE,aAAa;MAAEmmD,MAAM,EAAEhiB,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAAC+hB,KAAK,CAACx2C,4BAA4B,CAAC,GAAG;MAAE1P,IAAI,EAAE,iBAAiB;MAAEmmD,MAAM,EAAEvR,wBAAwBA;IAAC,CAAC;IACxG,IAAI,CAACsR,KAAK,CAACt2C,mBAAmB,CAAC,GAAG;MAAE5P,IAAI,EAAE,iBAAiB;MAAEmmD,MAAM,EAAEhR,eAAeA;IAAC,CAAC;IACtF,IAAI,CAAC+Q,KAAK,CAACp2C,0BAA0B,CAAC,GAAG;MAAE9P,IAAI,EAAE,wBAAwB;MAAEmmD,MAAM,EAAEnQ,sBAAsBA;IAAC,CAAC;IAC3G;IACA,IAAI,CAACkQ,KAAK,CAACh2C,oBAAoB,CAAC,GAAG;MAAElQ,IAAI,EAAE,kBAAkB;MAAEmmD,MAAM,EAAE9P,gBAAgBA;IAAC,CAAC;IACzF,IAAI,CAAC6P,KAAK,CAAC91C,sBAAsB,CAAC,GAAG;MAAEpQ,IAAI,EAAE,oBAAoB;MAAEmmD,MAAM,EAAExP,kBAAkBA;IAAC,CAAC;IAC/F,IAAI,CAACuP,KAAK,CAAC51C,6BAA6B,CAAC,GAAG;MAAEtQ,IAAI,EAAE,2BAA2B;MAAEmmD,MAAM,EAAEjP,yBAAyBA;IAAC,CAAC;IACpH,IAAI,CAACgP,KAAK,CAACnC,qBAAqB,CAAC,GAAG;MAAE/jD,IAAI,EAAE,mBAAmB;MAAEmmD,MAAM,EAAEhO,iBAAiBA;IAAC,CAAC;IAC5F,IAAI,CAAC+N,KAAK,CAAC11C,sBAAsB,CAAC,GAAG;MAAExQ,IAAI,EAAE,oBAAoB;MAAEmmD,MAAM,EAAEnC,kBAAkBA;IAAC,CAAC;IAC/F,IAAI,CAACkC,KAAK,CAACx1C,0BAA0B,CAAC,GAAG;MAAE1Q,IAAI,EAAE,wBAAwB;MAAEmmD,MAAM,EAAEf,sBAAsBA;IAAC,CAAC;IAC3G;IACA,IAAI,CAACc,KAAK,CAACR,8BAA8B,CAAC,GAAG;MAAE1lD,IAAI,EAAE,4BAA4B;MAAEmmD,MAAM,EAAEV,0BAA0BA;IAAC,CAAC;IACvH,IAAI,CAACS,KAAK,CAACF,6BAA6B,CAAC,GAAG;MAAEhmD,IAAI,EAAE,2BAA2B;MAAEmmD,MAAM,EAAEJ,qBAAqBA;IAAC,CAAC;IAChH,IAAI,CAACG,KAAK,CAACN,eAAe,CAAC,GAAG;MAAE5lD,IAAI,EAAE,aAAa;MAAEmmD,MAAM,EAAER,WAAWA;IAAC,CAAC;IAC1E,IAAI,CAACO,KAAK,CAACJ,qBAAqB,CAAC,GAAG;MAAE9lD,IAAI,EAAE,mBAAmB;MAAEmmD,MAAM,EAAEN,iBAAiBA;IAAC,CAAC;IAC5F;IACA;IACA;IACA;IACA;IACA,IAAI,CAACO,MAAM,GAAG,CAAC,CAAC;IAChB;IACA,IAAI,CAACA,MAAM,CAACviD,YAAY,CAAC,GAAG;MAAA,IAAC8hC,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACpJ,YAAY,EAAE8hC,UAAU,CAAC;IAAA;IACjG,IAAI,CAACygB,MAAM,CAACx3C,eAAe,CAAC,GAAG;MAAA,IAAC+2B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC2B,eAAe,EAAE+2B,UAAU,CAAC;IAAA;IACvG,IAAI,CAACygB,MAAM,CAACviB,sBAAsB,CAAC,GAAG;MAAA,IAAC8B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC42B,sBAAsB,EAAE8B,UAAU,CAAC;IAAA;IACrH,IAAI,CAACygB,MAAM,CAACpiB,4BAA4B,CAAC,GAAG;MAAA,IAAC2B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC+2B,4BAA4B,EAAE2B,UAAU,CAAC;IAAA;IACjI,IAAI,CAACygB,MAAM,CAACliB,mCAAmC,CAAC,GAAG;MAAA,IAACyB,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACi3B,mCAAmC,EAAEyB,UAAU,CAAC;IAAA;IAC/I;IACA,IAAI,CAACygB,MAAM,CAAC52C,eAAe,CAAC,GAAG;MAAA,IAACm2B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACuC,eAAe,EAAEm2B,UAAU,CAAC;IAAA;IACvG,IAAI,CAACygB,MAAM,CAAC12C,4BAA4B,CAAC,GAAG;MAAA,IAACi2B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACyC,4BAA4B,EAAEi2B,UAAU,CAAC;IAAA;IACjI,IAAI,CAACygB,MAAM,CAACx2C,mBAAmB,CAAC,GAAG;MAAA,IAAC+1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC2C,mBAAmB,EAAE+1B,UAAU,CAAC;IAAA;IAC/G,IAAI,CAACygB,MAAM,CAACt2C,0BAA0B,CAAC,GAAG;MAAA,IAAC61B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC6C,0BAA0B,EAAE61B,UAAU,CAAC;IAAA;IAC7H;IACA,IAAI,CAACygB,MAAM,CAACl2C,oBAAoB,CAAC,GAAG;MAAA,IAACy1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACiD,oBAAoB,EAAEy1B,UAAU,CAAC;IAAA;IACjH,IAAI,CAACygB,MAAM,CAACh2C,sBAAsB,CAAC,GAAG;MAAA,IAACu1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACmD,sBAAsB,EAAEu1B,UAAU,CAAC;IAAA;IACrH,IAAI,CAACygB,MAAM,CAAC91C,6BAA6B,CAAC,GAAG;MAAA,IAACq1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACqD,6BAA6B,EAAEq1B,UAAU,CAAC;IAAA;IACnI,IAAI,CAACygB,MAAM,CAACrC,qBAAqB,CAAC,GAAG;MAAA,IAACpe,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC82C,qBAAqB,EAAEpe,UAAU,CAAC;IAAA;IACnH,IAAI,CAACygB,MAAM,CAAC51C,sBAAsB,CAAC,GAAG;MAAA,IAACm1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACuD,sBAAsB,EAAEm1B,UAAU,CAAC;IAAA;IACrH,IAAI,CAACygB,MAAM,CAAC11C,0BAA0B,CAAC,GAAG;MAAA,IAACi1B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACyD,0BAA0B,EAAEi1B,UAAU,CAAC;IAAA;IAC7H;IACA,IAAI,CAACygB,MAAM,CAACV,8BAA8B,CAAC,GAAG;MAAA,IAAC/f,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAACy4C,8BAA8B,EAAE/f,UAAU,CAAC;IAAA;IACrI,IAAI,CAACygB,MAAM,CAACJ,6BAA6B,CAAC,GAAG;MAAA,IAACrgB,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC+4C,6BAA6B,EAAErgB,UAAU,CAAC;IAAA;IACnI,IAAI,CAACygB,MAAM,CAACR,eAAe,CAAC,GAAG;MAAA,IAACjgB,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC24C,eAAe,EAAEjgB,UAAU,CAAC;IAAA;IACvG,IAAI,CAACygB,MAAM,CAACN,qBAAqB,CAAC,GAAG;MAAA,IAACngB,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAAA,OAAK+Z,KAAI,CAACG,cAAc,CAAC64C,qBAAqB,EAAEngB,UAAU,CAAC;IAAA;IACnH;IACA;IACA;IACA;IACA,IAAI,CAACp5B,UAAU,CAAC,CAAC;EACrB;EAAC,OAAAjd,kBAAA,CAAA22D,MAAA;IAAA12D,GAAA;IAAAC,KAAA,EACD,SAAA62D,QAAQA,CAACC,QAAQ,EAAsB;MAAA,IAAA73C,MAAA;MAAA,IAApBk3B,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MACjC,IAAMwzD,SAAS,GAAG,IAAI,CAACC,oBAAoB,CAACF,QAAQ,CAAC;MACrD,IAAI,CAACG,WAAW,GAAG,IAAIF,SAAS,CAAC,IAAI,CAAC;MACtC,IAAI,CAACE,WAAW,CAACl6C,UAAU,CAACo5B,UAAU,CAAC;MACvCxhC,MAAM,CAACzJ,gBAAgB,CAAC,cAAc,EAAE;QAAA,OAAM+T,MAAI,CAACg4C,WAAW,CAACr3C,KAAK,CAAC,CAAC;MAAA,EAAC;IAC3E;EAAC;IAAA7f,GAAA;IAAAC,KAAA,EACD,SAAAg3D,oBAAoBA,CAACF,QAAQ,EAAE;MAE3B,IAAII,QAAQ,GAAG,IAAI,CAACR,KAAK,CAACI,QAAQ,CAAC;MACnC,IAAI;QACA,IAAMH,MAAM,GAAGO,QAAQ,CAACP,MAAM;QAC9B,OAAOA,MAAM;MACjB,CAAC,CACD,OAAO1iD,KAAK,EAAE;QACVvQ,WAAK,CAAC4X,oCAAoC,CAAC,cAAc,EAAE,IAAI,CAACo7C,KAAK,CAAC;QACtE1iD,OAAO,CAACC,KAAK,CAAC,iBAAiB,EAAE6iD,QAAQ,CAAC;QAC1C,MAAM7iD,KAAK;MACf;IACJ;EAAC;IAAAlU,GAAA;IAAAC,KAAA,EACD,SAAA+c,UAAUA,CAAA,EAAG;MACTpI,MAAM,CAACzJ,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAACisD,cAAc,CAAC/zC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE;EAAC;IAAArjB,GAAA;IAAAC,KAAA,EACD,SAAAm3D,cAAcA,CAAChsD,KAAK,EAAE;MAClB,IAAI,CAACisD,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAAr3D,GAAA;IAAAC,KAAA,EACD,SAAAo3D,eAAeA,CAAA,EAAG;MACd,IAAM1wD,eAAe,GAAG/C,GAAG,CAAC8C,kBAAkB,CAAC,CAAC;MAChD,IAAI,CAACowD,QAAQ,CAACnwD,eAAe,CAAC;IAClC;EAAC;IAAA3G,GAAA;IAAAC,KAAA,EACD,SAAAyd,cAAcA,CAACrJ,IAAI,EAAkD;MAAA,IAAhDtT,IAAI,GAAAyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAE1C,MAAM,GAAA0C,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAE4yC,UAAU,GAAA5yC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,KAAK;MAC/D,IAAIV,GAAG,GAAG+P,GAAG,CAACY,cAAc,CAACY,IAAI,EAAEvT,MAAM,CAAC;MAC1Cw2D,OAAO,CAACC,SAAS,CAAC;QAACx2D,IAAI,EAAEA,IAAI;QAAED,MAAM,EAAEA;MAAM,CAAC,EAAE,EAAE,EAAEuT,IAAI,CAAC;MACzDxB,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,EAAE/B,IAAI,CAAC;IAC1B;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAu3D,aAAaA,CAAC10D,GAAG,EAAqC;MAAA,IAAnC/B,IAAI,GAAAyC,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAAA,IAAEi0D,aAAa,GAAAj0D,SAAA,CAAAnD,MAAA,QAAAmD,SAAA,QAAApD,SAAA,GAAAoD,SAAA,MAAG,IAAI;MAChD;MACA,IAAIi0D,aAAa,EAAEH,OAAO,CAACC,SAAS,CAACx2D,IAAI,EAAE,EAAE,EAAE+B,GAAG,CAAC;MACnDA,GAAG,GAAG+P,GAAG,CAAC0B,eAAe,CAACzR,GAAG,EAAE/B,IAAI,CAAC;MACpC8R,GAAG,CAAC8B,OAAO,CAAC7R,GAAG,CAAC;IACpB;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAOy3D,wBAAwBA,CAACrkD,QAAQ,EAAE;MACtCzP,GAAG,CAACyC,YAAY,CAACgN,QAAQ,CAACtS,IAAI,CAAC;IACnC;EAAC;AAAA;AA1GsB;AA6GpB,IAAM8b,MAAM,GAAG,IAAI65C,MAAM,CAAC,CAAC;;AChJrB;;AAAA,SAAAhoD,UAAAA,CAAArC,CAAA,sCAAAqC,UAAA,wBAAAnC,MAAA,uBAAAA,MAAA,CAAAE,QAAA,aAAAJ,CAAA,kBAAAA,CAAA,gBAAAA,CAAA,WAAAA,CAAA,yBAAAE,MAAA,IAAAF,CAAA,CAAAmE,WAAA,KAAAjE,MAAA,IAAAF,CAAA,KAAAE,MAAA,CAAAL,SAAA,qBAAAG,CAAA,KAAAqC,UAAA,CAAArC,CAAA;AAAA,SAAAvM,kBAAAA,CAAA0M,CAAA,EAAAL,CAAA,UAAAK,CAAA,YAAAL,CAAA,aAAAqD,SAAA;AAAA,SAAAgD,oBAAAA,CAAAzG,CAAA,EAAAE,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,CAAA5L,MAAA,EAAA2L,CAAA,UAAAK,CAAA,GAAAJ,CAAA,CAAAD,CAAA,GAAAK,CAAA,CAAAU,UAAA,GAAAV,CAAA,CAAAU,UAAA,QAAAV,CAAA,CAAAW,YAAA,kBAAAX,CAAA,KAAAA,CAAA,CAAAY,QAAA,QAAAzK,MAAA,CAAA8J,cAAA,CAAAP,CAAA,EAAAoG,iBAAA,CAAA9F,CAAA,CAAArM,GAAA,GAAAqM,CAAA;AAAA,SAAAtM,eAAAA,CAAAgM,CAAA,EAAAE,CAAA,EAAAD,CAAA,WAAAC,CAAA,IAAAuG,oBAAA,CAAAzG,CAAA,CAAAG,SAAA,EAAAD,CAAA,GAAAD,CAAA,IAAAwG,oBAAA,CAAAzG,CAAA,EAAAC,CAAA,GAAAxJ,MAAA,CAAA8J,cAAA,CAAAP,CAAA,iBAAAkB,QAAA,SAAAlB,CAAA;AAAA,SAAAoG,iBAAAA,CAAAnG,CAAA,QAAAxL,CAAA,GAAAiS,eAAA,CAAAzG,CAAA,gCAAA0C,UAAA,CAAAlO,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiS,eAAAA,CAAAzG,CAAA,EAAAC,CAAA,oBAAAyC,UAAA,CAAA1C,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAO,MAAA,CAAAmG,WAAA,kBAAA3G,CAAA,QAAAvL,CAAA,GAAAuL,CAAA,CAAA0B,IAAA,CAAAzB,CAAA,EAAAC,CAAA,gCAAAyC,UAAA,CAAAlO,CAAA,UAAAA,CAAA,YAAAgP,SAAA,yEAAAvD,CAAA,GAAA0G,MAAA,GAAAC,MAAA,EAAA5G,CAAA;AAEc;AACM;AAAA,IAG3B2rD,GAAG;EACL,SAAAA,IAAA,EAAc;IAAA73D,kBAAA,OAAA63D,GAAA;IACV,IAAI,CAACC,GAAG,GAAG,IAAIh0D,GAAG,CAAC,CAAC;IACpB,IAAI,CAACiZ,MAAM,GAAG,IAAI65C,MAAM,CAAC,CAAC;EAC9B;EAAC,OAAA32D,eAAA,CAAA43D,GAAA;IAAA33D,GAAA;IAAAC,KAAA,EAED,SAAA+c,UAAUA,CAAA,EAAG;MACT,IAAI,CAAC66C,mBAAmB,CAAC,CAAC;MAC1B,IAAI,CAACjnB,KAAK,CAAC,CAAC;IAChB;EAAC;IAAA5wC,GAAA;IAAAC,KAAA,EAED,SAAA43D,mBAAmBA,CAAA,EAAG;MAClB;IAAA;EACH;IAAA73D,GAAA;IAAAC,KAAA,EAED,SAAA63D,iBAAiBA,CAAC1sD,KAAK,EAAE,CACzB;EAAC;IAAApL,GAAA;IAAAC,KAAA,EAED,SAAA2wC,KAAKA,CAAA,EAAG;MACJ,IAAI,CAACmnB,eAAe,CAAC,CAAC;IAC1B;EAAC;IAAA/3D,GAAA;IAAAC,KAAA,EAED,SAAA83D,eAAeA,CAAA,EAAG;MACd,IAAI,CAACl7C,MAAM,CAACw6C,eAAe,CAAC,CAAC;IACjC;EAAC;AAAA;AAIL,IAAMW,GAAG,GAAG,IAAIL,GAAG,CAAC,CAAC;AAErB,SAASM,QAAQA,CAACruC,EAAE,EAAE;EAClB,IAAIjoB,QAAQ,CAACu2D,UAAU,KAAK,SAAS,EAAE;IACnCtuC,EAAE,CAAC,CAAC;EACR,CAAC,MAAM;IACHjoB,QAAQ,CAACwJ,gBAAgB,CAAC,kBAAkB,EAAEye,EAAE,CAAC;EACrD;AACJ;AAEAquC,QAAQ,CAAC,YAAM;EACXD,GAAG,CAACh7C,UAAU,CAAC,CAAC;AACpB,CAAC,CAAC;AAEFpI,MAAM,CAACojD,GAAG,GAAGA,GAAG;AAEhB,6CAAeA,gDAAAA,GAAG,I;;;;;ACnDlB;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA","sources":["webpack://app/./static/js/lib/validation.js","webpack://app/./static/js/dom.js","webpack://app/./static/js/lib/events.js","webpack://app/./static/js/lib/local_storage.js","webpack://app/./static/js/api.js","webpack://app/./static/js/lib/utils.js","webpack://app/./static/js/components/common/temporary/overlay_confirm.js","webpack://app/./static/js/pages/base.js","webpack://app/./static/js/pages/core/home.js","webpack://app/./static/js/vendor/altcha.js","webpack://app/./static/js/pages/core/contact.js","webpack://app/./static/js/pages/core/contact-success.js","webpack://app/./static/js/pages/core/apply-founding-partner.js","webpack://app/./static/js/pages/core/apply-founding-partner-success.js","webpack://app/./static/js/pages/dog/home.js","webpack://app/./static/js/lib/business_objects/business_objects.js","webpack://app/./static/js/components/common/temporary/overlay_error.js","webpack://app/./static/js/pages/base_table.js","webpack://app/./static/js/pages/dog/mixin.js","webpack://app/./static/js/pages/dog/mixin_table.js","webpack://app/./static/js/pages/dog/command_categories.js","webpack://app/./static/js/pages/dog/commands.js","webpack://app/./static/js/pages/dog/dog_command_links.js","webpack://app/./static/js/pages/dog/locations.js","webpack://app/./static/js/pages/dog/button_icons.js","webpack://app/./static/js/pages/dog/command_button_links.js","webpack://app/./static/js/pages/dog/assessment.js","webpack://app/./static/js/pages/dog/assessments.js","webpack://app/./static/js/pages/dog/calendar_entries.js","webpack://app/./static/js/pages/legal/accessibility_report.js","webpack://app/./static/js/pages/legal/accessibility_statement.js","webpack://app/./static/js/pages/legal/license.js","webpack://app/./static/js/pages/legal/privacy_policy.js","webpack://app/./static/js/pages/legal/retention_schedule.js","webpack://app/./static/js/router.js","webpack://app/./static/js/app.js","webpack://app/./static/css/main.css?0a91","webpack://app/./static/css/components/button.css?0e0b","webpack://app/./static/css/components/card.css","webpack://app/./static/css/components/dialog.css","webpack://app/./static/css/components/form.css?94e1","webpack://app/./static/css/components/image.css?9f9c","webpack://app/./static/css/components/label.css?b78f","webpack://app/./static/css/components/modal.css","webpack://app/./static/css/components/navigation.css","webpack://app/./static/css/components/overlay.css?6dfd","webpack://app/./static/css/components/table.css?e553","webpack://app/./static/css/layouts/header.css?da75","webpack://app/./static/css/layouts/footer.css?65e3","webpack://app/./static/css/layouts/table-main.css?8c15","webpack://app/./static/css/lib/reset.css","webpack://app/./static/css/lib/typography.css","webpack://app/./static/css/lib/utils.css","webpack://app/./static/css/lib/variables.css","webpack://app/./static/css/themes/light.css?855e"],"sourcesContent":["\nexport default class Validation {\n /*\n isNullOrWhitespace(v) {\n let txt = JSON.stringify(v).replace('/\\s\\g', '');\n return (txt == '' || 'null');\n }\n */\n\n static isEmpty(object) {\n\n let isEmpty = true;\n\n if (object !== null && object !== \"null\" && object !== undefined && object !== \"undefined\") {\n\n if (object.length == undefined) {\n isEmpty = false; // object exists but isn't a collection\n }\n else if (typeof object === \"function\") {\n isEmpty = false; // object is reference\n }\n else { // string or collection\n\n let isString = (typeof object == \"string\");\n\n if (isString) object = object.trim();\n\n if (object.length > 0) {\n\n if (isString) {\n isEmpty = false; // String greater than length 0\n }\n else {\n\n if (typeof object[0] != \"string\") {\n isEmpty = false;\n }\n else {\n for(let i = 0; i < object.length; i++) {\n if (object[i] != \"\") {\n isEmpty = false;\n break\n }\n }\n }\n }\n }\n }\n }\n\n return isEmpty;\n }\n\n static isValidNumber(value, positiveOnly) {\n return !Validation.isEmpty(value) && !isNaN(value) && (!positiveOnly || parseFloat(value) > 0);\n }\n\n static getDataContentType(params) {\n\n var data = null;\n var contentType = '';\n\n if (!Validation.isEmpty(params)) {\n\n if (typeof params === \"string\") {\n data = params;\n contentType = \"application/x-www-form-urlencoded; charset=UTF-8\";\n }\n else {\n data = JSON.stringify(params);\n contentType = \"application/json; charset=UTF-8\";\n }\n }\n\n return { Data: data, ContentType: contentType };\n }\n\n static arrayContainsItem(array, itemValue) {\n\n var hasItem = false;\n\n if (!Validation.isEmpty(array) && !Validation.isEmpty(itemValue)) {\n\n var isJQueryElementArray = array[0] instanceof jQuery;\n\n if (isJQueryElementArray) {\n\n for (let i = 0; i < array.length; i++) {\n\n if (document.querySelectorAll(array[i]).is(itemValue)) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n var isDate = array[0] instanceof Date;\n\n if (isDate) {\n \n for (let i = 0; i < array.length; i++) {\n\n if (array[i].getTime() === itemValue.getTime()) {\n hasItem = true;\n break;\n }\n }\n }\n else {\n\n for (let i = 0; i < array.length; i++) {\n\n if (array[i] == itemValue) {\n hasItem = true;\n break;\n }\n }\n }\n }\n }\n\n return hasItem;\n }\n\n static dictHasKey(d, k) {\n return (k in d);\n }\n static areEqualDicts(dict1, dict2) {\n const keys1 = Object.keys(dict1);\n const keys2 = Object.keys(dict2);\n \n if (keys1.length !== keys2.length) {\n return false;\n }\n \n for (let key of keys1) {\n if (dict1[key] !== dict2[key]) {\n return false;\n }\n }\n \n return true;\n }\n\n static imageExists(url, callback) {\n\n var img = new Image();\n\n img.onload = function() { callback(true); };\n img.onerror = function() { callback(false); };\n img.src = url;\n }\n\n static toFixedOrDefault(value, decimalPlaces, defaultValue = null) {\n return Validation.isValidNumber(value) ? parseFloat(value).toFixed(decimalPlaces) : defaultValue;\n }\n}\n","\nimport Utils from \"./lib/utils.js\";\nimport Validation from \"./lib/validation.js\";\n\nexport default class DOM {\n static setElementAttributesValuesCurrentAndPrevious(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementAttributeValueCurrent(element, data) {\n element.setAttribute(attrValueCurrent, data);\n }\n static setElementAttributeValuePrevious(element, data) {\n element.setAttribute(attrValuePrevious, data);\n }\n static setElementValuesCurrentAndPrevious(element, data) {\n DOM.setElementValueCurrent(element, data);\n DOM.setElementAttributeValuePrevious(element, data);\n }\n static setElementValueCurrent(element, data) {\n DOM.setElementAttributeValueCurrent(element, data);\n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n element.checked = data;\n }\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n element.value = data;\n }\n else {\n element.textContent = data;\n }\n }\n static setElementValueCurrentIfEmpty(element, data) {\n if (Validation.isEmpty(DOM.getElementValueCurrent(element))) {\n DOM.setElementValueCurrent(element, data);\n }\n }\n static getCellFromElement(element) {\n return element.closest('td');\n }\n static getRowFromElement(element, flagRow) {\n let selector = Validation.isEmpty(flagRow) ? 'tr' : 'tr.' + flagRow;\n return element.closest(selector);\n }\n static getClosestParent(element, parentSelector) {\n let parent = element.parentElement;\n while (parent) {\n if (parent.matches(parentSelector)) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n }\n static convertForm2JSON(elementForm) {\n let dataForm = {};\n if (Validation.isEmpty(elementForm)) {\n return dataForm;\n }\n let containersFilter = elementForm.querySelectorAll('.' + flagContainerInput + '.' + flagFilter);\n let containerFilter, labelFilter, keyFilter, filter;\n for (let indexFilter = 0; indexFilter < containersFilter.length; indexFilter++) {\n containerFilter = containersFilter[indexFilter];\n labelFilter = containerFilter.querySelector('label');\n keyFilter = labelFilter.getAttribute('for');\n filter = containerFilter.querySelector(`#${keyFilter}`);\n dataForm[keyFilter] = DOM.getElementValueCurrent(filter);\n }\n return dataForm;\n }\n static loadPageBody(contentNew) {\n let pageBody = document.querySelector(idPageBody);\n pageBody.innerHTML = contentNew;\n }\n static getHashPageCurrent() {\n const hashPageCurrent = document.body.dataset.page;\n return hashPageCurrent;\n }\n static updateAndCheckIsElementDirty(element) {\n element.setAttribute(attrValueCurrent, DOM.getElementValueCurrent(element));\n return DOM.isElementDirty(element);\n }\n static isElementDirty(element) {\n let isDirty = element.getAttribute(attrValuePrevious) != element.getAttribute(attrValueCurrent);\n DOM.handleDirtyElement(element, isDirty);\n return isDirty;\n }\n static handleDirtyElement(element, isDirty) {\n DOM.toggleElementHasClassnameFlag(element, isDirty, flagDirty);\n }\n static toggleElementHasClassnameFlag(element, elementHasFlag, flag) {\n let elementAlreadyHasFlag = element.classList.contains(flag);\n if (elementHasFlag == elementAlreadyHasFlag) return;\n if (elementHasFlag) {\n element.classList.add(flag);\n } else {\n element.classList.remove(flag);\n }\n }\n static hasDirtyChildrenContainer(container) {\n if (container == null) return false;\n return container.querySelector('.' + flagDirty) != null;\n }\n static hasDirtyChildrenNotDeletedContainer(container) {\n if (container == null || container.classList.contains(flagDelete)) return false;\n return container.querySelector('.' + flagDirty + ':not(.' + flagDelete + ', .' + flagDelete + ' *)') != null;\n }\n static getElementValueCurrent(element) {\n let returnVal = '';\n \n if (!Validation.isEmpty(element)) {\n \n let tagName = element.tagName.toUpperCase();\n if (element.type === \"checkbox\") {\n returnVal = element.checked;\n }\n /*\n else if (element.classList.contains(flagIsDatePicker)) {\n returnVal = getDatePickerDate(element, adjust4DayLightSavings);\n }\n */\n else if (tagName === 'INPUT' || tagName === 'TEXTAREA' || tagName === 'SELECT') {\n returnVal = element.value;\n }\n else if (element.classList.contains(flagButton) && element.classList.contains(flagActive)) { // tagName === 'BUTTON'\n returnVal = element.classList.contains(flagDelete);\n }\n else if (tagName === 'TD') {\n returnVal = DOM.getElementAttributeValueCurrent(element);\n }\n else if (tagName == 'SVG' && element.classList.contains(flagCheckbox)) {\n returnVal = (element.classList.contains(flagIsChecked))\n }\n else {\n returnVal = element.textContent;\n }\n }\n \n if (Validation.isEmpty(returnVal)) returnVal = '';\n \n return returnVal;\n }\n static getElementAttributeValueCurrent(element) {\n // debugger;\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValueCurrent);\n }\n static getElementAttributeValuePrevious(element) {\n if (Validation.isEmpty(element)) return null;\n return element.getAttribute(attrValuePrevious);\n }\n /* base_table.handleChangeElementCellTable\n static updateAndCheckIsTableElementDirty(element) {\n let wasDirty = DOM.isElementDirty(element);\n let row = DOM.getRowFromElement(element);\n let wasDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n let isDirty = DOM.updateAndCheckIsElementDirty(element);\n let cell = DOM.getCellFromElement(element);\n Utils.consoleLogIfNotProductionEnvironment({element, row, cell, isDirty, wasDirty});\n if (isDirty != wasDirty) {\n DOM.handleDirtyElement(cell, isDirty);\n let isDirtyRow = DOM.hasDirtyChildrenNotDeletedContainer(row);\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(row, isDirtyRow);\n }\n }\n }\n */\n static scrollToElement(parent, element) {\n // REQUIRED: parent has scroll-bar\n parent.scrollTop(parent.scrollTop() + (element.offset().top - parent.offset().top));\n }\n static isElementInContainer(container, element) {\n\n if (typeof jQuery === 'function') {\n if (container instanceof jQuery) container = container[0];\n if (element instanceof jQuery) element = element[0];\n }\n\n var containerBounds = container.getBoundingClientRect();\n var elementBounds = element.getBoundingClientRect();\n\n return (\n containerBounds.top <= elementBounds.top &&\n containerBounds.left <= elementBounds.left &&\n ((elementBounds.top + elementBounds.height) <= (containerBounds.top + containerBounds.height)) &&\n ((elementBounds.left + elementBounds.width) <= (containerBounds.left + containerBounds.width))\n );\n }\n static alertError(errorType, errorText) {\n alert(errorType + '\\n' + errorText);\n }\n static createOptionUnselectedProductVariation() {\n return {\n [flagProductVariationType]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariationType],\n [flagName]: 'Select Variation Type',\n [attrIdProductVariationType]: 0,\n },\n [flagProductVariation]: {\n [flagNameAttrOptionText]: [flagName],\n [flagNameAttrOptionValue]: [attrIdProductVariation],\n [flagName]: 'Select Variation',\n [attrIdProductVariation]: 0,\n },\n };\n }\n static createOption(optionJson) {\n if (Validation.isEmpty(optionJson)) optionJson = {\n text: 'Select',\n value: 0,\n };\n let option = document.createElement('option');\n option.value = optionJson.value;\n option.textContent = optionJson.text;\n option.selected = optionJson.selected;\n return option;\n }\n\n static escapeHtml(text) {\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n }\n static unescapeHtml(html) {\n const div = document.createElement('div');\n div.innerHTML = html;\n return div.textContent || div.innerText || '';\n }\n}\n","\nexport default class Events {\n static initialiseEventHandler(selectorElement, classInitialised, eventHandler) {\n document.querySelectorAll(selectorElement).forEach(function(element) {\n if (element.classList.contains(classInitialised)) return;\n eventHandler(element);\n element.classList.add(classInitialised);\n });\n }\n static hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n}","\nimport Validation from \"./validation.js\";\n\nexport default class LocalStorage {\n/*\nfunction getPageLocalStorage(pageHash) {\n\n let ls;\n try {\n ls = JSON.parse(localStorage.getItem(pageHash));\n } catch {\n\n }\n\n if (Validation.isEmpty(ls)) return {}\n\n return ls;\n}\nfunction getPageLocalStorageCurrent() {\n\n return JSON.parse(localStorage.getItem(hashPageCurrent));\n}\n\nfunction setPageLocalStorage(pageHash, newLS) {\n\n localStorage.setItem(pageHash, JSON.stringify(newLS));\n}\n\nfunction clearPageLocalStorage(pageHash) {\n localStorage.removeItem(pageHash);\n}\n\nfunction setupPageLocalStorage(pageHash) {\n\n let ls = getPageLocalStorage(pageHash);\n\n if (Validation.isEmpty(ls)) ls = {};\n\n setPageLocalStorage(pageHash, ls);\n}\n*/\n\n static getLocalStorage(key) {\n return JSON.parse(localStorage.getItem(key));\n }\n\n static setLocalStorage(key, newLS) {\n localStorage.setItem(key, JSON.stringify(newLS));\n }\n\n/*\nfunction setupPageLocalStorageNext(pageHashNext) {\n let lsOld = getPageLocalStorage(hashPageCurrent);\n hashPageCurrent = pageHashNext;\n clearPageLocalStorage(hashPageCurrent);\n setupPageLocalStorage(hashPageCurrent);\n let lsNew = getPageLocalStorage(hashPageCurrent);\n lsNew[keyBasket] = (keyBasket in lsOld) ? lsOld[keyBasket] : {'items': []};\n setPageLocalStorage(hashPageCurrent, lsNew);\n}\n*/\n}","import DOM from './dom.js';\n\nexport default class API {\n \n static getCsrfToken() {\n return document.querySelector(idCSRFToken).getAttribute('content');\n }\n \n static async request(hashEndpoint, method = 'GET', data = null, params = null) {\n const url = API.getUrlFromHash(hashEndpoint, params);\n const csrfToken = API.getCsrfToken();\n const options = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n [flagCsrfToken]: csrfToken,\n }\n };\n\n if (data && (method === 'POST' || method === 'PUT' || method === 'PATCH')) {\n data = { \n ...data, \n [flagCsrfToken]: csrfToken,\n };\n options.body = JSON.stringify(data);\n }\n\n try {\n const response = await fetch(url, options);\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n return await response.json();\n } catch (error) {\n console.error('API request failed:', error);\n throw error;\n }\n }\n \n static getUrlFromHash(hash, params = null) {\n if (hash == null) hash = hashPageHome;\n let url = API.parameteriseUrl(_pathHost + hash, params);\n return url;\n }\n static parameteriseUrl(url, params) {\n if (params) {\n url += '?' + new URLSearchParams(params).toString();\n }\n return url;\n }\n static goToUrl(url) {\n window.location.href = url;\n }\n static goToHash(hash, params = null) {\n const url = API.getUrlFromHash(hash, params);\n API.goToUrl(url);\n }\n\n // specific api calls\n /* Example:\n getUsers: () => request('/users'),\n getUserById: (id) => request(`/users/${id}`),\n createUser: (userData) => request('/users', 'POST', userData),\n updateUser: (id, userData) => request(`/users/${id}`, 'PUT', userData),\n deleteUser: (id) => request(`/users/${id}`, 'DELETE'),\n */\n static async loginUser() {\n let callback = {};\n callback[flagCallback] = DOM.getHashPageCurrent();\n return await API.request(hashPageUserLogin, 'POST', callback);\n }\n\n // dog\n // Command categories\n static async saveCommandCategories(commandCategories, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandCategory] = commandCategories;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandCategory, 'POST', dataRequest);\n }\n \n // Commands\n static async saveCommands(commands, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommand] = commands;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommand, 'POST', dataRequest);\n }\n \n // Dog Command Links\n static async saveDogCommandLinks(dogCommandLinks, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagDogCommandLink] = dogCommandLinks;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogDogCommandLink, 'POST', dataRequest);\n }\n \n // Locations\n static async saveLocations(locations, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagLocation] = locations;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogLocation, 'POST', dataRequest);\n }\n \n // Button Icons\n static async saveButtonIcons(buttonIcons, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagButtonIcon] = buttonIcons;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogButtonIcon, 'POST', dataRequest);\n }\n \n // Command Button Links\n static async saveCommandButtonLinks(links, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagCommandButtonLink] = links;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogCommandButtonLink, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessments(assessments, formFilters, comment) {\n let dataRequest = {};\n dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessment, 'POST', dataRequest);\n }\n \n // Assessments\n static async saveAssessmentsDistractionsAndResponses(assessments, formFilters, comment) {\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = null;\n let dataRequest = {};\n dataRequest[flagFormFilters] = filtersJson;\n dataRequest[flagAssessment] = assessments;\n dataRequest[flagComment] = comment;\n return await API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest);\n }\n \n}\n","// Utility functions\n/*\nfunction $(selector) {\n return document.querySelector(selector);\n}\n\nfunction $$(selector) {\n return document.querySelectorAll(selector);\n}\n*/\nexport default class Utils {\n static getListFromDict(dict) {\n let list = [];\n for (let key in dict) {\n list.push(dict[key]);\n }\n return list;\n }\n static consoleLogIfNotProductionEnvironment(message) {\n if (environment.is_production != \"true\") {\n console.log(message);\n }\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayConfirm {\n static hookup(callbackSuccess) {\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.style.visibility = 'hidden';\n });\n });\n Events.initialiseEventHandler(idOverlayConfirm + ' button.' + flagSubmit, flagInitialised, (buttonConfirm) => {\n buttonConfirm.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayConfirm);\n let textarea = overlay.querySelector('textarea');\n overlay.style.visibility = 'hidden';\n callbackSuccess(textarea.value);\n });\n });\n }\n static show() {\n let overlay = document.querySelector(idOverlayConfirm);\n overlay.classList.remove(flagIsCollapsed);\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\nimport Validation from \"../lib/validation.js\";\n\nexport default class BasePage {\n constructor(router) {\n if (!router) {\n throw new Error(\"Router is required\");\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"initialising with router: \", router);\n }\n this.router = router;\n this.title = titlePageCurrent;\n if (this.constructor === BasePage) {\n throw new Error(\"Cannot instantiate abstract class\");\n }\n \n if (!this.constructor.hash) {\n throw new Error(`Class ${this.constructor.name} must have a static hash attribute.`);\n }\n }\n\n initialize() {\n throw new Error(\"Method 'initialize()' must be implemented.\");\n }\n\n sharedInitialize() {\n this.logInitialisation();\n this.hookupCommonElements();\n }\n\n logInitialisation() {\n Utils.consoleLogIfNotProductionEnvironment('Initializing ' + this.title + ' page');\n }\n \n hookupCommonElements() {\n // hookupVideos();\n this.hookupLogos();\n this.hookupNavigation();\n this.hookupOverlays();\n }\n hookupLogos() {\n Events.hookupEventHandler(\"click\", \".\" + flagImageLogo + \",\" + \".\" + flagLogo, (event, element) => {\n Utils.consoleLogIfNotProductionEnvironment('clicking logo');\n this.router.navigateToHash(hashPageHome);\n });\n }\n /*\n hookupEventHandler(eventType, selector, callback) {\n Events.initialiseEventHandler(selector, flagInitialised, (element) => {\n element.addEventListener(eventType, (event) => {\n event.stopPropagation();\n callback(event, element);\n });\n });\n }\n */\n hookupNavigation() {\n Events.hookupEventHandler(\"click\", idButtonHamburger, (event, element) => {\n let overlayHamburger = document.querySelector(idOverlayHamburger);\n if (overlayHamburger.classList.contains(flagIsCollapsed)) {\n overlayHamburger.classList.remove(flagIsCollapsed);\n overlayHamburger.classList.add(flagExpanded);\n } else {\n overlayHamburger.classList.remove(flagExpanded);\n overlayHamburger.classList.add(flagIsCollapsed);\n }\n });\n\n this.hookupButtonsNavHome();\n this.hookupButtonsNavContact();\n // this.hookupButtonsNavAdminHome();\n this.hookupButtonsNavUserAccount();\n this.hookupButtonsNavUserLogout();\n this.hookupButtonsNavUserLogin();\n\n // this.hookupButtonsNavStoreHome();\n // this.hookupButtonsNavStoreManufacturingPurchaseOrders();\n this.hookupButtonsNavDogHome();\n this.hookupButtonsNavDogCommandCategories();\n this.hookupButtonsNavDogCommands();\n this.hookupButtonsNavDogDogCommandLinks();\n this.hookupButtonsNavDogDogs();\n this.hookupButtonsNavDogLocations();\n this.hookupButtonsNavDogButtonIcons();\n this.hookupButtonsNavDogCommandButtonLinks();\n this.hookupButtonsNavDogAssessments();\n this.hookupButtonsNavDogCalendarEntries();\n }\n hookupButtonsNavHome() {\n this.hookupButtonsNav('.' + flagNavHome, hashPageHome);\n }\n hookupButtonsNav(buttonSelector, hashPageNav) {\n Events.hookupEventHandler(\"click\", buttonSelector, (event, button) => { \n this.router.navigateToHash(hashPageNav); \n });\n }\n hookupButtonsNavContact() {\n this.hookupButtonsNav('.' + flagNavContact, hashPageContact);\n }\n /*\n hookupButtonsNavAdminHome() {\n this.hookupButtonsNav('.' + flagNavAdminHome, hashPageAdminHome);\n }\n hookupButtonsNavServices() {\n this.hookupButtonsNav('.' + flagNavServices, hashPageServices);\n }\n */\n hookupButtonsNavUserAccount() {\n this.hookupButtonsNav('.' + flagNavUserAccount, hashPageUserAccount);\n }\n hookupButtonsNavUserLogout() {\n this.hookupButtonsNav('.' + flagNavUserLogout, hashPageUserLogout);\n }\n hookupButtonsNavUserLogin() {\n Events.hookupEventHandler(\"click\", '.' + flagNavUserLogin, (event, navigator) => { \n event.stopPropagation();\n this.leave();\n API.loginUser()\n .then((response) => {\n if (response.Success) {\n window.location.href = response[flagCallback];\n } else {\n DOM.alertError(\"Error\", response.Message);\n }\n });\n });\n }\n hookupButtonsNavDogHome() {\n this.hookupButtonsNav('.' + flagNavDogHome, hashPageDogHome);\n }\n hookupButtonsNavDogCommandCategories() {\n this.hookupButtonsNav('.' + flagNavDogCommandCategories, hashPageDogCommandCategories);\n }\n hookupButtonsNavDogCommands() {\n this.hookupButtonsNav('.' + flagNavDogCommands, hashPageDogCommands);\n }\n hookupButtonsNavDogDogCommandLinks() {\n this.hookupButtonsNav('.' + flagNavDogDogCommandLinks, hashPageDogDogCommandLinks);\n }\n hookupButtonsNavDogDogs() {\n this.hookupButtonsNav('.' + flagNavDogDogs, hashPageDogDogs);\n }\n hookupButtonsNavDogLocations() {\n this.hookupButtonsNav('.' + flagNavDogLocations, hashPageDogLocations);\n }\n hookupButtonsNavDogButtonIcons() {\n this.hookupButtonsNav('.' + flagNavDogButtonIcons, hashPageDogButtonIcons);\n }\n hookupButtonsNavDogCommandButtonLinks() {\n this.hookupButtonsNav('.' + flagNavDogCommandButtonLinks, hashPageDogCommandButtonLinks);\n }\n hookupButtonsNavDogAssessments() {\n this.hookupButtonsNav('.' + flagNavDogAssessments, hashPageDogAssessments);\n }\n hookupButtonsNavDogCalendarEntries() {\n this.hookupButtonsNav('.' + flagNavDogCalendarEntries, hashPageDogCalendarEntries);\n }\n\n hookupOverlays() {\n this.hookupOverlayFromId(idOverlayConfirm);\n this.hookupOverlayFromId(idOverlayError);\n }\n\n hookupOverlayFromId(idOverlay) {\n Events.initialiseEventHandler(idOverlay, flagInitialised, (overlay) => {\n overlay.querySelector('button.' + flagCancel).addEventListener(\"click\", (event) => {\n event.stopPropagation();\n overlay.style.display = 'none';\n });\n });\n }\n\n hookupButtonSave() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n Utils.consoleLogIfNotProductionEnvironment('saving page: ', this.title);\n OverlayConfirm.show();\n });\n });\n }\n\n leave() {\n Utils.consoleLogIfNotProductionEnvironment('Leaving ' + this.title + ' page');\n if (this.constructor === BasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n }\n setLocalStoragePage(dataPage) {\n LocalStorage.setLocalStorage(this.hash, dataPage);\n }\n getLocalStoragePage() {\n return LocalStorage.getLocalStorage(this.hash);\n }\n\n toggleShowButtonsSaveCancel(show, buttonContainerSelector = null) { // , buttonSave = null, buttonCancel = null\n if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel;\n let buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave);\n let buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel);\n Utils.consoleLogIfNotProductionEnvironment({ show, buttonContainerSelector, buttonCancel, buttonSave });\n if (show) {\n buttonCancel.classList.remove(flagIsCollapsed);\n buttonSave.classList.remove(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('showing buttons');\n } else {\n buttonCancel.classList.add(flagIsCollapsed);\n buttonSave.classList.add(flagIsCollapsed);\n Utils.consoleLogIfNotProductionEnvironment('hiding buttons');\n }\n }\n\n static isDirtyFilter(filter) {\n let isDirty = DOM.updateAndCheckIsElementDirty(filter);\n if (isDirty) document.querySelectorAll(idTableMain + ' tbody tr').remove();\n return isDirty;\n }\n\n}","\n// internal\nimport BasePage from \"../base.js\";\n// external\n\n\nexport default class PageHome extends BasePage {\n static hash = hashPageHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n // this.hookupButtonsNav();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","var hi = Object.defineProperty;\nvar Or = (e) => {\n throw TypeError(e);\n};\nvar gi = (e, t, r) => t in e ? hi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar ne = (e, t, r) => gi(e, typeof t != \"symbol\" ? t + \"\" : t, r), zr = (e, t, r) => t.has(e) || Or(\"Cannot \" + r);\nvar H = (e, t, r) => (zr(e, t, \"read from private field\"), r ? r.call(e) : t.get(e)), Mt = (e, t, r) => t.has(e) ? Or(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, r), Ut = (e, t, r, l) => (zr(e, t, \"write to private field\"), l ? l.call(e, r) : t.set(e, r), r);\nconst en = `(function(){\"use strict\";const d=new TextEncoder;function p(e){return[...new Uint8Array(e)].map(t=>t.toString(16).padStart(2,\"0\")).join(\"\")}async function b(e,t,r){if(typeof crypto>\"u\"||!(\"subtle\"in crypto)||!(\"digest\"in crypto.subtle))throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");return p(await crypto.subtle.digest(r.toUpperCase(),d.encode(e+t)))}function w(e,t,r=\"SHA-256\",n=1e6,s=0){const o=new AbortController,a=Date.now();return{promise:(async()=>{for(let c=s;c<=n;c+=1){if(o.signal.aborted)return null;if(await b(t,c,r)===e)return{number:c,took:Date.now()-a}}return null})(),controller:o}}function h(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n{for(let u=n;u<=r;u+=1){if(o.signal.aborted||!c||!y)return null;try{const f=await crypto.subtle.decrypt({name:s,iv:g(u)},c,y);if(f)return{clearText:new TextDecoder().decode(f),took:Date.now()-a}}catch{}}return null};let c=null,y=null;try{y=h(e);const u=await crypto.subtle.digest(\"SHA-256\",d.encode(t));c=await crypto.subtle.importKey(\"raw\",u,s,!1,[\"decrypt\"])}catch{return{promise:Promise.reject(),controller:o}}return{promise:l(),controller:o}}let i;onmessage=async e=>{const{type:t,payload:r,start:n,max:s}=e.data;let o=null;if(t===\"abort\")i==null||i.abort(),i=void 0;else if(t===\"work\"){if(\"obfuscated\"in r){const{key:a,obfuscated:l}=r||{};o=await m(l,a,s,n)}else{const{algorithm:a,challenge:l,salt:c}=r||{};o=w(l,c,a,s,n)}i=o.controller,o.promise.then(a=>{self.postMessage(a&&{...a,worker:!0})})}}})();\n`, Fr = typeof self < \"u\" && self.Blob && new Blob([en], { type: \"text/javascript;charset=utf-8\" });\nfunction _i(e) {\n let t;\n try {\n if (t = Fr && (self.URL || self.webkitURL).createObjectURL(Fr), !t) throw \"\";\n const r = new Worker(t, {\n name: e == null ? void 0 : e.name\n });\n return r.addEventListener(\"error\", () => {\n (self.URL || self.webkitURL).revokeObjectURL(t);\n }), r;\n } catch {\n return new Worker(\n \"data:text/javascript;charset=utf-8,\" + encodeURIComponent(en),\n {\n name: e == null ? void 0 : e.name\n }\n );\n } finally {\n t && (self.URL || self.webkitURL).revokeObjectURL(t);\n }\n}\nconst mi = \"5\";\nvar Qr;\ntypeof window < \"u\" && ((Qr = window.__svelte ?? (window.__svelte = {})).v ?? (Qr.v = /* @__PURE__ */ new Set())).add(mi);\nconst wi = 1, pi = 4, yi = 8, bi = 16, Ei = 1, xi = 2, Wt = \"[\", tn = \"[!\", rn = \"]\", Je = {}, W = Symbol(), $i = \"http://www.w3.org/1999/xhtml\", Mr = !1, oe = 2, nn = 4, It = 8, Yt = 16, pe = 32, ze = 64, yt = 128, re = 256, bt = 512, K = 1024, ye = 2048, et = 4096, Ke = 8192, St = 16384, ki = 32768, Zt = 65536, Ci = 1 << 19, ln = 1 << 20, ut = Symbol(\"$state\"), an = Symbol(\"legacy props\"), Ai = Symbol(\"\");\nvar on = Array.isArray, Ri = Array.prototype.indexOf, Ii = Array.from, Et = Object.keys, xt = Object.defineProperty, Pe = Object.getOwnPropertyDescriptor, Si = Object.getOwnPropertyDescriptors, Ti = Object.prototype, Ni = Array.prototype, sn = Object.getPrototypeOf;\nfunction fn(e) {\n for (var t = 0; t < e.length; t++)\n e[t]();\n}\nconst Li = typeof requestIdleCallback > \"u\" ? (e) => setTimeout(e, 1) : requestIdleCallback;\nlet dt = [], vt = [];\nfunction un() {\n var e = dt;\n dt = [], fn(e);\n}\nfunction cn() {\n var e = vt;\n vt = [], fn(e);\n}\nfunction Gt(e) {\n dt.length === 0 && queueMicrotask(un), dt.push(e);\n}\nfunction Di(e) {\n vt.length === 0 && Li(cn), vt.push(e);\n}\nfunction Ur() {\n dt.length > 0 && un(), vt.length > 0 && cn();\n}\nfunction dn(e) {\n return e === this.v;\n}\nfunction Pi(e, t) {\n return e != e ? t == t : e !== t || e !== null && typeof e == \"object\" || typeof e == \"function\";\n}\nfunction vn(e) {\n return !Pi(e, this.v);\n}\nfunction Oi(e) {\n throw new Error(\"https://svelte.dev/e/effect_in_teardown\");\n}\nfunction zi() {\n throw new Error(\"https://svelte.dev/e/effect_in_unowned_derived\");\n}\nfunction Fi(e) {\n throw new Error(\"https://svelte.dev/e/effect_orphan\");\n}\nfunction Mi() {\n throw new Error(\"https://svelte.dev/e/effect_update_depth_exceeded\");\n}\nfunction Ui() {\n throw new Error(\"https://svelte.dev/e/hydration_failed\");\n}\nfunction ji(e) {\n throw new Error(\"https://svelte.dev/e/props_invalid_value\");\n}\nfunction Vi() {\n throw new Error(\"https://svelte.dev/e/state_descriptors_fixed\");\n}\nfunction Bi() {\n throw new Error(\"https://svelte.dev/e/state_prototype_fixed\");\n}\nfunction qi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_local_read\");\n}\nfunction Hi() {\n throw new Error(\"https://svelte.dev/e/state_unsafe_mutation\");\n}\nlet Wi = !1;\nfunction ue(e, t) {\n var r = {\n f: 0,\n // TODO ideally we could skip this altogether, but it causes type errors\n v: e,\n reactions: null,\n equals: dn,\n rv: 0,\n wv: 0\n };\n return r;\n}\nfunction He(e) {\n return /* @__PURE__ */ Yi(ue(e));\n}\n// @__NO_SIDE_EFFECTS__\nfunction hn(e, t = !1) {\n const r = ue(e);\n return t || (r.equals = vn), r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction Yi(e) {\n return k !== null && !ae && (k.f & oe) !== 0 && (ce === null ? Qi([e]) : ce.push(e)), e;\n}\nfunction P(e, t) {\n return k !== null && !ae && Dn() && (k.f & (oe | Yt)) !== 0 && // If the source was created locally within the current derived, then\n // we allow the mutation.\n (ce === null || !ce.includes(e)) && Hi(), Zi(e, t);\n}\nfunction Zi(e, t) {\n return e.equals(t) || (e.v, e.v = t, e.wv = En(), gn(e, ye), A !== null && (A.f & K) !== 0 && (A.f & (pe | ze)) === 0 && (ge === null ? el([e]) : ge.push(e))), t;\n}\nfunction gn(e, t) {\n var r = e.reactions;\n if (r !== null)\n for (var l = r.length, i = 0; i < l; i++) {\n var a = r[i], o = a.f;\n (o & ye) === 0 && (de(a, t), (o & (K | re)) !== 0 && ((o & oe) !== 0 ? gn(\n /** @type {Derived} */\n a,\n et\n ) : Lt(\n /** @type {Effect} */\n a\n )));\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction De(e) {\n var t = oe | ye, r = k !== null && (k.f & oe) !== 0 ? (\n /** @type {Derived} */\n k\n ) : null;\n return A === null || r !== null && (r.f & re) !== 0 ? t |= re : A.f |= ln, {\n ctx: B,\n deps: null,\n effects: null,\n equals: dn,\n f: t,\n fn: e,\n reactions: null,\n rv: 0,\n v: (\n /** @type {V} */\n null\n ),\n wv: 0,\n parent: r ?? A\n };\n}\nfunction _n(e) {\n var t = e.effects;\n if (t !== null) {\n e.effects = null;\n for (var r = 0; r < t.length; r += 1)\n we(\n /** @type {Effect} */\n t[r]\n );\n }\n}\nfunction Gi(e) {\n for (var t = e.parent; t !== null; ) {\n if ((t.f & oe) === 0)\n return (\n /** @type {Effect} */\n t\n );\n t = t.parent;\n }\n return null;\n}\nfunction Ji(e) {\n var t, r = A;\n Se(Gi(e));\n try {\n _n(e), t = $n(e);\n } finally {\n Se(r);\n }\n return t;\n}\nfunction mn(e) {\n var t = Ji(e), r = (Ce || (e.f & re) !== 0) && e.deps !== null ? et : K;\n de(e, r), e.equals(t) || (e.v = t, e.wv = En());\n}\nfunction Tt(e) {\n console.warn(\"https://svelte.dev/e/hydration_mismatch\");\n}\nlet D = !1;\nfunction Ge(e) {\n D = e;\n}\nlet O;\nfunction Re(e) {\n if (e === null)\n throw Tt(), Je;\n return O = e;\n}\nfunction Xe() {\n return Re(\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(O)\n );\n}\nfunction Z(e) {\n if (D) {\n if (/* @__PURE__ */ Te(O) !== null)\n throw Tt(), Je;\n O = e;\n }\n}\nfunction Ki() {\n for (var e = 0, t = O; ; ) {\n if (t.nodeType === 8) {\n var r = (\n /** @type {Comment} */\n t.data\n );\n if (r === rn) {\n if (e === 0) return t;\n e -= 1;\n } else (r === Wt || r === tn) && (e += 1);\n }\n var l = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(t)\n );\n t.remove(), t = l;\n }\n}\nfunction le(e, t = null, r) {\n if (typeof e != \"object\" || e === null || ut in e)\n return e;\n const l = sn(e);\n if (l !== Ti && l !== Ni)\n return e;\n var i = /* @__PURE__ */ new Map(), a = on(e), o = ue(0);\n a && i.set(\"length\", ue(\n /** @type {any[]} */\n e.length\n ));\n var f;\n return new Proxy(\n /** @type {any} */\n e,\n {\n defineProperty(s, c, v) {\n (!(\"value\" in v) || v.configurable === !1 || v.enumerable === !1 || v.writable === !1) && Vi();\n var h = i.get(c);\n return h === void 0 ? (h = ue(v.value), i.set(c, h)) : P(h, le(v.value, f)), !0;\n },\n deleteProperty(s, c) {\n var v = i.get(c);\n if (v === void 0)\n c in s && i.set(c, ue(W));\n else {\n if (a && typeof c == \"string\") {\n var h = (\n /** @type {Source} */\n i.get(\"length\")\n ), g = Number(c);\n Number.isInteger(g) && g < h.v && P(h, g);\n }\n P(v, W), jr(o);\n }\n return !0;\n },\n get(s, c, v) {\n var w;\n if (c === ut)\n return e;\n var h = i.get(c), g = c in s;\n if (h === void 0 && (!g || (w = Pe(s, c)) != null && w.writable) && (h = ue(le(g ? s[c] : W, f)), i.set(c, h)), h !== void 0) {\n var m = d(h);\n return m === W ? void 0 : m;\n }\n return Reflect.get(s, c, v);\n },\n getOwnPropertyDescriptor(s, c) {\n var v = Reflect.getOwnPropertyDescriptor(s, c);\n if (v && \"value\" in v) {\n var h = i.get(c);\n h && (v.value = d(h));\n } else if (v === void 0) {\n var g = i.get(c), m = g == null ? void 0 : g.v;\n if (g !== void 0 && m !== W)\n return {\n enumerable: !0,\n configurable: !0,\n value: m,\n writable: !0\n };\n }\n return v;\n },\n has(s, c) {\n var m;\n if (c === ut)\n return !0;\n var v = i.get(c), h = v !== void 0 && v.v !== W || Reflect.has(s, c);\n if (v !== void 0 || A !== null && (!h || (m = Pe(s, c)) != null && m.writable)) {\n v === void 0 && (v = ue(h ? le(s[c], f) : W), i.set(c, v));\n var g = d(v);\n if (g === W)\n return !1;\n }\n return h;\n },\n set(s, c, v, h) {\n var F;\n var g = i.get(c), m = c in s;\n if (a && c === \"length\")\n for (var w = v; w < /** @type {Source} */\n g.v; w += 1) {\n var z = i.get(w + \"\");\n z !== void 0 ? P(z, W) : w in s && (z = ue(W), i.set(w + \"\", z));\n }\n g === void 0 ? (!m || (F = Pe(s, c)) != null && F.writable) && (g = ue(void 0), P(g, le(v, f)), i.set(c, g)) : (m = g.v !== W, P(g, le(v, f)));\n var T = Reflect.getOwnPropertyDescriptor(s, c);\n if (T != null && T.set && T.set.call(h, v), !m) {\n if (a && typeof c == \"string\") {\n var Y = (\n /** @type {Source} */\n i.get(\"length\")\n ), M = Number(c);\n Number.isInteger(M) && M >= Y.v && P(Y, M + 1);\n }\n jr(o);\n }\n return !0;\n },\n ownKeys(s) {\n d(o);\n var c = Reflect.ownKeys(s).filter((g) => {\n var m = i.get(g);\n return m === void 0 || m.v !== W;\n });\n for (var [v, h] of i)\n h.v !== W && !(v in s) && c.push(v);\n return c;\n },\n setPrototypeOf() {\n Bi();\n }\n }\n );\n}\nfunction jr(e, t = 1) {\n P(e, e.v + t);\n}\nvar Vr, wn, pn, yn;\nfunction jt() {\n if (Vr === void 0) {\n Vr = window, wn = /Firefox/.test(navigator.userAgent);\n var e = Element.prototype, t = Node.prototype;\n pn = Pe(t, \"firstChild\").get, yn = Pe(t, \"nextSibling\").get, e.__click = void 0, e.__className = void 0, e.__attributes = null, e.__style = void 0, e.__e = void 0, Text.prototype.__t = void 0;\n }\n}\nfunction Jt(e = \"\") {\n return document.createTextNode(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction me(e) {\n return pn.call(e);\n}\n// @__NO_SIDE_EFFECTS__\nfunction Te(e) {\n return yn.call(e);\n}\nfunction G(e, t) {\n if (!D)\n return /* @__PURE__ */ me(e);\n var r = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(O)\n );\n return r === null && (r = O.appendChild(Jt())), Re(r), r;\n}\nfunction Br(e, t) {\n if (!D) {\n var r = (\n /** @type {DocumentFragment} */\n /* @__PURE__ */ me(\n /** @type {Node} */\n e\n )\n );\n return r instanceof Comment && r.data === \"\" ? /* @__PURE__ */ Te(r) : r;\n }\n return O;\n}\nfunction he(e, t = 1, r = !1) {\n let l = D ? O : e;\n for (var i; t--; )\n i = l, l = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l);\n if (!D)\n return l;\n var a = l == null ? void 0 : l.nodeType;\n if (r && a !== 3) {\n var o = Jt();\n return l === null ? i == null || i.after(o) : l.before(o), Re(o), o;\n }\n return Re(l), /** @type {TemplateNode} */\n l;\n}\nfunction Xi(e) {\n e.textContent = \"\";\n}\nlet wt = !1, $t = !1, kt = null, Oe = !1, Kt = !1;\nfunction qr(e) {\n Kt = e;\n}\nlet ct = [];\nlet k = null, ae = !1;\nfunction Ie(e) {\n k = e;\n}\nlet A = null;\nfunction Se(e) {\n A = e;\n}\nlet ce = null;\nfunction Qi(e) {\n ce = e;\n}\nlet V = null, J = 0, ge = null;\nfunction el(e) {\n ge = e;\n}\nlet bn = 1, Ct = 0, Ce = !1;\nfunction En() {\n return ++bn;\n}\nfunction ht(e) {\n var h;\n var t = e.f;\n if ((t & ye) !== 0)\n return !0;\n if ((t & et) !== 0) {\n var r = e.deps, l = (t & re) !== 0;\n if (r !== null) {\n var i, a, o = (t & bt) !== 0, f = l && A !== null && !Ce, s = r.length;\n if (o || f) {\n var c = (\n /** @type {Derived} */\n e\n ), v = c.parent;\n for (i = 0; i < s; i++)\n a = r[i], (o || !((h = a == null ? void 0 : a.reactions) != null && h.includes(c))) && (a.reactions ?? (a.reactions = [])).push(c);\n o && (c.f ^= bt), f && v !== null && (v.f & re) === 0 && (c.f ^= re);\n }\n for (i = 0; i < s; i++)\n if (a = r[i], ht(\n /** @type {Derived} */\n a\n ) && mn(\n /** @type {Derived} */\n a\n ), a.wv > e.wv)\n return !0;\n }\n (!l || A !== null && !Ce) && de(e, K);\n }\n return !1;\n}\nfunction tl(e, t) {\n for (var r = t; r !== null; ) {\n if ((r.f & yt) !== 0)\n try {\n r.fn(e);\n return;\n } catch {\n r.f ^= yt;\n }\n r = r.parent;\n }\n throw wt = !1, e;\n}\nfunction rl(e) {\n return (e.f & St) === 0 && (e.parent === null || (e.parent.f & yt) === 0);\n}\nfunction Nt(e, t, r, l) {\n if (wt) {\n if (r === null && (wt = !1), rl(t))\n throw e;\n return;\n }\n r !== null && (wt = !0);\n {\n tl(e, t);\n return;\n }\n}\nfunction xn(e, t, r = !0) {\n var l = e.reactions;\n if (l !== null)\n for (var i = 0; i < l.length; i++) {\n var a = l[i];\n (a.f & oe) !== 0 ? xn(\n /** @type {Derived} */\n a,\n t,\n !1\n ) : t === a && (r ? de(a, ye) : (a.f & K) !== 0 && de(a, et), Lt(\n /** @type {Effect} */\n a\n ));\n }\n}\nfunction $n(e) {\n var m;\n var t = V, r = J, l = ge, i = k, a = Ce, o = ce, f = B, s = ae, c = e.f;\n V = /** @type {null | Value[]} */\n null, J = 0, ge = null, Ce = (c & re) !== 0 && (ae || !Oe || k === null), k = (c & (pe | ze)) === 0 ? e : null, ce = null, Wr(e.ctx), ae = !1, Ct++;\n try {\n var v = (\n /** @type {Function} */\n (0, e.fn)()\n ), h = e.deps;\n if (V !== null) {\n var g;\n if (At(e, J), h !== null && J > 0)\n for (h.length = J + V.length, g = 0; g < V.length; g++)\n h[J + g] = V[g];\n else\n e.deps = h = V;\n if (!Ce)\n for (g = J; g < h.length; g++)\n ((m = h[g]).reactions ?? (m.reactions = [])).push(e);\n } else h !== null && J < h.length && (At(e, J), h.length = J);\n if (Dn() && ge !== null && !ae && h !== null && (e.f & (oe | et | ye)) === 0)\n for (g = 0; g < /** @type {Source[]} */\n ge.length; g++)\n xn(\n ge[g],\n /** @type {Effect} */\n e\n );\n return i !== null && Ct++, v;\n } finally {\n V = t, J = r, ge = l, k = i, Ce = a, ce = o, Wr(f), ae = s;\n }\n}\nfunction nl(e, t) {\n let r = t.reactions;\n if (r !== null) {\n var l = Ri.call(r, e);\n if (l !== -1) {\n var i = r.length - 1;\n i === 0 ? r = t.reactions = null : (r[l] = r[i], r.pop());\n }\n }\n r === null && (t.f & oe) !== 0 && // Destroying a child effect while updating a parent effect can cause a dependency to appear\n // to be unused, when in fact it is used by the currently-updating parent. Checking `new_deps`\n // allows us to skip the expensive work of disconnecting and immediately reconnecting it\n (V === null || !V.includes(t)) && (de(t, et), (t.f & (re | bt)) === 0 && (t.f ^= bt), _n(\n /** @type {Derived} **/\n t\n ), At(\n /** @type {Derived} **/\n t,\n 0\n ));\n}\nfunction At(e, t) {\n var r = e.deps;\n if (r !== null)\n for (var l = t; l < r.length; l++)\n nl(e, r[l]);\n}\nfunction Xt(e) {\n var t = e.f;\n if ((t & St) === 0) {\n de(e, K);\n var r = A, l = B, i = Oe;\n A = e, Oe = !0;\n try {\n (t & Yt) !== 0 ? hl(e) : An(e), Cn(e);\n var a = $n(e);\n e.teardown = typeof a == \"function\" ? a : null, e.wv = bn;\n var o = e.deps, f;\n Mr && Wi && e.f & ye;\n } catch (s) {\n Nt(s, e, r, l || e.ctx);\n } finally {\n Oe = i, A = r;\n }\n }\n}\nfunction il() {\n try {\n Mi();\n } catch (e) {\n if (kt !== null)\n Nt(e, kt, null);\n else\n throw e;\n }\n}\nfunction kn() {\n var e = Oe;\n try {\n var t = 0;\n for (Oe = !0; ct.length > 0; ) {\n t++ > 1e3 && il();\n var r = ct, l = r.length;\n ct = [];\n for (var i = 0; i < l; i++) {\n var a = al(r[i]);\n ll(a);\n }\n }\n } finally {\n $t = !1, Oe = e, kt = null;\n }\n}\nfunction ll(e) {\n var t = e.length;\n if (t !== 0)\n for (var r = 0; r < t; r++) {\n var l = e[r];\n if ((l.f & (St | Ke)) === 0)\n try {\n ht(l) && (Xt(l), l.deps === null && l.first === null && l.nodes_start === null && (l.teardown === null ? Rn(l) : l.fn = null));\n } catch (i) {\n Nt(i, l, null, l.ctx);\n }\n }\n}\nfunction Lt(e) {\n $t || ($t = !0, queueMicrotask(kn));\n for (var t = kt = e; t.parent !== null; ) {\n t = t.parent;\n var r = t.f;\n if ((r & (ze | pe)) !== 0) {\n if ((r & K) === 0) return;\n t.f ^= K;\n }\n }\n ct.push(t);\n}\nfunction al(e) {\n for (var t = [], r = e; r !== null; ) {\n var l = r.f, i = (l & (pe | ze)) !== 0, a = i && (l & K) !== 0;\n if (!a && (l & Ke) === 0) {\n if ((l & nn) !== 0)\n t.push(r);\n else if (i)\n r.f ^= K;\n else {\n var o = k;\n try {\n k = r, ht(r) && Xt(r);\n } catch (c) {\n Nt(c, r, null, r.ctx);\n } finally {\n k = o;\n }\n }\n var f = r.first;\n if (f !== null) {\n r = f;\n continue;\n }\n }\n var s = r.parent;\n for (r = r.next; r === null && s !== null; )\n r = s.next, s = s.parent;\n }\n return t;\n}\nfunction $(e) {\n var t;\n for (Ur(); ct.length > 0; )\n $t = !0, kn(), Ur();\n return (\n /** @type {T} */\n t\n );\n}\nasync function ol() {\n await Promise.resolve(), $();\n}\nfunction d(e) {\n var t = e.f, r = (t & oe) !== 0;\n if (k !== null && !ae) {\n ce !== null && ce.includes(e) && qi();\n var l = k.deps;\n e.rv < Ct && (e.rv = Ct, V === null && l !== null && l[J] === e ? J++ : V === null ? V = [e] : (!Ce || !V.includes(e)) && V.push(e));\n } else if (r && /** @type {Derived} */\n e.deps === null && /** @type {Derived} */\n e.effects === null) {\n var i = (\n /** @type {Derived} */\n e\n ), a = i.parent;\n a !== null && (a.f & re) === 0 && (i.f ^= re);\n }\n return r && (i = /** @type {Derived} */\n e, ht(i) && mn(i)), e.v;\n}\nfunction Qe(e) {\n var t = ae;\n try {\n return ae = !0, e();\n } finally {\n ae = t;\n }\n}\nconst sl = -7169;\nfunction de(e, t) {\n e.f = e.f & sl | t;\n}\nfunction fl(e) {\n A === null && k === null && Fi(), k !== null && (k.f & re) !== 0 && A === null && zi(), Kt && Oi();\n}\nfunction ul(e, t) {\n var r = t.last;\n r === null ? t.last = t.first = e : (r.next = e, e.prev = r, t.last = e);\n}\nfunction Fe(e, t, r, l = !0) {\n var i = A, a = {\n ctx: B,\n deps: null,\n nodes_start: null,\n nodes_end: null,\n f: e | ye,\n first: null,\n fn: t,\n last: null,\n next: null,\n parent: i,\n prev: null,\n teardown: null,\n transitions: null,\n wv: 0\n };\n if (r)\n try {\n Xt(a), a.f |= ki;\n } catch (s) {\n throw we(a), s;\n }\n else t !== null && Lt(a);\n var o = r && a.deps === null && a.first === null && a.nodes_start === null && a.teardown === null && (a.f & (ln | yt)) === 0;\n if (!o && l && (i !== null && ul(a, i), k !== null && (k.f & oe) !== 0)) {\n var f = (\n /** @type {Derived} */\n k\n );\n (f.effects ?? (f.effects = [])).push(a);\n }\n return a;\n}\nfunction cl(e) {\n const t = Fe(It, null, !1);\n return de(t, K), t.teardown = e, t;\n}\nfunction Vt(e) {\n fl();\n var t = A !== null && (A.f & pe) !== 0 && B !== null && !B.m;\n if (t) {\n var r = (\n /** @type {ComponentContext} */\n B\n );\n (r.e ?? (r.e = [])).push({\n fn: e,\n effect: A,\n reaction: k\n });\n } else {\n var l = Qt(e);\n return l;\n }\n}\nfunction dl(e) {\n const t = Fe(ze, e, !0);\n return () => {\n we(t);\n };\n}\nfunction vl(e) {\n const t = Fe(ze, e, !0);\n return (r = {}) => new Promise((l) => {\n r.outro ? Bt(t, () => {\n we(t), l(void 0);\n }) : (we(t), l(void 0));\n });\n}\nfunction Qt(e) {\n return Fe(nn, e, !1);\n}\nfunction er(e) {\n return Fe(It, e, !0);\n}\nfunction We(e, t = [], r = De) {\n const l = t.map(r);\n return tr(() => e(...l.map(d)));\n}\nfunction tr(e, t = 0) {\n return Fe(It | Yt | t, e, !0);\n}\nfunction Rt(e, t = !0) {\n return Fe(It | pe, e, !0, t);\n}\nfunction Cn(e) {\n var t = e.teardown;\n if (t !== null) {\n const r = Kt, l = k;\n qr(!0), Ie(null);\n try {\n t.call(null);\n } finally {\n qr(r), Ie(l);\n }\n }\n}\nfunction An(e, t = !1) {\n var r = e.first;\n for (e.first = e.last = null; r !== null; ) {\n var l = r.next;\n (r.f & ze) !== 0 ? r.parent = null : we(r, t), r = l;\n }\n}\nfunction hl(e) {\n for (var t = e.first; t !== null; ) {\n var r = t.next;\n (t.f & pe) === 0 && we(t), t = r;\n }\n}\nfunction we(e, t = !0) {\n var r = !1;\n if ((t || (e.f & Ci) !== 0) && e.nodes_start !== null) {\n for (var l = e.nodes_start, i = e.nodes_end; l !== null; ) {\n var a = l === i ? null : (\n /** @type {TemplateNode} */\n /* @__PURE__ */ Te(l)\n );\n l.remove(), l = a;\n }\n r = !0;\n }\n An(e, t && !r), At(e, 0), de(e, St);\n var o = e.transitions;\n if (o !== null)\n for (const s of o)\n s.stop();\n Cn(e);\n var f = e.parent;\n f !== null && f.first !== null && Rn(e), e.next = e.prev = e.teardown = e.ctx = e.deps = e.fn = e.nodes_start = e.nodes_end = null;\n}\nfunction Rn(e) {\n var t = e.parent, r = e.prev, l = e.next;\n r !== null && (r.next = l), l !== null && (l.prev = r), t !== null && (t.first === e && (t.first = l), t.last === e && (t.last = r));\n}\nfunction Bt(e, t) {\n var r = [];\n In(e, r, !0), gl(r, () => {\n we(e), t && t();\n });\n}\nfunction gl(e, t) {\n var r = e.length;\n if (r > 0) {\n var l = () => --r || t();\n for (var i of e)\n i.out(l);\n } else\n t();\n}\nfunction In(e, t, r) {\n if ((e.f & Ke) === 0) {\n if (e.f ^= Ke, e.transitions !== null)\n for (const o of e.transitions)\n (o.is_global || r) && t.push(o);\n for (var l = e.first; l !== null; ) {\n var i = l.next, a = (l.f & Zt) !== 0 || (l.f & pe) !== 0;\n In(l, t, a ? r : !1), l = i;\n }\n }\n}\nfunction Hr(e) {\n Sn(e, !0);\n}\nfunction Sn(e, t) {\n if ((e.f & Ke) !== 0) {\n e.f ^= Ke, (e.f & K) === 0 && (e.f ^= K), ht(e) && (de(e, ye), Lt(e));\n for (var r = e.first; r !== null; ) {\n var l = r.next, i = (r.f & Zt) !== 0 || (r.f & pe) !== 0;\n Sn(r, i ? t : !1), r = l;\n }\n if (e.transitions !== null)\n for (const a of e.transitions)\n (a.is_global || t) && a.in();\n }\n}\nfunction Tn(e) {\n throw new Error(\"https://svelte.dev/e/lifecycle_outside_component\");\n}\nlet B = null;\nfunction Wr(e) {\n B = e;\n}\nfunction Nn(e, t = !1, r) {\n B = {\n p: B,\n c: null,\n e: null,\n m: !1,\n s: e,\n x: null,\n l: null\n };\n}\nfunction Ln(e) {\n const t = B;\n if (t !== null) {\n e !== void 0 && (t.x = e);\n const o = t.e;\n if (o !== null) {\n var r = A, l = k;\n t.e = null;\n try {\n for (var i = 0; i < o.length; i++) {\n var a = o[i];\n Se(a.effect), Ie(a.reaction), Qt(a.fn);\n }\n } finally {\n Se(r), Ie(l);\n }\n }\n B = t.p, t.m = !0;\n }\n return e || /** @type {T} */\n {};\n}\nfunction Dn() {\n return !0;\n}\nconst _l = [\"touchstart\", \"touchmove\"];\nfunction ml(e) {\n return _l.includes(e);\n}\nlet Yr = !1;\nfunction Pn() {\n Yr || (Yr = !0, document.addEventListener(\n \"reset\",\n (e) => {\n Promise.resolve().then(() => {\n var t;\n if (!e.defaultPrevented)\n for (\n const r of\n /**@type {HTMLFormElement} */\n e.target.elements\n )\n (t = r.__on_r) == null || t.call(r);\n });\n },\n // In the capture phase to guarantee we get noticed of it (no possiblity of stopPropagation)\n { capture: !0 }\n ));\n}\nfunction On(e) {\n var t = k, r = A;\n Ie(null), Se(null);\n try {\n return e();\n } finally {\n Ie(t), Se(r);\n }\n}\nfunction wl(e, t, r, l = r) {\n e.addEventListener(t, () => On(r));\n const i = e.__on_r;\n i ? e.__on_r = () => {\n i(), l(!0);\n } : e.__on_r = () => l(!0), Pn();\n}\nconst zn = /* @__PURE__ */ new Set(), qt = /* @__PURE__ */ new Set();\nfunction pl(e, t, r, l = {}) {\n function i(a) {\n if (l.capture || ft.call(t, a), !a.cancelBubble)\n return On(() => r == null ? void 0 : r.call(this, a));\n }\n return e.startsWith(\"pointer\") || e.startsWith(\"touch\") || e === \"wheel\" ? Gt(() => {\n t.addEventListener(e, i, l);\n }) : t.addEventListener(e, i, l), i;\n}\nfunction yl(e, t, r, l, i) {\n var a = { capture: l, passive: i }, o = pl(e, t, r, a);\n (t === document.body || t === window || t === document) && cl(() => {\n t.removeEventListener(e, o, a);\n });\n}\nfunction bl(e) {\n for (var t = 0; t < e.length; t++)\n zn.add(e[t]);\n for (var r of qt)\n r(e);\n}\nfunction ft(e) {\n var M;\n var t = this, r = (\n /** @type {Node} */\n t.ownerDocument\n ), l = e.type, i = ((M = e.composedPath) == null ? void 0 : M.call(e)) || [], a = (\n /** @type {null | Element} */\n i[0] || e.target\n ), o = 0, f = e.__root;\n if (f) {\n var s = i.indexOf(f);\n if (s !== -1 && (t === document || t === /** @type {any} */\n window)) {\n e.__root = t;\n return;\n }\n var c = i.indexOf(t);\n if (c === -1)\n return;\n s <= c && (o = s);\n }\n if (a = /** @type {Element} */\n i[o] || e.target, a !== t) {\n xt(e, \"currentTarget\", {\n configurable: !0,\n get() {\n return a || r;\n }\n });\n var v = k, h = A;\n Ie(null), Se(null);\n try {\n for (var g, m = []; a !== null; ) {\n var w = a.assignedSlot || a.parentNode || /** @type {any} */\n a.host || null;\n try {\n var z = a[\"__\" + l];\n if (z != null && (!/** @type {any} */\n a.disabled || // DOM could've been updated already by the time this is reached, so we check this as well\n // -> the target could not have been disabled because it emits the event in the first place\n e.target === a))\n if (on(z)) {\n var [T, ...Y] = z;\n T.apply(a, [e, ...Y]);\n } else\n z.call(a, e);\n } catch (F) {\n g ? m.push(F) : g = F;\n }\n if (e.cancelBubble || w === t || w === null)\n break;\n a = w;\n }\n if (g) {\n for (let F of m)\n queueMicrotask(() => {\n throw F;\n });\n throw g;\n }\n } finally {\n e.__root = t, delete e.currentTarget, Ie(v), Se(h);\n }\n }\n}\nfunction rr(e) {\n var t = document.createElement(\"template\");\n return t.innerHTML = e, t.content;\n}\nfunction Ae(e, t) {\n var r = (\n /** @type {Effect} */\n A\n );\n r.nodes_start === null && (r.nodes_start = e, r.nodes_end = t);\n}\n// @__NO_SIDE_EFFECTS__\nfunction ve(e, t) {\n var r = (t & Ei) !== 0, l = (t & xi) !== 0, i, a = !e.startsWith(\"\");\n return () => {\n if (D)\n return Ae(O, null), O;\n i === void 0 && (i = rr(a ? e : \"\" + e), r || (i = /** @type {Node} */\n /* @__PURE__ */ me(i)));\n var o = (\n /** @type {TemplateNode} */\n l || wn ? document.importNode(i, !0) : i.cloneNode(!0)\n );\n if (r) {\n var f = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(o)\n ), s = (\n /** @type {TemplateNode} */\n o.lastChild\n );\n Ae(f, s);\n } else\n Ae(o, o);\n return o;\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction El(e, t, r = \"svg\") {\n var l = !e.startsWith(\"\"), i = `<${r}>${l ? e : \"\" + e}`, a;\n return () => {\n if (D)\n return Ae(O, null), O;\n if (!a) {\n var o = (\n /** @type {DocumentFragment} */\n rr(i)\n ), f = (\n /** @type {Element} */\n /* @__PURE__ */ me(o)\n );\n a = /** @type {Element} */\n /* @__PURE__ */ me(f);\n }\n var s = (\n /** @type {TemplateNode} */\n a.cloneNode(!0)\n );\n return Ae(s, s), s;\n };\n}\nfunction ee(e, t) {\n if (D) {\n A.nodes_end = O, Xe();\n return;\n }\n e !== null && e.before(\n /** @type {Node} */\n t\n );\n}\nfunction Fn(e, t) {\n return Mn(e, t);\n}\nfunction xl(e, t) {\n jt(), t.intro = t.intro ?? !1;\n const r = t.target, l = D, i = O;\n try {\n for (var a = (\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(r)\n ); a && (a.nodeType !== 8 || /** @type {Comment} */\n a.data !== Wt); )\n a = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(a);\n if (!a)\n throw Je;\n Ge(!0), Re(\n /** @type {Comment} */\n a\n ), Xe();\n const o = Mn(e, { ...t, anchor: a });\n if (O === null || O.nodeType !== 8 || /** @type {Comment} */\n O.data !== rn)\n throw Tt(), Je;\n return Ge(!1), /** @type {Exports} */\n o;\n } catch (o) {\n if (o === Je)\n return t.recover === !1 && Ui(), jt(), Xi(r), Ge(!1), Fn(e, t);\n throw o;\n } finally {\n Ge(l), Re(i);\n }\n}\nconst Ye = /* @__PURE__ */ new Map();\nfunction Mn(e, { target: t, anchor: r, props: l = {}, events: i, context: a, intro: o = !0 }) {\n jt();\n var f = /* @__PURE__ */ new Set(), s = (h) => {\n for (var g = 0; g < h.length; g++) {\n var m = h[g];\n if (!f.has(m)) {\n f.add(m);\n var w = ml(m);\n t.addEventListener(m, ft, { passive: w });\n var z = Ye.get(m);\n z === void 0 ? (document.addEventListener(m, ft, { passive: w }), Ye.set(m, 1)) : Ye.set(m, z + 1);\n }\n }\n };\n s(Ii(zn)), qt.add(s);\n var c = void 0, v = vl(() => {\n var h = r ?? t.appendChild(Jt());\n return Rt(() => {\n if (a) {\n Nn({});\n var g = (\n /** @type {ComponentContext} */\n B\n );\n g.c = a;\n }\n i && (l.$$events = i), D && Ae(\n /** @type {TemplateNode} */\n h,\n null\n ), c = e(h, l) || {}, D && (A.nodes_end = O), a && Ln();\n }), () => {\n var w;\n for (var g of f) {\n t.removeEventListener(g, ft);\n var m = (\n /** @type {number} */\n Ye.get(g)\n );\n --m === 0 ? (document.removeEventListener(g, ft), Ye.delete(g)) : Ye.set(g, m);\n }\n qt.delete(s), h !== r && ((w = h.parentNode) == null || w.removeChild(h));\n };\n });\n return Ht.set(c, v), c;\n}\nlet Ht = /* @__PURE__ */ new WeakMap();\nfunction $l(e, t) {\n const r = Ht.get(e);\n return r ? (Ht.delete(e), r(t)) : Promise.resolve();\n}\nfunction ke(e, t, [r, l] = [0, 0]) {\n D && r === 0 && Xe();\n var i = e, a = null, o = null, f = W, s = r > 0 ? Zt : 0, c = !1;\n const v = (g, m = !0) => {\n c = !0, h(m, g);\n }, h = (g, m) => {\n if (f === (f = g)) return;\n let w = !1;\n if (D && l !== -1) {\n if (r === 0) {\n const T = (\n /** @type {Comment} */\n i.data\n );\n T === Wt ? l = 0 : T === tn ? l = 1 / 0 : (l = parseInt(T.substring(1)), l !== l && (l = f ? 1 / 0 : -1));\n }\n const z = l > r;\n !!f === z && (i = Ki(), Re(i), Ge(!1), w = !0, l = -1);\n }\n f ? (a ? Hr(a) : m && (a = Rt(() => m(i))), o && Bt(o, () => {\n o = null;\n })) : (o ? Hr(o) : m && (o = Rt(() => m(i, [r + 1, l]))), a && Bt(a, () => {\n a = null;\n })), w && Ge(!0);\n };\n tr(() => {\n c = !1, t(v), c || h(null, null);\n }, s), D && (i = O);\n}\nfunction Ze(e, t, r, l, i) {\n var a = e, o = \"\", f;\n tr(() => {\n if (o === (o = t() ?? \"\")) {\n D && Xe();\n return;\n }\n f !== void 0 && (we(f), f = void 0), o !== \"\" && (f = Rt(() => {\n if (D) {\n O.data;\n for (var s = Xe(), c = s; s !== null && (s.nodeType !== 8 || /** @type {Comment} */\n s.data !== \"\"); )\n c = s, s = /** @type {TemplateNode} */\n /* @__PURE__ */ Te(s);\n if (s === null)\n throw Tt(), Je;\n Ae(O, c), a = Re(s);\n return;\n }\n var v = o + \"\", h = rr(v);\n Ae(\n /** @type {TemplateNode} */\n /* @__PURE__ */ me(h),\n /** @type {TemplateNode} */\n h.lastChild\n ), a.before(h);\n }));\n });\n}\nfunction kl(e, t, r, l, i) {\n var f;\n D && Xe();\n var a = (f = t.$$slots) == null ? void 0 : f[r], o = !1;\n a === !0 && (a = t.children, o = !0), a === void 0 || a(e, o ? () => l : l);\n}\nfunction Cl(e, t) {\n Gt(() => {\n var r = e.getRootNode(), l = (\n /** @type {ShadowRoot} */\n r.host ? (\n /** @type {ShadowRoot} */\n r\n ) : (\n /** @type {Document} */\n r.head ?? /** @type {Document} */\n r.ownerDocument.head\n )\n );\n if (!l.querySelector(\"#\" + t.hash)) {\n const i = document.createElement(\"style\");\n i.id = t.hash, i.textContent = t.code, l.appendChild(i);\n }\n });\n}\nconst Zr = [...` \t\n\\r\\f \\v\\uFEFF`];\nfunction Al(e, t, r) {\n var l = \"\" + e;\n if (r) {\n for (var i in r)\n if (r[i])\n l = l ? l + \" \" + i : i;\n else if (l.length)\n for (var a = i.length, o = 0; (o = l.indexOf(i, o)) >= 0; ) {\n var f = o + a;\n (o === 0 || Zr.includes(l[o - 1])) && (f === l.length || Zr.includes(l[f])) ? l = (o === 0 ? \"\" : l.substring(0, o)) + l.substring(f + 1) : o = f;\n }\n }\n return l === \"\" ? null : l;\n}\nfunction Rl(e, t, r, l, i, a) {\n var o = e.__className;\n if (D || o !== r) {\n var f = Al(r, l, a);\n (!D || f !== e.getAttribute(\"class\")) && (f == null ? e.removeAttribute(\"class\") : e.className = f), e.__className = r;\n } else if (a && i !== a)\n for (var s in a) {\n var c = !!a[s];\n (i == null || c !== !!i[s]) && e.classList.toggle(s, c);\n }\n return a;\n}\nconst Il = Symbol(\"is custom element\"), Sl = Symbol(\"is html\");\nfunction Gr(e) {\n if (D) {\n var t = !1, r = () => {\n if (!t) {\n if (t = !0, e.hasAttribute(\"value\")) {\n var l = e.value;\n ie(e, \"value\", null), e.value = l;\n }\n if (e.hasAttribute(\"checked\")) {\n var i = e.checked;\n ie(e, \"checked\", null), e.checked = i;\n }\n }\n };\n e.__on_r = r, Di(r), Pn();\n }\n}\nfunction Tl(e, t) {\n var r = Un(e);\n r.value === (r.value = // treat null and undefined the same for the initial value\n t ?? void 0) || // @ts-expect-error\n // `progress` elements always need their value set when it's `0`\n e.value === t && (t !== 0 || e.nodeName !== \"PROGRESS\") || (e.value = t ?? \"\");\n}\nfunction ie(e, t, r, l) {\n var i = Un(e);\n D && (i[t] = e.getAttribute(t), t === \"src\" || t === \"srcset\" || t === \"href\" && e.nodeName === \"LINK\") || i[t] !== (i[t] = r) && (t === \"loading\" && (e[Ai] = r), r == null ? e.removeAttribute(t) : typeof r != \"string\" && Nl(e).includes(t) ? e[t] = r : e.setAttribute(t, r));\n}\nfunction Un(e) {\n return (\n /** @type {Record} **/\n // @ts-expect-error\n e.__attributes ?? (e.__attributes = {\n [Il]: e.nodeName.includes(\"-\"),\n [Sl]: e.namespaceURI === $i\n })\n );\n}\nvar Jr = /* @__PURE__ */ new Map();\nfunction Nl(e) {\n var t = Jr.get(e.nodeName);\n if (t) return t;\n Jr.set(e.nodeName, t = []);\n for (var r, l = e, i = Element.prototype; i !== l; ) {\n r = Si(l);\n for (var a in r)\n r[a].set && t.push(a);\n l = sn(l);\n }\n return t;\n}\nfunction Ll(e, t, r = t) {\n wl(e, \"change\", (l) => {\n var i = l ? e.defaultChecked : e.checked;\n r(i);\n }), // If we are hydrating and the value has since changed,\n // then use the update value from the input instead.\n (D && e.defaultChecked !== e.checked || // If defaultChecked is set, then checked == defaultChecked\n Qe(t) == null) && r(e.checked), er(() => {\n var l = t();\n e.checked = !!l;\n });\n}\nfunction Kr(e, t) {\n return e === t || (e == null ? void 0 : e[ut]) === t;\n}\nfunction Xr(e = {}, t, r, l) {\n return Qt(() => {\n var i, a;\n return er(() => {\n i = a, a = [], Qe(() => {\n e !== r(...a) && (t(e, ...a), i && Kr(r(...i), e) && t(null, ...i));\n });\n }), () => {\n Gt(() => {\n a && Kr(r(...a), e) && t(null, ...a);\n });\n };\n }), e;\n}\nfunction jn(e) {\n B === null && Tn(), Vt(() => {\n const t = Qe(e);\n if (typeof t == \"function\") return (\n /** @type {() => void} */\n t\n );\n });\n}\nfunction Dl(e) {\n B === null && Tn(), jn(() => () => Qe(e));\n}\nlet mt = !1;\nfunction Pl(e) {\n var t = mt;\n try {\n return mt = !1, [e(), mt];\n } finally {\n mt = t;\n }\n}\nfunction C(e, t, r, l) {\n var be;\n var i = (r & wi) !== 0, a = !0, o = (r & yi) !== 0, f = (r & bi) !== 0, s = !1, c;\n o ? [c, s] = Pl(() => (\n /** @type {V} */\n e[t]\n )) : c = /** @type {V} */\n e[t];\n var v = ut in e || an in e, h = o && (((be = Pe(e, t)) == null ? void 0 : be.set) ?? (v && t in e && ((N) => e[t] = N))) || void 0, g = (\n /** @type {V} */\n l\n ), m = !0, w = !1, z = () => (w = !0, m && (m = !1, f ? g = Qe(\n /** @type {() => V} */\n l\n ) : g = /** @type {V} */\n l), g);\n c === void 0 && l !== void 0 && (h && a && ji(), c = z(), h && h(c));\n var T;\n if (T = () => {\n var N = (\n /** @type {V} */\n e[t]\n );\n return N === void 0 ? z() : (m = !0, w = !1, N);\n }, (r & pi) === 0)\n return T;\n if (h) {\n var Y = e.$$legacy;\n return function(N, X) {\n return arguments.length > 0 ? ((!X || Y || s) && h(X ? T() : N), N) : T();\n };\n }\n var M = !1, F = /* @__PURE__ */ hn(c), se = /* @__PURE__ */ De(() => {\n var N = T(), X = d(F);\n return M ? (M = !1, X) : F.v = N;\n });\n return i || (se.equals = vn), function(N, X) {\n if (arguments.length > 0) {\n const U = X ? d(se) : o ? le(N) : N;\n return se.equals(U) || (M = !0, P(F, U), w && g !== void 0 && (g = U), Qe(() => d(se))), N;\n }\n return d(se);\n };\n}\nfunction Ol(e) {\n return new zl(e);\n}\nvar _e, te;\nclass zl {\n /**\n * @param {ComponentConstructorOptions & {\n * component: any;\n * }} options\n */\n constructor(t) {\n /** @type {any} */\n Mt(this, _e);\n /** @type {Record} */\n Mt(this, te);\n var a;\n var r = /* @__PURE__ */ new Map(), l = (o, f) => {\n var s = /* @__PURE__ */ hn(f);\n return r.set(o, s), s;\n };\n const i = new Proxy(\n { ...t.props || {}, $$events: {} },\n {\n get(o, f) {\n return d(r.get(f) ?? l(f, Reflect.get(o, f)));\n },\n has(o, f) {\n return f === an ? !0 : (d(r.get(f) ?? l(f, Reflect.get(o, f))), Reflect.has(o, f));\n },\n set(o, f, s) {\n return P(r.get(f) ?? l(f, s), s), Reflect.set(o, f, s);\n }\n }\n );\n Ut(this, te, (t.hydrate ? xl : Fn)(t.component, {\n target: t.target,\n anchor: t.anchor,\n props: i,\n context: t.context,\n intro: t.intro ?? !1,\n recover: t.recover\n })), (!((a = t == null ? void 0 : t.props) != null && a.$$host) || t.sync === !1) && $(), Ut(this, _e, i.$$events);\n for (const o of Object.keys(H(this, te)))\n o === \"$set\" || o === \"$destroy\" || o === \"$on\" || xt(this, o, {\n get() {\n return H(this, te)[o];\n },\n /** @param {any} value */\n set(f) {\n H(this, te)[o] = f;\n },\n enumerable: !0\n });\n H(this, te).$set = /** @param {Record} next */\n (o) => {\n Object.assign(i, o);\n }, H(this, te).$destroy = () => {\n $l(H(this, te));\n };\n }\n /** @param {Record} props */\n $set(t) {\n H(this, te).$set(t);\n }\n /**\n * @param {string} event\n * @param {(...args: any[]) => any} callback\n * @returns {any}\n */\n $on(t, r) {\n H(this, _e)[t] = H(this, _e)[t] || [];\n const l = (...i) => r.call(this, ...i);\n return H(this, _e)[t].push(l), () => {\n H(this, _e)[t] = H(this, _e)[t].filter(\n /** @param {any} fn */\n (i) => i !== l\n );\n };\n }\n $destroy() {\n H(this, te).$destroy();\n }\n}\n_e = new WeakMap(), te = new WeakMap();\nlet Vn;\ntypeof HTMLElement == \"function\" && (Vn = class extends HTMLElement {\n /**\n * @param {*} $$componentCtor\n * @param {*} $$slots\n * @param {*} use_shadow_dom\n */\n constructor(t, r, l) {\n super();\n /** The Svelte component constructor */\n ne(this, \"$$ctor\");\n /** Slots */\n ne(this, \"$$s\");\n /** @type {any} The Svelte component instance */\n ne(this, \"$$c\");\n /** Whether or not the custom element is connected */\n ne(this, \"$$cn\", !1);\n /** @type {Record} Component props data */\n ne(this, \"$$d\", {});\n /** `true` if currently in the process of reflecting component props back to attributes */\n ne(this, \"$$r\", !1);\n /** @type {Record} Props definition (name, reflected, type etc) */\n ne(this, \"$$p_d\", {});\n /** @type {Record} Event listeners */\n ne(this, \"$$l\", {});\n /** @type {Map} Event listener unsubscribe functions */\n ne(this, \"$$l_u\", /* @__PURE__ */ new Map());\n /** @type {any} The managed render effect for reflecting attributes */\n ne(this, \"$$me\");\n this.$$ctor = t, this.$$s = r, l && this.attachShadow({ mode: \"open\" });\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n addEventListener(t, r, l) {\n if (this.$$l[t] = this.$$l[t] || [], this.$$l[t].push(r), this.$$c) {\n const i = this.$$c.$on(t, r);\n this.$$l_u.set(r, i);\n }\n super.addEventListener(t, r, l);\n }\n /**\n * @param {string} type\n * @param {EventListenerOrEventListenerObject} listener\n * @param {boolean | AddEventListenerOptions} [options]\n */\n removeEventListener(t, r, l) {\n if (super.removeEventListener(t, r, l), this.$$c) {\n const i = this.$$l_u.get(r);\n i && (i(), this.$$l_u.delete(r));\n }\n }\n async connectedCallback() {\n if (this.$$cn = !0, !this.$$c) {\n let t = function(i) {\n return (a) => {\n const o = document.createElement(\"slot\");\n i !== \"default\" && (o.name = i), ee(a, o);\n };\n };\n if (await Promise.resolve(), !this.$$cn || this.$$c)\n return;\n const r = {}, l = Fl(this);\n for (const i of this.$$s)\n i in l && (i === \"default\" && !this.$$d.children ? (this.$$d.children = t(i), r.default = !0) : r[i] = t(i));\n for (const i of this.attributes) {\n const a = this.$$g_p(i.name);\n a in this.$$d || (this.$$d[a] = pt(a, i.value, this.$$p_d, \"toProp\"));\n }\n for (const i in this.$$p_d)\n !(i in this.$$d) && this[i] !== void 0 && (this.$$d[i] = this[i], delete this[i]);\n this.$$c = Ol({\n component: this.$$ctor,\n target: this.shadowRoot || this,\n props: {\n ...this.$$d,\n $$slots: r,\n $$host: this\n }\n }), this.$$me = dl(() => {\n er(() => {\n var i;\n this.$$r = !0;\n for (const a of Et(this.$$c)) {\n if (!((i = this.$$p_d[a]) != null && i.reflect)) continue;\n this.$$d[a] = this.$$c[a];\n const o = pt(\n a,\n this.$$d[a],\n this.$$p_d,\n \"toAttribute\"\n );\n o == null ? this.removeAttribute(this.$$p_d[a].attribute || a) : this.setAttribute(this.$$p_d[a].attribute || a, o);\n }\n this.$$r = !1;\n });\n });\n for (const i in this.$$l)\n for (const a of this.$$l[i]) {\n const o = this.$$c.$on(i, a);\n this.$$l_u.set(a, o);\n }\n this.$$l = {};\n }\n }\n // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte\n // and setting attributes through setAttribute etc, this is helpful\n /**\n * @param {string} attr\n * @param {string} _oldValue\n * @param {string} newValue\n */\n attributeChangedCallback(t, r, l) {\n var i;\n this.$$r || (t = this.$$g_p(t), this.$$d[t] = pt(t, l, this.$$p_d, \"toProp\"), (i = this.$$c) == null || i.$set({ [t]: this.$$d[t] }));\n }\n disconnectedCallback() {\n this.$$cn = !1, Promise.resolve().then(() => {\n !this.$$cn && this.$$c && (this.$$c.$destroy(), this.$$me(), this.$$c = void 0);\n });\n }\n /**\n * @param {string} attribute_name\n */\n $$g_p(t) {\n return Et(this.$$p_d).find(\n (r) => this.$$p_d[r].attribute === t || !this.$$p_d[r].attribute && r.toLowerCase() === t\n ) || t;\n }\n});\nfunction pt(e, t, r, l) {\n var a;\n const i = (a = r[e]) == null ? void 0 : a.type;\n if (t = i === \"Boolean\" && typeof t != \"boolean\" ? t != null : t, !l || !r[e])\n return t;\n if (l === \"toAttribute\")\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t == null ? null : JSON.stringify(t);\n case \"Boolean\":\n return t ? \"\" : null;\n case \"Number\":\n return t ?? null;\n default:\n return t;\n }\n else\n switch (i) {\n case \"Object\":\n case \"Array\":\n return t && JSON.parse(t);\n case \"Boolean\":\n return t;\n // conversion already handled above\n case \"Number\":\n return t != null ? +t : t;\n default:\n return t;\n }\n}\nfunction Fl(e) {\n const t = {};\n return e.childNodes.forEach((r) => {\n t[\n /** @type {Element} node */\n r.slot || \"default\"\n ] = !0;\n }), t;\n}\nfunction Ml(e, t, r, l, i, a) {\n let o = class extends Vn {\n constructor() {\n super(e, r, i), this.$$p_d = t;\n }\n static get observedAttributes() {\n return Et(t).map(\n (f) => (t[f].attribute || f).toLowerCase()\n );\n }\n };\n return Et(t).forEach((f) => {\n xt(o.prototype, f, {\n get() {\n return this.$$c && f in this.$$c ? this.$$c[f] : this.$$d[f];\n },\n set(s) {\n var h;\n s = pt(f, s, t), this.$$d[f] = s;\n var c = this.$$c;\n if (c) {\n var v = (h = Pe(c, f)) == null ? void 0 : h.get;\n v ? c[f] = s : c.$set({ [f]: s });\n }\n }\n });\n }), l.forEach((f) => {\n xt(o.prototype, f, {\n get() {\n var s;\n return (s = this.$$c) == null ? void 0 : s[f];\n }\n });\n }), e.element = /** @type {any} */\n o, o;\n}\nconst Bn = new TextEncoder();\nfunction Ul(e) {\n return [...new Uint8Array(e)].map((t) => t.toString(16).padStart(2, \"0\")).join(\"\");\n}\nasync function jl(e, t = \"SHA-256\", r = 1e5) {\n const l = Date.now().toString(16);\n e || (e = Math.round(Math.random() * r));\n const i = await qn(l, e, t);\n return {\n algorithm: t,\n challenge: i,\n salt: l,\n signature: \"\"\n };\n}\nasync function qn(e, t, r) {\n if (typeof crypto > \"u\" || !(\"subtle\" in crypto) || !(\"digest\" in crypto.subtle))\n throw new Error(\"Web Crypto is not available. Secure context is required (https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts).\");\n return Ul(\n await crypto.subtle.digest(\n r.toUpperCase(),\n Bn.encode(e + t)\n )\n );\n}\nfunction Vl(e, t, r = \"SHA-256\", l = 1e6, i = 0) {\n const a = new AbortController(), o = Date.now();\n return {\n promise: (async () => {\n for (let s = i; s <= l; s += 1) {\n if (a.signal.aborted)\n return null;\n if (await qn(t, s, r) === e)\n return {\n number: s,\n took: Date.now() - o\n };\n }\n return null;\n })(),\n controller: a\n };\n}\nfunction Bl() {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n } catch {\n }\n}\nfunction ql(e) {\n const t = atob(e), r = new Uint8Array(t.length);\n for (let l = 0; l < t.length; l++)\n r[l] = t.charCodeAt(l);\n return r;\n}\nfunction Hl(e, t = 12) {\n const r = new Uint8Array(t);\n for (let l = 0; l < t; l++)\n r[l] = e % 256, e = Math.floor(e / 256);\n return r;\n}\nasync function Wl(e, t = \"\", r = 1e6, l = 0) {\n const i = \"AES-GCM\", a = new AbortController(), o = Date.now(), f = async () => {\n for (let v = l; v <= r; v += 1) {\n if (a.signal.aborted || !s || !c)\n return null;\n try {\n const h = await crypto.subtle.decrypt(\n {\n name: i,\n iv: Hl(v)\n },\n s,\n c\n );\n if (h)\n return {\n clearText: new TextDecoder().decode(h),\n took: Date.now() - o\n };\n } catch {\n }\n }\n return null;\n };\n let s = null, c = null;\n try {\n c = ql(e);\n const v = await crypto.subtle.digest(\n \"SHA-256\",\n Bn.encode(t)\n );\n s = await crypto.subtle.importKey(\n \"raw\",\n v,\n i,\n !1,\n [\"decrypt\"]\n );\n } catch {\n return {\n promise: Promise.reject(),\n controller: a\n };\n }\n return {\n promise: f(),\n controller: a\n };\n}\nvar E = /* @__PURE__ */ ((e) => (e.ERROR = \"error\", e.VERIFIED = \"verified\", e.VERIFYING = \"verifying\", e.UNVERIFIED = \"unverified\", e.EXPIRED = \"expired\", e))(E || {}), Yl = /* @__PURE__ */ El(''), Zl = /* @__PURE__ */ ve(' ', 1), Gl = /* @__PURE__ */ ve(''), Jl = /* @__PURE__ */ ve(''), Kl = /* @__PURE__ */ ve('
'), Xl = /* @__PURE__ */ ve('
'), Ql = /* @__PURE__ */ ve('
'), ea = /* @__PURE__ */ ve('
'), ta = /* @__PURE__ */ ve(''), ra = /* @__PURE__ */ ve('
'), na = /* @__PURE__ */ ve('
', 1);\nconst ia = {\n hash: \"svelte-ddsc3z\",\n code: `.altcha.svelte-ddsc3z {background:var(--altcha-color-base, transparent);border:var(--altcha-border-width, 1px) solid var(--altcha-color-border, #a0a0a0);border-radius:var(--altcha-border-radius, 3px);color:var(--altcha-color-text, currentColor);display:flex;flex-direction:column;max-width:var(--altcha-max-width, 260px);position:relative;text-align:left;}.altcha.svelte-ddsc3z:focus-within {border-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z {background:var(--altcha-color-base, white);display:none;filter:drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.2));left:-100%;position:fixed;top:-100%;width:var(--altcha-max-width, 260px);z-index:999999;}.altcha[data-floating=top].svelte-ddsc3z .altcha-anchor-arrow:where(.svelte-ddsc3z) {border-bottom-color:transparent;border-top-color:var(--altcha-color-border, #a0a0a0);bottom:-12px;top:auto;}.altcha[data-floating=bottom].svelte-ddsc3z:focus-within::after {border-bottom-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating=top].svelte-ddsc3z:focus-within::after {border-top-color:var(--altcha-color-border-focus, currentColor);}.altcha[data-floating].svelte-ddsc3z:not([data-state=unverified]) {display:block;}.altcha-anchor-arrow.svelte-ddsc3z {border:6px solid transparent;border-bottom-color:var(--altcha-color-border, #a0a0a0);content:\"\";height:0;left:12px;position:absolute;top:-12px;width:0;}.altcha-main.svelte-ddsc3z {align-items:center;display:flex;gap:0.4rem;padding:0.7rem;}.altcha-label.svelte-ddsc3z {flex-grow:1;}.altcha-label.svelte-ddsc3z label:where(.svelte-ddsc3z) {cursor:pointer;}.altcha-logo.svelte-ddsc3z {color:currentColor;opacity:0.3;}.altcha-logo.svelte-ddsc3z:hover {opacity:1;}.altcha-error.svelte-ddsc3z {color:var(--altcha-color-error-text, #f23939);display:flex;font-size:0.85rem;gap:0.3rem;padding:0 0.7rem 0.7rem;}.altcha-footer.svelte-ddsc3z {align-items:center;background-color:var(--altcha-color-footer-bg, transparent);display:flex;font-size:0.75rem;opacity:0.4;padding:0.2rem 0.7rem;text-align:right;}.altcha-footer.svelte-ddsc3z:hover {opacity:1;}.altcha-footer.svelte-ddsc3z > :where(.svelte-ddsc3z):first-child {flex-grow:1;}.altcha-footer.svelte-ddsc3z a {color:currentColor;}.altcha-checkbox.svelte-ddsc3z {display:flex;align-items:center;height:24px;width:24px;}.altcha-checkbox.svelte-ddsc3z input:where(.svelte-ddsc3z) {width:18px;height:18px;margin:0;}.altcha-hidden.svelte-ddsc3z {display:none;}.altcha-spinner.svelte-ddsc3z {\n animation: svelte-ddsc3z-altcha-spinner 0.75s infinite linear;transform-origin:center;}\n\n@keyframes svelte-ddsc3z-altcha-spinner {\n 100% {\n transform: rotate(360deg);\n }\n}`\n};\nfunction la(e, t) {\n var Lr, Dr;\n Nn(t, !0), Cl(e, ia);\n let r = C(t, \"auto\", 7, void 0), l = C(t, \"blockspam\", 7, void 0), i = C(t, \"challengeurl\", 7, void 0), a = C(t, \"challengejson\", 7, void 0), o = C(t, \"customfetch\", 7, void 0), f = C(t, \"debug\", 7, !1), s = C(t, \"delay\", 7, 0), c = C(t, \"expire\", 7, void 0), v = C(t, \"floating\", 7, void 0), h = C(t, \"floatinganchor\", 7, void 0), g = C(t, \"floatingoffset\", 7, void 0), m = C(t, \"hidefooter\", 7, !1), w = C(t, \"hidelogo\", 7, !1), z = C(t, \"id\", 7, void 0), T = C(t, \"name\", 7, \"altcha\"), Y = C(t, \"maxnumber\", 7, 1e6), M = C(t, \"mockerror\", 7, !1), F = C(t, \"obfuscated\", 7, void 0), se = C(t, \"plugins\", 7, void 0), be = C(t, \"refetchonexpire\", 7, !0), N = C(t, \"spamfilter\", 7, !1), X = C(t, \"strings\", 7, void 0), U = C(t, \"test\", 7, !1), Ee = C(t, \"verifyurl\", 7, void 0), Me = C(t, \"workers\", 23, () => Math.min(16, navigator.hardwareConcurrency || 8)), tt = C(t, \"workerurl\", 7, void 0);\n const nr = [\"SHA-256\", \"SHA-384\", \"SHA-512\"], ir = \"Visit Altcha.org\", lr = \"https://altcha.org/\", rt = (n, u) => {\n t.$$host.dispatchEvent(new CustomEvent(n, { detail: u }));\n }, ar = (Dr = (Lr = document.documentElement.lang) == null ? void 0 : Lr.split(\"-\")) == null ? void 0 : Dr[0], Dt = /* @__PURE__ */ De(() => {\n var n;\n return i() && new URL(i(), location.origin).host.endsWith(\".altcha.org\") && !!((n = i()) != null && n.includes(\"apiKey=ckey_\"));\n }), Pt = /* @__PURE__ */ De(() => a() ? wr(a()) : void 0), or = /* @__PURE__ */ De(() => X() ? wr(X()) : {}), Q = /* @__PURE__ */ De(() => {\n var n;\n return {\n ariaLinkLabel: ir,\n error: \"Verification failed. Try again later.\",\n expired: \"Verification expired. Try again.\",\n footer: `Protected by ALTCHA`,\n label: \"I'm not a robot\",\n verified: \"Verified\",\n verifying: \"Verifying...\",\n waitAlert: \"Verifying... please wait.\",\n ...d(or)\n };\n }), sr = /* @__PURE__ */ De(() => z() || `${T()}_checkbox`);\n let Ue = He(!1), R = He(le(E.UNVERIFIED)), j = He(void 0), nt = He(null), je = null, y = null, Ve = He(null), fe = null, xe = [], Ne = He(null);\n Vt(() => {\n Xn(d(Ve));\n }), Vt(() => {\n Qn(d(R));\n }), Dl(() => {\n Hn(), y && (y.removeEventListener(\"submit\", hr), y.removeEventListener(\"reset\", gr), y.removeEventListener(\"focusin\", vr), y = null), fe && (clearTimeout(fe), fe = null), document.removeEventListener(\"click\", cr), document.removeEventListener(\"scroll\", dr), window.removeEventListener(\"resize\", mr);\n }), jn(() => {\n var n;\n I(\"mounted\", \"1.3.0\"), I(\"workers\", Me()), Jn(), I(\"plugins\", xe.length ? xe.map((u) => u.constructor.pluginName).join(\", \") : \"none\"), U() && I(\"using test mode\"), c() && Ot(c()), r() !== void 0 && I(\"auto\", r()), v() !== void 0 && pr(v()), y = (n = d(j)) == null ? void 0 : n.closest(\"form\"), y && (y.addEventListener(\"submit\", hr, { capture: !0 }), y.addEventListener(\"reset\", gr), r() === \"onfocus\" && y.addEventListener(\"focusin\", vr)), r() === \"onload\" && (F() ? it() : $e()), d(Dt) && (m() || w()) && I(\"Attributes hidefooter and hidelogo ignored because usage with free API Keys requires attribution.\"), requestAnimationFrame(() => {\n rt(\"load\");\n });\n });\n function fr(n, u) {\n return btoa(JSON.stringify({\n algorithm: n.algorithm,\n challenge: n.challenge,\n number: u.number,\n salt: n.salt,\n signature: n.signature,\n test: U() ? !0 : void 0,\n took: u.took\n }));\n }\n function Hn() {\n for (const n of xe)\n n.destroy();\n }\n function ur() {\n i() && be() && d(R) === E.VERIFIED ? $e() : lt(E.EXPIRED, d(Q).expired);\n }\n async function Wn() {\n var n;\n if (M())\n throw I(\"mocking error\"), new Error(\"Mocked error.\");\n if (d(Pt))\n return I(\"using provided json data\"), d(Pt);\n if (U())\n return I(\"generating test challenge\", { test: U() }), jl(typeof U() != \"boolean\" ? +U() : void 0);\n {\n if (!i() && y) {\n const L = y.getAttribute(\"action\");\n L != null && L.includes(\"/form/\") && i(L + \"/altcha\");\n }\n if (!i())\n throw new Error(\"Attribute challengeurl not set.\");\n I(\"fetching challenge from\", i());\n let u = null, _ = null;\n if (o())\n if (I(\"using customfetch\"), typeof o() == \"string\") {\n if (u = globalThis[o()] || null, !u)\n throw new Error(`Custom fetch function not found: ${o()}`);\n } else\n u = o();\n const b = {\n headers: N() !== !1 ? { \"x-altcha-spam-filter\": \"1\" } : {}\n };\n if (u) {\n if (_ = await u(i(), b), !_ || !(_ instanceof Response))\n throw new Error(\"Custom fetch function did not return a response.\");\n } else\n _ = await fetch(i(), b);\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const S = _.headers.get(\"X-Altcha-Config\"), x = await _.json(), p = new URLSearchParams((n = x.salt.split(\"?\")) == null ? void 0 : n[1]), q = p.get(\"expires\") || p.get(\"expire\");\n if (q) {\n const L = new Date(+q * 1e3), qe = isNaN(L.getTime()) ? 0 : L.getTime() - Date.now();\n qe > 0 && Ot(qe);\n }\n if (S)\n try {\n const L = JSON.parse(S);\n L && typeof L == \"object\" && (L.verifyurl && (L.verifyurl = new URL(L.verifyurl, new URL(i())).toString()), Er(L));\n } catch (L) {\n I(\"unable to configure from X-Altcha-Config\", L);\n }\n return x;\n }\n }\n function Yn(n) {\n var _;\n const u = y == null ? void 0 : y.querySelector(typeof n == \"string\" ? `input[name=\"${n}\"]` : 'input[type=\"email\"]:not([data-no-spamfilter])');\n return ((_ = u == null ? void 0 : u.value) == null ? void 0 : _.slice(u.value.indexOf(\"@\"))) || void 0;\n }\n function Zn() {\n return N() === \"ipAddress\" ? {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: !1,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: !1,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n } : typeof N() == \"object\" ? N() : {\n blockedCountries: void 0,\n classifier: void 0,\n disableRules: void 0,\n email: void 0,\n expectedCountries: void 0,\n expectedLanguages: void 0,\n fields: void 0,\n ipAddress: void 0,\n text: void 0,\n timeZone: void 0\n };\n }\n function Gn(n) {\n return [\n ...(y == null ? void 0 : y.querySelectorAll(n != null && n.length ? n.map((_) => `input[name=\"${_}\"]`).join(\", \") : 'input[type=\"text\"]:not([data-no-spamfilter]), textarea:not([data-no-spamfilter])')) || []\n ].reduce(\n (_, b) => {\n const S = b.name, x = b.value;\n return S && x && (_[S] = /\\n/.test(x) ? x.replace(new RegExp(\"(? u instanceof Error)) && console[n[0] instanceof Error ? \"error\" : \"log\"](\"ALTCHA\", `[name=${T()}]`, ...n);\n }\n function Kn() {\n [E.UNVERIFIED, E.ERROR, E.EXPIRED].includes(d(R)) ? N() !== !1 && (y == null ? void 0 : y.reportValidity()) === !1 ? P(Ue, !1) : F() ? it() : $e() : P(Ue, !0);\n }\n function cr(n) {\n const u = n.target;\n v() && u && !d(j).contains(u) && (d(R) === E.VERIFIED || r() === \"off\" && d(R) === E.UNVERIFIED) && (d(j).style.display = \"none\");\n }\n function dr() {\n v() && d(R) !== E.UNVERIFIED && gt();\n }\n function Xn(n) {\n for (const u of xe)\n typeof u.onErrorChange == \"function\" && u.onErrorChange(d(Ve));\n }\n function vr(n) {\n d(R) === E.UNVERIFIED && $e();\n }\n function hr(n) {\n y && r() === \"onsubmit\" ? d(R) === E.UNVERIFIED ? (n.preventDefault(), n.stopPropagation(), $e().then(() => {\n y == null || y.requestSubmit();\n })) : d(R) !== E.VERIFIED && (n.preventDefault(), n.stopPropagation(), d(R) === E.VERIFYING && _r()) : y && v() && r() === \"off\" && d(R) === E.UNVERIFIED && (n.preventDefault(), n.stopPropagation(), d(j).style.display = \"block\", gt());\n }\n function gr() {\n lt();\n }\n function _r() {\n d(R) === E.VERIFYING && d(Q).waitAlert && alert(d(Q).waitAlert);\n }\n function Qn(n) {\n for (const u of xe)\n typeof u.onStateChange == \"function\" && u.onStateChange(d(R));\n v() && d(R) !== E.UNVERIFIED && requestAnimationFrame(() => {\n gt();\n }), P(Ue, d(R) === E.VERIFIED);\n }\n function mr() {\n v() && gt();\n }\n function wr(n) {\n return JSON.parse(n);\n }\n function gt(n = 20) {\n if (d(j))\n if (je || (je = (h() ? document.querySelector(h()) : y == null ? void 0 : y.querySelector('input[type=\"submit\"], button[type=\"submit\"], button:not([type=\"button\"]):not([type=\"reset\"])')) || y), je) {\n const u = parseInt(g(), 10) || 12, _ = je.getBoundingClientRect(), b = d(j).getBoundingClientRect(), S = document.documentElement.clientHeight, x = document.documentElement.clientWidth, p = v() === \"auto\" ? _.bottom + b.height + u + n > S : v() === \"top\", q = Math.max(n, Math.min(x - n - b.width, _.left + _.width / 2 - b.width / 2));\n if (p ? d(j).style.top = `${_.top - (b.height + u)}px` : d(j).style.top = `${_.bottom + u}px`, d(j).style.left = `${q}px`, d(j).setAttribute(\"data-floating\", p ? \"top\" : \"bottom\"), d(nt)) {\n const L = d(nt).getBoundingClientRect();\n d(nt).style.left = _.left - q + _.width / 2 - L.width / 2 + \"px\";\n }\n } else\n I(\"unable to find floating anchor element\");\n }\n async function ei(n) {\n if (!Ee())\n throw new Error(\"Attribute verifyurl not set.\");\n I(\"requesting server verification from\", Ee());\n const u = { payload: n };\n if (N() !== !1) {\n const {\n blockedCountries: S,\n classifier: x,\n disableRules: p,\n email: q,\n expectedLanguages: L,\n expectedCountries: qe,\n fields: ot,\n ipAddress: st,\n text: vi,\n timeZone: Pr\n } = Zn();\n u.blockedCountries = S, u.classifier = x, u.disableRules = p, u.email = q === !1 ? void 0 : Yn(q), u.expectedCountries = qe, u.expectedLanguages = L || (ar ? [ar] : void 0), u.fields = ot === !1 ? void 0 : Gn(ot), u.ipAddress = st === !1 ? void 0 : st || \"auto\", u.text = vi, u.timeZone = Pr === !1 ? void 0 : Pr || Bl();\n }\n const _ = await fetch(Ee(), {\n body: JSON.stringify(u),\n headers: { \"content-type\": \"application/json\" },\n method: \"POST\"\n });\n if (_.status !== 200)\n throw new Error(`Server responded with ${_.status}.`);\n const b = await _.json();\n if (b != null && b.payload && P(Ne, le(b.payload)), rt(\"serververification\", b), l() && b.classification === \"BAD\")\n throw new Error(\"SpamFilter returned negative classification.\");\n }\n function Ot(n) {\n I(\"expire\", n), fe && (clearTimeout(fe), fe = null), n < 1 ? ur() : fe = setTimeout(ur, n);\n }\n function pr(n) {\n I(\"floating\", n), v() !== n && (d(j).style.left = \"\", d(j).style.top = \"\"), v(n === !0 || n === \"\" ? \"auto\" : n === !1 || n === \"false\" ? void 0 : v()), v() ? (r() || r(\"onsubmit\"), document.addEventListener(\"scroll\", dr), document.addEventListener(\"click\", cr), window.addEventListener(\"resize\", mr)) : r() === \"onsubmit\" && r(void 0);\n }\n function yr(n) {\n if (!n.algorithm)\n throw new Error(\"Invalid challenge. Property algorithm is missing.\");\n if (n.signature === void 0)\n throw new Error(\"Invalid challenge. Property signature is missing.\");\n if (!nr.includes(n.algorithm.toUpperCase()))\n throw new Error(`Unknown algorithm value. Allowed values: ${nr.join(\", \")}`);\n if (!n.challenge || n.challenge.length < 40)\n throw new Error(\"Challenge is too short. Min. 40 chars.\");\n if (!n.salt || n.salt.length < 10)\n throw new Error(\"Salt is too short. Min. 10 chars.\");\n }\n async function br(n) {\n let u = null;\n if (\"Worker\" in window) {\n try {\n u = await ti(n, n.maxnumber);\n } catch (_) {\n I(_);\n }\n if ((u == null ? void 0 : u.number) !== void 0 || \"obfuscated\" in n)\n return { data: n, solution: u };\n }\n if (\"obfuscated\" in n) {\n const _ = await Wl(n.obfuscated, n.key, n.maxnumber);\n return { data: n, solution: await _.promise };\n }\n return {\n data: n,\n solution: await Vl(n.challenge, n.salt, n.algorithm, n.maxnumber || Y()).promise\n };\n }\n async function ti(n, u = typeof U() == \"number\" ? U() : Y(), _ = Math.ceil(Me())) {\n const b = [];\n _ = Math.min(16, Math.max(1, _));\n for (let p = 0; p < _; p++)\n b.push(altchaCreateWorker(tt()));\n const S = Math.ceil(u / _), x = await Promise.all(b.map((p, q) => {\n const L = q * S;\n return new Promise((qe) => {\n p.addEventListener(\"message\", (ot) => {\n if (ot.data)\n for (const st of b)\n st !== p && st.postMessage({ type: \"abort\" });\n qe(ot.data);\n }), p.postMessage({\n payload: n,\n max: L + S,\n start: L,\n type: \"work\"\n });\n });\n }));\n for (const p of b)\n p.terminate();\n return x.find((p) => !!p) || null;\n }\n async function it() {\n if (!F()) {\n Le(E.ERROR);\n return;\n }\n const n = xe.find((u) => u.constructor.pluginName === \"obfuscation\");\n if (!n || !(\"clarify\" in n)) {\n Le(E.ERROR), I(\"Plugin `obfuscation` not found. Import `altcha/plugins/obfuscation` to load it.\");\n return;\n }\n if (\"clarify\" in n && typeof n.clarify == \"function\")\n return n.clarify();\n }\n function Er(n) {\n n.obfuscated !== void 0 && F(n.obfuscated), n.auto !== void 0 && (r(n.auto), r() === \"onload\" && (F() ? it() : $e())), n.blockspam !== void 0 && l(!!n.blockspam), n.customfetch !== void 0 && o(n.customfetch), n.floatinganchor !== void 0 && h(n.floatinganchor), n.delay !== void 0 && s(n.delay), n.floatingoffset !== void 0 && g(n.floatingoffset), n.floating !== void 0 && pr(n.floating), n.expire !== void 0 && (Ot(n.expire), c(n.expire)), n.challenge && (a(typeof n.challenge == \"string\" ? n.challenge : JSON.stringify(n.challenge)), yr(d(Pt))), n.challengeurl !== void 0 && i(n.challengeurl), n.debug !== void 0 && f(!!n.debug), n.hidefooter !== void 0 && m(!!n.hidefooter), n.hidelogo !== void 0 && w(!!n.hidelogo), n.maxnumber !== void 0 && Y(+n.maxnumber), n.mockerror !== void 0 && M(!!n.mockerror), n.name !== void 0 && T(n.name), n.refetchonexpire !== void 0 && be(!!n.refetchonexpire), n.spamfilter !== void 0 && N(typeof n.spamfilter == \"object\" ? n.spamfilter : !!n.spamfilter), n.strings && X(typeof n.strings == \"string\" ? n.strings : JSON.stringify(n.strings)), n.test !== void 0 && U(typeof n.test == \"number\" ? n.test : !!n.test), n.verifyurl !== void 0 && Ee(n.verifyurl), n.workers !== void 0 && Me(+n.workers), n.workerurl !== void 0 && tt(n.workerurl);\n }\n function xr() {\n return {\n auto: r(),\n blockspam: l(),\n challengeurl: i(),\n debug: f(),\n delay: s(),\n expire: c(),\n floating: v(),\n floatinganchor: h(),\n floatingoffset: g(),\n hidefooter: m(),\n hidelogo: w(),\n name: T(),\n maxnumber: Y(),\n mockerror: M(),\n obfuscated: F(),\n refetchonexpire: be(),\n spamfilter: N(),\n strings: d(Q),\n test: U(),\n verifyurl: Ee(),\n workers: Me(),\n workerurl: tt()\n };\n }\n function $r() {\n return je;\n }\n function ri(n) {\n return xe.find((u) => u.constructor.pluginName === n);\n }\n function kr() {\n return d(R);\n }\n function lt(n = E.UNVERIFIED, u = null) {\n fe && (clearTimeout(fe), fe = null), P(Ue, !1), P(Ne, null), Le(n, u);\n }\n function Cr(n) {\n je = n;\n }\n function Le(n, u = null) {\n P(R, le(n)), P(Ve, le(u)), rt(\"statechange\", {\n payload: d(Ne),\n state: d(R)\n });\n }\n async function $e() {\n return lt(E.VERIFYING), await new Promise((n) => setTimeout(n, s() || 0)), Wn().then((n) => (yr(n), I(\"challenge\", n), br(n))).then(({ data: n, solution: u }) => {\n if (I(\"solution\", u), \"challenge\" in n && u && !(\"clearText\" in u))\n if ((u == null ? void 0 : u.number) !== void 0) {\n if (Ee())\n return ei(fr(n, u));\n P(Ne, le(fr(n, u))), I(\"payload\", d(Ne));\n } else\n throw I(\"Unable to find a solution. Ensure that the 'maxnumber' attribute is greater than the randomly generated number.\"), new Error(\"Unexpected result returned.\");\n }).then(() => {\n Le(E.VERIFIED), I(\"verified\"), ol().then(() => {\n rt(\"verified\", { payload: d(Ne) });\n });\n }).catch((n) => {\n I(n), Le(E.ERROR, n.message);\n });\n }\n var Ar = na(), Rr = Br(Ar);\n kl(Rr, t, \"default\", {});\n var at = he(Rr, 2), zt = G(at), Ir = G(zt);\n {\n var ni = (n) => {\n var u = Yl();\n ee(n, u);\n };\n ke(Ir, (n) => {\n d(R) === E.VERIFYING && n(ni);\n });\n }\n var _t = he(Ir, 2);\n let Sr;\n var Be = G(_t);\n Gr(Be), Be.__change = Kn, Z(_t);\n var Ft = he(_t, 2), ii = G(Ft);\n {\n var li = (n) => {\n var u = Zl(), _ = Br(u), b = G(_);\n Ze(b, () => d(Q).verified), Z(_);\n var S = he(_, 2);\n Gr(S), We(() => {\n ie(S, \"name\", T()), Tl(S, d(Ne));\n }), ee(n, u);\n }, ai = (n, u) => {\n {\n var _ = (S) => {\n var x = Gl(), p = G(x);\n Ze(p, () => d(Q).verifying), Z(x), ee(S, x);\n }, b = (S) => {\n var x = Jl(), p = G(x);\n Ze(p, () => d(Q).label), Z(x), We(() => ie(x, \"for\", d(sr))), ee(S, x);\n };\n ke(\n n,\n (S) => {\n d(R) === E.VERIFYING ? S(_) : S(b, !1);\n },\n u\n );\n }\n };\n ke(ii, (n) => {\n d(R) === E.VERIFIED ? n(li) : n(ai, !1);\n });\n }\n Z(Ft);\n var oi = he(Ft, 2);\n {\n var si = (n) => {\n var u = Kl(), _ = G(u);\n ie(_, \"href\", lr), Z(u), We(() => ie(_, \"aria-label\", d(Q).ariaLinkLabel)), ee(n, u);\n };\n ke(oi, (n) => {\n (w() !== !0 || d(Dt)) && n(si);\n });\n }\n Z(zt);\n var Tr = he(zt, 2);\n {\n var fi = (n) => {\n var u = ea(), _ = he(G(u), 2);\n {\n var b = (x) => {\n var p = Xl(), q = G(p);\n Ze(q, () => d(Q).expired), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n }, S = (x) => {\n var p = Ql(), q = G(p);\n Ze(q, () => d(Q).error), Z(p), We(() => ie(p, \"title\", d(Ve))), ee(x, p);\n };\n ke(_, (x) => {\n d(R) === E.EXPIRED ? x(b) : x(S, !1);\n });\n }\n Z(u), ee(n, u);\n };\n ke(Tr, (n) => {\n (d(Ve) || d(R) === E.EXPIRED) && n(fi);\n });\n }\n var Nr = he(Tr, 2);\n {\n var ui = (n) => {\n var u = ta(), _ = G(u), b = G(_);\n Ze(b, () => d(Q).footer), Z(_), Z(u), ee(n, u);\n };\n ke(Nr, (n) => {\n d(Q).footer && (m() !== !0 || d(Dt)) && n(ui);\n });\n }\n var ci = he(Nr, 2);\n {\n var di = (n) => {\n var u = ra();\n Xr(u, (_) => P(nt, _), () => d(nt)), ee(n, u);\n };\n ke(ci, (n) => {\n v() && n(di);\n });\n }\n return Z(at), Xr(at, (n) => P(j, n), () => d(j)), We(\n (n) => {\n ie(at, \"data-state\", d(R)), ie(at, \"data-floating\", v()), Sr = Rl(_t, 1, \"altcha-checkbox svelte-ddsc3z\", null, Sr, n), ie(Be, \"id\", d(sr)), Be.required = r() !== \"onsubmit\" && (!v() || r() !== \"off\");\n },\n [\n () => ({\n \"altcha-hidden\": d(R) === E.VERIFYING\n })\n ]\n ), yl(\"invalid\", Be, _r), Ll(Be, () => d(Ue), (n) => P(Ue, n)), ee(e, Ar), Ln({\n clarify: it,\n configure: Er,\n getConfiguration: xr,\n getFloatingAnchor: $r,\n getPlugin: ri,\n getState: kr,\n reset: lt,\n setFloatingAnchor: Cr,\n setState: Le,\n verify: $e,\n get auto() {\n return r();\n },\n set auto(n = void 0) {\n r(n), $();\n },\n get blockspam() {\n return l();\n },\n set blockspam(n = void 0) {\n l(n), $();\n },\n get challengeurl() {\n return i();\n },\n set challengeurl(n = void 0) {\n i(n), $();\n },\n get challengejson() {\n return a();\n },\n set challengejson(n = void 0) {\n a(n), $();\n },\n get customfetch() {\n return o();\n },\n set customfetch(n = void 0) {\n o(n), $();\n },\n get debug() {\n return f();\n },\n set debug(n = !1) {\n f(n), $();\n },\n get delay() {\n return s();\n },\n set delay(n = 0) {\n s(n), $();\n },\n get expire() {\n return c();\n },\n set expire(n = void 0) {\n c(n), $();\n },\n get floating() {\n return v();\n },\n set floating(n = void 0) {\n v(n), $();\n },\n get floatinganchor() {\n return h();\n },\n set floatinganchor(n = void 0) {\n h(n), $();\n },\n get floatingoffset() {\n return g();\n },\n set floatingoffset(n = void 0) {\n g(n), $();\n },\n get hidefooter() {\n return m();\n },\n set hidefooter(n = !1) {\n m(n), $();\n },\n get hidelogo() {\n return w();\n },\n set hidelogo(n = !1) {\n w(n), $();\n },\n get id() {\n return z();\n },\n set id(n = void 0) {\n z(n), $();\n },\n get name() {\n return T();\n },\n set name(n = \"altcha\") {\n T(n), $();\n },\n get maxnumber() {\n return Y();\n },\n set maxnumber(n = 1e6) {\n Y(n), $();\n },\n get mockerror() {\n return M();\n },\n set mockerror(n = !1) {\n M(n), $();\n },\n get obfuscated() {\n return F();\n },\n set obfuscated(n = void 0) {\n F(n), $();\n },\n get plugins() {\n return se();\n },\n set plugins(n = void 0) {\n se(n), $();\n },\n get refetchonexpire() {\n return be();\n },\n set refetchonexpire(n = !0) {\n be(n), $();\n },\n get spamfilter() {\n return N();\n },\n set spamfilter(n = !1) {\n N(n), $();\n },\n get strings() {\n return X();\n },\n set strings(n = void 0) {\n X(n), $();\n },\n get test() {\n return U();\n },\n set test(n = !1) {\n U(n), $();\n },\n get verifyurl() {\n return Ee();\n },\n set verifyurl(n = void 0) {\n Ee(n), $();\n },\n get workers() {\n return Me();\n },\n set workers(n = Math.min(16, navigator.hardwareConcurrency || 8)) {\n Me(n), $();\n },\n get workerurl() {\n return tt();\n },\n set workerurl(n = void 0) {\n tt(n), $();\n }\n });\n}\nbl([\"change\"]);\ncustomElements.define(\"altcha-widget\", Ml(\n la,\n {\n blockspam: { type: \"Boolean\" },\n debug: { type: \"Boolean\" },\n delay: { type: \"Number\" },\n expire: { type: \"Number\" },\n floatingoffset: { type: \"Number\" },\n hidefooter: { type: \"Boolean\" },\n hidelogo: { type: \"Boolean\" },\n maxnumber: { type: \"Number\" },\n mockerror: { type: \"Boolean\" },\n refetchonexpire: { type: \"Boolean\" },\n test: { type: \"Boolean\" },\n workers: { type: \"Number\" },\n auto: {},\n challengeurl: {},\n challengejson: {},\n customfetch: {},\n floating: {},\n floatinganchor: {},\n id: {},\n name: {},\n obfuscated: {},\n plugins: {},\n spamfilter: {},\n strings: {},\n verifyurl: {},\n workerurl: {}\n },\n [\"default\"],\n [\n \"clarify\",\n \"configure\",\n \"getConfiguration\",\n \"getFloatingAnchor\",\n \"getPlugin\",\n \"getState\",\n \"reset\",\n \"setFloatingAnchor\",\n \"setState\",\n \"verify\"\n ],\n !1\n));\nglobalThis.altchaCreateWorker = (e) => e ? new Worker(new URL(e)) : new _i();\nglobalThis.altchaPlugins = globalThis.altchaPlugins || [];\nexport {\n la as Altcha\n};","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContact extends BasePage {\n static hash = hashPageContact;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupButtonSubmitFormContactUs();\n }\n\n hookupButtonSubmitFormContactUs() {\n const button = document.querySelector('form input[type=\"submit\"]');\n button.classList.add(flagButton);\n button.classList.add(flagButtonPrimary);\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageContactSuccess extends BasePage {\n static hash = hashPageContactSuccess;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageApplyFoundingPartner extends BasePage {\n static hash = hashPageApplyFoundingPartner;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupButtonSubmitFormApplyFoundingPartnerUs();\n }\n\n hookupButtonSubmitFormApplyFoundingPartnerUs() {\n const button = document.querySelector('form input[type=\"submit\"]');\n button.classList.add(flagButton);\n button.classList.add(flagButtonPrimary);\n }\n}\n","// internal\nimport BasePage from \"../base.js\";\n// vendor\nimport { Altcha } from \"../../vendor/altcha.js\";\n\nexport default class PageApplyFoundingPartnerSuccess extends BasePage {\n static hash = hashPageApplyFoundingPartnerSuccess;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageDogHome extends BasePage {\n static hash = hashPageDogHome;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n this.hookupDogHome();\n }\n hookupDogHome() {\n \n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport Utils from '../utils.js';\n\nexport default class BusinessObjects {\n static getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected = null) {\n return {\n text: objectJson[keyText],\n value: objectJson[keyValue],\n selected: (objectJson[keyValue] == valueSelected),\n };\n }\n static getOptionJsonFromObjectJson(objectJson, valueSelected = null) {\n let keyText = objectJson[flagNameAttrOptionText];\n let keyValue = objectJson[flagNameAttrOptionValue];\n // Utils.consoleLogIfNotProductionEnvironment({objectJson, keyText, keyValue});\n return BusinessObjects.getOptionJsonFromObjectJsonAndKeys(objectJson, keyText, keyValue, valueSelected);\n }\n static getObjectText(objectJson) {\n return objectJson == null ? '' : objectJson[objectJson[flagNameAttrOptionText]];\n }\n static getListObjectsFromIdDictAndCsv(idDict, idCsv) {\n let listObjects = [];\n let ids = idCsv.split(',');\n for (let id of ids) {\n listObjects.push(idDict[id]);\n }\n return listObjects;\n }\n}","\nimport Events from \"../../../lib/events.js\";\n\nexport default class OverlayError {\n static hookup() {\n Events.initialiseEventHandler(idOverlayError + ' button.' + flagCancel, flagInitialised, (buttonCancel) => {\n buttonCancel.addEventListener('click', () => {\n let overlay = document.querySelector(idOverlayError);\n overlay.style.visibility = 'hidden';\n });\n });\n }\n static show(msgError) {\n let overlay = document.querySelector(idOverlayError);\n let labelError = overlay.querySelector(idLabelError);\n labelError.innerText = msgError;\n overlay.style.visibility = 'visible';\n }\n}","\nimport BusinessObjects from \"../lib/business_objects/business_objects.js\";\nimport Events from \"../lib/events.js\";\nimport LocalStorage from \"../lib/local_storage.js\";\nimport Validation from \"../lib/validation.js\";\nimport BasePage from \"./base.js\";\nimport API from \"../api.js\";\nimport DOM from \"../dom.js\";\nimport Utils from \"../lib/utils.js\";\n\nimport OverlayConfirm from \"../components/common/temporary/overlay_confirm.js\";\nimport OverlayError from \"../components/common/temporary/overlay_error.js\";\n\nexport default class TableBasePage extends BasePage {\n // static hash\n // static attrIdRowObject\n // callSaveTableContent\n\n constructor(router) {\n super(router);\n this.cursorYInitial = null;\n this.rowInitial = null;\n this.placeholder = null;\n this.dragSrcEl = null;\n this.dragSrcRow = null;\n\n this.hookupTableCellDdls = this.hookupTableCellDdls.bind(this);\n }\n \n initialize(isPopState = false) {\n throw new Error(\"Must implement initialize() method.\");\n }\n sharedInitialize(isPopState = false, isSinglePageApp = false) {\n if (!isPopState) {\n super.sharedInitialize();\n this.hookupFilters();\n this.hookupButtonsSaveCancel();\n this.hookupTableMain();\n OverlayConfirm.hookup(() => {\n if (isSinglePageApp) {\n this.saveRecordsTableDirtySinglePageApp();\n }\n else {\n this.saveRecordsTableDirty();\n }\n });\n } else {\n let dataPage = this.getLocalStoragePage();\n let filters = dataPage[flagFormFilters];\n let formFilters = TableBasePage.getFormFilters();\n let filtersDefault = DOM.convertForm2JSON(formFilters);\n if (!Validation.areEqualDicts(filters, filtersDefault)) {\n this.callFilterTableContent();\n }\n }\n }\n hookupFilters() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method hookupFilters().\");\n }\n }\n sharedHookupFilters() {\n this.hookupButtonApplyFilters();\n this.hookupSearchTextFilter();\n }\n hookupFilterActive() {\n let filterSelector = idFormFilters + ' #' + flagActiveOnly;\n let filterActiveOld = document.querySelector(filterSelector);\n filterActiveOld.removeAttribute('id');\n let parentDiv = filterActiveOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterActiveNew = document.querySelector(idFormFilters + ' div.' + flagActiveOnly + '.' + flagContainerInput + ' svg.' + flagActiveOnly);\n filterActiveNew.setAttribute('id', flagActiveOnly);\n if (isChecked) filterActiveNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterActive) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterActive });\n Utils.consoleLogIfNotProductionEnvironment({ [filterActive.tagName]: filterActive.tagName });\n let svgElement = (filterActive.tagName.toUpperCase() == 'SVG') ? filterActive : filterActive.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterActive);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n hookupFilter(filterFlag, handler = (event, filter) => { return this.handleChangeFilter(event, filter); }) {\n let filterSelector = idFormFilters + ' #' + filterFlag;\n Events.hookupEventHandler(\"change\", filterSelector, handler);\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n handleChangeFilter(event, filter) {\n let isDirtyFilter = DOM.updateAndCheckIsElementDirty(filter);\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = isDirtyFilter || DOM.hasDirtyChildrenContainer(formFilters);\n let tbody = document.querySelector(idTableMain + ' tbody');\n let rows = tbody.querySelectorAll(':scope > tr');\n rows.forEach((row) => {\n if (areDirtyFilters && !row.classList.contains(flagIsCollapsed)) row.classList.add(flagIsCollapsed);\n if (!areDirtyFilters && row.classList.contains(flagIsCollapsed)) {\n row.classList.remove(flagIsCollapsed);\n let dirtyInputs = row.querySelectorAll('input.' + flagDirty);\n dirtyInputs.forEach((dirtyInput) => {\n dirtyInput.value = DOM.getElementAttributeValueCurrent(dirtyInput);\n });\n }\n });\n if (areDirtyFilters) {\n /*\n tbody.querySelectorAll('tr').forEach((tr) => { \n if (!DOM.hasDirtyChildrenContainer(tr)) tr.remove(); \n });\n */\n tbody.innerHTML = '
Press \"Apply Filters\" to refresh the table.
' + tbody.innerHTML;\n if (!tbody.classList.contains(flagIsCollapsed)) tbody.classList.add(flagIsCollapsed);\n }\n else {\n let isDirtyLabel = tbody.querySelector(\":scope > div\");\n if (isDirtyLabel != null) isDirtyLabel.remove();\n if (tbody.classList.contains(flagIsCollapsed)) tbody.classList.remove(flagIsCollapsed);\n let initialisedElements = tbody.querySelectorAll('.' + flagInitialised);\n initialisedElements.forEach((initialisedElement) => {\n initialisedElement.classList.remove(flagInitialised);\n });\n this.hookupTableMain();\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupFilterIsNotEmpty() {\n this.hookupFilter(flagIsNotEmpty);\n }\n hookupButtonApplyFilters() {\n Events.hookupEventHandler(\"click\", idButtonApplyFilters, (event, button) => {\n event.stopPropagation();\n this.callFilterTableContent();\n });\n }\n hookupSearchTextFilter() {\n this.hookupFilter(flagSearch);\n }\n hookupFilterDog() {\n this.hookupFilter(attrIdDog); \n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory, (event, filterCommandCategory) => {\n this.handleChangeFilter();\n let isDirtyFilter = filterCommandCategory.classList.contains(flagDirty);\n let idCommandCategory = DOM.getElementValueCurrent(filterCommandCategory);\n console.log(\"filter commands unsorted\");\n console.log(Utils.getListFromDict(filterCommands));\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => command[attrIdCommandCategory] == idCommandCategory);\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let filterCommand = document.querySelector(idFormFilters + ' .' + flagCommand);\n let idCommandPrevious = DOM.getElementAttributeValuePrevious(filterCommand);\n filterCommand.innerHTML = '';\n let optionJson, option;\n option = DOM.createOption(null);\n filterCommand.appendChild(option);\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command, idCommandPrevious);\n option = DOM.createOption(optionJson);\n filterCommand.appendChild(option);\n });\n filterCommand.dispatchEvent(new Event('change'));\n return isDirtyFilter;\n });\n }\n hookupFilterCommand() {\n this.hookupFilter(attrIdCommand);\n }\n hookupFilterLocation() {\n this.hookupFilter(attrIdLocation);\n }\n /*\n getAndLoadFilteredTableContent = () => {\n this.callFilterTableContent()\n .catch(error => console.error('Error:', error));\n }\n */\n static getFormFilters() {\n return document.querySelector(idFormFilters);\n }\n callFilterTableContent() {\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"callFilterTableContent\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(this.constructor.hash, filtersJson);\n }\n callbackLoadTableContent(response) {\n let table = TableBasePage.getTableMain();\n let bodyTable = table.querySelector('tbody');\n bodyTable.querySelectorAll('tr').forEach(function(row) { row.remove(); });\n let rowsJson = response.data[flagRows];\n if (!Validation.isEmpty(rowsJson) && rowsJson.every(row => row.hasOwnProperty('display_order'))) {\n rowsJson = rowsJson.sort((a, b) => a.display_order - b.display_order);\n }\n rowsJson.forEach(this.loadRowTable.bind(this));\n this.hookupTableMain();\n }\n static getTableMain() {\n return document.querySelector(idTableMain);\n }\n loadRowTable(rowJson) {\n throw new Error(\"Subclass of TableBasePage must implement method loadRowTable().\");\n }\n getAndLoadFilteredTableContentSinglePageApp() {\n this.callFilterTableContent()\n .then(data => {\n Utils.consoleLogIfNotProductionEnvironment('Table data received:', data);\n this.callbackLoadTableContent(data);\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonsSaveCancel() {\n this.hookupButtonSave();\n this.hookupButtonCancel();\n this.toggleShowButtonsSaveCancel(false);\n }\n saveRecordsTableDirty() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n /*\n Utils.consoleLogIfNotProductionEnvironment({ formElement, comment, records });\n Utils.consoleLogIfNotProductionEnvironment('records');\n Utils.consoleLogIfNotProductionEnvironment(records);\n debugger;\n */\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callFilterTableContent();\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n getTableRecords(dirtyOnly = false) {\n let records = [];\n let record;\n document.querySelectorAll(idTableMain + ' > tbody > tr').forEach((row) => {\n if (dirtyOnly && !DOM.hasDirtyChildrenContainer(row)) return;\n record = this.getJsonRow(row);\n records.push(record);\n });\n return records;\n }\n getJsonRow(row) {\n throw new Error(\"Subclass of TableBasePage must implement method getJsonRow().\");\n }\n saveRecordsTableDirtySinglePageApp() {\n let records = this.getTableRecords(true);\n if (records.length == 0) {\n OverlayError.show('No records to save');\n return;\n }\n let formElement = TableBasePage.getFormFilters();\n let comment = DOM.getElementValueCurrent(document.querySelector(idTextareaConfirm));\n this.callSaveTableContent(records, formElement, comment)\n .then(data => {\n if (data[flagStatus] == flagSuccess) {\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment('Records saved!');\n Utils.consoleLogIfNotProductionEnvironment('Data received:', data);\n }\n this.callbackLoadTableContent(data);\n }\n else {\n Utils.consoleLogIfNotProductionEnvironment(\"error: \", data[flagMessage]);\n OverlayError.show(data[flagMessage]);\n }\n })\n .catch(error => console.error('Error:', error));\n }\n hookupButtonCancel() {\n Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, (button) => {\n button.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n button = event.target;\n if (button.classList.contains(flagIsCollapsed)) return;\n this.callFilterTableContent();\n });\n button.classList.add(flagIsCollapsed);\n });\n }\n handleClickAddRowTable(event, button) {\n event.stopPropagation();\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - _rowBlank.getAttribute(this.constructor.attrIdRowObject));\n let tbody = document.querySelector(idTableMain + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlank.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n row.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n this.initialiseRowNew(tbody, row);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableMain();\n this.postInitialiseRowNewCallback(tbody);\n }\n initialiseRowNew(tbody, row) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method initialiseRowNew().\");\n }\n // row.classList.remove(flagRowNew);\n }\n hookupTableMain() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement hookupTableMain() method.\");\n }\n Events.initialiseEventHandler(idTableMain, flagInitialised, (table) => {\n this.cacheRowBlank();\n });\n }\n cacheRowBlank() {\n let selectorRowNew = idTableMain + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableMain + ' > tbody > tr').length;\n _rowBlank = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlank.setAttribute(this.constructor.attrIdRowObject, -1 - countRows);\n }\n postInitialiseRowNewCallback(tbody) {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Subclass of TableBasePage must implement method postInitialiseRowNewCallback(tbody).\");\n }\n }\n initialiseSliderDisplayOrderRowNew(tbody, row) {\n // let tdSelector = ':scope > tr > td.' + flagDisplayOrder;\n // let tbody = document.querySelector('table' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody');\n let slidersDisplayOrder = tbody.querySelectorAll(':scope > tr > td.' + flagDisplayOrder + ' input.' + flagSlider);\n let maxDisplayOrder = 0;\n slidersDisplayOrder.forEach((slider) => {\n maxDisplayOrder = Math.max(maxDisplayOrder, parseFloat(DOM.getElementValueCurrent(slider)));\n });\n let sliderDisplayOrder = row.querySelector('td.' + flagDisplayOrder + ' .' + flagSlider);\n DOM.setElementValuesCurrentAndPrevious(sliderDisplayOrder, maxDisplayOrder + 1);\n }\n hookupSlidersDisplayOrderTable() {\n let selectorDisplayOrder = idTableMain + ' tbody tr td.' + flagDisplayOrder + ' input.' + flagSlider + '.' + flagDisplayOrder;\n this.hookupChangeHandlerTableCells(selectorDisplayOrder);\n }\n hookupChangeHandlerTableCells(inputSelector, handler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.initialiseEventHandler(inputSelector, flagInitialised, (input) => {\n input.addEventListener(\"change\", (event) => {\n handler(event, input);\n });\n handler(null, input);\n });\n }\n handleChangeNestedElementCellTable(event, element) {\n let wasDirtyParentRows = this.getAllIsDirtyRowsInParentTree(element);\n let wasDirtyElement = element.classList.contains(flagDirty);\n let isDirtyElement = DOM.updateAndCheckIsElementDirty(element);\n // Utils.consoleLogIfNotProductionEnvironment({isDirtyElement, wasDirtyElement, wasDirtyParentRows});\n // let td = DOM.getCellFromElement(element);\n // DOM.setElementAttributeValueCurrent(td, DOM.getElementAttributeValueCurrent(element));\n if (isDirtyElement != wasDirtyElement) {\n // DOM.handleDirtyElement(td, isDirtyElement);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows);\n }\n }\n getAllIsDirtyRowsInParentTree(element) {\n let rows = [];\n let parent = element;\n let isDirty;\n while (parent) {\n if (parent.tagName.toUpperCase() == 'TR') {\n isDirty = parent.classList.contains(flagDirty)\n rows.push(isDirty);\n }\n parent = parent.parentElement;\n }\n return rows;\n }\n cascadeChangedIsDirtyNestedElementCellTable(element, isDirtyElement, wasDirtyParentRows) {\n if (Validation.isEmpty(wasDirtyParentRows)) return;\n let tr = DOM.getRowFromElement(element);\n let isDirtyRow = isDirtyElement || DOM.hasDirtyChildrenContainer(tr);\n let wasDirtyRow = wasDirtyParentRows.shift();\n Utils.consoleLogIfNotProductionEnvironment({isDirtyRow, wasDirtyRow});\n if (isDirtyRow != wasDirtyRow) {\n DOM.handleDirtyElement(tr, isDirtyRow);\n this.updateAndToggleShowButtonsSaveCancel();\n this.cascadeChangedIsDirtyNestedElementCellTable(tr.parentElement, isDirtyRow, wasDirtyParentRows);\n }\n }\n hookupChangeHandlerTableCellsWhenNotCollapsed(inputSelector, handler = (event, element) => {\n if (!element.classList.contains(flagIsCollapsed)) this.handleChangeNestedElementCellTable(event, element);\n }) {\n Events.hookupEventHandler(\"change\", inputSelector, handler);\n }\n hookupFieldsCodeTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagCode + ' > .' + flagCode);\n }\n hookupFieldsNameTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagName + ' > .' + flagName);\n }\n hookupFieldsDescriptionTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagDescription + ' > .' + flagDescription);\n }\n hookupFieldsNotesTable() {\n this.hookupChangeHandlerTableCells(idTableMain + ' > tbody > tr > td.' + flagNotes + ' > .' + flagNotes);\n }\n hookupFieldsActive(flagTable = '', handleClickRowNew = (event, element) => { this.handleClickAddRowTable(event, element); }) {\n let selectorButton = 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > tbody > tr > td.' + flagActive + ' .' + flagButton + '.' + flagActive;\n let selectorButtonDelete = selectorButton + '.' + flagDelete;\n let selectorButtonUndelete = selectorButton + ':not(.' + flagDelete + ')';\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsActive: \", selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete);\n Events.hookupEventHandler(\n \"click\"\n , 'table.table-main' + (Validation.isEmpty(flagTable) ? '' : '.' + flagTable) + ' > thead > tr > th.' + flagActive + ' .' + flagButton + '.' + flagActive\n , (event, button) => { handleClickRowNew(event, button); }\n );\n }\n hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonDelete, (event, element) => {\n this.handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowDelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = element.classList.contains(flagDirty);\n let row = DOM.getRowFromElement(element);\n if (row.classList.contains(flagRowNew) && !DOM.hasDirtyChildrenContainer(row)) {\n row.parentNode.removeChild(row);\n }\n else {\n let buttonAddTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagAdd);\n let buttonAdd = buttonAddTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonAdd, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonAdd, false);\n if (wasDirty) buttonAdd.classList.add(flagDirty);\n element.replaceWith(buttonAdd);\n changeHandler(null, buttonAdd);\n this.hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n }\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupButtonsRowUndelete(selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n Events.hookupEventHandler(\"click\", selectorButtonUndelete, (event, element) => {\n this.handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n });\n }\n handleClickButtonRowUndelete(event, element, selectorButtonDelete, selectorButtonUndelete, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n if (element.tagName.toUpperCase() != 'SVG') element = element.parentElement;\n let valuePrevious = DOM.getElementAttributeValuePrevious(element);\n let wasDirty = DOM.isElementDirty(element);\n let buttonDeleteTemplate = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagActive + '.' + flagDelete);\n let buttonDelete = buttonDeleteTemplate.cloneNode(true);\n DOM.setElementAttributeValuePrevious(buttonDelete, valuePrevious);\n DOM.setElementAttributeValueCurrent(buttonDelete, true);\n if (wasDirty) buttonDelete.classList.add(flagDirty);\n element.replaceWith(buttonDelete);\n changeHandler(null, buttonDelete);\n this.hookupButtonsRowDelete(selectorButtonDelete, selectorButtonUndelete, (changeEvent, changeElement) => { changeHandler(changeEvent, changeElement); });\n this.updateAndToggleShowButtonsSaveCancel();\n }\n hookupTdsAccessLevel() {\n this.hookupTableCellDdlPreviews(flagAccessLevel, Utils.getListFromDict(accessLevels));\n }\n hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n if (cellSelector == null) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + fieldFlag, (event, div) => {\n this.handleClickTableCellDdlPreview(\n event\n , div\n , fieldFlag\n , optionList\n , cellSelector\n , (ddlSelector) => { ddlHookup(\n ddlSelector\n , (event, element) => { changeHandler(event, element); }\n ); }\n );\n });\n ddlHookup(cellSelector + ' select.' + fieldFlag);\n }\n hookupTableCellDdls(ddlSelector, changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { changeHandler(event, element); });\n }\n handleClickTableCellDdlPreview(event, div, fieldFlag, optionObjectList, cellSelector = null, ddlHookup = (cellSelector) => { this.hookupTableCellDdls(cellSelector); }) {\n if (Validation.isEmpty(cellSelector)) cellSelector = idTableMain + ' > tbody > tr > td.' + fieldFlag;\n let idSelected = DOM.getElementAttributeValueCurrent(div);\n let td = DOM.getCellFromElement(div);\n td.innerHTML = '';\n let ddl = document.createElement('select');\n ddl.classList.add(fieldFlag);\n DOM.setElementValuesCurrentAndPrevious(ddl, idSelected);\n let optionJson, option;\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"click table cell ddl preview\");\n Utils.consoleLogIfNotProductionEnvironment({optionObjectList, cellSelector});\n }\n option = DOM.createOption(null);\n ddl.appendChild(option);\n optionObjectList.forEach((optionObjectJson) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(optionObjectJson, idSelected);\n option = DOM.createOption(optionJson);\n ddl.appendChild(option);\n });\n td.appendChild(ddl);\n let ddlSelector = cellSelector + ' select.' + fieldFlag;\n ddlHookup(ddlSelector);\n }\n /*\n hookupTableCellDDlPreviewsWhenNotCollapsed(cellSelector, optionList, ddlHookup = (event, element) => { this.hookupTableCellDdls(event, element); }) {\n Events.hookupEventHandler(\"click\", cellSelector + ' div', (event, div) => {\n this.handleClickTableCellDdlPreview(event, div, optionList, cellSelector, (event, element) => { ddlHookup(event, element); });\n });\n }\n */\n toggleColumnCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n toggleColumnHeaderCollapsed(flagColumn, isCollapsed) {\n this.toggleColumnHasClassnameFlag(flagColumn, isCollapsed, flagIsCollapsed);\n }\n\n hookupFieldsCommandCategory(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , idTable + ' > tbody > tr > td.' + flagCommandCategory // + ' .' + flagCommandCategory\n , (cellSelector) => { this.hookupCommandCategoryDdls(cellSelector); }\n );\n }\n hookupCommandCategoryDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeCommandCategoryDdl(event, element); });\n }\n handleChangeCommandCategoryDdl(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (\n idCommandCategoryRowOld == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n ) return;\n console.log({ idCommandCategoryRowNew, idCommandCategoryRowOld });\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let tdCommand = row.querySelector('td.' + flagCommand);\n tdCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n hookupFieldsCommand(idTable = null) {\n if (idTable == null) idTable = idTableMain;\n Events.hookupEventHandler(\"click\", idTable + ' > tbody > tr > td.' + flagCommand + ' div.' + flagCommand, (event, div) => {\n Utils.consoleLogIfNotProductionEnvironment(div);\n let parentTr = DOM.getRowFromElement(div);\n Utils.consoleLogIfNotProductionEnvironment({ div, parentTr });\n let tdCommandCategory = parentTr.querySelector('td.' + flagCommandCategory);\n let idCommandCategoryRow = this.getIdCommandCategoryRow(parentTr); // DOM.getElementAttributeValueCurrent(tdCommandCategory);\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n let filterCommandList = Utils.getListFromDict(filterCommands);\n let commandsInCategory = filterCommandList.filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRow\n || idCommandCategoryRow == 0\n )\n && (\n command[attrIdCommandCategory] == idCommandCategoryFilter\n || idCommandCategoryFilter == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n Utils.consoleLogIfNotProductionEnvironment({ tdCommandCategory, idCommandCategoryRow, idCommandCategoryFilter, filterCommandList, commandsInCategory });\n Utils.consoleLogIfNotProductionEnvironment(filterCommandList);\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagCommand // fieldFlag\n , sortedCommands // optionList\n , idTable + ' > tbody > tr > td.' + flagCommand // cellSelector\n , (cellSelector) => { this.hookupTableCellDdls(\n cellSelector\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n idTable + ' > tbody > tr > td.' + flagCommand + ' select.' + flagCommand\n , (event, element) => { this.handleChangeCommandDdl(event, element); }\n );\n }\n handleChangeCommandDdl(event, ddlCommand) {\n // console.log(\"handle change command ddl\");\n let row = DOM.getRowFromElement(ddlCommand);\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row);\n let idCommandNew = this.getIdCommandRow(row);\n let commandNew = filterCommands[idCommandNew];\n // console.log({ idCommandCategoryRowOld, commandNew });\n if (commandNew == null || idCommandCategoryRowOld == commandNew[attrIdCommandCategory]) return;\n let divCommandCategory = row.querySelector('td.' + flagCommandCategory + ' div');\n if (divCommandCategory) divCommandCategory.dispatchEvent(new Event('click'));\n let ddlCommandCategory = row.querySelector('td.' + flagCommandCategory + ' select.' + flagCommandCategory);\n DOM.setElementValueCurrent(ddlCommandCategory, commandNew[attrIdCommandCategory]);\n // console.log({ ddlCommandCategory, commandNew });\n this.handleChangeNestedElementCellTable(event, ddlCommandCategory);\n }\n getIdCommandCategoryRow(tr) {\n let elementCommandCategory = tr.querySelector('td.' + flagCommandCategory + ' .' + flagCommandCategory);\n return DOM.getElementAttributeValueCurrent(elementCommandCategory);\n }\n getIdCommandCategoryFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let idCommandCategory = 0;\n if (formFilters == null) return idCommandCategory;\n let commandCategoryFilter = formFilters.querySelector('#' + attrIdCommandCategory);\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandCategoryFilter = DOM.getElementAttributeValueCurrent(commandCategoryFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandCategoryFilter });\n if (valueCurrentCommandCategoryFilter == \"\") {\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n Utils.consoleLogIfNotProductionEnvironment({ valueCurrentCommandFilter });\n if (valueCurrentCommandFilter != \"\") {\n let command = filterCommands[valueCurrentCommandFilter];\n idCommandCategory = command[attrIdCommandCategory];\n }\n } else {\n idCommandCategory = Number(valueCurrentCommandCategoryFilter);\n }\n return idCommandCategory;\n }\n getHasCommandCategoryFilter() {\n let idCommandCategoryFilter = this.getIdCommandCategoryFilter();\n return !(Validation.isEmpty(idCommandCategoryFilter) || idCommandCategoryFilter == 0);\n }\n getIdCommandRow(tr) {\n let elementCommand = tr.querySelector('td.' + flagCommand + ' .' + flagCommand);\n return DOM.getElementAttributeValueCurrent(elementCommand);\n }\n getIdCommandFilter() {\n let formFilters = TableBasePage.getFormFilters();\n let commandFilter = formFilters.querySelector('#' + attrIdCommand);\n let valueCurrentCommandFilter = DOM.getElementAttributeValueCurrent(commandFilter);\n let idCommand = Number(valueCurrentCommandFilter);\n return idCommand;\n }\n getHasCommandFilter() {\n let idCommandFilter = this.getIdCommandFilter();\n return !(Validation.isEmpty(idCommandFilter) || idCommandFilter == 0);\n }\n hookupFieldsDog() {\n this.hookupTableCellDdlPreviews(flagDog, Utils.getListFromDict(filterDogs));\n }\n getIdDogRow(tr) {\n let elementDog = tr.querySelector('td.' + flagDog + ' .' + flagDog);\n return DOM.getElementAttributeValueCurrent(elementDog);\n }\n /*\n createTdActive(isActive) {\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive);\n let buttonActive = document.createElement(\"button\");\n buttonActive.classList.add(flagActive);\n buttonActive.classList.add(isActive ? flagDelete : flagAdd);\n buttonActive.textContent = isActive ? 'x' : '+';\n DOM.setElementAttributesValuesCurrentAndPrevious(buttonActive, isActive);\n tdActive.appendChild(buttonActive);\n return tdActive;\n }\n */\n leave() {\n if (this.constructor === TableBasePage) {\n throw new Error(\"Must implement leave() method.\");\n }\n super.leave();\n let formFilters = TableBasePage.getFormFilters();\n let dataPage = {};\n dataPage[flagFormFilters] = DOM.convertForm2JSON(formFilters);\n this.setLocalStoragePage(dataPage);\n }\n\n toggleColumnHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n let columnThHasFlag = columnTh.classList.contains(classnameFlag);\n if (isRequiredFlag == columnThHasFlag) return;\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n toggleColumnHeaderHasClassnameFlag(columnFlag, isRequiredFlag, classnameFlag) {\n let table = TableBasePage.getTableMain();\n let columnTh = table.querySelector('th.' + columnFlag);\n DOM.toggleElementHasClassnameFlag(columnTh, isRequiredFlag, classnameFlag);\n }\n\n updateAndToggleShowButtonsSaveCancel() {\n let records = this.getTableRecords(true);\n let isDirtyMainTable = records.length > 0;\n\n let formFilters = TableBasePage.getFormFilters();\n let areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters);\n\n console.log({ records, isDirtyMainTable, formFilters, areDirtyFilters });\n\n this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters);\n }\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport TableBasePage from \"../base_table.js\";\n\nexport default class DogMixinPage {\n constructor(pageCurrent) {\n this.page = pageCurrent;\n }\n\n initialize() {\n Utils.consoleLogIfNotProductionEnvironment('hookup dog start for ', this.page.hash);\n this.hookupFilters();\n this.hookupLocalStorageDog();\n }\n hookupFilters() {\n }\n hookupLocalStorageDog() {\n \n }\n\n /*\n hookupDogCardsProduct() {\n \n let d; // , lsShared;\n let selectorCardProduct = '.card.subcard';\n Events.initialiseEventHandler(selectorCardProduct, flagInitialised, function(cardProduct) {\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"initialising product card: \", cardProduct); }\n cardProduct.addEventListener(\"click\", function(event) {\n // d = { keyIdProduct: product.getAttribute(attrIdProduct) }\n var elemClicked = event.target;\n if (elemClicked.id != 'submit') { // disable for submit buttons\n if (_verbose) { \n Utils.consoleLogIfNotProductionEnvironment(\"product click: \" + cardProduct.getAttribute(attrIdProduct));\n Utils.consoleLogIfNotProductionEnvironment(\"permutation click: \" + cardProduct.getAttribute(attrIdPermutation));\n }\n var d = {}\n d[keyIdProduct] = cardProduct.getAttribute(attrIdProduct)\n d[keyIdPermutation] = cardProduct.getAttribute(attrIdPermutation)\n // send quantity requested\n goToPage(hashPageDogProduct, d);\n }\n });\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"click method added for product ID: \" + cardProduct.getAttribute(attrIdProduct) + ', permutation ID: ', cardProduct.getAttribute(attrIdPermutation)); }\n });\n }\n */\n \n leave() {}\n}\n","\nimport Events from \"../../lib/events.js\";\nimport LocalStorage from \"../../lib/local_storage.js\";\nimport Validation from \"../../lib/validation.js\";\n// import BasePage from \"../base.js\";\nimport DOM from \"../../dom.js\";\nimport { isEmpty } from \"../../lib/utils.js\";\nimport DogMixinPage from \"./mixin.js\";\nimport Utils from \"../../lib/utils.js\";\n\nexport default class DogTableMixinPage extends DogMixinPage {\n constructor(pageCurrent) {\n super(pageCurrent);\n }\n initialize() {\n super.initialize();\n this.hookupFilters();\n this.hookupTable();\n }\n hookupFilters() {\n // Implement filter-specific functionality here\n }\n hookupTable() {\n // Implement table-specific functionality here\n }\n hookupFieldsLocation() {\n this.page.hookupTableCellDdlPreviews(\n flagLocation\n , Utils.getListFromDict(filterLocations) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n}","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandCategories extends TableBasePage {\n static hash = hashPageDogCommandCategories;\n static attrIdRowObject = attrIdCommandCategory;\n callSaveTableContent = API.saveCommandCategories;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCommandCategory] = row.getAttribute(attrIdCommandCategory);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommands extends TableBasePage {\n static hash = hashPageDogCommands;\n static attrIdRowObject = attrIdCommand;\n callSaveTableContent = API.saveCommands;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterActive();\n }\n hookupFilterCommandCategory() {\n this.hookupFilter(attrIdCommandCategory);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let inputHandSignalDefaultDescription = row.querySelector('td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n let inputCanHaveButton = row.querySelector('td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n /*\n Utils.consoleLogIfNotProductionEnvironment({ inputName, inputHandSignalDefaultDescription, inputCanHaveButton, inputNotes, buttonActive });\n debugger;\n */\n\n let jsonRow = {};\n jsonRow[attrIdCommand] = row.getAttribute(attrIdCommand);\n jsonRow[attrIdCommandCategory] = this.getIdCommandCategoryRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagHandSignalDefaultDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDefaultDescription);\n jsonRow[flagCanHaveButton] = (DOM.getElementAttributeValueCurrent(inputCanHaveButton) == \"true\");\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsNameTable();\n this.hookupTextareasHandSignalDefaultDescription();\n this.hookupFieldsCanHaveButton();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsCommandCategory() {\n this.hookupTableCellDdlPreviews(\n flagCommandCategory\n , Utils.getListFromDict(filterCommandCategories)\n );\n }\n hookupTextareasHandSignalDefaultDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDefaultDescription + ' .' + flagHandSignalDefaultDescription);\n }\n hookupFieldsCanHaveButton() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagCanHaveButton + ' .' + flagCanHaveButton);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogDogCommandLinks extends TableBasePage {\n static hash = hashPageDogDogCommandLinks;\n static attrIdRowObject = attrIdDogCommandLink;\n callSaveTableContent = API.saveDogCommandLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterDog();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdDogCommandLink] = row.getAttribute(attrIdDogCommandLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDog();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupTextareasHandSignalDescription();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupTextareasHandSignalDescription() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagHandSignalDescription + ' .' + flagHandSignalDescription);\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogLocations extends TableBasePage {\n static hash = hashPageDogLocations;\n static attrIdRowObject = attrIdLocation;\n callSaveTableContent = API.saveLocations;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdLocation] = row.getAttribute(attrIdLocation);\n jsonRow[flagLocationParent] = this.getIdLocationParentRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdLocationParentRow(row) {\n let elementLocationParent = row.querySelector('td.' + flagLocationParent + ' .' + flagLocationParent);\n return DOM.getElementAttributeValueCurrent(elementLocationParent);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagLocationParent + ' div.' + flagLocationParent\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsLocationParent();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsLocationParent() {\n /*\n this.hookupTableCellDdlPreviews(\n flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] == idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , null // cellSelector\n , (cellSelector) => { this.hookupLocationParentDdls(cellSelector); }\n ,\n );\n\n fieldFlag\n , optionList\n , cellSelector = null\n , ddlHookup = (ddlSelector) => { this.hookupTableCellDdls(ddlSelector); }\n , changeHandler = (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ) {\n\n */\n let cellSelector = idTableMain + ' > tbody > tr > td.' + flagLocationParent;\n Events.hookupEventHandler(\"click\", cellSelector + ' div.' + flagLocationParent, (event, div) => {\n let row = DOM.getRowFromElement(div);\n let idLocationRow = Number(row.getAttribute(attrIdLocation));\n Utils.consoleLogIfNotProductionEnvironment({ idLocationRow });\n this.handleClickTableCellDdlPreview(\n event\n , div\n , flagLocationParent\n , Utils.getListFromDict(locations).filter(location => \n (\n location[attrIdLocation] != idLocationRow\n || idLocationRow < 1\n )\n ) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n , cellSelector\n , (ddlSelector) => { this.hookupTableCellDdls(\n ddlSelector\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n ); }\n );\n });\n this.hookupTableCellDdls(\n cellSelector + ' select.' + flagLocationParent\n , (event, element) => { this.handleChangeNestedElementCellTable(event, element); }\n );\n }\n /*\n hookupLocationParentDdls(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeNestedElementCellTable(event, element); });\n }\n */\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogButtonIcons extends TableBasePage {\n static hash = hashPageDogButtonIcons;\n static attrIdRowObject = attrIdButtonIcon;\n callSaveTableContent = API.saveButtonIcons;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterActive();\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdButtonIcon] = row.getAttribute(attrIdButtonIcon);\n jsonRow[flagImage] = this.getIdImageRow(row);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n\n console.log(\"jsonRow\");\n console.log(jsonRow);\n\n return jsonRow;\n }\n getIdImageRow(row) {\n let elementImage = row.querySelector('td.' + flagImage + ' .' + flagImage);\n return DOM.getElementAttributeValueCurrent(elementImage);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagImage + ' div.' + flagImage\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsImage();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n hookupFieldsImage() {\n this.hookupTableCellDdlPreviews(\n flagImage\n , Utils.getListFromDict(buttonicons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCommandButtonLinks extends TableBasePage {\n static hash = hashPageDogCommandButtonLinks;\n static attrIdRowObject = attrIdCommandButtonLink;\n callSaveTableContent = API.saveCommandButtonLinks;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterCommandCategory();\n this.hookupFilterCommand();\n this.hookupFilterButtonShape();\n this.hookupFilterColour();\n this.hookupFilterButtonIcon();\n this.hookupFilterLocation();\n this.hookupFilterActive();\n }\n hookupFilterButtonShape() {\n this.hookupFilter(attrIdButtonShape);\n }\n hookupFilterColour() {\n this.hookupFilter(attrIdColour);\n }\n hookupFilterButtonIcon() {\n this.hookupFilter(attrIdButtonIcon);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputHandSignalDescription = row.querySelector('td.' + flagHandSignalDescription + ' textarea');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdCommandButtonLink] = row.getAttribute(attrIdCommandButtonLink);\n jsonRow[attrIdDog] = this.getIdDogRow(row);\n jsonRow[attrIdCommand] = this.getIdCommandRow(row);\n jsonRow[flagHandSignalDescription] = DOM.getElementAttributeValueCurrent(inputHandSignalDescription);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDog + ' div.' + flagDog\n , ',td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCommandCategory();\n this.hookupFieldsCommand();\n this.hookupFieldsButtonShape();\n this.hookupFieldsColour();\n this.hookupFieldsButtonIcon();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsActive();\n }\n hookupFieldsButtonShape() {\n this.hookupTableCellDdlPreviews(\n flagButtonShape\n , Utils.getListFromDict(filterButtonShapes) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsColour() {\n this.hookupTableCellDdlPreviews(\n flagColour\n , Utils.getListFromDict(filterColours) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsButtonIcon() {\n this.hookupTableCellDdlPreviews(\n flagButtonIcon\n , Utils.getListFromDict(filterButtonIcons) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nvar _rowBlankDistraction;\nvar _rowBlankAssessmentCommandModalityLink;\n\nexport default class PageDogAssessment extends TableBasePage {\n static hash = hashPageDogAssessment;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessmentsDistractionsAndResponses;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getTableRecords(dirtyOnly = false) {\n dirtyOnly = true;\n let row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment);\n return [this.getJsonRow(row)];\n }\n getJsonRow(row) {\n console.log(\"getJsonRow: \", row);\n if (row == null) return;\n let inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather);\n let inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel);\n let inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n let inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation);\n let inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler);\n let inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n // let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n let idAssessment = row.getAttribute(attrIdAssessment);\n let jsonRow = {};\n jsonRow[attrIdAssessment] = idAssessment;\n jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather);\n jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius);\n jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation);\n jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete);\n jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment);\n jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment);\n console.log({ jsonRow });\n return jsonRow;\n }\n getDirtyDistractions(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n // dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputDistractionType, distractionType,\n inputIntensityLevelEmotional, intensityLevelEmotional,\n inputIntensityLevelScent, intensityLevelScent,\n inputIntensityLevelSight, intensityLevelSight,\n inputIntensityLevelSound, intensityLevelSound,\n inputIntensityLevelTouch, intensityLevelTouch,\n inputQuantity, quantity,\n inputProximityMetres, proximityMetres,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyDistractions');\n console.log({ dirtyRows });\n let dirtyDistractions = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType);\n distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType);\n inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional);\n intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional);\n inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent);\n intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent);\n inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight);\n intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight);\n inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound);\n intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound);\n inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch);\n intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch);\n inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity);\n quantity = DOM.getElementAttributeValueCurrent(inputQuantity);\n inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres);\n proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyDistractions.push({\n [attrIdDistraction]: dirtyRow.getAttribute(attrIdDistraction)\n , [attrIdAssessment]: idAssessment\n , [attrIdDistractionType]: distractionType\n , [flagDistractionIntensityLevelEmotional]: intensityLevelEmotional\n , [flagDistractionIntensityLevelScent]: intensityLevelScent\n , [flagDistractionIntensityLevelSight]: intensityLevelSight\n , [flagDistractionIntensityLevelSound]: intensityLevelSound\n , [flagDistractionIntensityLevelTouch]: intensityLevelTouch\n , [flagQuantity]: quantity\n , [flagProximityMetres]: proximityMetres\n , [flagNotes]: notes\n , [flagActive]: active\n });\n };\n return dirtyDistractions;\n }\n getDirtyAssessmentCommandModalityLinks(idAssessment) {\n let dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow, idAssessmentCommandModalityLink,\n inputCommand, command,\n inputCommandModality, commandModality,\n inputBribe, bribe,\n inputDistanceFromHandler, distanceFromhandler,\n inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler,\n inputIsInScentRangeOfHandler, isInScentRangeOfHandler,\n inputIsInSightOfHandler, isInSightOfHandler,\n inputIsOnLead, isOnLead,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentCommandModalityLinks');\n console.log({ dirtyRows });\n let dirtyLinks = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink);\n inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand);\n command = DOM.getElementAttributeValueCurrent(inputCommand);\n inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality);\n commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality);\n inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe);\n bribe = DOM.getElementAttributeValueCurrent(inputBribe);\n inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler);\n inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler);\n inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler);\n inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler);\n inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead);\n isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyLinks.push({\n [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdAssessment]: idAssessment\n , [attrIdCommand]: command\n , [attrIdCommandModality]: commandModality\n , [attrIdBribe]: bribe\n , [flagDistanceFromHandlerMetres]: distanceFromhandler\n , [flagIsInHearingRangeOfHandler]: isInHearingRangeOfHandler\n , [flagIsInScentRangeOfHandler]: isInScentRangeOfHandler\n , [flagIsInSightOfHandler]: isInSightOfHandler\n , [flagIsOnLead]: isOnLead\n , [flagNotes]: notes\n , [flagActive]: active\n , [flagAssessmentResponse]: this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink)\n });\n }\n return dirtyLinks;\n }\n getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) {\n let dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty);\n if (dirtyRows == null || dirtyRows.length == 0) return [];\n dirtyRows = Array.from(dirtyRows);\n let dirtyRow,\n inputResponseQualityMetric, responseQualityMetric,\n inputObedienceLevel, obedienceLevel,\n inputValueMeasured, valueMeasured,\n inputNotes, notes,\n buttonActive, active;\n console.log('getDirtyAssessmentResponses');\n console.log({ dirtyRows });\n let dirtyResponses = [];\n for(let indexRow = 0; indexRow < dirtyRows.length; indexRow++) {\n dirtyRow = dirtyRows[indexRow];\n inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric);\n responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric);\n inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel);\n obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel);\n inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured);\n inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);\n notes = DOM.getElementAttributeValueCurrent(inputNotes);\n buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n active = buttonActive.classList.contains(flagDelete);\n dirtyResponses.push({\n [attrIdAssessmentResponse]: dirtyRow.getAttribute(attrIdAssessmentResponse)\n , [attrIdAssessmentCommandModalityLink]: idAssessmentCommandModalityLink\n , [attrIdResponseQualityMetric]: responseQualityMetric\n , [attrIdObedienceLevel]: obedienceLevel\n , [flagValueMeasured]: valueMeasured\n , [flagNotes]: notes\n , [flagActive]: active\n });\n }\n return dirtyResponses;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagWeather + ' div.' + flagWeather\n , ',td.' + flagLightingLevel + ' div.' + flagLightingLevel\n , ',td.' + flagLocation + ' div.' + flagLocation\n , ',td.' + flagUserHandler + ' div.' + flagUserHandler\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n callFilterTableContent() {\n if (assessment[attrIdAssessment] < 1) {\n let formFilters = TableBasePage.getFormFilters();\n let filterAssessment = formFilters.querySelector('#' + attrIdAssessment);\n DOM.setElementValueCurrent(filterAssessment, '');\n }\n super.callFilterTableContent();\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupTableAssessmentHeader();\n this.hookupTableDistractions();\n this.hookupTableAssessmentCommandModalityLinks();\n }\n hookupTableAssessmentHeader() {\n this.hookupTableAssessmentFieldWeather();\n this.hookupTableAssessmentFieldLightingLevel();\n this.hookupTableAssessmentFieldTemperature();\n this.hookupTableAssessmentFieldLocation();\n this.hookupTableAssessmentFieldUserHandler();\n this.hookupTableAssessmentFieldNotes();\n if (assessment[attrIdAssessment] < 1) {\n let tbody = document.querySelector(idTableAssessment + ' tbody');\n let row = tbody.querySelector('tr');\n row.classList.add(flagRowNew);\n this.postInitialiseRowNewCallback(tbody);\n }\n }\n hookupTableAssessmentFieldWeather() {\n let fieldFlag = flagWeather;\n let optionList = Utils.getListFromDict(filterWeathers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagWeather;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldLightingLevel() {\n let fieldFlag = flagLightingLevel;\n let optionList = Utils.getListFromDict(filterLightingLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLightingLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldTemperature() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);\n }\n hookupTableAssessmentFieldLocation() {\n let fieldFlag = flagLocation;\n let optionList = Utils.getListFromDict(filterLocations); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessment + ' td.' + flagLocation;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldUserHandler() {\n let fieldFlag = flagUserHandler;\n let optionList = Utils.getListFromDict(filterUserHandlers); // .sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessment + ' td.' + flagUserHandler;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentFieldNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractions() {\n Events.initialiseEventHandler(idTableDistractions, flagInitialised, (table) => {\n let selectorRowNew = idTableDistractions + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n _rowBlankDistraction = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - countRows);\n });\n\n this.hookupTableDistractionsFieldsDistractionType();\n this.hookupTableDistractionsFieldsIntensityLevelEmotional();\n this.hookupTableDistractionsFieldsIntensityLevelScent();\n this.hookupTableDistractionsFieldsIntensityLevelSight();\n this.hookupTableDistractionsFieldsIntensityLevelSound();\n this.hookupTableDistractionsFieldsIntensityLevelTouch();\n this.hookupTableDistractionsFieldsQuantity();\n this.hookupTableDistractionsFieldsProximityMetres();\n this.hookupTableDistractionsFieldsNotes();\n this.hookupTableDistractionsFieldsActive();\n }\n hookupTableDistractionsFieldsDistractionType() {\n let fieldFlag = flagDistractionType;\n let optionList = Utils.getListFromDict(filterDistractionTypes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionType;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelEmotional() {\n let fieldFlag = flagDistractionIntensityLevelEmotional;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelEmotional;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelScent() {\n let fieldFlag = flagDistractionIntensityLevelScent;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelScent;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSight() {\n let fieldFlag = flagDistractionIntensityLevelSight;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSight;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelSound() {\n let fieldFlag = flagDistractionIntensityLevelSound;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelSound;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsIntensityLevelTouch() {\n let fieldFlag = flagDistractionIntensityLevelTouch;\n let optionList = Utils.getListFromDict(filterDistractionIntensityLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableDistractions + ' td.' + flagDistractionIntensityLevelTouch;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableDistractionsFieldsQuantity() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagQuantity + ' .' + flagQuantity);\n }\n hookupTableDistractionsFieldsProximityMetres() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagProximityMetres + ' .' + flagProximityMetres);\n }\n hookupTableDistractionsFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableDistractions + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableDistractionsFieldsActive() {\n this.hookupFieldsActive(flagDistraction, (event, element) => { this.handleClickAddRowTableDistractions(event, element); });\n }\n handleClickAddRowTableDistractions(event, button) {\n event.stopPropagation();\n _rowBlankDistraction.setAttribute(attrIdDistraction, -1 - _rowBlankDistraction.getAttribute(attrIdDistraction));\n let tbody = document.querySelector(idTableDistractions + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankDistraction.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableDistractions + ' > tbody > tr').length;\n row.setAttribute(attrIdDistraction, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableDistractions();\n this.postInitialiseDistractionRowNewCallback(tbody);\n }\n postInitialiseDistractionRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDistractionType + ' div.' + flagDistractionType\n , ',td.' + flagDistractionIntensityLevelEmotional + ' div.' + flagDistractionIntensityLevelEmotional\n , ',td.' + flagDistractionIntensityLevelScent + ' div.' + flagDistractionIntensityLevelScent\n , ',td.' + flagDistractionIntensityLevelSight + ' div.' + flagDistractionIntensityLevelSight\n , ',td.' + flagDistractionIntensityLevelSound + ' div.' + flagDistractionIntensityLevelSound\n , ',td.' + flagDistractionIntensityLevelTouch + ' div.' + flagDistractionIntensityLevelTouch\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n hookupTableAssessmentCommandModalityLinks() {\n Events.initialiseEventHandler(idTableAssessmentCommandModalityLinks, flagInitialised, (table) => {\n let selectorRowNew = idTableAssessmentCommandModalityLinks + ' tbody tr.' + flagRowNew;\n let rowBlankTemp = document.querySelector(selectorRowNew);\n Utils.consoleLogIfNotProductionEnvironment(\"row blank temp: \", rowBlankTemp);\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n _rowBlankAssessmentCommandModalityLink = rowBlankTemp.cloneNode(true);\n document.querySelectorAll(selectorRowNew).forEach(function(row) {\n row.remove();\n });\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n });\n\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandCategory();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommand();\n this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality();\n this.hookupTableAssessmentCommandModalityLinksFieldsBribe();\n this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler();\n this.hookupTableAssessmentCommandModalityLinksFieldsIsOnLead();\n this.hookupTableAssessmentCommandModalityLinksFieldsTrialCount();\n this.hookupTableAssessmentCommandModalityLinksFieldsNotes();\n this.hookupTableAssessmentCommandModalityLinksFieldsResponses();\n this.hookupTableAssessmentCommandModalityLinksFieldsActive();\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandCategory() {\n this.hookupFieldsCommandCategory(idTableAssessmentCommandModalityLinks);\n /*\n let fieldFlag = flagCommandCategory;\n let optionList = Utils.getListFromDict(filterCommandCategories).sort((a, b) => a[flagName].localeCompare(b[flagName]));\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandCategory;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n , (tdSelector) => { this.hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(tdSelector); }\n , (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); }\n );\n */\n }\n /*\n hookupTableAssessmentCommandModalityLinksDdlsCommandCategory(ddlSelector) {\n this.hookupChangeHandlerTableCells(ddlSelector, (event, element) => { this.handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, element); });\n }\n handleChangeTableAssessmentCommandModalityLinksDdlCommandCategory(event, ddlCategory) {\n let row = DOM.getRowFromElement(ddlCategory);\n let idCommandCategoryRowOld = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n this.handleChangeNestedElementCellTable(event, ddlCategory);\n let idCommandCategoryRowNew = this.getIdCommandCategoryRow(row); // DOM.getElementAttributeValueCurrent(ddlCategory);\n if (idCommandCategoryRowOld == idCommandCategoryRowNew) return;\n let divCommand = row.querySelector('td.' + flagCommand + ' div');\n if (divCommand) divCommand.dispatchEvent(new Event('click'));\n let ddlCommand = row.querySelector('td.' + flagCommand + ' select.' + flagCommand);\n ddlCommand.innerHTML = '';\n ddlCommand.appendChild(DOM.createOption(null));\n let optionJson, option;\n let commandsInCategory = Utils.getListFromDict(filterCommands).filter(command => \n (\n command[attrIdCommandCategory] == idCommandCategoryRowNew\n || idCommandCategoryRowNew == 0\n )\n );\n let sortedCommands = commandsInCategory.sort((a, b) => a[flagName].localeCompare(b[flagName]));\n sortedCommands.forEach((command) => {\n optionJson = BusinessObjects.getOptionJsonFromObjectJson(command);\n option = DOM.createOption(optionJson);\n ddlCommand.appendChild(option);\n });\n this.handleChangeNestedElementCellTable(event, ddlCommand);\n }\n */\n hookupTableAssessmentCommandModalityLinksFieldsCommand() {\n this.hookupFieldsCommand(idTableAssessmentCommandModalityLinks);\n }\n hookupTableAssessmentCommandModalityLinksFieldsCommandModality() {\n let fieldFlag = flagCommandModality;\n let optionList = Utils.getListFromDict(filterCommandModalities); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagCommandModality;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsBribe() {\n let fieldFlag = flagBribe;\n let optionList = Utils.getListFromDict(filterBribes); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentCommandModalityLinks + ' td.' + flagBribe;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);\n }\n hookupTableAssessmentCommandModalityLinksFieldsIsOnLead() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagIsOnLead + ' .' + flagIsOnLead);\n }\n hookupTableAssessmentCommandModalityLinksFieldsTrialCount() {\n // this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagTrialCount + ' .' + flagTrialCount);\n }\n hookupTableAssessmentCommandModalityLinksFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' > tbody > tr > td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentCommandModalityLinksFieldsResponses() {\n let eventType = \"click\";\n let selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse;\n let handler = (event, element) => {\n let parentTd = DOM.getCellFromElement(element);\n let rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink);\n let idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink);\n let responsesTable = document.createElement(\"table\");\n responsesTable.id = idTableAssessmentResponses.replace(\"#\", \"\");\n responsesTable.classList.add(flagTableMain, flagAssessmentResponse);\n\n let head = document.createElement(\"thead\");\n let headRow = document.createElement(\"tr\");\n let thResponseQualityMetric = document.createElement(\"th\");\n thResponseQualityMetric.classList.add(flagResponseQualityMetric);\n thResponseQualityMetric.innerText = 'Response Quality Metric';\n headRow.appendChild(thResponseQualityMetric);\n let thObedienceLevel = document.createElement(\"th\");\n thObedienceLevel.classList.add(flagObedienceLevel);\n thObedienceLevel.innerText = 'Obedience Level';\n headRow.appendChild(thObedienceLevel);\n let thValueMeasured = document.createElement(\"th\");\n thValueMeasured.classList.add(flagValueMeasured);\n thValueMeasured.innerText = 'Value Measured';\n headRow.appendChild(thValueMeasured);\n let thNotes = document.createElement(\"th\");\n thNotes.classList.add(flagNotes);\n thNotes.innerText = 'Notes';\n headRow.appendChild(thNotes);\n let thActive = document.createElement(\"th\");\n thActive.classList.add(flagActive);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n thActive.appendChild(templateAddIcon.cloneNode(true));\n headRow.appendChild(thActive);\n head.appendChild(headRow);\n responsesTable.appendChild(head);\n\n let body = document.createElement(\"tbody\");\n \n let assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(link => link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink);\n let assessmentCommandModalityLink = (assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0) ? null : assessmentCommandModalityLinks[0];\n let responses = (assessmentCommandModalityLink == null) ? null : assessmentCommandModalityLink[flagAssessmentResponse];\n \n console.log({ assessmentCommandModalityLinks, responses });\n if (responses != null && responses.length > 0) {\n for (let responseKey in Object.keys(responses)) {\n let response = responses[responseKey];\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(response);\n body.appendChild(row);\n }\n }\n responsesTable.appendChild(body);\n\n parentTd.innerHTML = responsesTable.outerHTML;\n\n let responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse);\n if (responseRows != null && responseRows.length > 0) {\n for (let indexRow = 0; indexRow < responseRows.length; indexRow++) {\n let row = responseRows[indexRow];\n // let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse);\n \n let response = responses[indexRow]; // idAssessmentResponse];\n console.log({ indexRow, row, response }); // idAssessmentResponse,\n let inputValueMeasured = row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);\n DOM.setElementValueCurrent(inputValueMeasured, response[flagValueMeasured]);\n let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes);\n DOM.setElementValueCurrent(inputNotes, response[flagNotes]);\n }\n }\n\n this.hookupTablesAssessmentResponses();\n };\n Events.hookupEventHandler(\n eventType\n , selector\n , handler\n );\n this.hookupTablesAssessmentResponses();\n }\n static createNewRowTableAssessmentResponses(response) {\n if (response == null) response = {\n [attrIdAssessmentResponse]: null\n , [attrIdResponseQualityMetric]: {\n [attrIdResponseQualityMetric]: 0\n }\n , [attrIdObedienceLevel]: {\n [attrIdObedienceLevel]: 0\n }\n , [flagValueMeasured]: ''\n , [flagNotes]: ''\n , [flagActive]: true\n };\n console.log({ response });\n let isNew = (response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1);\n let row = document.createElement(\"tr\");\n row.classList.add(flagAssessmentResponse);\n if (isNew) row.classList.add(flagRowNew);\n row.setAttribute(attrIdAssessmentResponse, response[attrIdAssessmentResponse]);\n\n let tdResponseQualityMetric = document.createElement(\"td\");\n tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview);\n let divResponseQualityMetric = document.createElement(\"div\");\n divResponseQualityMetric.classList.add(flagResponseQualityMetric);\n let idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric];\n let responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric];\n DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric);\n divResponseQualityMetric.innerText = (responseQualityMetric == null) ? '' : responseQualityMetric[flagName];\n tdResponseQualityMetric.appendChild(divResponseQualityMetric);\n row.appendChild(tdResponseQualityMetric);\n\n let tdObedienceLevel = document.createElement(\"td\");\n tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview);\n let divObedienceLevel = document.createElement(\"div\");\n divObedienceLevel.classList.add(flagObedienceLevel);\n let idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel];\n let obedienceLevel = filterObedienceLevels[idObedienceLevel];\n DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel);\n divObedienceLevel.innerText = (obedienceLevel == null) ? '' : obedienceLevel[flagName];\n tdObedienceLevel.appendChild(divObedienceLevel);\n row.appendChild(tdObedienceLevel);\n\n let tdValueMeasured = document.createElement(\"td\");\n tdValueMeasured.classList.add(flagValueMeasured, flagDdlPreview);\n let inputValueMeasured = document.createElement(\"input\");\n inputValueMeasured.type = \"number\";\n inputValueMeasured.classList.add(flagValueMeasured);\n let valueMeasured = response[flagValueMeasured];\n DOM.setElementValueCurrent(inputValueMeasured, valueMeasured);\n DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured);\n tdValueMeasured.appendChild(inputValueMeasured);\n row.appendChild(tdValueMeasured);\n\n let tdNotes = document.createElement(\"td\");\n tdNotes.classList.add(flagNotes, flagDdlPreview);\n let inputNotes = document.createElement(\"textarea\");\n inputNotes.classList.add(flagNotes);\n let notes = response[flagNotes];\n DOM.setElementValueCurrent(inputNotes, notes);\n DOM.setElementAttributeValuePrevious(inputNotes, notes);\n tdNotes.appendChild(inputNotes);\n row.appendChild(tdNotes);\n\n console.log(inputValueMeasured.tagName);\n console.log(inputNotes.tagName);\n console.log({ valueMeasured, notes });\n\n let tdActive = document.createElement(\"td\");\n tdActive.classList.add(flagActive, flagDdlPreview);\n let templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);\n let templateDeleteIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete);\n let buttonActive = (response[flagActive]) ? templateDeleteIcon.cloneNode(true) : templateAddIcon.cloneNode(true);\n tdActive.appendChild(buttonActive);\n row.appendChild(tdActive);\n\n return row;\n }\n hookupTablesAssessmentResponses() {\n this.hookupTableAssessmentResponsesFieldsResponseQualityMetric();\n this.hookupTableAssessmentResponsesFieldsObedienceLevel();\n this.hookupTableAssessmentResponsesFieldsValueMeasured();\n this.hookupTableAssessmentResponsesFieldsNotes();\n this.hookupTableAssessmentResponsesFieldsActive();\n }\n hookupTableAssessmentResponsesFieldsResponseQualityMetric() {\n let fieldFlag = flagResponseQualityMetric;\n let optionList = Utils.getListFromDict(filterResponseQualityMetrics); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagResponseQualityMetric;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsObedienceLevel() {\n let fieldFlag = flagObedienceLevel;\n let optionList = Utils.getListFromDict(filterObedienceLevels); // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n let cellSelector = idTableAssessmentResponses + ' td.' + flagObedienceLevel;\n this.hookupTableCellDdlPreviews(\n fieldFlag\n , optionList\n , cellSelector\n );\n }\n hookupTableAssessmentResponsesFieldsValueMeasured() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagValueMeasured + ' .' + flagValueMeasured);\n }\n hookupTableAssessmentResponsesFieldsNotes() {\n this.hookupChangeHandlerTableCells(idTableAssessmentResponses + ' td.' + flagNotes + ' .' + flagNotes);\n }\n hookupTableAssessmentResponsesFieldsActive() {\n this.hookupFieldsActive(flagAssessmentResponse, (event, element) => { this.handleClickAddRowTableAssessmentResponses(event, element); });\n }\n handleClickAddRowTableAssessmentResponses(event, button) {\n event.stopPropagation();\n let tableResponses = DOM.getClosestParent(button, \"table\");\n let tbody = tableResponses.querySelector(\":scope > tbody\");\n let row = PageDogAssessment.createNewRowTableAssessmentResponses(null);\n if (tbody.classList.contains(flagIsCollapsed)) return;\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentResponse, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTablesAssessmentResponses();\n this.postInitialiseAssessmentResponseRowNewCallback(tbody);\n }\n postInitialiseAssessmentResponseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagResponseQualityMetric + ' div.' + flagResponseQualityMetric\n , ',td.' + flagObedienceLevel + ' div.' + flagObedienceLevel\n , ',td.' + flagValueMeasured + ' div.' + flagValueMeasured\n , ',td.' + flagNotes + ' div.' + flagNotes\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n let countActiveRows = tbody.querySelectorAll('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagDelete).length;\n /*\n newRows.filter(row => {\n let activeButton = row.querySelector('td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);\n return activeButton.classList.contains(flagDelete);\n }).length;\n */\n let rowAssessmentCommandModalityLink = DOM.getRowFromElement(tbody);\n let divTrialCount = rowAssessmentCommandModalityLink.querySelector('td.' + flagTrialCount + ' div.' + flagTrialCount);\n divTrialCount.innerText = countActiveRows;\n }\n\n hookupTableAssessmentCommandModalityLinksFieldsActive() {\n this.hookupFieldsActive(flagAssessmentCommandModalityLink, (event, element) => { this.handleClickAddRowTableAssessmentCommandModalityLinks(event, element); });\n }\n handleClickAddRowTableAssessmentCommandModalityLinks(event, button) {\n event.stopPropagation();\n _rowBlankAssessmentCommandModalityLink.setAttribute(attrIdAssessmentCommandModalityLink, -1 - _rowBlankAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink));\n let tbody = document.querySelector(idTableAssessmentCommandModalityLinks + ' tbody');\n if (tbody.classList.contains(flagIsCollapsed)) return;\n let row = _rowBlankAssessmentCommandModalityLink.cloneNode(true);\n row.classList.remove(flagInitialised);\n row.querySelectorAll('.' + flagInitialised).forEach(function(element) {\n element.classList.remove(flagInitialised);\n });\n let countRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr').length;\n row.setAttribute(attrIdAssessmentCommandModalityLink, -1 - countRows);\n tbody.prepend(row);\n tbody.scrollTop = 0;\n this.hookupTableAssessmentCommandModalityLinks();\n this.postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody);\n }\n postInitialiseAssessmentCommandModalityLinkRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagCommandCategory + ' div.' + flagCommandCategory\n , ',td.' + flagCommand + ' div.' + flagCommand\n , ',td.' + flagCommandModality + ' div.' + flagCommandModality\n , ',td.' + flagBribe + ' div.' + flagBribe\n ].join('');\n newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => {\n clickableElement.click();\n });\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogAssessments extends TableBasePage {\n static hash = hashPageDogAssessments;\n static attrIdRowObject = attrIdAssessment;\n callSaveTableContent = API.saveAssessments;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n this.hookupFilterWeather();\n this.hookupFilterLightingLevel();\n this.hookupFilterLocation();\n this.hookupFilterHandler();\n this.hookupFilterActive();\n }\n hookupFilterWeather() {\n this.hookupFilter(attrIdWeather);\n }\n hookupFilterLightingLevel() {\n this.hookupFilter(attrIdLightingLevel);\n }\n hookupFilterHandler() {\n this.hookupFilter(flagUserHandler);\n }\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n if (row == null) return;\n let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');\n let inputNotes = row.querySelector('td.' + flagNotes + ' textarea');\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n\n let jsonRow = {};\n jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);\n jsonRow[attrIdWeather] = this.getIdWeatherRow(row);\n jsonRow[attrIdLightingLevel] = this.getIdLightingLevelRow(row);\n jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemperatureCelcius);\n jsonRow[attrIdLocation] = this.getIdLocationRow(row);\n jsonRow[flagUserHandler] = this.getIdUserHandlerRow(row);\n jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n getIdWeatherRow(tr) {\n let elementWeather = tr.querySelector('td.' + flagWeather + ' .' + flagWeather);\n return DOM.getElementAttributeValueCurrent(elementWeather);\n }\n getIdLightingLevelRow(tr) {\n let elementLightingLevel = tr.querySelector('td.' + flagLightingLevel + ' .' + flagLightingLevel);\n return DOM.getElementAttributeValueCurrent(elementLightingLevel);\n }\n getIdLocationRow(tr) {\n let elementLocation = tr.querySelector('td.' + flagLocation + ' .' + flagLocation);\n return DOM.getElementAttributeValueCurrent(elementLocation);\n }\n getIdUserHandlerRow(tr) {\n let elementUserHandler = tr.querySelector('td.' + flagUserHandler + ' .' + flagUserHandler);\n return DOM.getElementAttributeValueCurrent(elementUserHandler);\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n let newestRow = newRows[0];\n let clickableElementsSelector = [\n 'td.' + flagDetail + ' .' + flagDetail\n ].join('');\n let detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => {\n clickableElement.\n clickableElement.click();\n });\n */\n newestRow.classList.add(flagIsCollapsed);\n detailButton.click();\n // console.log({ newestRow, detailButton });\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsDetail();\n this.hookupFieldsWeather();\n this.hookupFieldsLightingLevel();\n this.hookupFieldsTemperature();\n this.dogMixin.hookupFieldsLocation();\n this.hookupFieldsHandler();\n this.hookupFieldsNotesTable();\n this.hookupFieldsActive();\n }\n hookupFieldsDetail() {\n Events.hookupEventHandler(\n \"click\" // eventType\n , idTableMain + ' td.' + flagDetail + ' button.' + flagDetail // selector\n , (event, element) => {\n let parentTr = DOM.getRowFromElement(element);\n let idAssessment = parentTr.getAttribute(attrIdAssessment);\n /*\n console.log(\"click detail\");\n console.log({ element, parentTr, idAssessment });\n const data = {};\n const params = {\n [attrIdAssessment]: idAssessment\n };\n API.request(\n hashPageDogAssessment // hashEndpoint\n , 'GET' // method\n , data\n , params\n );\n */\n\n let formFilters = TableBasePage.getFormFilters();\n let filtersJson = DOM.convertForm2JSON(formFilters);\n filtersJson[attrIdAssessment] = idAssessment;\n Utils.consoleLogIfNotProductionEnvironment(\"hookupFieldsDetail\");\n Utils.consoleLogIfNotProductionEnvironment(\"formFilters\");\n Utils.consoleLogIfNotProductionEnvironment(formFilters);\n Utils.consoleLogIfNotProductionEnvironment(\"filtersJson\");\n Utils.consoleLogIfNotProductionEnvironment(filtersJson);\n this.leave();\n API.goToHash(hashPageDogAssessment, filtersJson);\n }\n );\n }\n hookupFieldsWeather() {\n this.hookupTableCellDdlPreviews(\n flagWeather\n , Utils.getListFromDict(filterWeathers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsLightingLevel() {\n this.hookupTableCellDdlPreviews(\n flagLightingLevel\n , Utils.getListFromDict(filterLightingLevels) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n hookupFieldsTemperature() {\n this.hookupChangeHandlerTableCells(idTableMain + ' td.' + flagTemperatureCelcius + ' input.' + flagTemperatureCelcius);\n }\n hookupFieldsHandler() {\n this.hookupTableCellDdlPreviews(\n flagUserHandler\n , Utils.getListFromDict(filterUserHandlers) // .sort((a, b) => a[flagName].localeCompare(b[flagName]))\n );\n }\n\n leave() {\n super.leave();\n }\n}\n\n","\nimport API from \"../../api.js\";\nimport BusinessObjects from \"../../lib/business_objects/business_objects.js\";\nimport DOM from \"../../dom.js\";\nimport Events from \"../../lib/events.js\";\nimport TableBasePage from \"../base_table.js\";\nimport Utils from \"../../lib/utils.js\";\nimport Validation from \"../../lib/validation.js\";\nimport DogTableMixinPage from \"./mixin_table.js\";\n\nexport default class PageDogCalendarEntries extends TableBasePage {\n static hash = hashPageDogCalendarEntries;\n static attrIdRowObject = attrIdCalendarEntry;\n callSaveTableContent = API.saveCalendarEntries;\n\n constructor(router) {\n super(router);\n this.dogMixin = new DogTableMixinPage(this);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n hookupFilters() {\n this.sharedHookupFilters();\n // this.hookupFilterCalendarEntryType();\n this.hookupFilterActive();\n }\n /*\n hookupFilterCalendarEntryType() {\n let filterSelector = idFormFilters + ' #' + attrIdCalendarEntryType;\n let filterCalendarEntryTypeOld = document.querySelector(filterSelector);\n filterCalendarEntryTypeOld.removeAttribute('id');\n let parentDiv = filterCalendarEntryTypeOld.parentElement;\n let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == \"True\");\n let filterCalendarEntryTypeNew = document.querySelector(idFormFilters + ' div.' + flagCalendarEntryTypeOnly + '.' + flagContainerInput + ' svg.' + flagCalendarEntryTypeOnly);\n filterCalendarEntryTypeNew.setAttribute('id', flagCalendarEntryTypeOnly);\n if (isChecked) filterCalendarEntryTypeNew.classList.add(flagIsChecked);\n\n Events.hookupEventHandler(\"click\", filterSelector, (event, filterCalendarEntryType) => {\n Utils.consoleLogIfNotProductionEnvironment({ filterCalendarEntryType });\n Utils.consoleLogIfNotProductionEnvironment({ [filterCalendarEntryType.tagName]: filterCalendarEntryType.tagName });\n let svgElement = (filterCalendarEntryType.tagName.toUpperCase() == 'SVG') ? filterCalendarEntryType : filterCalendarEntryType.parentElement;\n let wasChecked = svgElement.classList.contains(flagIsChecked);\n if (wasChecked) {\n svgElement.classList.remove(flagIsChecked);\n }\n else {\n svgElement.classList.add(flagIsChecked);\n }\n return this.handleChangeFilter(event, filterCalendarEntryType);\n });\n let filter = document.querySelector(filterSelector);\n let filterValuePrevious = DOM.getElementValueCurrent(filter);\n filter.setAttribute(attrValueCurrent, filterValuePrevious);\n filter.setAttribute(attrValuePrevious, filterValuePrevious);\n }\n */\n\n loadRowTable(rowJson) {\n if (rowJson == null) return;\n if (_verbose) { Utils.consoleLogIfNotProductionEnvironment(\"applying data row: \", rowJson); }\n }\n getJsonRow(row) {\n Utils.consoleLogIfNotProductionEnvironment({ row });\n if (row == null) return;\n let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);\n let inputName = row.querySelector('td.' + flagName + ' .' + flagName);\n let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);\n \n console.log(\"inputCode\");\n console.log(inputCode);\n\n let jsonRow = {};\n jsonRow[attrIdCalendarEntry] = row.getAttribute(attrIdCalendarEntry);\n jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);\n jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);\n jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);\n return jsonRow;\n }\n initialiseRowNew(tbody, row) {\n \n }\n postInitialiseRowNewCallback(tbody) {\n // let newRows = tbody.querySelectorAll('tr.' + flagRowNew);\n }\n\n hookupTableMain() {\n super.hookupTableMain();\n this.hookupFieldsCodeTable();\n this.hookupFieldsNameTable();\n this.hookupFieldsActive();\n }\n\n leave() {\n super.leave();\n }\n}\n\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityReport extends BasePage {\n static hash = hashPageAccessibilityReport;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","import BasePage from \"../base.js\";\n\nexport default class PageAccessibilityStatement extends BasePage {\n static hash = hashPageAccessibilityStatement;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\nimport BasePage from \"../base.js\";\n\nexport default class PageLicense extends BasePage {\n static hash = hashPageLicense;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","\nimport BasePage from \"../base.js\";\n\nexport default class PagePrivacyPolicy extends BasePage {\n static hash = hashPagePrivacyPolicy;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}","import BasePage from \"../base.js\";\n\nexport default class PageRetentionSchedule extends BasePage {\n static hash = hashPageDataRetentionSchedule;\n\n constructor(router) {\n super(router);\n }\n\n initialize() {\n this.sharedInitialize();\n }\n\n leave() {\n super.leave();\n }\n}\n","\n// Pages\n// Core\nimport PageHome from './pages/core/home.js';\nimport PageContact from './pages/core/contact.js';\nimport PageContactSuccess from './pages/core/contact-success.js';\nimport PageApplyFoundingPartner from './pages/core/apply-founding-partner.js';\nimport PageApplyFoundingPartnerSuccess from './pages/core/apply-founding-partner-success.js';\n// Dog\nimport PageDogHome from './pages/dog/home.js';\nimport PageDogCommandCategories from './pages/dog/command_categories.js';\nimport PageDogCommands from './pages/dog/commands.js';\nimport PageDogDogCommandLinks from './pages/dog/dog_command_links.js';\n// import PageDogDogs from './pages/dog/dogs.js';\nimport PageDogLocations from './pages/dog/locations.js';\nimport PageDogButtonIcons from './pages/dog/button_icons.js';\nimport PageDogCommandButtonLinks from './pages/dog/command_button_links.js';\nimport PageDogAssessment from './pages/dog/assessment.js';\nimport PageDogAssessments from './pages/dog/assessments.js';\nimport PageDogCalendarEntries from './pages/dog/calendar_entries.js'\n// Legal\nimport PageAccessibilityReport from './pages/legal/accessibility_report.js';\nimport PageAccessibilityStatement from './pages/legal/accessibility_statement.js';\nimport PageLicense from './pages/legal/license.js';\nimport PagePrivacyPolicy from './pages/legal/privacy_policy.js';\nimport PageRetentionSchedule from './pages/legal/retention_schedule.js';\n// User\n// import PageUserLogin from './pages/user/login.js';\n// import PageUserLogout from './pages/user/logout.js';\n// import PageUserAccount from './pages/user/account.js';\n\nimport API from './api.js';\nimport DOM from './dom.js';\nimport Utils from './lib/utils.js';\n\n\nexport default class Router {\n constructor() {\n // Pages\n this.pages = {};\n // Core\n this.pages[hashPageHome] = { name: 'PageHome', module: PageHome };\n this.pages[hashPageContact] = { name: 'PageContact', module: PageContact };\n this.pages[hashPageContactSuccess] = { name: 'PageContactSuccess', module: PageContactSuccess };\n this.pages[hashPageApplyFoundingPartner] = { name: 'PageApplyFoundingPartner', module: PageApplyFoundingPartner };\n this.pages[hashPageApplyFoundingPartnerSuccess] = { name: 'PageApplyFoundingPartnerSuccess', module: PageApplyFoundingPartnerSuccess };\n // Dog\n this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome };\n this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories };\n this.pages[hashPageDogCommands] = { name: 'PageDogCommands', module: PageDogCommands };\n this.pages[hashPageDogDogCommandLinks] = { name: 'PageDogDogCommandLinks', module: PageDogDogCommandLinks };\n // this.pages[hashPageDogDogs] = { name: 'PageDogDogs', module: PageDogDogs };\n this.pages[hashPageDogLocations] = { name: 'PageDogLocations', module: PageDogLocations };\n this.pages[hashPageDogButtonIcons] = { name: 'PageDogButtonIcons', module: PageDogButtonIcons };\n this.pages[hashPageDogCommandButtonLinks] = { name: 'PageDogCommandButtonLinks', module: PageDogCommandButtonLinks };\n this.pages[hashPageDogAssessment] = { name: 'PageDogAssessment', module: PageDogAssessment };\n this.pages[hashPageDogAssessments] = { name: 'PageDogAssessments', module: PageDogAssessments };\n this.pages[hashPageDogCalendarEntries] = { name: 'PageDogCalendarEntries', module: PageDogCalendarEntries };\n // Legal\n this.pages[hashPageAccessibilityStatement] = { name: 'PageAccessibilityStatement', module: PageAccessibilityStatement };\n this.pages[hashPageDataRetentionSchedule] = { name: 'PageDataRetentionSchedule', module: PageRetentionSchedule };\n this.pages[hashPageLicense] = { name: 'PageLicense', module: PageLicense };\n this.pages[hashPagePrivacyPolicy] = { name: 'PagePrivacyPolicy', module: PagePrivacyPolicy };\n // User\n // this.pages[hashPageUserLogin] = { name: 'PageUserLogin', module: PageUserLogin }; // pathModule: './pages/user/login.js' };\n // this.pages[hashPageUserLogout] = { name: 'PageUserLogout', module: PageUserLogout }; // pathModule: './pages/user/logout.js' };\n // this.pages[hashPageUserAccount] = { name: 'PageUserAccount', module: PageUserAccount }; // pathModule: './pages/user/account.js' };\n // Routes\n this.routes = {};\n // Core\n this.routes[hashPageHome] = (isPopState = false) => this.navigateToHash(hashPageHome, isPopState);\n this.routes[hashPageContact] = (isPopState = false) => this.navigateToHash(hashPageContact, isPopState);\n this.routes[hashPageContactSuccess] = (isPopState = false) => this.navigateToHash(hashPageContactSuccess, isPopState);\n this.routes[hashPageApplyFoundingPartner] = (isPopState = false) => this.navigateToHash(hashPageApplyFoundingPartner, isPopState);\n this.routes[hashPageApplyFoundingPartnerSuccess] = (isPopState = false) => this.navigateToHash(hashPageApplyFoundingPartnerSuccess, isPopState);\n // Dog\n this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState);\n this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState);\n this.routes[hashPageDogCommands] = (isPopState = false) => this.navigateToHash(hashPageDogCommands, isPopState);\n this.routes[hashPageDogDogCommandLinks] = (isPopState = false) => this.navigateToHash(hashPageDogDogCommandLinks, isPopState);\n // this.routes[hashPageDogDogs] = (isPopState = false) => this.navigateToHash(hashPageDogDogs, isPopState);\n this.routes[hashPageDogLocations] = (isPopState = false) => this.navigateToHash(hashPageDogLocations, isPopState);\n this.routes[hashPageDogButtonIcons] = (isPopState = false) => this.navigateToHash(hashPageDogButtonIcons, isPopState);\n this.routes[hashPageDogCommandButtonLinks] = (isPopState = false) => this.navigateToHash(hashPageDogCommandButtonLinks, isPopState);\n this.routes[hashPageDogAssessment] = (isPopState = false) => this.navigateToHash(hashPageDogAssessment, isPopState);\n this.routes[hashPageDogAssessments] = (isPopState = false) => this.navigateToHash(hashPageDogAssessments, isPopState);\n this.routes[hashPageDogCalendarEntries] = (isPopState = false) => this.navigateToHash(hashPageDogCalendarEntries, isPopState);\n // Legal\n this.routes[hashPageAccessibilityStatement] = (isPopState = false) => this.navigateToHash(hashPageAccessibilityStatement, isPopState);\n this.routes[hashPageDataRetentionSchedule] = (isPopState = false) => this.navigateToHash(hashPageDataRetentionSchedule, isPopState);\n this.routes[hashPageLicense] = (isPopState = false) => this.navigateToHash(hashPageLicense, isPopState);\n this.routes[hashPagePrivacyPolicy] = (isPopState = false) => this.navigateToHash(hashPagePrivacyPolicy, isPopState);\n // User\n // this.routes[hashPageUserLogin] = (isPopState = false) => this.navigateToHash(hashPageUserLogin, isPopState);\n // this.routes[hashPageUserLogout] = (isPopState = false) => this.navigateToHash(hashPageUserLogout, isPopState);\n // this.routes[hashPageUserAccount] = (isPopState = false) => this.navigateToHash(hashPageUserAccount, isPopState);\n this.initialize();\n }\n loadPage(hashPage, isPopState = false) {\n const PageClass = this.getClassPageFromHash(hashPage);\n this.currentPage = new PageClass(this);\n this.currentPage.initialize(isPopState);\n window.addEventListener('beforeunload', () => this.currentPage.leave());\n }\n getClassPageFromHash(hashPage) {\n \n let pageJson = this.pages[hashPage];\n try {\n const module = pageJson.module;\n return module; \n }\n catch (error) {\n Utils.consoleLogIfNotProductionEnvironment(\"this.pages: \", this.pages);\n console.error('Page not found:', hashPage);\n throw error;\n }\n }\n initialize() {\n window.addEventListener('popstate', this.handlePopState.bind(this));\n }\n handlePopState(event) {\n this.loadPageCurrent();\n }\n loadPageCurrent() {\n const hashPageCurrent = DOM.getHashPageCurrent();\n this.loadPage(hashPageCurrent);\n }\n navigateToHash(hash, data = null, params = null, isPopState = false) {\n let url = API.getUrlFromHash(hash, params);\n history.pushState({data: data, params: params}, '', hash);\n API.goToUrl(url, data);\n }\n \n navigateToUrl(url, data = null, appendHistory = true) {\n // this.beforeLeave();\n if (appendHistory) history.pushState(data, '', url);\n url = API.parameteriseUrl(url, data);\n API.goToUrl(url);\n }\n\n static loadPageBodyFromResponse(response) {\n DOM.loadPageBody(response.data);\n }\n}\n\nexport const router = new Router();\n","\n'use strict';\n\nimport DOM from './dom.js';\nimport Router from './router.js';\n\n\nclass App {\n constructor() {\n this.dom = new DOM();\n this.router = new Router();\n }\n\n initialize() {\n this.setupEventListeners();\n this.start();\n }\n\n setupEventListeners() {\n // document.addEventListener('click', this.handleGlobalClick.bind(this));\n }\n\n handleGlobalClick(event) {\n }\n\n start() {\n this.initPageCurrent();\n }\n\n initPageCurrent() {\n this.router.loadPageCurrent();\n }\n \n}\n\nconst app = new App();\n\nfunction domReady(fn) {\n if (document.readyState !== 'loading') {\n fn();\n } else {\n document.addEventListener('DOMContentLoaded', fn);\n }\n}\n\ndomReady(() => {\n app.initialize();\n});\n\nwindow.app = app;\n\nexport default app;","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};"],"names":["Validation","_classCallCheck","_createClass","key","value","isEmpty","object","undefined","length","isString","trim","i","isValidNumber","positiveOnly","isNaN","parseFloat","getDataContentType","params","data","contentType","JSON","stringify","Data","ContentType","arrayContainsItem","array","itemValue","hasItem","isJQueryElementArray","jQuery","document","querySelectorAll","is","isDate","Date","getTime","dictHasKey","d","k","areEqualDicts","dict1","dict2","keys1","Object","keys","keys2","_i3","_keys","imageExists","url","callback","img","Image","onload","onerror","src","toFixedOrDefault","decimalPlaces","defaultValue","arguments","toFixed","default","Utils","DOM","setElementAttributesValuesCurrentAndPrevious","element","setElementAttributeValueCurrent","setElementAttributeValuePrevious","setAttribute","attrValueCurrent","attrValuePrevious","setElementValuesCurrentAndPrevious","setElementValueCurrent","tagName","toUpperCase","type","checked","textContent","setElementValueCurrentIfEmpty","getElementValueCurrent","getCellFromElement","closest","getRowFromElement","flagRow","selector","getClosestParent","parentSelector","parent","parentElement","matches","convertForm2JSON","elementForm","dataForm","containersFilter","flagContainerInput","flagFilter","containerFilter","labelFilter","keyFilter","filter","indexFilter","querySelector","getAttribute","concat","loadPageBody","contentNew","pageBody","idPageBody","innerHTML","getHashPageCurrent","hashPageCurrent","body","dataset","page","updateAndCheckIsElementDirty","isElementDirty","isDirty","handleDirtyElement","toggleElementHasClassnameFlag","flagDirty","elementHasFlag","flag","elementAlreadyHasFlag","classList","contains","add","remove","hasDirtyChildrenContainer","container","hasDirtyChildrenNotDeletedContainer","flagDelete","returnVal","flagButton","flagActive","getElementAttributeValueCurrent","flagCheckbox","flagIsChecked","getElementAttributeValuePrevious","scrollToElement","scrollTop","offset","top","isElementInContainer","containerBounds","getBoundingClientRect","elementBounds","left","height","width","alertError","errorType","errorText","alert","createOptionUnselectedProductVariation","_defineProperty","flagProductVariationType","flagNameAttrOptionText","flagName","flagNameAttrOptionValue","attrIdProductVariationType","flagProductVariation","attrIdProductVariation","createOption","optionJson","text","option","createElement","selected","escapeHtml","div","unescapeHtml","html","innerText","Events","initialiseEventHandler","selectorElement","classInitialised","eventHandler","forEach","hookupEventHandler","eventType","flagInitialised","addEventListener","event","stopPropagation","LocalStorage","getLocalStorage","parse","localStorage","getItem","setLocalStorage","newLS","setItem","_regeneratorRuntime","e","t","r","prototype","n","hasOwnProperty","o","defineProperty","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","apply","_objectSpread","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPrimitive","toPrimitive","String","Number","API","getCsrfToken","idCSRFToken","_request","_callee","hashEndpoint","csrfToken","options","response","_args","_callee$","_context","getUrlFromHash","headers","flagCsrfToken","fetch","ok","status","json","t0","console","error","request","_x","hash","hashPageHome","parameteriseUrl","_pathHost","URLSearchParams","toString","goToUrl","window","location","href","goToHash","_loginUser","_callee2","_callee2$","_context2","flagCallback","hashPageUserLogin","loginUser","_saveCommandCategories","_callee3","commandCategories","formFilters","comment","dataRequest","_callee3$","_context3","flagFormFilters","flagCommandCategory","flagComment","hashSaveDogCommandCategory","saveCommandCategories","_x2","_x3","_x4","_saveCommands","_callee4","commands","_callee4$","_context4","flagCommand","hashSaveDogCommand","saveCommands","_x5","_x6","_x7","_saveDogCommandLinks","_callee5","dogCommandLinks","_callee5$","_context5","flagDogCommandLink","hashSaveDogDogCommandLink","saveDogCommandLinks","_x8","_x9","_x10","_saveLocations","_callee6","locations","_callee6$","_context6","flagLocation","hashSaveDogLocation","saveLocations","_x11","_x12","_x13","_saveButtonIcons","_callee7","buttonIcons","_callee7$","_context7","flagButtonIcon","hashSaveDogButtonIcon","saveButtonIcons","_x14","_x15","_x16","_saveCommandButtonLinks","_callee8","links","_callee8$","_context8","flagCommandButtonLink","hashSaveDogCommandButtonLink","saveCommandButtonLinks","_x17","_x18","_x19","_saveAssessments","_callee9","assessments","_callee9$","_context9","flagAssessment","hashSaveDogAssessment","saveAssessments","_x20","_x21","_x22","_saveAssessmentsDistractionsAndResponses","_callee10","filtersJson","_callee10$","_context10","attrIdAssessment","hashSaveDogAssessmentDistractionAndResponse","saveAssessmentsDistractionsAndResponses","_x23","_x24","_x25","getListFromDict","dict","list","consoleLogIfNotProductionEnvironment","message","environment","is_production","log","OverlayConfirm","hookup","callbackSuccess","idOverlayConfirm","flagCancel","buttonCancel","overlay","style","visibility","flagSubmit","buttonConfirm","textarea","show","flagIsCollapsed","BusinessObjects","OverlayError","BasePage","router","title","titlePageCurrent","initialize","sharedInitialize","logInitialisation","hookupCommonElements","hookupLogos","hookupNavigation","hookupOverlays","_this","flagImageLogo","flagLogo","navigateToHash","idButtonHamburger","overlayHamburger","idOverlayHamburger","flagExpanded","hookupButtonsNavHome","hookupButtonsNavContact","hookupButtonsNavUserAccount","hookupButtonsNavUserLogout","hookupButtonsNavUserLogin","hookupButtonsNavDogHome","hookupButtonsNavDogCommandCategories","hookupButtonsNavDogCommands","hookupButtonsNavDogDogCommandLinks","hookupButtonsNavDogDogs","hookupButtonsNavDogLocations","hookupButtonsNavDogButtonIcons","hookupButtonsNavDogCommandButtonLinks","hookupButtonsNavDogAssessments","hookupButtonsNavDogCalendarEntries","hookupButtonsNav","flagNavHome","buttonSelector","hashPageNav","_this2","button","flagNavContact","hashPageContact","flagNavUserAccount","hashPageUserAccount","flagNavUserLogout","hashPageUserLogout","_this3","flagNavUserLogin","navigator","leave","Success","Message","flagNavDogHome","hashPageDogHome","flagNavDogCommandCategories","hashPageDogCommandCategories","flagNavDogCommands","hashPageDogCommands","flagNavDogDogCommandLinks","hashPageDogDogCommandLinks","flagNavDogDogs","hashPageDogDogs","flagNavDogLocations","hashPageDogLocations","flagNavDogButtonIcons","hashPageDogButtonIcons","flagNavDogCommandButtonLinks","hashPageDogCommandButtonLinks","flagNavDogAssessments","hashPageDogAssessments","flagNavDogCalendarEntries","hashPageDogCalendarEntries","hookupOverlayFromId","idOverlayError","idOverlay","display","hookupButtonSave","_this4","flagContainer","flagSave","target","setLocalStoragePage","dataPage","getLocalStoragePage","toggleShowButtonsSaveCancel","buttonContainerSelector","buttonSave","idButtonSave","idButtonCancel","isDirtyFilter","idTableMain","PageHome","_BasePage","_callSuper","_inherits","_superPropGet","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","_assertThisInitialized","ReferenceError","_get","get","bind","_superPropBase","_setPrototypeOf","_wrapNativeSuper","Map","_isNativeFunction","has","set","Wrapper","_construct","Boolean","valueOf","Function","indexOf","_toArray","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_iterableToArrayLimit","_createForOfIteratorHelper","_n2","F","test","hi","Or","gi","ne","zr","H","Mt","WeakSet","Ut","en","Fr","self","Blob","_i","URL","webkitURL","createObjectURL","Worker","revokeObjectURL","_unused","encodeURIComponent","mi","Qr","_Qr$v","_window$__svelte","__svelte","Set","wi","pi","yi","bi","Ei","xi","Wt","tn","rn","Je","W","$i","Mr","oe","nn","It","Yt","pe","ze","yt","re","bt","K","ye","et","Ke","St","ki","Zt","Ci","ln","ut","an","Ai","on","Ri","Ii","Et","xt","Pe","Si","Ti","Ni","sn","fn","Li","requestIdleCallback","setTimeout","dt","vt","un","cn","Gt","queueMicrotask","Di","Ur","dn","Pi","vn","Oi","zi","Fi","Mi","Ui","ji","Vi","Bi","qi","Hi","Wi","ue","reactions","equals","rv","wv","He","Yi","hn","ae","ce","Qi","P","Dn","includes","Zi","En","gn","A","ge","el","de","Lt","De","ctx","B","deps","effects","_n","we","Gi","Ji","Se","$n","mn","Ce","Tt","warn","D","Ge","O","Re","Xe","Te","Z","Ki","nodeType","le","Proxy","deleteProperty","isInteger","jr","w","m","z","T","Y","M","_iterator","_step","_step$value","err","Vr","wn","pn","yn","jt","userAgent","Element","Node","__click","__className","__attributes","__style","__e","Text","__t","Jt","createTextNode","me","G","appendChild","Br","Comment","he","after","before","Xi","wt","$t","kt","Oe","Kt","qr","ct","Ie","V","J","bn","Ct","ht","_a$reactions","tl","_unused2","rl","Nt","xn","Wr","At","_m$reactions","nl","Xt","hl","An","Cn","teardown","il","kn","al","ll","first","nodes_start","Rn","$","ol","_ol","Qe","sl","fl","ul","last","Fe","nodes_end","transitions","_f$effects","cl","Vt","_r$e","effect","reaction","Qt","dl","vl","outro","Bt","er","We","map","tr","Rt","_iterator2","_step2","In","gl","_iterator3","_step3","out","_iterator4","_step4","is_global","Hr","Sn","_iterator5","_step5","Tn","Nn","x","Ln","_l","ml","Yr","Pn","defaultPrevented","_iterator6","elements","_step6","__on_r","capture","On","wl","zn","qt","pl","ft","cancelBubble","startsWith","yl","passive","removeEventListener","bl","_iterator7","_step7","ownerDocument","composedPath","__root","assignedSlot","parentNode","host","disabled","_z","_z2","_iterator8","_step8","_loop","currentTarget","rr","content","Ae","ve","importNode","cloneNode","lastChild","El","ee","Fn","Mn","xl","_t$intro","intro","anchor","recover","Ye","_ref","_ref$props","props","events","context","_ref$intro","$$events","_iterator9","_step9","removeChild","Ht","WeakMap","$l","ke","_ref2","_ref3","parseInt","substring","Ze","_t2","kl","$$slots","children","Cl","_r$head","getRootNode","head","id","code","Zr","Al","Rl","removeAttribute","className","toggle","Il","Sl","Gr","hasAttribute","ie","Tl","Un","nodeName","Nl","_e$__attributes","namespaceURI","Jr","Ll","defaultChecked","Kr","Xr","jn","Dl","mt","Pl","C","_Pl","_Pl2","_ref4","be","N","$$legacy","X","se","U","Ol","zl","_e","te","_t$intro2","_r$get","_r$get2","_r$get3","hydrate","component","$$host","sync","_loop2","_Object$keys","_i2","$set","assign","$destroy","$on","_len","_key","Vn","HTMLElement","_HTMLElement","$$ctor","$$s","attachShadow","mode","$$l","$$c","$$l_u","_connectedCallback","_this5","_iterator10","_step10","_i4","_iterator11","_step11","_i5","_a","_iterator13","_step13","$$cn","Fl","$$d","attributes","$$g_p","pt","$$p_d","shadowRoot","$$me","$$r","_iterator12","_step12","reflect","attribute","connectedCallback","attributeChangedCallback","disconnectedCallback","_this6","_this7","find","toLowerCase","childNodes","slot","Ml","_Vn","_this8","Bn","TextEncoder","Ul","Uint8Array","padStart","join","jl","_jl","_args10","now","Math","round","random","qn","algorithm","challenge","salt","signature","_qn","_callee11","_callee11$","_context11","crypto","subtle","digest","encode","t1","Vl","AbortController","promise","signal","aborted","number","took","controller","Bl","Intl","DateTimeFormat","resolvedOptions","timeZone","_unused3","ql","atob","charCodeAt","Hl","floor","Wl","_Wl","_callee13","_args13","_callee13$","_context13","_ref7","_callee12","_callee12$","_context12","decrypt","iv","clearText","TextDecoder","decode","importKey","reject","E","ERROR","VERIFIED","VERIFYING","UNVERIFIED","EXPIRED","Yl","Zl","Gl","Jl","Kl","Xl","Ql","ea","ta","ra","na","ia","la","Lr","Dr","Ee","Me","min","hardwareConcurrency","tt","nr","ir","lr","rt","dispatchEvent","CustomEvent","detail","ar","documentElement","lang","split","Dt","origin","endsWith","Pt","wr","or","Q","ariaLinkLabel","expired","footer","label","verified","verifying","waitAlert","sr","Ue","R","j","nt","je","Ve","fe","xe","Ne","Xn","Qn","Hn","hr","gr","vr","clearTimeout","cr","dr","mr","I","Jn","pluginName","Ot","pr","it","$e","requestAnimationFrame","fr","btoa","_i6","_xe","destroy","ur","lt","Wn","_Wn","L","_","b","S","q","_L","qe","_L2","globalThis","Response","verifyurl","Er","Yn","Zn","blockedCountries","classifier","disableRules","email","expectedCountries","expectedLanguages","fields","ipAddress","Gn","reduce","replace","RegExp","_iterator14","altchaPlugins","_step14","clarify","dispatch","getConfiguration","xr","getFloatingAnchor","$r","getState","kr","solve","br","setState","Le","setFloatingAnchor","Cr","verify","_console","_len2","_key2","some","Kn","reportValidity","gt","_i7","_xe2","onErrorChange","preventDefault","requestSubmit","_r","_i8","_xe3","onStateChange","clientHeight","clientWidth","bottom","max","ei","_ei","_Zn","ot","st","vi","Pr","payload","classification","yr","_br","ti","maxnumber","solution","obfuscated","t2","t3","t4","_ti","_i10","_b2","_p","_args6","ceil","altchaCreateWorker","all","_i9","_b","postMessage","start","terminate","_it","auto","blockspam","customfetch","floatinganchor","delay","floatingoffset","floating","expire","challengeurl","debug","hidefooter","hidelogo","mockerror","refetchonexpire","spamfilter","strings","workers","workerurl","ri","state","_$e","_ref6","Ar","Rr","at","zt","Ir","ni","_t","Sr","Be","__change","Ft","ii","li","ai","oi","si","Tr","fi","Nr","ui","ci","di","required","configure","getPlugin","challengejson","plugins","customElements","Altcha","PageContact","hookupButtonSubmitFormContactUs","flagButtonPrimary","PageContactSuccess","hashPageContactSuccess","PageApplyFoundingPartner","hookupButtonSubmitFormApplyFoundingPartnerUs","hashPageApplyFoundingPartner","PageApplyFoundingPartnerSuccess","hashPageApplyFoundingPartnerSuccess","PageDogHome","hookupDogHome","getOptionJsonFromObjectJsonAndKeys","objectJson","keyText","keyValue","valueSelected","getOptionJsonFromObjectJson","getObjectText","getListObjectsFromIdDictAndCsv","idDict","idCsv","listObjects","ids","msgError","labelError","idLabelError","TableBasePage","cursorYInitial","rowInitial","placeholder","dragSrcEl","dragSrcRow","hookupTableCellDdls","isPopState","isSinglePageApp","hookupFilters","hookupButtonsSaveCancel","hookupTableMain","saveRecordsTableDirtySinglePageApp","saveRecordsTableDirty","filters","getFormFilters","filtersDefault","callFilterTableContent","sharedHookupFilters","hookupButtonApplyFilters","hookupSearchTextFilter","hookupFilterActive","filterSelector","idFormFilters","flagActiveOnly","filterActiveOld","parentDiv","isChecked","filterActiveNew","filterActive","svgElement","wasChecked","handleChangeFilter","filterValuePrevious","hookupFilter","filterFlag","handler","areDirtyFilters","tbody","rows","row","dirtyInputs","dirtyInput","isDirtyLabel","initialisedElements","initialisedElement","updateAndToggleShowButtonsSaveCancel","hookupFilterIsNotEmpty","flagIsNotEmpty","idButtonApplyFilters","flagSearch","hookupFilterDog","attrIdDog","hookupFilterCommandCategory","attrIdCommandCategory","filterCommandCategory","idCommandCategory","filterCommands","commandsInCategory","command","sortedCommands","sort","localeCompare","filterCommand","idCommandPrevious","Event","hookupFilterCommand","attrIdCommand","hookupFilterLocation","attrIdLocation","callbackLoadTableContent","table","getTableMain","bodyTable","rowsJson","flagRows","every","display_order","loadRowTable","rowJson","getAndLoadFilteredTableContentSinglePageApp","hookupButtonCancel","records","getTableRecords","formElement","idTextareaConfirm","callSaveTableContent","flagStatus","flagSuccess","_verbose","flagMessage","_this9","dirtyOnly","record","getJsonRow","_this10","_this11","handleClickAddRowTable","_rowBlank","attrIdRowObject","countRows","initialiseRowNew","prepend","postInitialiseRowNewCallback","_this12","cacheRowBlank","selectorRowNew","flagRowNew","rowBlankTemp","initialiseSliderDisplayOrderRowNew","slidersDisplayOrder","flagDisplayOrder","flagSlider","maxDisplayOrder","slider","sliderDisplayOrder","hookupSlidersDisplayOrderTable","selectorDisplayOrder","hookupChangeHandlerTableCells","inputSelector","_this13","handleChangeNestedElementCellTable","input","wasDirtyParentRows","getAllIsDirtyRowsInParentTree","wasDirtyElement","isDirtyElement","cascadeChangedIsDirtyNestedElementCellTable","isDirtyRow","wasDirtyRow","shift","hookupChangeHandlerTableCellsWhenNotCollapsed","_this14","hookupFieldsCodeTable","flagCode","hookupFieldsNameTable","hookupFieldsDescriptionTable","flagDescription","hookupFieldsNotesTable","flagNotes","hookupFieldsActive","_this15","flagTable","handleClickRowNew","selectorButton","selectorButtonDelete","selectorButtonUndelete","hookupButtonsRowDelete","hookupButtonsRowUndelete","_this16","changeHandler","handleClickButtonRowDelete","changeEvent","changeElement","_this17","valuePrevious","wasDirty","buttonAddTemplate","idContainerTemplateElements","flagAdd","buttonAdd","replaceWith","_this18","handleClickButtonRowUndelete","_this19","buttonDeleteTemplate","buttonDelete","hookupTdsAccessLevel","hookupTableCellDdlPreviews","flagAccessLevel","accessLevels","fieldFlag","optionList","_this20","cellSelector","ddlHookup","ddlSelector","handleClickTableCellDdlPreview","_this21","optionObjectList","_this22","idSelected","td","ddl","optionObjectJson","toggleColumnCollapsed","flagColumn","isCollapsed","toggleColumnHasClassnameFlag","toggleColumnHeaderCollapsed","hookupFieldsCommandCategory","_this23","idTable","filterCommandCategories","hookupCommandCategoryDdls","_this24","handleChangeCommandCategoryDdl","ddlCategory","idCommandCategoryRowOld","getIdCommandCategoryRow","idCommandCategoryRowNew","idCommandCategoryFilter","getIdCommandCategoryFilter","tdCommand","ddlCommand","hookupFieldsCommand","_this25","parentTr","tdCommandCategory","idCommandCategoryRow","filterCommandList","handleChangeCommandDdl","idCommandNew","getIdCommandRow","commandNew","divCommandCategory","ddlCommandCategory","elementCommandCategory","commandCategoryFilter","commandFilter","valueCurrentCommandCategoryFilter","valueCurrentCommandFilter","getHasCommandCategoryFilter","elementCommand","getIdCommandFilter","idCommand","getHasCommandFilter","idCommandFilter","hookupFieldsDog","flagDog","filterDogs","getIdDogRow","elementDog","columnFlag","isRequiredFlag","classnameFlag","columnTh","columnThHasFlag","toggleColumnHeaderHasClassnameFlag","isDirtyMainTable","DogMixinPage","pageCurrent","hookupLocalStorageDog","DogTableMixinPage","_DogMixinPage","hookupTable","hookupFieldsLocation","filterLocations","PageDogCommandCategories","_TableBasePage","dogMixin","inputCode","inputName","buttonActive","jsonRow","PageDogCommands","inputHandSignalDefaultDescription","flagHandSignalDefaultDescription","inputCanHaveButton","flagCanHaveButton","inputNotes","newRows","newestRow","clickableElementsSelector","clickableElement","click","hookupTextareasHandSignalDefaultDescription","hookupFieldsCanHaveButton","PageDogDogCommandLinks","inputHandSignalDescription","flagHandSignalDescription","attrIdDogCommandLink","hookupTextareasHandSignalDescription","PageDogLocations","flagLocationParent","getIdLocationParentRow","elementLocationParent","hookupFieldsLocationParent","idLocationRow","PageDogButtonIcons","attrIdButtonIcon","flagImage","getIdImageRow","elementImage","hookupFieldsImage","buttonicons","PageDogCommandButtonLinks","hookupFilterButtonShape","hookupFilterColour","hookupFilterButtonIcon","attrIdButtonShape","attrIdColour","attrIdCommandButtonLink","hookupFieldsButtonShape","hookupFieldsColour","hookupFieldsButtonIcon","flagButtonShape","filterButtonShapes","flagColour","filterColours","filterButtonIcons","_rowBlankDistraction","_rowBlankAssessmentCommandModalityLink","PageDogAssessment","idTableAssessment","inputWeather","flagWeather","inputLightingLevel","flagLightingLevel","inputTemeratureCelcius","flagTemperatureCelcius","inputLocation","inputUserHandler","flagUserHandler","idAssessment","attrIdWeather","attrIdLightingLevel","flagDistraction","getDirtyDistractions","flagAssessmentCommandModalityLink","getDirtyAssessmentCommandModalityLinks","dirtyRows","idTableDistractions","dirtyRow","inputDistractionType","distractionType","inputIntensityLevelEmotional","intensityLevelEmotional","inputIntensityLevelScent","intensityLevelScent","inputIntensityLevelSight","intensityLevelSight","inputIntensityLevelSound","intensityLevelSound","inputIntensityLevelTouch","intensityLevelTouch","inputQuantity","quantity","inputProximityMetres","proximityMetres","notes","active","dirtyDistractions","indexRow","_dirtyDistractions$pu","flagDistractionType","flagDistractionIntensityLevelEmotional","flagDistractionIntensityLevelScent","flagDistractionIntensityLevelSight","flagDistractionIntensityLevelSound","flagDistractionIntensityLevelTouch","flagQuantity","flagProximityMetres","flagIcon","attrIdDistraction","attrIdDistractionType","idTableAssessmentCommandModalityLinks","idAssessmentCommandModalityLink","inputCommand","inputCommandModality","commandModality","inputBribe","bribe","inputDistanceFromHandler","distanceFromhandler","inputIsInHearingRangeOfHandler","isInHearingRangeOfHandler","inputIsInScentRangeOfHandler","isInScentRangeOfHandler","inputIsInSightOfHandler","isInSightOfHandler","inputIsOnLead","isOnLead","dirtyLinks","_dirtyLinks$push","attrIdAssessmentCommandModalityLink","flagCommandModality","flagBribe","flagDistanceFromHandlerMetres","flagIsInHearingRangeOfHandler","flagIsInScentRangeOfHandler","flagIsInSightOfHandler","flagIsOnLead","attrIdCommandModality","attrIdBribe","flagAssessmentResponse","getDirtyAssessmentResponses","rowAssessmentCommandModalityLink","idTableAssessmentResponses","inputResponseQualityMetric","responseQualityMetric","inputObedienceLevel","obedienceLevel","inputValueMeasured","valueMeasured","dirtyResponses","flagResponseQualityMetric","flagObedienceLevel","flagValueMeasured","attrIdAssessmentResponse","attrIdResponseQualityMetric","attrIdObedienceLevel","assessment","filterAssessment","hookupTableAssessmentHeader","hookupTableDistractions","hookupTableAssessmentCommandModalityLinks","hookupTableAssessmentFieldWeather","hookupTableAssessmentFieldLightingLevel","hookupTableAssessmentFieldTemperature","hookupTableAssessmentFieldLocation","hookupTableAssessmentFieldUserHandler","hookupTableAssessmentFieldNotes","filterWeathers","filterLightingLevels","filterUserHandlers","hookupTableDistractionsFieldsDistractionType","hookupTableDistractionsFieldsIntensityLevelEmotional","hookupTableDistractionsFieldsIntensityLevelScent","hookupTableDistractionsFieldsIntensityLevelSight","hookupTableDistractionsFieldsIntensityLevelSound","hookupTableDistractionsFieldsIntensityLevelTouch","hookupTableDistractionsFieldsQuantity","hookupTableDistractionsFieldsProximityMetres","hookupTableDistractionsFieldsNotes","hookupTableDistractionsFieldsActive","filterDistractionTypes","filterDistractionIntensityLevels","handleClickAddRowTableDistractions","postInitialiseDistractionRowNewCallback","hookupTableAssessmentCommandModalityLinksFieldsCommandCategory","hookupTableAssessmentCommandModalityLinksFieldsCommand","hookupTableAssessmentCommandModalityLinksFieldsCommandModality","hookupTableAssessmentCommandModalityLinksFieldsBribe","hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres","hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler","hookupTableAssessmentCommandModalityLinksFieldsIsOnLead","hookupTableAssessmentCommandModalityLinksFieldsTrialCount","hookupTableAssessmentCommandModalityLinksFieldsNotes","hookupTableAssessmentCommandModalityLinksFieldsResponses","hookupTableAssessmentCommandModalityLinksFieldsActive","filterCommandModalities","filterBribes","parentTd","responsesTable","flagTableMain","headRow","thResponseQualityMetric","thObedienceLevel","thValueMeasured","thNotes","thActive","templateAddIcon","assessmentCommandModalityLinks","link","assessmentCommandModalityLink","responses","responseKey","createNewRowTableAssessmentResponses","outerHTML","responseRows","hookupTablesAssessmentResponses","hookupTableAssessmentResponsesFieldsResponseQualityMetric","hookupTableAssessmentResponsesFieldsObedienceLevel","hookupTableAssessmentResponsesFieldsValueMeasured","hookupTableAssessmentResponsesFieldsNotes","hookupTableAssessmentResponsesFieldsActive","filterResponseQualityMetrics","filterObedienceLevels","handleClickAddRowTableAssessmentResponses","tableResponses","postInitialiseAssessmentResponseRowNewCallback","countActiveRows","divTrialCount","flagTrialCount","handleClickAddRowTableAssessmentCommandModalityLinks","postInitialiseAssessmentCommandModalityLinkRowNewCallback","isNew","tdResponseQualityMetric","flagDdlPreview","divResponseQualityMetric","idResponseQualityMetric","tdObedienceLevel","divObedienceLevel","idObedienceLevel","tdValueMeasured","tdNotes","tdActive","templateDeleteIcon","hashPageDogAssessment","PageDogAssessments","hookupFilterWeather","hookupFilterLightingLevel","hookupFilterHandler","inputTemperatureCelcius","getIdWeatherRow","getIdLightingLevelRow","getIdLocationRow","getIdUserHandlerRow","elementWeather","elementLightingLevel","elementLocation","elementUserHandler","flagDetail","detailButton","hookupFieldsDetail","hookupFieldsWeather","hookupFieldsLightingLevel","hookupFieldsTemperature","hookupFieldsHandler","PageDogCalendarEntries","saveCalendarEntries","attrIdCalendarEntry","PageAccessibilityReport","hashPageAccessibilityReport","PageAccessibilityStatement","hashPageAccessibilityStatement","PageLicense","hashPageLicense","PagePrivacyPolicy","hashPagePrivacyPolicy","PageRetentionSchedule","hashPageDataRetentionSchedule","Router","pages","module","routes","loadPage","hashPage","PageClass","getClassPageFromHash","currentPage","pageJson","handlePopState","loadPageCurrent","history","pushState","navigateToUrl","appendHistory","loadPageBodyFromResponse","App","dom","setupEventListeners","handleGlobalClick","initPageCurrent","app","domReady","readyState"],"sourceRoot":""} \ No newline at end of file diff --git a/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-evaluation.json b/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-evaluation.json index 53c592b..a591e79 100644 --- a/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-evaluation.json +++ b/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-evaluation.json @@ -1 +1 @@ -{"@context":{"reporter":"http://github.com/w3c/wai-wcag-em-report-tool/","wcagem":"http://www.w3.org/TR/WCAG-EM/#","Evaluation":"wcagem:procedure","defineScope":"wcagem:step1","scope":"wcagem:step1a","step1b":{"@id":"wcagem:step1b","@type":"@id"},"conformanceTarget":"step1b","accessibilitySupportBaseline":"wcagem:step1c","additionalEvaluationRequirements":"wcagem:step1d","exploreTarget":"wcagem:step2","essentialFunctionality":"wcagem:step2b","pageTypeVariety":"wcagem:step2c","technologiesReliedUpon":"wcagem:step2d","selectSample":"wcagem:step3","structuredSample":"wcagem:step3a","randomSample":"wcagem:step3b","Website":"wcagem:website","Webpage":"wcagem:webpage","auditSample":"wcagem:step4","reportFindings":"wcagem:step5","documentSteps":"wcagem:step5a","commissioner":"wcagem:commissioner","evaluator":"wcagem:evaluator","evaluationSpecifics":"wcagem:step5b","WCAG":"http://www.w3.org/TR/WCAG/#","WCAG20":"http://www.w3.org/TR/WCAG20/#","WCAG21":"http://www.w3.org/TR/WCAG21/#","WAI":"http://www.w3.org/WAI/","A":"WAI:WCAG2A-Conformance","AA":"WAI:WCAG2AA-Conformance","AAA":"WAI:WCAG2AAA-Conformance","wcagVersion":"WAI:standards-guidelines/wcag/#versions","reportToolVersion":"wcagem:reportToolVersion","earl":"http://www.w3.org/ns/earl#","Assertion":"earl:Assertion","TestMode":"earl:TestMode","TestCriterion":"earl:TestCriterion","TestCase":"earl:TestCase","TestRequirement":"earl:TestRequirement","TestSubject":"earl:TestSubject","TestResult":"earl:TestResult","OutcomeValue":"earl:OutcomeValue","Pass":"earl:Pass","Fail":"earl:Fail","CannotTell":"earl:CannotTell","NotApplicable":"earl:NotApplicable","NotTested":"earl:NotTested","assertedBy":"earl:assertedBy","mode":"earl:mode","result":"earl:result","subject":"earl:subject","test":"earl:test","outcome":"earl:outcome","dcterms":"http://purl.org/dc/terms/","title":"dcterms:title","description":"dcterms:description","summary":"dcterms:summary","date":"dcterms:date","hasPart":"dcterms:hasPart","isPartOf":"dcterms:isPartOf","id":"@id","type":"@type","language":"@language"},"language":"en","type":"Evaluation","reportToolVersion":"3.0.3","defineScope":{"id":"_:defineScope","scope":{"description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"conformanceTarget":"AA","accessibilitySupportBaseline":"Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.","additionalEvaluationRequirements":"","wcagVersion":"2.2"},"exploreTarget":{"id":"_:exploreTarget","essentialFunctionality":"1. Navigation\n2. User input form\n3. Scripted text","pageTypeVariety":"1. Navigation\n2. User input form\n3. Scripted text","technologiesReliedUpon":["HTML","CSS","JavaScript","python Flask"]},"selectSample":{"id":"_:selectSample","structuredSample":[{"id":"_:subject_2","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:16.199Z","description":"https://www.partsltd.co.uk/","title":"Home"},{"id":"_:subject_3","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:32.890Z","description":"https://www.partsltd.co.uk/contact","title":"Contact us"},{"id":"_:subject_4","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:48.238Z","description":"https://www.partsltd.co.uk/services","title":"Services"}],"randomSample":{"id":"_:subject_5","type":["TestSubject","Webpage"],"date":"2024-04-30T16:12:19.332Z","description":"","title":""}},"auditSample":[{"type":"Assertion","date":"2024-04-30T15:48:00.008Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:19:30.651Z","description":"All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:non-text-content","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:00.306Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-only-and-video-only-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:04.748Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:captions-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:08.119Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-description-or-media-alternative-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:10.538Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:captions-live","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:14.224Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-description-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:01.128Z","description":"Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:info-and-relationships","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:32:41.865Z","description":"Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:meaningful-sequence","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:04.668Z","description":"Content reads properly as raw text in default order. Aria-label provided for all images and names for all form input components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:sensory-characteristics","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:35:31.858Z","description":"Orientation of content is not locked.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:orientation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:38:55.478Z","description":"Appropriate visible labels used alongside name attributes for form input elements.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:identify-input-purpose","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:40:53.059Z","description":"Colour only used to convey meaning for text hyperlinks, which have alt-text attributes to identify their purpose and presence.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:use-of-color","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:39:24.368Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-control","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:46:29.787Z","description":"Webpage text contrast assessed with tool at this website: https://accessibleweb.com/color-contrast-checker/","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:contrast-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:47:26.364Z","description":"All webpages can be scaled to up to 500% while maintaining structure and visible components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:resize-text","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:47:30.067Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:images-of-text","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:50:44.949Z","description":"Flex layout forces only vertical scrolling at required viewport dimensions.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:reflow","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:51:34.482Z","description":"Strong borders used for form input components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:non-text-contrast","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:55:05.024Z","description":"Content becomes vertically scrollable as necessary.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:text-spacing","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:57:32.588Z","description":"Hamburger menu button for navigation overlay used. The button remains stationary with no elements above it, throughout use of navigation.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:content-on-hover-or-focus","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:58:42.536Z","description":"Tab indices set to enable correct transition around page by keyboard. Other keyboard shortcuts not changed.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:keyboard","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:58:59.976Z","description":"Tab indices set to enable correct transition around page by keyboard.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:no-keyboard-trap","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:59:38.989Z","description":"Tab indices set to enable correct transition around page by keyboard. Other keyboard shortcuts not changed, and can be set by user's device settings.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:character-key-shortcuts","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:00:42.868Z","description":"No session time limits imposed on user.","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:timing-adjustable","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:05.985Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pause-stop-hide","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:18.827Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:three-flashes-or-below-threshold","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:53.694Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:bypass-blocks","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:02:13.542Z","description":"Descriptive titles used on all webpages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:page-titled","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:02:30.677Z","description":"Keyboard tab indices set for logical navigation around pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-order","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:09.564Z","description":"Descriptive aria-label provided for all text hyperlinks.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:link-purpose-in-context","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:03:56.473Z","description":"Navigation on all webpages and company logo links to home page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:multiple-ways","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:06:48.832Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:headings-and-labels","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:06:52.238Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-visible","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:07:05.561Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-not-obscured-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:07:25.308Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pointer-gestures","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:08:50.776Z","description":"Up event used to trigger events across website.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pointer-cancellation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:48.959Z","description":"Input label for attributes used to associate with input elements.\nAria-label attributes used for text hyperlinks.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:label-in-name","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:54.759Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:motion-actuation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:56.851Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:dragging-movements","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:18:22.901Z","description":"Minimum control dimension is 27 CSS pixels.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:target-size-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:19:45.079Z","description":"English - Great Britain on all pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:language-of-page","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:20:10.271Z","description":"No language changes across website.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:language-of-parts","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:23:41.854Z","description":"No change of context initiated except by button click to navigate to submit a form and/or navigate to a new page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:on-focus","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:23:56.660Z","description":"No change of context initiated except by button click to navigate to submit a form and/or navigate to a new page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:on-input","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:24:11.721Z","description":"Navigation component and mechanisms shared across all pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-navigation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:25:13.874Z","description":"Classes and CSS styles used to group collections of elements by purpose and functionality.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-identification","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:26:06.583Z","description":"Contact us button provided in a consistent format.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-help","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:26:47.172Z","description":"Each input element has an associated error display label which are triggered when input validation is not met.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-identification","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:27:08.142Z","description":"Each user input has a descriptive label.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:labels-or-instructions","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:30:48.127Z","description":"Text description of incomplete required fields is provided. Description of what caused error is issued when it involves simple regular expression validation.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-suggestion","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:31:12.544Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-prevention-legal-financial-data","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:33:08.124Z","description":"No redundant data entry required. User's browser cache stores form data for rapid re-entry on crash or any other occasion.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:redundant-entry","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:34:17.347Z","description":"Alternative sign in methods provided, including recovery by code by phone and email.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:accessible-authentication-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:37:16.977Z","description":"Aria-label attribute maintained for all images and text hyperlinks. Label for attribute used to associate input elements with descriptive labels.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:name-role-value","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:38:13.227Z","description":"Success feedback provided on form submission, with descriptive errors on failure.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:status-messages","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}}],"reportFindings":{"date":{"type":"http://www.w3.org/TR/NOTE-datetime","@value":"Tue Apr 30 2024"},"summary":"","title":"","commissioner":"Lord Edward Middleton-Smith","evaluator":"Lord Edward Middleton-Smith","documentSteps":[{"id":"_:about"},{"id":"_:defineScope"},{"id":"_:exploreTarget"},{"id":"_:selectSample"}],"evaluationSpecifics":""}} \ No newline at end of file +{"@context":{"reporter":"http://github.com/w3c/wai-wcag-em-report-tool/","wcagem":"http://www.w3.org/TR/WCAG-EM/#","Evaluation":"wcagem:procedure","defineScope":"wcagem:step1","scope":"wcagem:step1a","step1b":{"@id":"wcagem:step1b","@type":"@id"},"conformanceTarget":"step1b","accessibilitySupportBaseline":"wcagem:step1c","additionalEvaluationRequirements":"wcagem:step1d","exploreTarget":"wcagem:step2","essentialFunctionality":"wcagem:step2b","pageTypeVariety":"wcagem:step2c","technologiesReliedUpon":"wcagem:step2d","selectSample":"wcagem:step3","structuredSample":"wcagem:step3a","randomSample":"wcagem:step3b","Website":"wcagem:website","Webpage":"wcagem:webpage","auditSample":"wcagem:step4","reportFindings":"wcagem:step5","documentSteps":"wcagem:step5a","commissioner":"wcagem:commissioner","evaluator":"wcagem:evaluator","evaluationSpecifics":"wcagem:step5b","WCAG":"http://www.w3.org/TR/WCAG/#","WCAG20":"http://www.w3.org/TR/WCAG20/#","WCAG21":"http://www.w3.org/TR/WCAG21/#","WAI":"http://www.w3.org/WAI/","A":"WAI:WCAG2A-Conformance","AA":"WAI:WCAG2AA-Conformance","AAA":"WAI:WCAG2AAA-Conformance","wcagVersion":"WAI:standards-guidelines/wcag/#versions","reportToolVersion":"wcagem:reportToolVersion","earl":"http://www.w3.org/ns/earl#","Assertion":"earl:Assertion","TestMode":"earl:TestMode","TestCriterion":"earl:TestCriterion","TestCase":"earl:TestCase","TestRequirement":"earl:TestRequirement","TestSubject":"earl:TestSubject","TestResult":"earl:TestResult","OutcomeValue":"earl:OutcomeValue","Pass":"earl:Pass","Fail":"earl:Fail","CannotTell":"earl:CannotTell","NotApplicable":"earl:NotApplicable","NotTested":"earl:NotTested","assertedBy":"earl:assertedBy","mode":"earl:mode","result":"earl:result","subject":"earl:subject","test":"earl:test","outcome":"earl:outcome","dcterms":"http://purl.org/dc/terms/","title":"dcterms:title","description":"dcterms:description","summary":"dcterms:summary","date":"dcterms:date","hasPart":"dcterms:hasPart","isPartOf":"dcterms:isPartOf","id":"@id","type":"@type","language":"@language"},"language":"en","type":"Evaluation","reportToolVersion":"3.0.3","defineScope":{"id":"_:defineScope","scope":{"description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"conformanceTarget":"AA","accessibilitySupportBaseline":"Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.","additionalEvaluationRequirements":"","wcagVersion":"2.2"},"exploreTarget":{"id":"_:exploreTarget","essentialFunctionality":"1. Navigation\n2. User input form\n3. Scripted text","pageTypeVariety":"1. Navigation\n2. User input form\n3. Scripted text","technologiesReliedUpon":["HTML","CSS","JavaScript","python Flask"]},"selectSample":{"id":"_:selectSample","structuredSample":[{"id":"_:subject_2","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:16.199Z","description":"https://fetch-metrics.co.uk/","title":"Home"},{"id":"_:subject_3","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:32.890Z","description":"https://fetch-metrics.co.uk/contact","title":"Contact us"},{"id":"_:subject_4","type":["TestSubject","Webpage"],"date":"2024-04-30T16:11:48.238Z","description":"https://fetch-metrics.co.uk/services","title":"Services"}],"randomSample":{"id":"_:subject_5","type":["TestSubject","Webpage"],"date":"2024-04-30T16:12:19.332Z","description":"","title":""}},"auditSample":[{"type":"Assertion","date":"2024-04-30T15:48:00.008Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:19:30.651Z","description":"All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:non-text-content","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:00.306Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-only-and-video-only-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:04.748Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:captions-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:08.119Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-description-or-media-alternative-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:10.538Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:captions-live","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:20:14.224Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-description-prerecorded","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:01.128Z","description":"Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:info-and-relationships","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:32:41.865Z","description":"Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:meaningful-sequence","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:04.668Z","description":"Content reads properly as raw text in default order. Aria-label provided for all images and names for all form input components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:sensory-characteristics","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:35:31.858Z","description":"Orientation of content is not locked.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:orientation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:38:55.478Z","description":"Appropriate visible labels used alongside name attributes for form input elements.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:identify-input-purpose","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:40:53.059Z","description":"Colour only used to convey meaning for text hyperlinks, which have alt-text attributes to identify their purpose and presence.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:use-of-color","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:39:24.368Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:audio-control","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:46:29.787Z","description":"Webpage text contrast assessed with tool at this website: https://accessibleweb.com/color-contrast-checker/","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:contrast-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:47:26.364Z","description":"All webpages can be scaled to up to 500% while maintaining structure and visible components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:resize-text","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:47:30.067Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:images-of-text","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:50:44.949Z","description":"Flex layout forces only vertical scrolling at required viewport dimensions.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:reflow","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:51:34.482Z","description":"Strong borders used for form input components.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:non-text-contrast","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:55:05.024Z","description":"Content becomes vertically scrollable as necessary.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:text-spacing","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:57:32.588Z","description":"Hamburger menu button for navigation overlay used. The button remains stationary with no elements above it, throughout use of navigation.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:content-on-hover-or-focus","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:58:42.536Z","description":"Tab indices set to enable correct transition around page by keyboard. Other keyboard shortcuts not changed.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:keyboard","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:58:59.976Z","description":"Tab indices set to enable correct transition around page by keyboard.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:no-keyboard-trap","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T16:59:38.989Z","description":"Tab indices set to enable correct transition around page by keyboard. Other keyboard shortcuts not changed, and can be set by user's device settings.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:character-key-shortcuts","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:00:42.868Z","description":"No session time limits imposed on user.","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:timing-adjustable","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:05.985Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pause-stop-hide","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:18.827Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:three-flashes-or-below-threshold","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:01:53.694Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:bypass-blocks","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:02:13.542Z","description":"Descriptive titles used on all webpages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:page-titled","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:02:30.677Z","description":"Keyboard tab indices set for logical navigation around pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-order","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:11:09.564Z","description":"Descriptive aria-label provided for all text hyperlinks.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:link-purpose-in-context","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:03:56.473Z","description":"Navigation on all webpages and company logo links to home page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:multiple-ways","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:06:48.832Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:headings-and-labels","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:06:52.238Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-visible","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:07:05.561Z","description":"","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:focus-not-obscured-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:07:25.308Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pointer-gestures","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:08:50.776Z","description":"Up event used to trigger events across website.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:pointer-cancellation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:48.959Z","description":"Input label for attributes used to associate with input elements.\nAria-label attributes used for text hyperlinks.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:label-in-name","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:54.759Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:motion-actuation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:13:56.851Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:dragging-movements","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.865Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:18:22.901Z","description":"Minimum control dimension is 27 CSS pixels.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:target-size-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.009Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:19:45.079Z","description":"English - Great Britain on all pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:language-of-page","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:20:10.271Z","description":"No language changes across website.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:language-of-parts","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:23:41.854Z","description":"No change of context initiated except by button click to navigate to submit a form and/or navigate to a new page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:on-focus","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:23:56.660Z","description":"No change of context initiated except by button click to navigate to submit a form and/or navigate to a new page.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:on-input","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:24:11.721Z","description":"Navigation component and mechanisms shared across all pages.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-navigation","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:25:13.874Z","description":"Classes and CSS styles used to group collections of elements by purpose and functionality.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-identification","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:26:06.583Z","description":"Contact us button provided in a consistent format.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:consistent-help","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:26:47.172Z","description":"Each input element has an associated error display label which are triggered when input validation is not met.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-identification","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:27:08.142Z","description":"Each user input has a descriptive label.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:labels-or-instructions","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:30:48.127Z","description":"Text description of incomplete required fields is provided. Description of what caused error is issued when it involves simple regular expression validation.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-suggestion","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:31:12.544Z","description":"","outcome":{"id":"earl:inapplicable","type":["OutcomeValue","NotApplicable"],"title":"Not present"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:error-prevention-legal-financial-data","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:33:08.124Z","description":"No redundant data entry required. User's browser cache stores form data for rapid re-entry on crash or any other occasion.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:redundant-entry","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:34:17.347Z","description":"Alternative sign in methods provided, including recovery by code by phone and email.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:accessible-authentication-minimum","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:37:16.977Z","description":"Aria-label attribute maintained for all images and text hyperlinks. Label for attribute used to associate input elements with descriptive labels.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:name-role-value","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}},{"type":"Assertion","date":"2024-04-30T15:48:00.010Z","mode":{"type":"TestMode","@value":"earl:manual"},"result":{"type":"TestResult","date":"2024-04-30T17:38:13.227Z","description":"Success feedback provided on form submission, with descriptive errors on failure.","outcome":{"id":"earl:passed","type":["OutcomeValue","Pass"],"title":"Passed"}},"subject":{"id":"_:subject_1","type":["TestSubject","Website"],"date":"2024-04-30T15:47:59.864Z","description":"'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/","title":"Public Website of Precision And Research Technology Systems Limited"},"test":{"id":"WCAG22:status-messages","type":["TestCriterion","TestRequirement"],"date":"2024-04-30T15:47:59.866Z"}}],"reportFindings":{"date":{"type":"http://www.w3.org/TR/NOTE-datetime","@value":"Tue Apr 30 2024"},"summary":"","title":"","commissioner":"Lord Edward Middleton-Smith","evaluator":"Lord Edward Middleton-Smith","documentSteps":[{"id":"_:about"},{"id":"_:defineScope"},{"id":"_:exploreTarget"},{"id":"_:selectSample"}],"evaluationSpecifics":""}} \ No newline at end of file diff --git a/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-report.html b/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-report.html index 527d424..a9443c4 100644 --- a/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-report.html +++ b/static/docs/wcag_2.2AA_public-website-of-precision-and-research-technology-systems-limited-report.html @@ -17,7 +17,7 @@ td:not([class]):last-child { padding: 0 1em; } -

Report

About the Evaluation

Report Creator
Lord Edward Middleton-Smith
Evaluation Commissioner
Lord Edward Middleton-Smith
Evaluation date
Tue Apr 30 2024

Executive Summary

Not provided

Scope of the Evaluation

Website name
Public Website of Precision And Research Technology Systems Limited
Scope of the website
'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/
WCAG Version
2.2
Conformance target
AA
Accessibility support baseline
Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.
Additional evaluation requirements
Not provided

Detailed Audit Results

Summary

Reported on 55 of 55 WCAG 2.2 AA +

Report

About the Evaluation

Report Creator
Lord Edward Middleton-Smith
Evaluation Commissioner
Lord Edward Middleton-Smith
Evaluation date
Tue Apr 30 2024

Executive Summary

Not provided

Scope of the Evaluation

Website name
Public Website of Precision And Research Technology Systems Limited
Scope of the website
'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/
WCAG Version
2.2
Conformance target
AA
Accessibility support baseline
Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.
Additional evaluation requirements
Not provided

Detailed Audit Results

Summary

Reported on 55 of 55 WCAG 2.2 AA Success Criteria.

  • 41 Passed
  • 0 Failed
  • 0 Cannot tell
  • 14 Not present
  • 0 Not checked

All Results

1 Perceivable

1.1 Text Alternatives
Success Criterion Result Observations
1.1.1: Non-text Content

Result: Passed

Observations:

All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.

1.2 Time-based Media
Success Criterion Result Observations
1.2.1: Audio-only and Video-only (Prerecorded)

Result: Not present

1.2.2: Captions (Prerecorded)

Result: Not present

1.2.3: Audio Description or Media Alternative (Prerecorded)

Result: Not present

1.2.4: Captions (Live)

Result: Not present

1.2.5: Audio Description (Prerecorded)

Result: Not present

1.3 Adaptable
Success Criterion Result Observations
1.3.1: Info and Relationships

Result: Passed

Observations:

Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.

1.3.2: Meaningful Sequence

Result: Passed

Observations:

Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.

@@ -57,4 +57,4 @@ Aria-label attributes used for text hyperlinks.

3.3.8: Accessible Authentication (Minimum)

Result: Passed

Observations:

Alternative sign in methods provided, including recovery by code by phone and email.

4 Robust

4.1 Compatible
Success Criterion Result Observations
4.1.2: Name, Role, Value

Result: Passed

Observations:

Aria-label attribute maintained for all images and text hyperlinks. Label for attribute used to associate input elements with descriptive labels.

4.1.3: Status Messages

Result: Passed

Observations:

Success feedback provided on form submission, with descriptive errors on failure.

-

Sample of Audited Web Pages

  1. Home - https://www.partsltd.co.uk/
  2. Contact us - https://www.partsltd.co.uk/contact
  3. Services - https://www.partsltd.co.uk/services
  4. -

Web Technology

HTML,CSS,JavaScript,python Flask

Recording of Evaluation Specifics

Not provided

\ No newline at end of file +

Sample of Audited Web Pages

  1. Home - https://fetch-metrics.co.uk/
  2. Contact us - https://fetch-metrics.co.uk/contact
  3. Services - https://fetch-metrics.co.uk/services
  4. -

Web Technology

HTML,CSS,JavaScript,python Flask

Recording of Evaluation Specifics

Not provided

\ No newline at end of file diff --git a/static/js/pages/core/apply-founding-partner-success.js b/static/js/pages/core/apply-founding-partner-success.js new file mode 100644 index 0000000..8e074e8 --- /dev/null +++ b/static/js/pages/core/apply-founding-partner-success.js @@ -0,0 +1,16 @@ +// internal +import BasePage from "../base.js"; +// vendor +import { Altcha } from "../../vendor/altcha.js"; + +export default class PageApplyFoundingPartnerSuccess extends BasePage { + static hash = hashPageApplyFoundingPartnerSuccess; + + constructor(router) { + super(router); + } + + initialize() { + this.sharedInitialize(); + } +} diff --git a/static/js/pages/core/apply-founding-partner.js b/static/js/pages/core/apply-founding-partner.js new file mode 100644 index 0000000..107add6 --- /dev/null +++ b/static/js/pages/core/apply-founding-partner.js @@ -0,0 +1,23 @@ +// internal +import BasePage from "../base.js"; +// vendor +import { Altcha } from "../../vendor/altcha.js"; + +export default class PageApplyFoundingPartner extends BasePage { + static hash = hashPageApplyFoundingPartner; + + constructor(router) { + super(router); + } + + initialize() { + this.sharedInitialize(); + this.hookupButtonSubmitFormApplyFoundingPartnerUs(); + } + + hookupButtonSubmitFormApplyFoundingPartnerUs() { + const button = document.querySelector('form input[type="submit"]'); + button.classList.add(flagButton); + button.classList.add(flagButtonPrimary); + } +} diff --git a/static/js/router.js b/static/js/router.js index b302181..33a7192 100644 --- a/static/js/router.js +++ b/static/js/router.js @@ -4,6 +4,8 @@ import PageHome from './pages/core/home.js'; import PageContact from './pages/core/contact.js'; import PageContactSuccess from './pages/core/contact-success.js'; +import PageApplyFoundingPartner from './pages/core/apply-founding-partner.js'; +import PageApplyFoundingPartnerSuccess from './pages/core/apply-founding-partner-success.js'; // Dog import PageDogHome from './pages/dog/home.js'; import PageDogCommandCategories from './pages/dog/command_categories.js'; @@ -40,6 +42,8 @@ export default class Router { this.pages[hashPageHome] = { name: 'PageHome', module: PageHome }; this.pages[hashPageContact] = { name: 'PageContact', module: PageContact }; this.pages[hashPageContactSuccess] = { name: 'PageContactSuccess', module: PageContactSuccess }; + this.pages[hashPageApplyFoundingPartner] = { name: 'PageApplyFoundingPartner', module: PageApplyFoundingPartner }; + this.pages[hashPageApplyFoundingPartnerSuccess] = { name: 'PageApplyFoundingPartnerSuccess', module: PageApplyFoundingPartnerSuccess }; // Dog this.pages[hashPageDogHome] = { name: 'PageDogHome', module: PageDogHome }; this.pages[hashPageDogCommandCategories] = { name: 'PageDogCommands', module: PageDogCommandCategories }; @@ -67,6 +71,8 @@ export default class Router { this.routes[hashPageHome] = (isPopState = false) => this.navigateToHash(hashPageHome, isPopState); this.routes[hashPageContact] = (isPopState = false) => this.navigateToHash(hashPageContact, isPopState); this.routes[hashPageContactSuccess] = (isPopState = false) => this.navigateToHash(hashPageContactSuccess, isPopState); + this.routes[hashPageApplyFoundingPartner] = (isPopState = false) => this.navigateToHash(hashPageApplyFoundingPartner, isPopState); + this.routes[hashPageApplyFoundingPartnerSuccess] = (isPopState = false) => this.navigateToHash(hashPageApplyFoundingPartnerSuccess, isPopState); // Dog this.routes[hashPageDogHome] = (isPopState = false) => this.navigateToHash(hashPageDogHome, isPopState); this.routes[hashPageDogCommandCategories] = (isPopState = false) => this.navigateToHash(hashPageDogCommandCategories, isPopState); diff --git a/templates/layouts/_shared_project_hub_scripts.html b/templates/layouts/_shared_project_hub_scripts.html index e0b2bff..ba7b3be 100644 --- a/templates/layouts/_shared_project_hub_scripts.html +++ b/templates/layouts/_shared_project_hub_scripts.html @@ -3,7 +3,16 @@ var flagAddress = "{{ model.FLAG_ADDRESS }}"; var flagAddressLine1 = "{{ model.FLAG_ADDRESS_LINE_1 }}"; var flagAddressLine2 = "{{ model.FLAG_ADDRESS_LINE_2 }}"; + var flagApplyFoundingPartnerForm = "{{ model.FLAG_APPLY_FOUNDING_PARTNER_FORM }}"; var flagCity = "{{ model.FLAG_CITY }}"; + var flagCommitmentFrequency = "{{ model.FLAG_COMMITMENT_FREQUENCY }}"; var flagCounty = "{{ model.FLAG_COUNTY }}"; + var flagDogCount = "{{ model.FLAG_DOG_COUNT }}"; + var flagExistingChallenges = "{{ model.FLAG_EXISTING_CHALLENGES }}"; + var flagExistingSystem = "{{ model.FLAG_EXISTING_SYSTEM }}"; + var flagExistingTimeSinkWeekly = "{{ model.FLAG_EXISTING_TIME_SINK_WEEKLY }}"; + var flagMostValuableFeature = "{{ model.FLAG_MOST_VALUABLE_FEATURE }}"; var flagPostcode = "{{ model.FLAG_POSTCODE }}"; + var flagSpeciality = "{{ model.FLAG_SPECIALITY }}"; + var flagYearsOfExperience = "{{ model.FLAG_YEARS_OF_EXPERIENCE }}"; \ No newline at end of file diff --git a/templates/layouts/_shared_scripts.html b/templates/layouts/_shared_scripts.html index 9e0d8cd..ee5c901 100644 --- a/templates/layouts/_shared_scripts.html +++ b/templates/layouts/_shared_scripts.html @@ -74,6 +74,7 @@ var flagNameAttrOptionValue = "{{ model.FLAG_NAME_ATTR_OPTION_VALUE }}"; var flagNamePlural = "{{ model.FLAG_NAME_PLURAL }}"; var flagNavAdminHome = "{{ model.FLAG_NAV_ADMIN_HOME }}"; + var flagNavApplyFoundingPartner = "{{ model.FLAG_NAV_APPLY_FOUNDING_PARTNER }}"; var flagNavContact = "{{ model.FLAG_NAV_CONTACT }}"; var flagNavHome = "{{ model.FLAG_NAV_HOME }}"; var flagNavDogAssessments = "{{ model.FLAG_NAV_DOG_ASSESSMENTS }}"; @@ -118,6 +119,8 @@ var hashPageAccessibilityReport = "{{ model.HASH_PAGE_ACCESSIBILITY_REPORT }}"; var hashPageAccessibilityStatement = "{{ model.HASH_PAGE_ACCESSIBILITY_STATEMENT }}"; var hashPageAdminHome = "{{ model.HASH_PAGE_ADMIN_HOME }}"; + var hashPageApplyFoundingPartner = "{{ model.HASH_PAGE_APPLY_FOUNDING_PARTNER }}"; + var hashPageApplyFoundingPartnerSuccess = "{{ model.HASH_PAGE_APPLY_FOUNDING_PARTNER_SUCCCESS }}"; var hashPageContact = "{{ model.HASH_PAGE_CONTACT }}"; var hashPageContactSuccess = "{{ model.HASH_PAGE_CONTACT_SUCCESS }}"; var hashPageDataRetentionSchedule = "{{ model.HASH_PAGE_DATA_RETENTION_SCHEDULE }}"; diff --git a/templates/pages/core/_apply_founding_partner.html b/templates/pages/core/_apply_founding_partner.html new file mode 100644 index 0000000..edcf2a1 --- /dev/null +++ b/templates/pages/core/_apply_founding_partner.html @@ -0,0 +1,147 @@ +{% extends 'layouts/layout.html' %} + +{% block page_head %} + + {% include 'layouts/_shared_project_hub_scripts.html' %} +{% endblock %} + +{% block page_nav_links %} + {# + Contact Form + Contact Details + #} +{% endblock %} + +{% block page_body %} + + {% set form = model.form_apply_founding_partner %} +
+
+

Apply to Founding Partner Program

+

Please fill in the form below and we'll get back to you as soon as possible.

+ +
+ {{ form.csrf_token }} + +
+
+ +
+ {{ form.contact_name(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.email(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.phone_number(class="form-input", required=False) }} +
+
+ +
+ +
+ {{ form.company_name(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.website(class="form-input", required=False) }} +
+
+ +
+ +
+ {{ form.dog_count(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.id_years_of_experience(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.id_speciality(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.id_existing_system(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.existing_challenges(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.id_existing_time_sink_weekly(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.id_commitment_frequency(class="form-input", required=True) }} +
+
+ +
+ +
+ {{ form.notes(class="form-input", required=False) }} +
+
+ +
+
+ {{ form.altcha.label }} + +
+

This CAPTCHA mechanism is fully GDPR-compliant with no cookies, no fingerprinting, no tracking, and runs in the background so you don't need to do anything!

+
+
+
+ {{ form.submit() }} +
+
+
+
+ +
+

How we use your information

+

If you opt in to marketing communications, we will also use your email address to send you updates about our services, Fetch Metrics features and development, and relevant industry news. You can unsubscribe from these communications at any time.

+

We retain contact form submissions for customer service purposes and retain marketing consent records as required by law. For details about how long we keep your information, please see our data retention schedule.

+

For full details about how we handle your personal data, please read our Privacy Policy.

+
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/pages/core/_contact.html b/templates/pages/core/_contact.html index 189237a..5b5f320 100644 --- a/templates/pages/core/_contact.html +++ b/templates/pages/core/_contact.html @@ -46,8 +46,8 @@
@@ -63,7 +63,7 @@

This CAPTCHA mechanism is fully GDPR-compliant with no cookies, no fingerprinting, no tracking, and runs in the background so you don't need to do anything!

- {{ model.form_contact.submit() }} + {{ form.submit() }}
diff --git a/templates/pages/legal/_privacy_policy.html b/templates/pages/legal/_privacy_policy.html index 47d2b66..1ee3259 100644 --- a/templates/pages/legal/_privacy_policy.html +++ b/templates/pages/legal/_privacy_policy.html @@ -40,7 +40,7 @@

How long we keep information

-

For information on how long we keep personal information, see our retention schedule at https://www.partsltd.co.uk/retention-schedule

+

For information on how long we keep personal information, see our retention schedule at https://fetch-metrics.co.uk/retention-schedule

Who we share information with

Data processors

diff --git a/templates/pages/legal/accessibility_report.html b/templates/pages/legal/accessibility_report.html index 527d424..a9443c4 100644 --- a/templates/pages/legal/accessibility_report.html +++ b/templates/pages/legal/accessibility_report.html @@ -17,7 +17,7 @@ td:not([class]):last-child { padding: 0 1em; } -

Report

About the Evaluation

Report Creator
Lord Edward Middleton-Smith
Evaluation Commissioner
Lord Edward Middleton-Smith
Evaluation date
Tue Apr 30 2024

Executive Summary

Not provided

Scope of the Evaluation

Website name
Public Website of Precision And Research Technology Systems Limited
Scope of the website
'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://www.partsltd.co.uk/
WCAG Version
2.2
Conformance target
AA
Accessibility support baseline
Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.
Additional evaluation requirements
Not provided

Detailed Audit Results

Summary

Reported on 55 of 55 WCAG 2.2 AA +

Report

About the Evaluation

Report Creator
Lord Edward Middleton-Smith
Evaluation Commissioner
Lord Edward Middleton-Smith
Evaluation date
Tue Apr 30 2024

Executive Summary

Not provided

Scope of the Evaluation

Website name
Public Website of Precision And Research Technology Systems Limited
Scope of the website
'All web content of the public mobile and desktop website of Precision And Research Technology Systems Limited located at https://fetch-metrics.co.uk/
WCAG Version
2.2
Conformance target
AA
Accessibility support baseline
Google Chrome with NVDA, FireFox with NVDA, Ecosia mobile browser with TalkBack.
Additional evaluation requirements
Not provided

Detailed Audit Results

Summary

Reported on 55 of 55 WCAG 2.2 AA Success Criteria.

  • 41 Passed
  • 0 Failed
  • 0 Cannot tell
  • 14 Not present
  • 0 Not checked

All Results

1 Perceivable

1.1 Text Alternatives
Success Criterion Result Observations
1.1.1: Non-text Content

Result: Passed

Observations:

All user input controls have descriptive names and v2 Google reCaptcha used with text label to identify to user that they must check the box to prove they are not a bot.

1.2 Time-based Media
Success Criterion Result Observations
1.2.1: Audio-only and Video-only (Prerecorded)

Result: Not present

1.2.2: Captions (Prerecorded)

Result: Not present

1.2.3: Audio Description or Media Alternative (Prerecorded)

Result: Not present

1.2.4: Captions (Live)

Result: Not present

1.2.5: Audio Description (Prerecorded)

Result: Not present

1.3 Adaptable
Success Criterion Result Observations
1.3.1: Info and Relationships

Result: Passed

Observations:

Elements change in response to zoom and viewport dimensions properly. Aria-label provided for all images.

1.3.2: Meaningful Sequence

Result: Passed

Observations:

Flow layout keeps associated sections together but allows dynamic structure depending on size of elements relative to screen.

@@ -57,4 +57,4 @@ Aria-label attributes used for text hyperlinks.

3.3.8: Accessible Authentication (Minimum)

Result: Passed

Observations:

Alternative sign in methods provided, including recovery by code by phone and email.

4 Robust

4.1 Compatible
Success Criterion Result Observations
4.1.2: Name, Role, Value

Result: Passed

Observations:

Aria-label attribute maintained for all images and text hyperlinks. Label for attribute used to associate input elements with descriptive labels.

4.1.3: Status Messages

Result: Passed

Observations:

Success feedback provided on form submission, with descriptive errors on failure.

-

Sample of Audited Web Pages

  1. Home - https://www.partsltd.co.uk/
  2. Contact us - https://www.partsltd.co.uk/contact
  3. Services - https://www.partsltd.co.uk/services
  4. -

Web Technology

HTML,CSS,JavaScript,python Flask

Recording of Evaluation Specifics

Not provided

\ No newline at end of file +

Sample of Audited Web Pages

  1. Home - https://fetch-metrics.co.uk/
  2. Contact us - https://fetch-metrics.co.uk/contact
  3. Services - https://fetch-metrics.co.uk/services
  4. -

Web Technology

HTML,CSS,JavaScript,python Flask

Recording of Evaluation Specifics

Not provided

\ No newline at end of file diff --git a/todo.txt b/todo.txt index 7ee9734..e0000e1 100644 --- a/todo.txt +++ b/todo.txt @@ -1,37 +1,40 @@ -Features: -- Command list random generator for assessment - and any other variables e.g. location, handler -- Last tested -- Print page option on Dog Command Links Page, Assessment-single Page for test sessions, giving the dog to another handler temporarily - give view only access -- UI warning for attempt to create duplicate -- Add Button management to Command page -- Add Command management to Command Category page -- Reporting - - Buttons by category, command - - Assessment results by category, command -- Reminders / calendar sync -- Dietary and medical appointments and notes tracking -- Sample trigger sounds -- Training videos for commands -- Timer / stopwatch functionality -- Hamburger menu links for local website subsection -- Info icon and popup for page purpose on page and against links to page -- User active feature -- Company allow sharing of lookup tables, dogs, around employees -- Company allow admin role to move dogs around -- Get Many Stored Procedures - check they call all necessary clear_calc Stored Procedures -- Filter Response Quality Metric by Unit measurement - first need Unit measurement calc -- Add Is_Handler field to User table and filters -- Add Is_Default field to all Lookup tables -- Response Quality Metric - add field bigger value measured is better? -- Permissions -- Assessment completed/started on date for when used as homework -- Dynamic sitemap.xml + robots.txt generation - Fix: - formFilters - centre columns on flex - Location save and UI logic for tree structure - Dogs missing from Assessments table? -- Add filter by unit measurement on Response Quality Metric -- DB field id_user_created_by must not be null \ No newline at end of file +- DB field id_user_created_by must not be null + + +Features: + +reports: +time spent training with each animal over time +radar - command count in category at each obedience level - count exists, count trained, count trained with obedience level >= x +add horizontal lines to chart for thresholds / progress scrutinisation, vertical lines for significant milestones like change of ownership +dogs that require food or exercise at certain point in day e.g. evening meal +unpaid bill calendar entries, overdue + + + + +API / Connectors: +The Working Dog - guide dog record keeping spreadsheets +https://www.igdf.org.uk/about-us/starting-a-guide-dog-organisation/administration-support-services-record-keeping-systems-and-resources/ +International working dog registry - database for handling guide dog data +https://www.iwdr.org/ + + +User Links: +Dog +Command Category +Location +Button Shape +Image +Distraction Type +Bribe +Response Quality Metric +Obedience Level + + diff --git a/webpack.config.js b/webpack.config.js index 8c66c78..c9bcdb8 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -36,6 +36,11 @@ module.exports = { path.resolve(__dirname, 'static/css/sections/core.css'), path.resolve(__dirname, 'static/css/pages/core/contact.css') ], + core_apply_founding_partner: [ + path.resolve(__dirname, 'static/css/sections/core.css'), + path.resolve(__dirname, 'static/css/pages/core/contact.css'), + path.resolve(__dirname, 'static/css/pages/core/apply_founding_partner.css') + ], core_admin_home: [ path.resolve(__dirname, 'static/css/sections/core.css'), path.resolve(__dirname, 'static/css/pages/core/admin_home.css')