From 5a630ad33237c2703fdc30c3b8912051f7b2ccfc Mon Sep 17 00:00:00 2001 From: Miles Wells Date: Tue, 19 Mar 2024 19:35:25 +0200 Subject: [PATCH 01/90] Resolves #621 --- iblrig/alyx.py | 65 ---------------------- iblrig/base_choice_world.py | 1 - iblrig/base_choice_world_params.yaml | 1 - iblrig/base_tasks.py | 55 ++++++++++++++++--- iblrig/test/test_alyx.py | 80 ++++++++++++++++++++++++++++ 5 files changed, 127 insertions(+), 75 deletions(-) delete mode 100644 iblrig/alyx.py create mode 100644 iblrig/test/test_alyx.py diff --git a/iblrig/alyx.py b/iblrig/alyx.py deleted file mode 100644 index 2bb02e250..000000000 --- a/iblrig/alyx.py +++ /dev/null @@ -1,65 +0,0 @@ -import logging - -import iblrig -from one.registration import RegistrationClient - -log = logging.getLogger(__name__) - - -def register_session(session_path, settings_dict, one=None): - """Register session in Alyx database.""" - - if one is None: - return - - def ensure_list(x): - x = [] if x is None else x - return x if isinstance(x, list) else [x] - - registration_kwargs = { - 'ses_path': session_path, - 'file_list': False, - 'users': [settings_dict['ALYX_USER'] or one.alyx._par.ALYX_LOGIN], - 'location': settings_dict['RIG_NAME'], - 'procedures': ensure_list(settings_dict['PROCEDURES']), - 'n_correct_trials': settings_dict['NTRIALS_CORRECT'], - 'n_trials': settings_dict['NTRIALS'], - 'projects': ensure_list(settings_dict['PROJECTS']), - 'task_protocol': settings_dict['PYBPOD_PROTOCOL'] + iblrig.__version__, - 'lab': settings_dict['ALYX_LAB'], - 'start_time': settings_dict['SESSION_START_TIME'], - 'end_time': settings_dict['SESSION_END_TIME'], - } - rc = RegistrationClient(one=one) - ses, _ = rc.register_session(**registration_kwargs) - log.info(f'session registered in Alyx database: {ses["subject"]}, {ses["start_time"]}, {ses["number"]}') - - # add the weight if available and if there is no previous weighing registered - if settings_dict['SUBJECT_WEIGHT']: - wd = dict(nickname=settings_dict['SUBJECT_NAME'], date_time=settings_dict['SESSION_START_TIME']) - previous_weighings = one.alyx.rest('weighings', 'list', **wd, no_cache=True) - if len(previous_weighings) == 0: - wd = dict( - subject=settings_dict['SUBJECT_NAME'], - date_time=settings_dict['SESSION_START_TIME'], - weight=settings_dict['SUBJECT_WEIGHT'], - ) - one.alyx.rest('weighings', 'create', data=wd) - log.info(f"weighing registered in Alyx database: {ses['subject']}, {settings_dict['SUBJECT_WEIGHT']}g") - - # add the water administration if there is no water administration registered - if ( - settings_dict['TOTAL_WATER_DELIVERED'] - and len(one.alyx.rest('water-administrations', 'list', session=ses['url'][-36:], no_cache=True)) == 0 - ): - wa_data = dict( - session=ses['url'][-36:], - subject=settings_dict['SUBJECT_NAME'], - water_type=settings_dict.get('REWARD_TYPE', None), - water_administered=settings_dict['TOTAL_WATER_DELIVERED'] / 1000, - ) - one.alyx.rest('water-administrations', 'create', data=wa_data) - log.info( - f"Water administered registered in Alyx database: {ses['subject']}," - f"{settings_dict['TOTAL_WATER_DELIVERED'] / 1000}mL" - ) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index a973001c1..b71d45b8b 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -49,7 +49,6 @@ class ChoiceWorldParams(BaseModel): INTERACTIVE_DELAY: float = 0.0 ITI_DELAY_SECS: float = 0.5 NTRIALS: int = Field(2000, gt=0) - POOP_COUNT: bool = True PROBABILITY_LEFT: Probability = 0.5 QUIESCENCE_THRESHOLDS: list[float] = Field(default=[-2, 2], min_length=2, max_length=2) QUIESCENT_PERIOD: float = 0.2 diff --git a/iblrig/base_choice_world_params.yaml b/iblrig/base_choice_world_params.yaml index db37750d0..e727d4a53 100644 --- a/iblrig/base_choice_world_params.yaml +++ b/iblrig/base_choice_world_params.yaml @@ -15,7 +15,6 @@ 'DEAD_TIME': 0.5 # the length of time before entering the next trial. This plus ITI_DELAY_SECS define period of closed-loop grey screen 'ITI_DELAY_SECS': 0.5 # this is the length of the ITI state at the end of the session. 0.5 seconds are added to it until the next trial start 'NTRIALS': 2000 -'POOP_COUNT': true 'PROBABILITY_LEFT': 0.5 'QUIESCENCE_THRESHOLDS': [-2, 2] 'QUIESCENT_PERIOD': 0.2 diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index 78283e201..aea893404 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -26,8 +26,8 @@ from pythonosc import udp_client import ibllib.io.session_params as ses_params +from ibllib.oneibl.registration import IBLRegistrationClient import iblrig -import iblrig.alyx import iblrig.graphic as graph import iblrig.path_helper import pybpodapi @@ -53,6 +53,7 @@ class BaseSession(ABC): version = None + """str: !!CURRENTLY UNUSED!! task version string.""" protocol_name: str | None = None base_parameters_file: Path | None = None is_mock = False @@ -223,9 +224,9 @@ def _init_paths(self, append: bool = False): else: # in this case the session path is created from scratch paths.SESSION_FOLDER = date_folder / next_num_folder(date_folder) - self.session_info.SESSION_NUMBER = int(paths.SESSION_FOLDER.name) paths.TASK_COLLECTION = iblrig.path_helper.iterate_collection(paths.SESSION_FOLDER) + self.session_info.SESSION_NUMBER = int(paths.SESSION_FOLDER.name) paths.SESSION_RAW_DATA_FOLDER = paths.SESSION_FOLDER.joinpath(paths.TASK_COLLECTION) paths.DATA_FILE_PATH = paths.SESSION_RAW_DATA_FOLDER.joinpath('_iblrig_taskData.raw.jsonable') return paths @@ -379,17 +380,55 @@ def one(self): def register_to_alyx(self): """ Registers the session to Alyx. - To make sure the registration is the same from the settings files and from the instantiated class - we output the settings dictionary and register from this format directly. - Alternatively, this function - :return: + + This registers the session using the IBLRegistrationClient class. This uses the settings + file(s) and experiment description file to extract the session data. This may be called + any number of times and if the session record already exists in Alyx it will be updated. + If session registration fails, it will be done before extraction in the ibllib pipeline. + + Note that currently the subject weight is registered once and only once. The recorded + weight of the first protocol run is used. + + Water administrations are added separately by this method: it is expected that + `register_session` is first called with no recorded total water. This method will then add + a water administration each time it is called, and should therefore be called only once + after protocol is run. If water administration registration fails for all protocols, this + will be done before extraction in the ibllib pipline, however, if a water administration is + successfully registered for one protocol and subsequent ones fail to register, these will + not be added before extraction in ibllib and therefore must be manually added to Alyx. + + Returns + ------- + dict + The registered session record. + + See Also + -------- + ibllib.oneibl.IBLRegistrationClient.register_session - The registration method. """ - settings_dictionary = self._make_task_parameters_dict() + if not self.one or self.one.offline: + return try: - iblrig.alyx.register_session(self.paths.SESSION_FOLDER, settings_dictionary, one=self.one) + ses, _ = IBLRegistrationClient(self.one).register_session(self.paths.SESSION_FOLDER) except Exception: log.error(traceback.format_exc()) log.error('Could not register session to Alyx') + return + # add the water administration if there was water administered + try: + if self.session_info['TOTAL_WATER_DELIVERED']: + wa_data = dict( + session=ses['url'][-36:], + subject=self.session_info.SUBJECT_NAME, + water_type=self.task_params.get('REWARD_TYPE', None), + water_administered=self.session_info['TOTAL_WATER_DELIVERED'] / 1000) + self.one.alyx.rest('water-administrations', 'create', data=wa_data) + log.info(f"Water administered registered in Alyx database: {ses['subject']}," + f"{wa_data['water_administered']}mL") + except Exception: + log.error(traceback.format_exc()) + log.error('Could not register water administration to Alyx') + return def _execute_mixins_shared_function(self, pattern): """ diff --git a/iblrig/test/test_alyx.py b/iblrig/test/test_alyx.py new file mode 100644 index 000000000..56a6c0496 --- /dev/null +++ b/iblrig/test/test_alyx.py @@ -0,0 +1,80 @@ +"""Test iblrig.alyx module.""" +import unittest +import tempfile +import random +import string +from pathlib import Path +import datetime +from copy import deepcopy + +from one.tests import TEST_DB_1 +from one.api import ONE + +from iblrig import __version__ +from iblrig.test.base import TASK_KWARGS +from iblrig_tasks._iblrig_tasks_trainingChoiceWorld.task import Session as TrainingChoiceWorldSession + + +class TestRegisterSession(unittest.TestCase): + """Test iblrig.alyx.register_session function.""" + + def setUp(self): + # Create a temporary directory for task to write settings files to + tmp = tempfile.TemporaryDirectory() + self.addCleanup(tmp.cleanup) + self.tmpdir = Path(tmp.name) + + # Create a random new subject + self.one = ONE(**TEST_DB_1, cache_rest=None) + self.subject = ''.join(random.choices(string.ascii_letters, k=10)) + self.lab = 'mainenlab' + self.one.alyx.rest('subjects', 'create', data={'lab': self.lab, 'nickname': self.subject}) + self.addCleanup(self.one.alyx.rest, 'subjects', 'delete', id=self.subject) + + # Task settings + iblrig_settings = {'ALYX_LAB': self.lab, 'iblrig_local_subjects_path': self.tmpdir, 'iblrig_local_data_path': self.tmpdir} + hardware_settings = {'RIG_NAME': self.one.alyx.rest('locations', 'list', lab=self.lab)[0]['name']} + self.task_settings = {**TASK_KWARGS, 'subject': self.subject, + 'iblrig_settings': iblrig_settings, 'hardware_settings': hardware_settings} + + def test_register_session(self): + task = TrainingChoiceWorldSession(**self.task_settings, one=self.one) + self.addCleanup(task._remove_file_loggers) + task.create_session() # calls register_to_alyx + + ses, = self.one.alyx.rest('sessions', 'list', subject=self.subject) + self.assertEqual(self.lab, ses['lab']) + self.assertEqual(task.session_info['SESSION_START_TIME'], ses['start_time']) + # self.assertEqual(task.session_info['SESSION_END_TIME'], ses['end_time']) + self.assertCountEqual(task.session_info['PROJECTS'], ses['projects']) + self.assertEqual(task.protocol_name + __version__, ses['task_protocol']) + + # Test with chained protocol + task_settings = deepcopy(self.task_settings) + task_settings['hardware_settings']['MAIN_SYNC'] = False # Must be false to append + task_settings['procedures'][0] = 'Ephys recording with acute probe(s)' + chained = TrainingChoiceWorldSession(**task_settings, one=self.one, append=True) + # Add n trials, etc. This simulates the call to register_to_alyx in the run method + chained.session_info.SESSION_END_TIME = (datetime.datetime.now() + datetime.timedelta(hours=60)).isoformat() + chained.session_info.POOP_COUNT = 83 + chained.session_info['NTRIALS'], chained.session_info['NTRIALS_CORRECT'] = 100, 65 + chained.session_info['TOTAL_WATER_DELIVERED'] = 535 + # Create session saves both settings and description files + chained.create_session() + + ses = self.one.alyx.get(ses['url']) # fetch full session from alyx + self.assertEqual(task_settings['hardware_settings']['RIG_NAME'], ses['location']) + self.assertEqual(task.session_info['SESSION_START_TIME'], ses['start_time']) + self.assertEqual(chained.session_info['SESSION_END_TIME'], ses['end_time']) + expected_procedures = {*task.session_info['PROCEDURES'], *chained.session_info['PROCEDURES']} + self.assertCountEqual(expected_procedures, ses['procedures']) + self.assertEqual(chained.session_info.POOP_COUNT, ses['json']['POOP_COUNT']) + expected_protocol = task.protocol_name + __version__ + '/' + chained.protocol_name + __version__ + self.assertEqual(expected_protocol, ses['task_protocol']) + self.assertEqual(1, len(ses['wateradmin_session_related'])) + expected = chained.session_info['TOTAL_WATER_DELIVERED'] / 1e3 + self.assertEqual(expected, ses['wateradmin_session_related'][0]['water_administered']) + + +if __name__ == '__main__': + unittest.main() From b7d4b52183b37894974dbd4c41eb60651eff615b Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 21 Mar 2024 10:45:51 +0000 Subject: [PATCH 02/90] Update valve.py --- iblrig/valve.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/iblrig/valve.py b/iblrig/valve.py index 1c50a3832..dcb2ee795 100644 --- a/iblrig/valve.py +++ b/iblrig/valve.py @@ -50,7 +50,12 @@ def _update_fit(self) -> None: if len(self._data) >= 2: with warnings.catch_warnings(): warnings.simplefilter('ignore') - c, _ = scipy.optimize.curve_fit(self._fcn, self.open_times_ms, self.volumes_ul, bounds=([-np.inf, 0, 0], np.inf)) + try: + c, _ = scipy.optimize.curve_fit( + self._fcn, self.open_times_ms, self.volumes_ul, bounds=([-np.inf, 0, 0], np.inf) + ) + except RuntimeError: + c = [np.nan, np.nan, np.nan] else: c = [np.nan, np.nan, np.nan] self._polynomial = Polynomial(coef=c) From 9516bba392fb3cab5c4a48a130f0cd3b54577182 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 21 Mar 2024 10:45:56 +0000 Subject: [PATCH 03/90] Update commands.py --- iblrig/commands.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/iblrig/commands.py b/iblrig/commands.py index d641ac3c0..58dd5a695 100644 --- a/iblrig/commands.py +++ b/iblrig/commands.py @@ -42,15 +42,15 @@ def _transfer_parser(description: str) -> argparse.ArgumentParser: parser = argparse.ArgumentParser( description=description, formatter_class=argparse.ArgumentDefaultsHelpFormatter, argument_default=argparse.SUPPRESS ) - parser.add_argument('--tag', default='behavior', type=str, help='data type to transfer, e.g. "behavior", "video"') + parser.add_argument('-t', '--tag', default='behavior', type=str, help='data type to transfer, e.g. "behavior", "video"') parser.add_argument('-l', '--local', action='store', type=dir_path, dest='local_path', help='define local data path') parser.add_argument('-r', '--remote', action='store', type=dir_path, dest='remote_path', help='define remote data path') parser.add_argument('-d', '--dry', action='store_true', dest='dry', help='do not remove local data after copying') parser.add_argument( - '--cleanup-weeks', type=int, help='cleanup data older than this many weeks (-1 for no cleanup)', default=2 + '-c', '--cleanup-weeks', type=int, help='cleanup data older than this many weeks (-1 for no cleanup)', default=2 ) parser.add_argument( - '--subject', type=str, help='an optional subject name to filter sessions by. Wildcards accepted.', default='*' + '-s', '--subject', type=str, help='an optional subject name to filter sessions by. Wildcards accepted.', default='*' ) parser.add_argument( '--date', type=str, help='an optional date pattern to filter sessions by. Wildcards accepted.', default='*-*-*' From 3f4aab18d2d7ba92a4894309a06b8e70791517b8 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 21 Mar 2024 17:46:09 +0000 Subject: [PATCH 04/90] Update valve.py --- iblrig/gui/valve.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iblrig/gui/valve.py b/iblrig/gui/valve.py index ec5a67795..70d93deba 100644 --- a/iblrig/gui/valve.py +++ b/iblrig/gui/valve.py @@ -59,6 +59,7 @@ def clear(self): class ValveCalibrationDialog(QtWidgets.QDialog, Ui_valve): scale: Scale | None = None + scale_initialized = QtCore.pyqtSignal() scale_text_changed = QtCore.pyqtSignal(str) scale_stable_changed = QtCore.pyqtSignal(bool) drop_cleared = QtCore.pyqtSignal(int) @@ -134,6 +135,7 @@ def __init__(self, *args, **kwargs) -> None: self.pushButtonSave.setEnabled(False) self.pushButtonCancel.clicked.connect(self.close) self.pushButtonRestart.setVisible(False) + self.scale_initialized.connect(self.define_and_start_state_machine) self.show() @@ -265,7 +267,7 @@ def _on_initialize_scale_result(self, success: bool): else: self.lineEditGrams.setAlignment(QtCore.Qt.AlignCenter) self.lineEditGrams.setText('Error') - self.define_and_start_state_machine() + self.scale_initialized.emit() def get_scale_reading(self): grams, stable = self.scale.get_grams() From aacd53dcfc84f7e4daa0f6cd0d6a9736843a806f Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 22 Mar 2024 13:07:07 +0000 Subject: [PATCH 05/90] some cleaning up --- iblrig/gui/ui_valve.py | 1 + iblrig/gui/ui_valve.ui | 3 +++ iblrig/gui/valve.py | 46 +++++++++++++++++++++++++----------------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/iblrig/gui/ui_valve.py b/iblrig/gui/ui_valve.py index db1251266..d9d31e198 100644 --- a/iblrig/gui/ui_valve.py +++ b/iblrig/gui/ui_valve.py @@ -89,6 +89,7 @@ def setupUi(self, valve): spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem) self.commandLinkNext = QtWidgets.QCommandLinkButton(self.groupBoxCalibration) + self.commandLinkNext.setEnabled(False) self.commandLinkNext.setObjectName("commandLinkNext") self.verticalLayout_5.addWidget(self.commandLinkNext) self.verticalLayout_3.addWidget(self.groupBoxCalibration) diff --git a/iblrig/gui/ui_valve.ui b/iblrig/gui/ui_valve.ui index 96bfdd6c2..0eb625bec 100644 --- a/iblrig/gui/ui_valve.ui +++ b/iblrig/gui/ui_valve.ui @@ -199,6 +199,9 @@ + + false + Next Step diff --git a/iblrig/gui/valve.py b/iblrig/gui/valve.py index 70d93deba..fa7fe0802 100644 --- a/iblrig/gui/valve.py +++ b/iblrig/gui/valve.py @@ -59,7 +59,7 @@ def clear(self): class ValveCalibrationDialog(QtWidgets.QDialog, Ui_valve): scale: Scale | None = None - scale_initialized = QtCore.pyqtSignal() + scale_initialized = QtCore.pyqtSignal(bool) scale_text_changed = QtCore.pyqtSignal(str) scale_stable_changed = QtCore.pyqtSignal(bool) drop_cleared = QtCore.pyqtSignal(int) @@ -69,6 +69,7 @@ class ValveCalibrationDialog(QtWidgets.QDialog, Ui_valve): _grams = float('nan') _stable = False _next_calibration_step = 1 + _next_calibration_time = float('nan') _scale_update_ms = 100 _clear_drop_counter = 0 @@ -139,7 +140,8 @@ def __init__(self, *args, **kwargs) -> None: self.show() - def define_and_start_state_machine(self) -> None: + @QtCore.pyqtSlot(bool) + def define_and_start_state_machine(self, use_scale: bool = False) -> None: for state_name in ['start', 'beaker', 'flow', 'clear', 'tare', 'calibrate', 'finished', 'save']: self.states[state_name] = QtCore.QState(self.machine) self.machine.setInitialState(self.states['start']) @@ -152,6 +154,7 @@ def define_and_start_state_machine(self) -> None: 'This is a step-by-step guide for calibrating the valve of your rig. You can abort the process at any time by ' 'pressing Cancel or closing this window.', ) + self.states['start'].assignProperty(self.commandLinkNext, 'enabled', True) self.states['start'].addTransition(self.commandLinkNext.clicked, self.states['beaker']) # state 'beaker': ask user to position beaker on scale --------------------------------------------------------- @@ -169,7 +172,7 @@ def define_and_start_state_machine(self) -> None: self.states['beaker'].assignProperty(self.commandLinkNext, 'visible', True) self.states['beaker'].assignProperty(self.commandLinkNext, 'enabled', True) self.states['beaker'].assignProperty(self.pushButtonSave, 'enabled', False) - self.states['beaker'].assignProperty(self.pushButtonTareScale, 'enabled', True) + self.states['beaker'].assignProperty(self.pushButtonTareScale, 'enabled', use_scale) self.states['beaker'].assignProperty(self.pushButtonToggleValve, 'enabled', True) self.states['beaker'].assignProperty(self.pushButtonPulseValve, 'enabled', True) self.states['beaker'].addTransition(self.commandLinkNext.clicked, self.states['flow']) @@ -188,23 +191,27 @@ def define_and_start_state_machine(self) -> None: self.states['clear'].entered.connect(self.clear_drop) self.states['clear'].assignProperty(self.pushButtonTareScale, 'enabled', False) self.states['clear'].assignProperty(self.pushButtonToggleValve, 'enabled', False) - if self.scale is None: - self.states['clear'].assignProperty(self.pushButtonPulseValve, 'enabled', True) - self.states['clear'].assignProperty(self.commandLinkNext, 'enabled', True) - self.states['clear'].addTransition(self.commandLinkNext.clicked, self.states['tare']) - else: + if use_scale: self.states['clear'].assignProperty(self.pushButtonPulseValve, 'enabled', False) self.states['clear'].assignProperty(self.commandLinkNext, 'enabled', False) self.states['clear'].addTransition(self.drop_cleared, self.states['tare']) + else: + self.states['clear'].assignProperty(self.pushButtonPulseValve, 'enabled', True) + self.states['clear'].assignProperty(self.commandLinkNext, 'enabled', True) + self.states['clear'].addTransition(self.commandLinkNext.clicked, self.states['tare']) # state 'tare': tare the scale --------------------------------------------------------------------------------- self.states['tare'].assignProperty(self.pushButtonPulseValve, 'enabled', False) - self.states['tare'].entered.connect(self.tare) - self.states['tare'].addTransition(self.commandLinkNext.clicked, self.states['calibrate']) - self.states['tare'].addTransition(self.tared, self.states['calibrate']) + if use_scale: + self.states['tare'].entered.connect(self.tare) + self.states['tare'].addTransition(self.tared, self.states['calibrate']) + else: + self.states['tare'].assignProperty(self.labelGuideText, 'text', 'Tare the scale.') + self.states['tare'].addTransition(self.commandLinkNext.clicked, self.states['calibrate']) # state 'calibrate': perform the actual measurement ------------------------------------------------------------ self.states['calibrate'].entered.connect(self.calibrate) + self.states['calibrate'].assignProperty(self.commandLinkNext, 'enabled', False) self.states['calibrate'].addTransition(self.start_next_calibration, self.states['clear']) self.states['calibrate'].addTransition(self.calibration_finished, self.states['finished']) @@ -243,7 +250,7 @@ def get_next_calibration_time(self) -> float | None: def initialize_scale(self, port: str) -> bool: if port is None: self.groupBoxScale.setVisible(False) - self.define_and_start_state_machine() + self.define_and_start_state_machine(use_scale=False) return False try: self.lineEditGrams.setAlignment(QtCore.Qt.AlignCenter) @@ -267,7 +274,7 @@ def _on_initialize_scale_result(self, success: bool): else: self.lineEditGrams.setAlignment(QtCore.Qt.AlignCenter) self.lineEditGrams.setText('Error') - self.scale_initialized.emit() + self.scale_initialized.emit(success) def get_scale_reading(self): grams, stable = self.scale.get_grams() @@ -324,9 +331,6 @@ def clear_crop_callback(self, initial_grams: float, duration_s: float = 0.05): self.bpod.pulse_valve(duration_s) def tare(self): - if self.scale is None: - self.labelGuideText.setText('Tare the scale.') - return self.scale_timer.stop() self.scale_text_changed.emit('------') self._grams = float('nan') @@ -356,7 +360,13 @@ def _on_repeated_pulse_finished(self, n_pulses: int): scale_reading = 0 while not ok or scale_reading <= 0: scale_reading, ok = QtWidgets.QInputDialog().getDouble( - self, 'Enter Scale Reading', 'Enter measured weight in grams:', max=float('inf'), decimals=2 + self, + 'Enter Scale Reading', + 'Enter measured weight in grams:', + min=0, + max=float('inf'), + decimals=2, + flags=(QtWidgets.QInputDialog().windowFlags() & ~QtCore.Qt.WindowType.WindowContextHelpButtonHint), ) grams_per_pulse = scale_reading / n_pulses else: @@ -379,7 +389,7 @@ def save(self) -> None: save_pydantic_yaml(self.parent().model.hardware_settings) self.labelGuideHead.setText('Settings saved.') self.labelGuideText.setText('') - QtCore.QTimer.singleShot(1000, lambda: self.close()) + QtCore.QTimer.singleShot(1000, self.close) def closeEvent(self, event): self.clear_timer.stop() From fffef83cc926c7210019ebe8da70ffce31ab228d Mon Sep 17 00:00:00 2001 From: Miles Wells Date: Fri, 22 Mar 2024 18:18:32 +0200 Subject: [PATCH 06/90] Check weights posted to Alyx in test --- iblrig/base_tasks.py | 1 + iblrig/test/test_alyx.py | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index aea893404..6e541fe1a 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -429,6 +429,7 @@ def register_to_alyx(self): log.error(traceback.format_exc()) log.error('Could not register water administration to Alyx') return + return ses def _execute_mixins_shared_function(self, pattern): """ diff --git a/iblrig/test/test_alyx.py b/iblrig/test/test_alyx.py index 56a6c0496..47ea03085 100644 --- a/iblrig/test/test_alyx.py +++ b/iblrig/test/test_alyx.py @@ -1,5 +1,6 @@ """Test iblrig.alyx module.""" import unittest +from unittest.mock import patch import tempfile import random import string @@ -40,14 +41,18 @@ def setUp(self): def test_register_session(self): task = TrainingChoiceWorldSession(**self.task_settings, one=self.one) self.addCleanup(task._remove_file_loggers) + task.session_info.SUBJECT_WEIGHT = 31.43 task.create_session() # calls register_to_alyx ses, = self.one.alyx.rest('sessions', 'list', subject=self.subject) self.assertEqual(self.lab, ses['lab']) self.assertEqual(task.session_info['SESSION_START_TIME'], ses['start_time']) - # self.assertEqual(task.session_info['SESSION_END_TIME'], ses['end_time']) self.assertCountEqual(task.session_info['PROJECTS'], ses['projects']) self.assertEqual(task.protocol_name + __version__, ses['task_protocol']) + # Check weight registered + weights = self.one.alyx.rest('weighings', 'list', subject=self.subject) + self.assertEqual(1, len(weights)) + self.assertEqual(task.session_info.SUBJECT_WEIGHT, weights[0]['weight']) # Test with chained protocol task_settings = deepcopy(self.task_settings) @@ -56,6 +61,7 @@ def test_register_session(self): chained = TrainingChoiceWorldSession(**task_settings, one=self.one, append=True) # Add n trials, etc. This simulates the call to register_to_alyx in the run method chained.session_info.SESSION_END_TIME = (datetime.datetime.now() + datetime.timedelta(hours=60)).isoformat() + chained.session_info.SUBJECT_WEIGHT = 28. chained.session_info.POOP_COUNT = 83 chained.session_info['NTRIALS'], chained.session_info['NTRIALS_CORRECT'] = 100, 65 chained.session_info['TOTAL_WATER_DELIVERED'] = 535 @@ -74,6 +80,27 @@ def test_register_session(self): self.assertEqual(1, len(ses['wateradmin_session_related'])) expected = chained.session_info['TOTAL_WATER_DELIVERED'] / 1e3 self.assertEqual(expected, ses['wateradmin_session_related'][0]['water_administered']) + # Expect new weight not added; this behaviour may change in the future if required + self.assertEqual(1, len(self.one.alyx.rest('weighings', 'list', subject=self.subject))) + + # Test handling of errors + with patch('iblrig.base_tasks.IBLRegistrationClient.register_session', side_effect=AssertionError), \ + self.assertLogs('iblrig.base_tasks', 'ERROR') as log: + self.assertIsNone(chained.register_to_alyx()) + self.assertIn('AssertionError', log.output[0]) + self.assertIn('Could not register session to Alyx', log.output[1]) + + # An empty session record should cause an error when attempting to register weight + with patch('iblrig.base_tasks.IBLRegistrationClient.register_session', return_value=({}, None)), \ + self.assertLogs('iblrig.base_tasks', 'ERROR') as log: + self.assertIsNone(chained.register_to_alyx()) + self.assertIn('Could not register water administration to Alyx', log.output[1]) + + # ONE in offline mode should simply return + self.one.mode = 'local' + with patch('iblrig.base_tasks.IBLRegistrationClient') as mock_client: + self.assertIsNone(chained.register_to_alyx()) + mock_client.assert_not_called() if __name__ == '__main__': From f13486c49406577c75f348a8ab26549c8e24b856 Mon Sep 17 00:00:00 2001 From: owinter Date: Fri, 22 Mar 2024 17:22:13 +0000 Subject: [PATCH 07/90] micromanipulator gui mwe --- iblrig/gui/micromanipulator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/iblrig/gui/micromanipulator.py b/iblrig/gui/micromanipulator.py index efa5216f8..75e21a330 100644 --- a/iblrig/gui/micromanipulator.py +++ b/iblrig/gui/micromanipulator.py @@ -27,7 +27,6 @@ def __init__(self, **kwargs): self.atlas.plot_sslice(ml_coordinate=0, ax=self.uiMpl.canvas.ax[1], volume='annotation') self.uiMpl.canvas.fig.tight_layout() self.uiPush_np24.clicked.connect(self.on_push_np24) - self.uiPush self.update_view() def update_view(self): From 218071e633b729b54e49f42e94aed70183e8c914 Mon Sep 17 00:00:00 2001 From: owinter Date: Fri, 22 Mar 2024 17:43:10 +0000 Subject: [PATCH 08/90] add the sound validation task used in Seattle when bpod BNC2 was silent --- iblrig/validation.py | 148 +++++++++++++++++++++ scripts/hardware_validation/frame2ttlv2.py | 28 ---- 2 files changed, 148 insertions(+), 28 deletions(-) create mode 100644 iblrig/validation.py delete mode 100644 scripts/hardware_validation/frame2ttlv2.py diff --git a/iblrig/validation.py b/iblrig/validation.py new file mode 100644 index 000000000..d0691fddd --- /dev/null +++ b/iblrig/validation.py @@ -0,0 +1,148 @@ +from pybpodapi.protocol import StateMachine +from iblrig.base_tasks import BpodMixin, SoundMixin +import iblrig + +from pathlib import Path + + +class _SoundCheckTask(BpodMixin, SoundMixin): + protocol_name = "hardware_check_harp" + + def __init__(self, *args, **kwargs): + param_file = Path(iblrig.__file__).parent.joinpath("base_choice_world_params.yaml") + super(_SoundCheckTask, self).__init__(*args, task_parameter_file=param_file, **kwargs) + + def start_hardware(self): + self.start_mixin_bpod() + self.start_mixin_sound() + + def get_state_machine(self): + sma = StateMachine(self.bpod) + # play tone, move on to next state if sound is detected, with a time-out of 0.1s + sma.add_state( + state_name='play_tone', + state_timer=0.5, + output_actions=[self.bpod.actions.play_tone], + state_change_conditions={ + 'Tup': 'error', + }, + ) + sma.add_state( + state_name='error', + state_timer=1, + output_actions=[self.bpod.actions.play_noise], + state_change_conditions={'Tup': 'exit'}, + ) + return sma + + def play_sounds(self): + sma = self.get_state_machine() + self.bpod.send_state_machine(sma) + self.bpod.run_state_machine(sma) + + def _run(self): + pass + + +def sound_check(): + """ + # TODO: within the task (and actually with this hardware check), we need to test + for the exact same number of pulses than generated by the state machine. + # if it is more, it means it's noise and potentially disconnected, if it is less, + it means the sound card is not sending the pulses properly + + bpod_data_success: + GPIO -- Bpod OR GPIO X- Bpod + Harp -- Bpod + GPIO -- Harp + + bpod_data_success + {'Bpod start timestamp': 0.620611, + 'Trial start timestamp': 0.620611, + 'Trial end timestamp': 2.120613, + 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, + 'Events timestamps': {'BNC2High': [0.0007, 0.5007], + 'BNC2Low': [0.1107, 1.0007000000000001], + 'Tup': [0.5, 1.5]}} + + bpod_data_failure: + GPIO -- Bpod + Harp -X Bpod + GPIO -X Harp + {'Bpod start timestamp': 0.620611, + 'Trial start timestamp': 232.963811, + 'Trial end timestamp': 234.463814, + 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, + 'Events timestamps': {'BNC2Low': [0.008400000000000001, + 0.0349, + 0.08990000000000001, + 0.1796, + 0.19360000000000002, + 0.2753, + 0.28150000000000003, + 0.29550000000000004, + 0.33140000000000003, + 0.36100000000000004, + 0.5086, + 0.5457000000000001, + 0.6646000000000001, + 0.6959000000000001, + 0.7241000000000001, + 0.8599, + 0.8823000000000001, + 0.9087000000000001, + 0.9398000000000001, + 1.0050000000000001, + 1.1079, + 1.1265, + 1.1955, + 1.2302, + 1.3635000000000002, + 1.4215], + 'BNC2High': [0.0085, + 0.035, + 0.09000000000000001, + 0.1797, + 0.1937, + 0.27540000000000003, + 0.2816, + 0.29560000000000003, + 0.3315, + 0.36110000000000003, + 0.5087, + 0.5458000000000001, + 0.6647000000000001, + 0.6960000000000001, + 0.7242000000000001, + 0.86, + 0.8824000000000001, + 0.9088, + 0.9399000000000001, + 1.0051, + 1.108, + 1.1266, + 1.1956, + 1.2303, + 1.3636000000000001, + 1.4216], + 'Tup': [0.5, 1.5]}} + + bpod data failure: case if sound card is not wired properly (no feedback from sound card) + bpod_data_failure: + GPIO -X Bpod + Harp -X Bpod + GPIO -- Harp + Out[49]: + {'Bpod start timestamp': 0.620611, + 'Trial start timestamp': 405.619411, + 'Trial end timestamp': 407.119414, + 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, + 'Events timestamps': {'Tup': [0.5, 1.5]}} + """ + + task = _SoundCheckTask(subject='toto') + task.start_hardware() + task.play_sounds() + + bpod_data = task.bpod.session.current_trial.export() + assert len(bpod_data['Events timestamps']['BNC2High']) == 2 diff --git a/scripts/hardware_validation/frame2ttlv2.py b/scripts/hardware_validation/frame2ttlv2.py deleted file mode 100644 index 47f6588ce..000000000 --- a/scripts/hardware_validation/frame2ttlv2.py +++ /dev/null @@ -1,28 +0,0 @@ -import numpy as np - -from iblrig.frame2TTL import Frame2TTLv2 - -COM_PORT = 'COM' -f2ttl = Frame2TTLv2('/dev/ttyACM0') - -light_thresh = 24.8 -dark_thresh = -17.7 - -f2ttl.set_thresholds(light_thresh, dark_thresh) - -## %% Compute thresholds -light = f2ttl.read_sensor(20000).astype(np.int32) -dark = f2ttl.read_sensor(20000).astype(np.int32) -dark_rms = np.sqrt(np.mean((dark - np.mean(dark)) ** 2)) # 43 centered on 2350 -light_rms = np.sqrt(np.mean((light - np.mean(light)) ** 2)) # 42 centered on 4500 - -light_thresh = np.max(np.convolve(np.diff(dark), np.ones(20) / 20)) * 2 -dark_thresh = np.min(np.convolve(np.diff(light), np.ones(20) / 20)) * 1.5 - -# fig, ax = plt.subplots() -# ax.plot(dark, label='dark') -# ax.plot(light, label='light') - -# fig, ax = plt.subplots() -# ax.plot(np.diff(dark), label='dark') -# ax.plot(np.diff(light), label='light') From 6f75b803450314a5412d2a8286600f1c3697d6f5 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Wed, 27 Mar 2024 14:58:36 +0000 Subject: [PATCH 09/90] add logging for pause & stop events --- iblrig/base_choice_world.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index a973001c1..e3a5b499d 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -187,10 +187,19 @@ def _run(self): time_last_trial_end = time.time() self.trial_completed(self.bpod.session.current_trial.export()) self.show_trial_log() - while self.paths.SESSION_FOLDER.joinpath('.pause').exists(): - time.sleep(1) - if self.paths.SESSION_FOLDER.joinpath('.stop').exists(): - self.paths.SESSION_FOLDER.joinpath('.stop').unlink() + + # handle pause and stop events + flag_pause = self.paths.SESSION_FOLDER.joinpath('.pause') + flag_stop = self.paths.SESSION_FOLDER.joinpath('.stop') + if flag_pause.exists() and i < (self.task_params.NTRIALS - 1): + log.info(f'Pausing session inbetween trials {i} and {i + 1}') + while flag_pause.exists() and not flag_stop.exists(): + time.sleep(1) + if not flag_stop.exists(): + log.info('Resuming session') + if flag_stop.exists(): + log.info('Stopping session after trial {i}') + flag_stop.unlink() break def mock(self, file_jsonable_fixture=None): From d84f37d213fb19c56dbae0408c01424d475e4f5b Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 16:44:07 +0100 Subject: [PATCH 10/90] linting --- iblrig/base_choice_world.py | 1 + iblrig/base_tasks.py | 1 + iblrig/choiceworld.py | 1 + iblrig/graphic.py | 1 + iblrig/hardware.py | 1 + iblrig/hardware_validation.py | 6 ++---- iblrig/misc.py | 1 + iblrig/serial_singleton.py | 12 ++++-------- iblrig/session_creator.py | 1 + iblrig/test/test_base_tasks.py | 1 + iblrig/test/test_choice_world.py | 1 + iblrig/test/test_path_helper.py | 1 + iblrig_tasks/_iblrig_tasks_biasedChoiceWorld/task.py | 3 +-- iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py | 1 + .../_iblrig_tasks_habituationChoiceWorld/task.py | 3 +-- iblrig_tasks/_iblrig_tasks_spontaneous/task.py | 1 + scripts/hardware_validation/harp.py | 1 + scripts/ibllib/purge_rig_data.py | 1 + 18 files changed, 22 insertions(+), 16 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index e3a5b499d..f83fd9f32 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -1,4 +1,5 @@ """Extends the base_tasks modules by providing task logic around the Choice World protocol.""" + import abc import json import logging diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index 78283e201..f1d459790 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -4,6 +4,7 @@ It provides hardware mixins that can be used together with BaseSession to compose tasks. This module tries to exclude task related logic. """ + import abc import argparse import datetime diff --git a/iblrig/choiceworld.py b/iblrig/choiceworld.py index 245de002c..d7952136a 100644 --- a/iblrig/choiceworld.py +++ b/iblrig/choiceworld.py @@ -2,6 +2,7 @@ Choice World Task related logic and functions that translate the task description in Appendix 2 of the paper into code. """ + import logging import numpy as np diff --git a/iblrig/graphic.py b/iblrig/graphic.py index 279475556..0a396fc3c 100644 --- a/iblrig/graphic.py +++ b/iblrig/graphic.py @@ -6,6 +6,7 @@ """ Popup and string input prompts """ + import tkinter as tk from tkinter import simpledialog diff --git a/iblrig/hardware.py b/iblrig/hardware.py index ca303386d..6aa56ee48 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -1,6 +1,7 @@ """ This modules contains hardware classes used to interact with modules. """ + import logging import os import re diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 49affb6a3..1a4a37ff5 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -41,8 +41,7 @@ def __init__(self, iblrig_settings=None, hardware_settings=None): self.hardware_settings = hardware_settings or _load_settings_yaml('hardware_settings.yaml') @abstractmethod - def _run(self, *args, **kwargs) -> ValidateResult: - ... + def _run(self, *args, **kwargs) -> ValidateResult: ... def run(self, *args, **kwargs): self.process(result := self._run(*args, **kwargs)) @@ -79,8 +78,7 @@ class ValidateHardwareDevice(ValidateHardware): device_name: str @abstractmethod - def _run(self): - ... + def _run(self): ... def __init__(self, *args, **kwargs): if self.log_results: diff --git a/iblrig/misc.py b/iblrig/misc.py index 09dba61eb..f41e8564e 100644 --- a/iblrig/misc.py +++ b/iblrig/misc.py @@ -5,6 +5,7 @@ and should, be broken out into their own files and/or classes as the organizational needs of this repo change over time. """ + import argparse import datetime import logging diff --git a/iblrig/serial_singleton.py b/iblrig/serial_singleton.py index 6603cb2b9..84b4f4148 100644 --- a/iblrig/serial_singleton.py +++ b/iblrig/serial_singleton.py @@ -144,12 +144,10 @@ def write_packed(self, format_string: str, *data: Any) -> int | None: return super().write(buffer) @overload - def read(self, data_specifier: int = 1) -> bytes: - ... + def read(self, data_specifier: int = 1) -> bytes: ... @overload - def read(self, data_specifier: str) -> tuple[Any, ...]: - ... + def read(self, data_specifier: str) -> tuple[Any, ...]: ... def read(self, data_specifier=1): r""" @@ -183,12 +181,10 @@ def read(self, data_specifier=1): return super().read(data_specifier) @overload - def query(self, query: Any, data_specifier: int = 1) -> bytes: - ... + def query(self, query: Any, data_specifier: int = 1) -> bytes: ... @overload - def query(self, query: Any, data_specifier: str) -> tuple[Any, ...]: - ... + def query(self, query: Any, data_specifier: str) -> tuple[Any, ...]: ... def query(self, query, data_specifier=1): r""" diff --git a/iblrig/session_creator.py b/iblrig/session_creator.py index 01c60db5a..a0156115e 100644 --- a/iblrig/session_creator.py +++ b/iblrig/session_creator.py @@ -1,6 +1,7 @@ """ Creates sessions, pre-generates stim and ephys sessions """ + import math import numpy as np diff --git a/iblrig/test/test_base_tasks.py b/iblrig/test/test_base_tasks.py index fce909caf..1c885320b 100644 --- a/iblrig/test/test_base_tasks.py +++ b/iblrig/test/test_base_tasks.py @@ -4,6 +4,7 @@ The start() methods of those mixins require the hardware to be connected. """ + import argparse import copy import logging diff --git a/iblrig/test/test_choice_world.py b/iblrig/test/test_choice_world.py index dc1ac6fd2..5aa49f0c0 100644 --- a/iblrig/test/test_choice_world.py +++ b/iblrig/test/test_choice_world.py @@ -1,6 +1,7 @@ """ Unit tests for task logic functions """ + import copy import json import shutil diff --git a/iblrig/test/test_path_helper.py b/iblrig/test/test_path_helper.py index da7baa226..5458e92f2 100644 --- a/iblrig/test/test_path_helper.py +++ b/iblrig/test/test_path_helper.py @@ -1,4 +1,5 @@ """Tests for iblrig.path_helper module.""" + import logging import tempfile import unittest diff --git a/iblrig_tasks/_iblrig_tasks_biasedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_biasedChoiceWorld/task.py index eef038b63..71527c720 100644 --- a/iblrig_tasks/_iblrig_tasks_biasedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_biasedChoiceWorld/task.py @@ -2,8 +2,7 @@ from iblrig.base_choice_world import BiasedChoiceWorldSession -class Session(BiasedChoiceWorldSession): - ... +class Session(BiasedChoiceWorldSession): ... if __name__ == '__main__': # pragma: no cover diff --git a/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py index 3eb51125a..ce292a124 100644 --- a/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py @@ -2,6 +2,7 @@ The ephys choice world task is the same as the biased choice world except that the trials are pregenerated and saved in a fixture file. """ + from pathlib import Path import pandas as pd diff --git a/iblrig_tasks/_iblrig_tasks_habituationChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_habituationChoiceWorld/task.py index 343478e08..06fe52eaf 100644 --- a/iblrig_tasks/_iblrig_tasks_habituationChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_habituationChoiceWorld/task.py @@ -2,8 +2,7 @@ from iblrig.base_choice_world import HabituationChoiceWorldSession -class Session(HabituationChoiceWorldSession): - ... +class Session(HabituationChoiceWorldSession): ... if __name__ == '__main__': # pragma: no cover diff --git a/iblrig_tasks/_iblrig_tasks_spontaneous/task.py b/iblrig_tasks/_iblrig_tasks_spontaneous/task.py index d9c46aed6..6f1d21c87 100644 --- a/iblrig_tasks/_iblrig_tasks_spontaneous/task.py +++ b/iblrig_tasks/_iblrig_tasks_spontaneous/task.py @@ -2,6 +2,7 @@ The spontaneous protocol is used to record spontaneous activity in the mouse brain. The task does nothing, only creates the architecture for the data streams to be recorded. """ + import iblrig.misc from iblrig.base_tasks import SpontaneousSession diff --git a/scripts/hardware_validation/harp.py b/scripts/hardware_validation/harp.py index e2ac04e04..7089d5f75 100644 --- a/scripts/hardware_validation/harp.py +++ b/scripts/hardware_validation/harp.py @@ -1,6 +1,7 @@ """ Validation script intended to aid in troubleshooting harp soundcard issues """ + import logging from iblrig import path_helper diff --git a/scripts/ibllib/purge_rig_data.py b/scripts/ibllib/purge_rig_data.py index 0c9a9ae6b..6d73bd806 100644 --- a/scripts/ibllib/purge_rig_data.py +++ b/scripts/ibllib/purge_rig_data.py @@ -3,6 +3,7 @@ - looks for datasets matching filename pattern - datasets that exist in ONE cache are removed """ + import argparse import logging from fnmatch import fnmatch From 44b4209e6282cf63654b1243e85313cc996c8d0d Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 16:51:44 +0100 Subject: [PATCH 11/90] lint 2 --- iblrig/base_choice_world.py | 40 ++++--------------- iblrig/base_tasks.py | 10 +---- iblrig/ephys.py | 10 +---- iblrig/graphic.py | 10 +---- iblrig/gui/wizard.py | 7 +--- iblrig/hardware.py | 15 ++----- iblrig/misc.py | 7 +--- iblrig/serial_singleton.py | 8 +--- iblrig/session_creator.py | 7 +--- .../tasks/test_biased_choice_world_family.py | 4 +- .../test/tasks/test_training_choice_world.py | 6 +-- iblrig/test/test_base_tasks.py | 3 +- iblrig/test/test_ephys.py | 20 +--------- .../task.py | 28 +++---------- pyproject.toml | 1 + scripts/ibllib/purge_rig_data.py | 5 +-- 16 files changed, 32 insertions(+), 149 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index f83fd9f32..19280c9eb 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -231,12 +231,7 @@ def export(self): self.bpod.run_state_machine = lambda k: time.sleep(1.2) daction = ('dummy', 'action') - self.sound = Bunch( - { - 'GO_TONE': daction, - 'WHITE_NOISE': daction, - } - ) + self.sound = Bunch({'GO_TONE': daction, 'WHITE_NOISE': daction}) self.bpod.actions.update( { @@ -340,11 +335,7 @@ def get_state_machine_trial(self, i): state_name='stim_on', state_timer=0.1, output_actions=[self.bpod.actions.bonsai_show_stim], - state_change_conditions={ - 'Tup': 'interactive_delay', - 'BNC1High': 'interactive_delay', - 'BNC1Low': 'interactive_delay', - }, + state_change_conditions={'Tup': 'interactive_delay', 'BNC1High': 'interactive_delay', 'BNC1Low': 'interactive_delay'}, ) # this is a feature that can eventually add a delay between visual and auditory cue sma.add_state( @@ -358,10 +349,7 @@ def get_state_machine_trial(self, i): state_name='play_tone', state_timer=0.1, output_actions=[self.bpod.actions.play_tone], - state_change_conditions={ - 'Tup': 'reset2_rotary_encoder', - 'BNC2High': 'reset2_rotary_encoder', - }, + state_change_conditions={'Tup': 'reset2_rotary_encoder', 'BNC2High': 'reset2_rotary_encoder'}, ) sma.add_state( @@ -375,11 +363,7 @@ def get_state_machine_trial(self, i): state_name='closed_loop', state_timer=self.task_params.RESPONSE_WINDOW, output_actions=[self.bpod.actions.bonsai_closed_loop], - state_change_conditions={ - 'Tup': 'no_go', - self.event_error: 'freeze_error', - self.event_reward: 'freeze_reward', - }, + state_change_conditions={'Tup': 'no_go', self.event_error: 'freeze_error', self.event_reward: 'freeze_reward'}, ) sma.add_state( @@ -428,11 +412,7 @@ def get_state_machine_trial(self, i): state_name='hide_stim', state_timer=0.1, output_actions=[self.bpod.actions.bonsai_hide_stim], - state_change_conditions={ - 'Tup': 'exit_state', - 'BNC1High': 'exit_state', - 'BNC1Low': 'exit_state', - }, + state_change_conditions={'Tup': 'exit_state', 'BNC1High': 'exit_state', 'BNC1Low': 'exit_state'}, ) sma.add_state( @@ -707,10 +687,7 @@ class BiasedChoiceWorldSession(ActiveChoiceWorldSession): def __init__(self, **kwargs): super().__init__(**kwargs) self.blocks_table = pd.DataFrame( - { - 'probability_left': np.zeros(NBLOCKS_INIT) * np.NaN, - 'block_length': np.zeros(NBLOCKS_INIT, dtype=np.int16) * -1, - } + {'probability_left': np.zeros(NBLOCKS_INIT) * np.NaN, 'block_length': np.zeros(NBLOCKS_INIT, dtype=np.int16) * -1} ) self.trials_table['block_num'] = np.zeros(NTRIALS_INIT, dtype=np.int16) self.trials_table['block_trial_num'] = np.zeros(NTRIALS_INIT, dtype=np.int16) @@ -799,10 +776,7 @@ def __init__(self, training_phase=-1, adaptive_reward=-1.0, adaptive_gain=None, else: log.critical(f'Adaptive gain manually set to {adaptive_gain} degrees/mm') self.session_info['ADAPTIVE_GAIN_VALUE'] = adaptive_gain - self.var = { - 'training_phase_trial_counts': np.zeros(6), - 'last_10_responses_sides': np.zeros(10), - } + self.var = {'training_phase_trial_counts': np.zeros(6), 'last_10_responses_sides': np.zeros(10)} self.trials_table['training_phase'] = np.zeros(NTRIALS_INIT, dtype=np.int8) self.trials_table['debias_trial'] = np.zeros(NTRIALS_INIT, dtype=bool) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index f1d459790..811730431 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -203,8 +203,7 @@ def _init_paths(self, append: bool = False): paths.REMOTE_SUBJECT_FOLDER = rig_computer_paths['remote_subjects_folder'] # initialize the session path date_folder = paths.LOCAL_SUBJECT_FOLDER.joinpath( - self.session_info.SUBJECT_NAME, - self.session_info.SESSION_START_TIME[:10], + self.session_info.SUBJECT_NAME, self.session_info.SESSION_START_TIME[:10] ) if append: # this is the case where we append a new protocol to an existing session @@ -888,12 +887,7 @@ class SoundMixin(BaseSession): """ def init_mixin_sound(self): - self.sound = Bunch( - { - 'GO_TONE': None, - 'WHITE_NOISE': None, - } - ) + self.sound = Bunch({'GO_TONE': None, 'WHITE_NOISE': None}) sound_output = self.hardware_settings.device_sound['OUTPUT'] # additional gain factor for bringing the different combinations of sound-cards and amps to the same output level diff --git a/iblrig/ephys.py b/iblrig/ephys.py index 34a291c18..5fe79f478 100644 --- a/iblrig/ephys.py +++ b/iblrig/ephys.py @@ -10,10 +10,7 @@ def prepare_ephys_session_cmd(): - parser = argparse.ArgumentParser( - prog='start_video_session', - description='Prepare video PC for video recording session.', - ) + parser = argparse.ArgumentParser(prog='start_video_session', description='Prepare video PC for video recording session.') parser.add_argument('subject_name', help='name of subject') parser.add_argument('nprobes', help='number of probes', type=int, default=2) parser.add_argument('--debug', action='store_true', help='enable debugging mode') @@ -36,10 +33,7 @@ def prepare_ephys_session(subject_name: str, nprobes: int = 2): # Initialize a session for paths and settings session = EmptySession(subject=subject_name, interactive=False) session_path = session.paths.SESSION_FOLDER - copier = EphysCopier( - session_path=session_path, - remote_subjects_folder=session.paths.REMOTE_SUBJECT_FOLDER, - ) + copier = EphysCopier(session_path=session_path, remote_subjects_folder=session.paths.REMOTE_SUBJECT_FOLDER) copier.initialize_experiment(nprobes=nprobes) diff --git a/iblrig/graphic.py b/iblrig/graphic.py index 0a396fc3c..781113bce 100644 --- a/iblrig/graphic.py +++ b/iblrig/graphic.py @@ -19,13 +19,5 @@ def numinput(title, prompt, default=None, minval=None, maxval=None, nullable=Fal if ans == 0: return ans elif not ans and not nullable: - return numinput( - title, - prompt, - default=default, - minval=minval, - maxval=maxval, - nullable=nullable, - askint=askint, - ) + return numinput(title, prompt, default=default, minval=minval, maxval=maxval, nullable=nullable, askint=askint) return ans diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index d341dd50f..ce188bf82 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -195,8 +195,7 @@ def login( # since we are connecting to Alyx, validate some parameters to ensure a smooth extraction result = iblrig.hardware_validation.ValidateAlyxLabLocation( - iblrig_settings=self.iblrig_settings, - hardware_settings=self.hardware_settings, + iblrig_settings=self.iblrig_settings, hardware_settings=self.hardware_settings ).run(self.alyx) if result.status == 'FAIL' and gui: QtWidgets.QMessageBox().critical(None, 'Error', f'{result.message}\n\n{result.solution}') @@ -224,9 +223,7 @@ def logout(self): def free_reward(self): try: bpod = Bpod( - self.hardware_settings['device_bpod']['COM_BPOD'], - skip_initialization=True, - disable_behavior_ports=[1, 2, 3], + self.hardware_settings['device_bpod']['COM_BPOD'], skip_initialization=True, disable_behavior_ports=[1, 2, 3] ) bpod.pulse_valve(open_time_s=self.free_reward_time) except (OSError, BpodErrorException): diff --git a/iblrig/hardware.py b/iblrig/hardware.py index 6aa56ee48..a95d1a60e 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -244,10 +244,7 @@ def open_valve(self, open: bool, valve_number: int = 1): def pulse_valve(self, open_time_s: float, valve: str = 'Valve1'): sma = StateMachine(self) sma.add_state( - state_name='flush', - state_timer=open_time_s, - state_change_conditions={'Tup': 'exit'}, - output_actions=[(valve, 255)], + state_name='flush', state_timer=open_time_s, state_change_conditions={'Tup': 'exit'}, output_actions=[(valve, 255)] ) self.send_state_machine(sma) self.run_state_machine(sma) @@ -266,11 +263,7 @@ def softcode_handler(_): sma = StateMachine(self) sma.set_global_timer(timer_id=1, timer_duration=(open_time_s + close_time_s) * repetitions) - sma.add_state( - state_name='start_timer', - state_change_conditions={'Tup': 'open'}, - output_actions=[('GlobalTimerTrig', 1)], - ) + sma.add_state(state_name='start_timer', state_change_conditions={'Tup': 'open'}, output_actions=[('GlobalTimerTrig', 1)]) sma.add_state( state_name='open', state_timer=open_time_s, @@ -278,9 +271,7 @@ def softcode_handler(_): output_actions=[(valve, 255), ('SoftCode', 1)], ) sma.add_state( - state_name='close', - state_timer=close_time_s, - state_change_conditions={'Tup': 'open', 'GlobalTimer1_End': 'exit'}, + state_name='close', state_timer=close_time_s, state_change_conditions={'Tup': 'open', 'GlobalTimer1_End': 'exit'} ) self.send_state_machine(sma) self.run_state_machine(sma) diff --git a/iblrig/misc.py b/iblrig/misc.py index f41e8564e..1e645970a 100644 --- a/iblrig/misc.py +++ b/iblrig/misc.py @@ -14,12 +14,7 @@ import numpy as np -FLAG_FILE_NAMES = [ - 'transfer_me.flag', - 'create_me.flag', - 'poop_count.flag', - 'passive_data_for_ephys.flag', -] +FLAG_FILE_NAMES = ['transfer_me.flag', 'create_me.flag', 'poop_count.flag', 'passive_data_for_ephys.flag'] log = logging.getLogger(__name__) diff --git a/iblrig/serial_singleton.py b/iblrig/serial_singleton.py index 84b4f4148..3b37454dd 100644 --- a/iblrig/serial_singleton.py +++ b/iblrig/serial_singleton.py @@ -23,13 +23,7 @@ class SerialSingleton(serial.Serial): _initialized = False _lock = threading.Lock() - def __new__( - cls, - port: str | None = None, - serial_number: str | None = None, - *args, - **kwargs, - ): + def __new__(cls, port: str | None = None, serial_number: str | None = None, *args, **kwargs): # identify the device by its serial number if port is None: if serial_number is not None: diff --git a/iblrig/session_creator.py b/iblrig/session_creator.py index a0156115e..3b9807c12 100644 --- a/iblrig/session_creator.py +++ b/iblrig/session_creator.py @@ -117,12 +117,7 @@ def make_passiveCW_session_delays_ids(seed_num=None): # XXX # Calculate when they all should happen sess_delays_cumsum = np.concatenate( - [ - np.cumsum(g_delay_dist), - np.cumsum(n_delay_dist), - np.cumsum(t_delay_dist), - np.cumsum(v_delay_dist), - ] + [np.cumsum(g_delay_dist), np.cumsum(n_delay_dist), np.cumsum(t_delay_dist), np.cumsum(v_delay_dist)] ) sess_labels_out = np.array(g_labels + n_labels + t_labels + v_labels) diff --git a/iblrig/test/tasks/test_biased_choice_world_family.py b/iblrig/test/tasks/test_biased_choice_world_family.py index 55d37e229..b862124f1 100644 --- a/iblrig/test/tasks/test_biased_choice_world_family.py +++ b/iblrig/test/tasks/test_biased_choice_world_family.py @@ -104,9 +104,7 @@ def test_task_biased(self): :return: """ task = self.task - task.mock( - file_jsonable_fixture=PATH_FIXTURES.joinpath('task_data_short.jsonable'), - ) + task.mock(file_jsonable_fixture=PATH_FIXTURES.joinpath('task_data_short.jsonable')) task.task_params.NTRIALS = 3 task.session_info['SUBJECT_WEIGHT'] = 24.2 # manually add a weighing # manually add water delivered since we test with few trials, there is a chance that this diff --git a/iblrig/test/tasks/test_training_choice_world.py b/iblrig/test/tasks/test_training_choice_world.py index a5c8d3c4f..1ed5b7f44 100644 --- a/iblrig/test/tasks/test_training_choice_world.py +++ b/iblrig/test/tasks/test_training_choice_world.py @@ -46,11 +46,7 @@ def test_task(self): assert not np.isnan(task.reward_time) trials_table = task.trials_table[: task.trial_num].copy() contrasts = ( - trials_table.groupby(['contrast']) - .agg( - count=pd.NamedAgg(column='contrast', aggfunc='count'), - ) - .reset_index() + trials_table.groupby(['contrast']).agg(count=pd.NamedAgg(column='contrast', aggfunc='count')).reset_index() ) np.testing.assert_equal(trials_table['stim_probability_left'].values, 0.5) np.testing.assert_equal(np.unique(trials_table['reward_amount'].values), np.array([0, ADAPTIVE_REWARD])) diff --git a/iblrig/test/test_base_tasks.py b/iblrig/test/test_base_tasks.py index 1c885320b..798af411e 100644 --- a/iblrig/test/test_base_tasks.py +++ b/iblrig/test/test_base_tasks.py @@ -139,8 +139,7 @@ def test_create_chained_protocols(self): # this will create and add to the acquisition description file second_task.create_session() self.assertEqual( - set(d.name for d in first_task.paths.SESSION_FOLDER.iterdir() if d.is_dir()), - {'raw_task_data_00', 'raw_task_data_01'}, + set(d.name for d in first_task.paths.SESSION_FOLDER.iterdir() if d.is_dir()), {'raw_task_data_00', 'raw_task_data_01'} ) description = read_params(second_task.paths['SESSION_FOLDER']) # we should also find the protocols in the acquisition description file diff --git a/iblrig/test/test_ephys.py b/iblrig/test/test_ephys.py index cd2f7c421..8a9a54195 100644 --- a/iblrig/test/test_ephys.py +++ b/iblrig/test/test_ephys.py @@ -5,26 +5,10 @@ class TestFinalizeEphysSession(unittest.TestCase): def test_neuropixel24_micromanipulator(self): - probe_dict = { - 'x': 2594.2, - 'y': -3123.7, - 'z': -711, - 'phi': 0 + 15, - 'theta': 15, - 'depth': 1250.4, - 'roll': 0, - } + probe_dict = {'x': 2594.2, 'y': -3123.7, 'z': -711, 'phi': 0 + 15, 'theta': 15, 'depth': 1250.4, 'roll': 0} trajectories = iblrig.ephys.neuropixel24_micromanipulator_coordinates(probe_dict, 'probe01') a = { - 'probe01a': { - 'x': 2594.2, - 'y': -3123.7, - 'z': -231.33599999999996, - 'phi': 15, - 'theta': 15, - 'depth': 1250.4, - 'roll': 0, - }, + 'probe01a': {'x': 2594.2, 'y': -3123.7, 'z': -231.33599999999996, 'phi': 15, 'theta': 15, 'depth': 1250.4, 'roll': 0}, 'probe01b': { 'x': 2645.963809020504, 'y': -3316.8851652578132, diff --git a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py index f325189cc..42f65c3c3 100644 --- a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py @@ -96,11 +96,7 @@ def get_state_machine_trial(self, i): state_name='stim_on', state_timer=0.1, output_actions=[self.bpod.actions.bonsai_show_stim], - state_change_conditions={ - 'Tup': 'interactive_delay', - 'BNC1High': 'interactive_delay', - 'BNC1Low': 'interactive_delay', - }, + state_change_conditions={'Tup': 'interactive_delay', 'BNC1High': 'interactive_delay', 'BNC1Low': 'interactive_delay'}, ) sma.add_state( @@ -114,10 +110,7 @@ def get_state_machine_trial(self, i): state_name='play_tone', state_timer=0.1, output_actions=[self.bpod.actions.play_tone, ('BNC1', 255)], - state_change_conditions={ - 'Tup': 'reset2_rotary_encoder', - 'BNC2High': 'reset2_rotary_encoder', - }, + state_change_conditions={'Tup': 'reset2_rotary_encoder', 'BNC2High': 'reset2_rotary_encoder'}, ) sma.add_state( @@ -132,11 +125,7 @@ def get_state_machine_trial(self, i): state_name='closed_loop', state_timer=self.task_params.RESPONSE_WINDOW, output_actions=[self.bpod.actions.bonsai_closed_loop], - state_change_conditions={ - 'Tup': 'omit_no_go', - self.event_error: 'omit_error', - self.event_reward: 'omit_correct', - }, + state_change_conditions={'Tup': 'omit_no_go', self.event_error: 'omit_error', self.event_reward: 'omit_correct'}, ) else: sma.add_state( @@ -232,18 +221,11 @@ def get_state_machine_trial(self, i): state_name='hide_stim', state_timer=0.1, output_actions=[self.bpod.actions.bonsai_hide_stim], - state_change_conditions={ - 'Tup': 'exit_state', - 'BNC1High': 'exit_state', - 'BNC1Low': 'exit_state', - }, + state_change_conditions={'Tup': 'exit_state', 'BNC1High': 'exit_state', 'BNC1Low': 'exit_state'}, ) sma.add_state( - state_name='exit_state', - state_timer=0.5, - output_actions=[('BNC1', 255)], - state_change_conditions={'Tup': 'exit'}, + state_name='exit_state', state_timer=0.5, output_actions=[('BNC1', 255)], state_change_conditions={'Tup': 'exit'} ) return sma diff --git a/pyproject.toml b/pyproject.toml index 5ec4bf5c8..0e4c95b14 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -123,6 +123,7 @@ ignore = [ ] [tool.ruff.format] +line-ending = "lf" quote-style = "single" [tool.ruff.lint.pydocstyle] diff --git a/scripts/ibllib/purge_rig_data.py b/scripts/ibllib/purge_rig_data.py index 6d73bd806..db4c0fdc3 100644 --- a/scripts/ibllib/purge_rig_data.py +++ b/scripts/ibllib/purge_rig_data.py @@ -63,10 +63,7 @@ def purge_local_data(local_folder, filename='*', lab=None, dry=False, one=None): parser.add_argument('folder', help='Local iblrig_data folder') parser.add_argument('file', help='File name to search and destroy for every session') parser.add_argument( - '-lab', - required=False, - default=None, - help='Lab name, in case sessions conflict between labs. default: None', + '-lab', required=False, default=None, help='Lab name, in case sessions conflict between labs. default: None' ) parser.add_argument('--dry', required=False, default=False, action='store_true', help='Dry run? default: False') args = parser.parse_args() From 7d2da0b034a35827397f1eb36c7eaa103cbc22c0 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 17:08:19 +0100 Subject: [PATCH 12/90] ruff fixes --- iblrig/hardware.py | 2 +- iblrig/session_creator.py | 2 +- iblrig/sound.py | 2 +- .../_iblrig_tasks_neuroModulatorChoiceWorld/task.py | 7 +++---- scripts/hardware_validation/verify_hardware.py | 6 ++---- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/iblrig/hardware.py b/iblrig/hardware.py index a95d1a60e..072479545 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -327,7 +327,7 @@ def __init__(self, all_thresholds, gain, com, connect=False): # Names of the RE events generated by Bpod self.ENCODER_EVENTS = [f'RotaryEncoder1_{x}' for x in list(range(1, len(all_thresholds) + 1))] # Dict mapping threshold crossings with name ov RE event - self.THRESHOLD_EVENTS = dict(zip(all_thresholds, self.ENCODER_EVENTS)) + self.THRESHOLD_EVENTS = dict(zip(all_thresholds, self.ENCODER_EVENTS, strict=False)) if connect: self.connect() diff --git a/iblrig/session_creator.py b/iblrig/session_creator.py index 3b9807c12..d9b1bf2cc 100644 --- a/iblrig/session_creator.py +++ b/iblrig/session_creator.py @@ -84,7 +84,7 @@ def make_stims_for_passiveCW_pcs(seed_num=None): # XXX pos.extend(positions * int(zero_repeats / len(positions))) cont.extend(zero_contrasts * int(zero_repeats)) sphase = [np.random.uniform(0, 2 * math.pi) for x in cont] - gabors = np.array([[int(p), c, s] for p, c, s in zip(pos, cont, sphase)]) + gabors = np.array([[int(p), c, s] for p, c, s in zip(pos, cont, sphase, strict=False)]) np.random.shuffle(gabors) # Make into strings for saving diff --git a/iblrig/sound.py b/iblrig/sound.py index d2fcfc649..b1c3c9194 100644 --- a/iblrig/sound.py +++ b/iblrig/sound.py @@ -142,7 +142,7 @@ def configure_sound_card(card=None, sounds=None, indexes=None, sample_rate=96): raise (ValueError) sounds = [format_sound(s, flat=True) for s in sounds] - for sound, index in zip(sounds, indexes): + for sound, index in zip(sounds, indexes, strict=False): card.send_sound(sound, index, sample_rate, DataType.INT32) if close_card: diff --git a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py index 42f65c3c3..ef1daef3f 100644 --- a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py @@ -252,11 +252,10 @@ def new_block(self): super(Session, self).new_block() if self.block_num == 0: probability_left_rich = 0.5 + elif int((self.block_num + self.BLOCK_REWARD_STAGGER) / 2 % 2): + probability_left_rich = 0.8 else: - if int((self.block_num + self.BLOCK_REWARD_STAGGER) / 2 % 2): - probability_left_rich = 0.8 - else: - probability_left_rich = 0.2 + probability_left_rich = 0.2 self.blocks_table.at[self.block_num, 'probability_left_rich'] = probability_left_rich def next_trial(self): diff --git a/scripts/hardware_validation/verify_hardware.py b/scripts/hardware_validation/verify_hardware.py index 3ca1af777..a4d34b83c 100644 --- a/scripts/hardware_validation/verify_hardware.py +++ b/scripts/hardware_validation/verify_hardware.py @@ -78,8 +78,7 @@ def log_fun(msg_type: str = 'info', msg: str = '', last: bool = False): seen = set() for p in [x for x in ports.values() if x in seen or seen.add(x)]: log_fun('fail', f'duplicate serial port: "{p}"') -else: - log_fun('pass', 'no duplicate serial ports found') +log_fun('pass', 'no duplicate serial ports found') # collect valid ports match platform.system(): @@ -93,8 +92,7 @@ def log_fun(msg_type: str = 'info', msg: str = '', last: bool = False): # check for invalid port-strings for p in [(k, v) for k, v in ports.items() if v not in valid_ports]: log_fun('fail', f'invalid serial port: "{p[1]}"', last=True) -else: - log_fun('pass', 'no invalid port-strings found', last=True) +log_fun('pass', 'no invalid port-strings found', last=True) # check individual serial ports port_info = [i for i in serial.tools.list_ports.comports()] From e1459fec54e9bc0fb92c5e37205d0adbe3a822b8 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 17:13:04 +0100 Subject: [PATCH 13/90] working validation GUI --- iblrig/gui/resources.qrc | 6 + iblrig/gui/resources/icon_validation_fail.svg | 4 + iblrig/gui/resources/icon_validation_info.svg | 45 ++ iblrig/gui/resources/icon_validation_pass.svg | 45 ++ iblrig/gui/resources/icon_validation_skip.svg | 45 ++ .../resources/icon_validation_suggestion.svg | 2 + iblrig/gui/resources/icon_validation_warn.svg | 4 + iblrig/gui/resources_rc.py | 619 ++++++++++++++++-- iblrig/gui/ui_validation.py | 65 ++ iblrig/gui/ui_validation.ui | 94 +++ iblrig/gui/ui_wizard.py | 18 +- iblrig/gui/ui_wizard.ui | 20 +- iblrig/gui/validation.py | 145 ++++ iblrig/gui/wizard.py | 31 +- iblrig/hardware_validation.py | 463 ++++++++++--- iblrig/path_helper.py | 2 +- iblrig/test/test_gui.py | 4 +- iblrig/test/test_hardware_validation.py | 10 +- iblrig/tools.py | 15 +- iblrig/validation.py | 16 +- iblrig/video_pyspin.py | 2 +- 21 files changed, 1487 insertions(+), 168 deletions(-) create mode 100644 iblrig/gui/resources/icon_validation_fail.svg create mode 100644 iblrig/gui/resources/icon_validation_info.svg create mode 100644 iblrig/gui/resources/icon_validation_pass.svg create mode 100644 iblrig/gui/resources/icon_validation_skip.svg create mode 100644 iblrig/gui/resources/icon_validation_suggestion.svg create mode 100644 iblrig/gui/resources/icon_validation_warn.svg create mode 100644 iblrig/gui/ui_validation.py create mode 100644 iblrig/gui/ui_validation.ui create mode 100644 iblrig/gui/validation.py diff --git a/iblrig/gui/resources.qrc b/iblrig/gui/resources.qrc index 1ce85f0bb..640af22ec 100644 --- a/iblrig/gui/resources.qrc +++ b/iblrig/gui/resources.qrc @@ -1,5 +1,11 @@ + resources/icon_validation_warn.svg + resources/icon_validation_suggestion.svg + resources/icon_validation_skip.svg + resources/icon_validation_fail.svg + resources/icon_validation_info.svg + resources/icon_validation_pass.svg resources/icon_restart.svg resources/icon_grams.svg resources/icon_stable.svg diff --git a/iblrig/gui/resources/icon_validation_fail.svg b/iblrig/gui/resources/icon_validation_fail.svg new file mode 100644 index 000000000..322769eee --- /dev/null +++ b/iblrig/gui/resources/icon_validation_fail.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iblrig/gui/resources/icon_validation_info.svg b/iblrig/gui/resources/icon_validation_info.svg new file mode 100644 index 000000000..ea4e84f0a --- /dev/null +++ b/iblrig/gui/resources/icon_validation_info.svg @@ -0,0 +1,45 @@ + + + + + + + + + + diff --git a/iblrig/gui/resources/icon_validation_pass.svg b/iblrig/gui/resources/icon_validation_pass.svg new file mode 100644 index 000000000..0549b15be --- /dev/null +++ b/iblrig/gui/resources/icon_validation_pass.svg @@ -0,0 +1,45 @@ + + + + + + + + + + diff --git a/iblrig/gui/resources/icon_validation_skip.svg b/iblrig/gui/resources/icon_validation_skip.svg new file mode 100644 index 000000000..343edaebb --- /dev/null +++ b/iblrig/gui/resources/icon_validation_skip.svg @@ -0,0 +1,45 @@ + + + + + + + + + + diff --git a/iblrig/gui/resources/icon_validation_suggestion.svg b/iblrig/gui/resources/icon_validation_suggestion.svg new file mode 100644 index 000000000..acca739bf --- /dev/null +++ b/iblrig/gui/resources/icon_validation_suggestion.svg @@ -0,0 +1,2 @@ + + diff --git a/iblrig/gui/resources/icon_validation_warn.svg b/iblrig/gui/resources/icon_validation_warn.svg new file mode 100644 index 000000000..0d2639e77 --- /dev/null +++ b/iblrig/gui/resources/icon_validation_warn.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iblrig/gui/resources_rc.py b/iblrig/gui/resources_rc.py index d1dc77dff..19fe4eec4 100644 --- a/iblrig/gui/resources_rc.py +++ b/iblrig/gui/resources_rc.py @@ -655,6 +655,486 @@ \x22\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x22\x73\x63\x61\ \x6c\x65\x28\x36\x2e\x35\x31\x30\x34\x29\x22\x2f\x3e\x3c\x2f\x73\ \x76\x67\x3e\ +\x00\x00\x09\xe0\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\ +\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\ +\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\ +\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\ +\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\ +\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\ +\x22\x30\x20\x30\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x36\x20\x32\ +\x31\x31\x2e\x36\x36\x36\x36\x37\x22\x0a\x20\x20\x20\x76\x65\x72\ +\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x64\ +\x3d\x22\x73\x76\x67\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x33\ +\x20\x28\x30\x65\x31\x35\x30\x65\x64\x36\x63\x34\x2c\x20\x32\x30\ +\x32\x33\x2d\x30\x37\x2d\x32\x31\x29\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\ +\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\ +\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\ +\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\ +\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\ +\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ +\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\ +\x22\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\ +\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\ +\x3d\x22\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x31\x22\x0a\x20\x20\ +\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\ +\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\ +\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x30\x30\x30\x30\x30\x30\ +\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\ +\x63\x69\x74\x79\x3d\x22\x30\x2e\x32\x35\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x73\x68\x6f\x77\x70\x61\ +\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x63\ +\x68\x65\x63\x6b\x65\x72\x62\x6f\x61\x72\x64\x3d\x22\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x65\ +\x73\x6b\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x64\x31\x64\x31\x64\x31\ +\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ +\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\ +\x6d\x6d\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\x35\x31\x32\x31\x33\x31\ +\x36\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x63\x78\x3d\x22\x34\x34\x37\x2e\x31\x35\x30\x36\x38\x22\ +\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\ +\x79\x3d\x22\x31\x39\x30\x2e\x33\x38\x30\x37\x35\x22\x0a\x20\x20\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\ +\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x39\x32\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\ +\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x30\ +\x39\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x2d\x38\x22\x0a\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\ +\x64\x6f\x77\x2d\x79\x3d\x22\x31\x39\x34\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\ +\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x0a\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\ +\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\ +\x72\x31\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\ +\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x31\x22\x20\x2f\ +\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\ +\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\ +\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\ +\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\ +\x79\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\ +\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\ +\x22\x66\x69\x6c\x6c\x3a\x23\x36\x36\x39\x39\x66\x66\x3b\x73\x74\ +\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x30\x2e\x33\x31\x34\ +\x37\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\x30\x20\x41\x20\x31\ +\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x31\x30\x35\x2e\x38\x33\x33\ +\x33\x32\x20\x30\x20\x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\x38\ +\x33\x33\x33\x33\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\x32\x31\x31\x2e\x36\ +\x36\x36\x36\x37\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x31\x30\x35\x2e\x38\ +\x33\x33\x33\x33\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\x30\x20\x7a\x20\x4d\ +\x20\x31\x30\x35\x2e\x37\x38\x36\x38\x32\x20\x34\x31\x2e\x36\x32\ +\x30\x31\x39\x39\x20\x43\x20\x31\x30\x39\x2e\x37\x39\x36\x33\x20\ +\x34\x31\x2e\x36\x32\x30\x31\x39\x39\x20\x31\x31\x33\x2e\x31\x38\ +\x39\x32\x33\x20\x34\x33\x2e\x30\x33\x38\x37\x39\x37\x20\x31\x31\ +\x35\x2e\x39\x36\x35\x30\x31\x20\x34\x35\x2e\x38\x37\x36\x32\x37\ +\x20\x43\x20\x31\x31\x38\x2e\x37\x34\x30\x38\x31\x20\x34\x38\x2e\ +\x36\x35\x32\x30\x35\x38\x20\x31\x32\x30\x2e\x31\x32\x38\x35\x38\ +\x20\x35\x32\x2e\x30\x31\x33\x36\x35\x35\x20\x31\x32\x30\x2e\x31\ +\x32\x38\x35\x38\x20\x35\x35\x2e\x39\x36\x31\x34\x34\x32\x20\x43\ +\x20\x31\x32\x30\x2e\x31\x32\x38\x35\x38\x20\x35\x39\x2e\x39\x30\ +\x39\x32\x33\x20\x31\x31\x38\x2e\x37\x30\x39\x39\x38\x20\x36\x33\ +\x2e\x32\x37\x31\x33\x34\x33\x20\x31\x31\x35\x2e\x38\x37\x32\x35\ +\x31\x20\x36\x36\x2e\x30\x34\x37\x31\x33\x31\x20\x43\x20\x31\x31\ +\x33\x2e\x30\x39\x36\x37\x32\x20\x36\x38\x2e\x38\x32\x32\x39\x32\ +\x20\x31\x30\x39\x2e\x37\x33\x34\x36\x31\x20\x37\x30\x2e\x32\x31\ +\x30\x37\x30\x31\x20\x31\x30\x35\x2e\x37\x38\x36\x38\x32\x20\x37\ +\x30\x2e\x32\x31\x30\x37\x30\x31\x20\x43\x20\x31\x30\x31\x2e\x38\ +\x33\x39\x30\x34\x20\x37\x30\x2e\x32\x31\x30\x37\x30\x31\x20\x39\ +\x38\x2e\x34\x37\x37\x34\x34\x20\x36\x38\x2e\x38\x32\x32\x39\x32\ +\x20\x39\x35\x2e\x37\x30\x31\x36\x35\x32\x20\x36\x36\x2e\x30\x34\ +\x37\x31\x33\x31\x20\x43\x20\x39\x32\x2e\x39\x32\x35\x38\x36\x33\ +\x20\x36\x33\x2e\x32\x37\x31\x33\x34\x33\x20\x39\x31\x2e\x35\x33\ +\x38\x30\x38\x32\x20\x35\x39\x2e\x39\x30\x39\x32\x33\x20\x39\x31\ +\x2e\x35\x33\x38\x30\x38\x32\x20\x35\x35\x2e\x39\x36\x31\x34\x34\ +\x32\x20\x43\x20\x39\x31\x2e\x35\x33\x38\x30\x38\x32\x20\x35\x32\ +\x2e\x30\x31\x33\x36\x35\x35\x20\x39\x32\x2e\x39\x32\x35\x38\x36\ +\x33\x20\x34\x38\x2e\x36\x35\x32\x30\x35\x38\x20\x39\x35\x2e\x37\ +\x30\x31\x36\x35\x32\x20\x34\x35\x2e\x38\x37\x36\x32\x37\x20\x43\ +\x20\x39\x38\x2e\x34\x37\x37\x34\x34\x20\x34\x33\x2e\x30\x33\x38\ +\x37\x39\x37\x20\x31\x30\x31\x2e\x38\x33\x39\x30\x34\x20\x34\x31\ +\x2e\x36\x32\x30\x31\x39\x39\x20\x31\x30\x35\x2e\x37\x38\x36\x38\ +\x32\x20\x34\x31\x2e\x36\x32\x30\x31\x39\x39\x20\x7a\x20\x4d\x20\ +\x38\x32\x2e\x34\x37\x30\x34\x31\x38\x20\x38\x33\x2e\x35\x33\x34\ +\x34\x33\x36\x20\x4c\x20\x31\x31\x38\x2e\x37\x34\x30\x35\x36\x20\ +\x38\x33\x2e\x35\x33\x34\x34\x33\x36\x20\x4c\x20\x31\x31\x38\x2e\ +\x37\x34\x30\x35\x36\x20\x31\x35\x32\x2e\x30\x39\x36\x36\x36\x20\ +\x43\x20\x31\x31\x38\x2e\x37\x34\x30\x35\x36\x20\x31\x35\x38\x2e\ +\x32\x30\x33\x33\x39\x20\x31\x31\x39\x2e\x34\x35\x30\x33\x38\x20\ +\x31\x36\x32\x2e\x31\x32\x30\x32\x31\x20\x31\x32\x30\x2e\x38\x36\ +\x39\x31\x31\x20\x31\x36\x33\x2e\x38\x34\x37\x33\x36\x20\x43\x20\ +\x31\x32\x32\x2e\x32\x38\x37\x38\x35\x20\x31\x36\x35\x2e\x35\x31\ +\x32\x38\x34\x20\x31\x32\x35\x2e\x30\x36\x33\x34\x31\x20\x31\x36\ +\x36\x2e\x34\x36\x39\x31\x39\x20\x31\x32\x39\x2e\x31\x39\x36\x32\ +\x35\x20\x31\x36\x36\x2e\x37\x31\x35\x39\x32\x20\x4c\x20\x31\x32\ +\x39\x2e\x31\x39\x36\x32\x35\x20\x31\x37\x30\x2e\x30\x34\x36\x34\ +\x37\x20\x4c\x20\x38\x32\x2e\x34\x37\x30\x34\x31\x38\x20\x31\x37\ +\x30\x2e\x30\x34\x36\x34\x37\x20\x4c\x20\x38\x32\x2e\x34\x37\x30\ +\x34\x31\x38\x20\x31\x36\x36\x2e\x37\x31\x35\x39\x32\x20\x43\x20\ +\x38\x36\x2e\x32\x39\x34\x38\x33\x38\x20\x31\x36\x36\x2e\x35\x39\ +\x32\x35\x36\x20\x38\x39\x2e\x31\x33\x32\x35\x35\x32\x20\x31\x36\ +\x35\x2e\x34\x38\x32\x31\x32\x20\x39\x30\x2e\x39\x38\x33\x30\x37\ +\x37\x20\x31\x36\x33\x2e\x33\x38\x34\x38\x36\x20\x43\x20\x39\x32\ +\x2e\x32\x31\x36\x37\x36\x20\x31\x36\x31\x2e\x39\x36\x36\x31\x33\ +\x20\x39\x32\x2e\x38\x33\x33\x36\x31\x20\x31\x35\x38\x2e\x32\x30\ +\x33\x33\x39\x20\x39\x32\x2e\x38\x33\x33\x36\x31\x20\x31\x35\x32\ +\x2e\x30\x39\x36\x36\x36\x20\x4c\x20\x39\x32\x2e\x38\x33\x33\x36\ +\x31\x20\x31\x30\x31\x2e\x35\x37\x37\x32\x36\x20\x43\x20\x39\x32\ +\x2e\x38\x33\x33\x36\x31\x20\x39\x35\x2e\x34\x37\x30\x35\x32\x36\ +\x20\x39\x32\x2e\x31\x32\x33\x37\x39\x34\x20\x39\x31\x2e\x35\x38\ +\x34\x30\x31\x35\x20\x39\x30\x2e\x37\x30\x35\x30\x35\x38\x20\x38\ +\x39\x2e\x39\x31\x38\x35\x34\x32\x20\x43\x20\x38\x39\x2e\x32\x38\ +\x36\x33\x32\x31\x20\x38\x38\x2e\x31\x39\x31\x33\x38\x36\x20\x38\ +\x36\x2e\x35\x34\x31\x35\x37\x34\x20\x38\x37\x2e\x32\x30\x34\x37\ +\x33\x36\x20\x38\x32\x2e\x34\x37\x30\x34\x31\x38\x20\x38\x36\x2e\ +\x39\x35\x38\x20\x4c\x20\x38\x32\x2e\x34\x37\x30\x34\x31\x38\x20\ +\x38\x33\x2e\x35\x33\x34\x34\x33\x36\x20\x7a\x20\x22\x20\x2f\x3e\ +\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x02\x10\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x77\x69\x64\x74\x68\ +\x3d\x22\x38\x30\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\ +\x30\x30\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\ +\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x32\ +\x31\x31\x2e\x36\x37\x20\x32\x31\x31\x2e\x36\x37\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\ +\x3e\x0a\x20\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x6d\x31\x30\x35\ +\x2e\x38\x33\x20\x34\x65\x2d\x36\x61\x31\x30\x35\x2e\x38\x33\x20\ +\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x2d\x31\x30\x35\ +\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\ +\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x20\x31\ +\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\ +\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\ +\x20\x31\x30\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x20\x31\ +\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\ +\x20\x30\x2d\x31\x30\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\ +\x7a\x6d\x2d\x35\x36\x2e\x34\x37\x33\x20\x34\x39\x2e\x33\x36\x68\ +\x31\x36\x2e\x36\x34\x6c\x33\x39\x2e\x38\x33\x34\x20\x33\x39\x2e\ +\x38\x33\x34\x20\x34\x30\x2e\x33\x33\x38\x2d\x33\x39\x2e\x38\x33\ +\x34\x68\x31\x36\x2e\x31\x33\x35\x76\x31\x36\x2e\x36\x34\x6c\x2d\ +\x33\x39\x2e\x38\x33\x34\x20\x33\x39\x2e\x38\x33\x34\x20\x33\x39\ +\x2e\x38\x33\x34\x20\x33\x39\x2e\x38\x33\x34\x76\x31\x36\x2e\x36\ +\x34\x68\x2d\x31\x36\x2e\x31\x33\x35\x6c\x2d\x34\x30\x2e\x33\x33\ +\x38\x2d\x33\x39\x2e\x38\x33\x34\x2d\x33\x39\x2e\x38\x33\x34\x20\ +\x33\x39\x2e\x38\x33\x34\x68\x2d\x31\x36\x2e\x36\x34\x76\x2d\x31\ +\x36\x2e\x31\x33\x35\x6c\x33\x39\x2e\x38\x33\x34\x2d\x34\x30\x2e\ +\x33\x33\x38\x2d\x33\x39\x2e\x38\x33\x34\x2d\x33\x39\x2e\x38\x33\ +\x34\x7a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x63\x30\x30\x22\x20\ +\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x2e\x33\ +\x31\x34\x37\x39\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x01\xc1\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x77\x69\x64\x74\x68\ +\x3d\x22\x38\x30\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\ +\x30\x30\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\ +\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x32\ +\x31\x31\x2e\x36\x37\x20\x32\x31\x31\x2e\x36\x37\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\ +\x3e\x0a\x20\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x6d\x31\x30\x35\ +\x2e\x38\x33\x20\x30\x61\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\ +\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x2d\x31\x30\x35\x2e\x38\x33\ +\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\ +\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\ +\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\ +\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x20\x31\x30\ +\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\ +\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x2d\ +\x31\x30\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x7a\x6d\x2d\ +\x31\x35\x2e\x34\x35\x32\x20\x33\x34\x2e\x34\x30\x33\x68\x32\x38\ +\x2e\x31\x32\x38\x76\x33\x31\x2e\x38\x32\x39\x6c\x2d\x36\x2e\x36\ +\x36\x32\x31\x20\x36\x38\x2e\x38\x34\x68\x2d\x31\x34\x2e\x37\x31\ +\x32\x6c\x2d\x36\x2e\x37\x35\x34\x31\x2d\x36\x38\x2e\x38\x34\x76\ +\x2d\x33\x31\x2e\x38\x32\x39\x7a\x6d\x31\x2e\x31\x31\x20\x31\x30\ +\x39\x2e\x36\x34\x68\x32\x36\x76\x32\x36\x68\x2d\x32\x36\x76\x2d\ +\x32\x36\x7a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x66\x39\x30\x22\ +\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x22\x2e\ +\x33\x31\x34\x37\x39\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\ +\ +\x00\x00\x08\x98\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\ +\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\ +\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\ +\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\ +\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\ +\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\ +\x22\x30\x20\x30\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x36\x20\x32\ +\x31\x31\x2e\x36\x36\x36\x36\x37\x22\x0a\x20\x20\x20\x76\x65\x72\ +\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x64\ +\x3d\x22\x73\x76\x67\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x33\ +\x20\x28\x30\x65\x31\x35\x30\x65\x64\x36\x63\x34\x2c\x20\x32\x30\ +\x32\x33\x2d\x30\x37\x2d\x32\x31\x29\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\ +\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\ +\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\ +\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\ +\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\ +\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ +\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\ +\x22\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\ +\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\ +\x3d\x22\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x31\x22\x0a\x20\x20\ +\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\ +\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\ +\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x30\x30\x30\x30\x30\x30\ +\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\ +\x63\x69\x74\x79\x3d\x22\x30\x2e\x32\x35\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x73\x68\x6f\x77\x70\x61\ +\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x63\ +\x68\x65\x63\x6b\x65\x72\x62\x6f\x61\x72\x64\x3d\x22\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x65\ +\x73\x6b\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x64\x31\x64\x31\x64\x31\ +\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ +\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\ +\x6d\x6d\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\x35\x31\x32\x31\x33\x31\ +\x36\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x63\x78\x3d\x22\x34\x34\x37\x2e\x31\x35\x30\x36\x38\x22\ +\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\ +\x79\x3d\x22\x31\x35\x33\x2e\x32\x38\x30\x39\x31\x22\x0a\x20\x20\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\ +\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x39\x32\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\ +\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x30\ +\x39\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x2d\x38\x22\x0a\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\ +\x64\x6f\x77\x2d\x79\x3d\x22\x31\x39\x34\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\ +\x2d\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x0a\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\ +\x72\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\ +\x72\x31\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\ +\x20\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x31\x22\x20\x2f\ +\x3e\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\ +\x63\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\ +\x72\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\ +\x70\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\ +\x79\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\ +\x79\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\ +\x0a\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\ +\x31\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\ +\x22\x66\x69\x6c\x6c\x3a\x23\x30\x30\x63\x63\x30\x30\x3b\x73\x74\ +\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x30\x2e\x33\x31\x34\ +\x37\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\x30\x20\x41\x20\x31\ +\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x31\x30\x35\x2e\x38\x33\x33\ +\x33\x32\x20\x30\x20\x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\x38\ +\x33\x33\x33\x33\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\x32\x31\x31\x2e\x36\ +\x36\x36\x36\x37\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x31\x30\x35\x2e\x38\ +\x33\x33\x33\x33\x20\x41\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\ +\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\x30\x20\x30\x20\x30\ +\x20\x31\x38\x38\x2e\x36\x35\x36\x31\x38\x20\x33\x39\x2e\x39\x39\ +\x30\x33\x32\x34\x20\x43\x20\x31\x37\x35\x2e\x38\x33\x33\x39\x32\ +\x20\x35\x32\x2e\x30\x35\x36\x39\x31\x35\x20\x31\x36\x32\x2e\x31\ +\x31\x32\x32\x31\x20\x36\x37\x2e\x33\x38\x33\x38\x34\x33\x20\x31\ +\x34\x37\x2e\x34\x34\x35\x32\x36\x20\x38\x36\x2e\x31\x33\x37\x33\ +\x37\x38\x20\x43\x20\x31\x32\x36\x2e\x30\x38\x30\x34\x33\x20\x31\ +\x31\x33\x2e\x34\x35\x35\x30\x31\x20\x31\x30\x39\x2e\x37\x37\x31\ +\x32\x35\x20\x31\x33\x38\x2e\x39\x37\x38\x37\x37\x20\x39\x38\x2e\ +\x35\x31\x38\x30\x31\x38\x20\x31\x36\x32\x2e\x37\x30\x38\x34\x31\ +\x20\x4c\x20\x38\x39\x2e\x34\x36\x36\x38\x39\x20\x31\x36\x38\x2e\ +\x38\x32\x34\x33\x32\x20\x43\x20\x38\x31\x2e\x39\x36\x34\x37\x33\ +\x35\x20\x31\x37\x34\x2e\x30\x34\x33\x32\x31\x20\x37\x36\x2e\x38\ +\x36\x37\x38\x35\x38\x20\x31\x37\x37\x2e\x39\x31\x36\x33\x38\x20\ +\x37\x34\x2e\x31\x37\x36\x38\x36\x38\x20\x31\x38\x30\x2e\x34\x34\ +\x34\x32\x38\x20\x43\x20\x37\x33\x2e\x31\x31\x36\x37\x38\x20\x31\ +\x37\x36\x2e\x36\x31\x31\x36\x36\x20\x37\x30\x2e\x37\x39\x32\x36\ +\x37\x31\x20\x31\x37\x30\x2e\x33\x33\x33\x30\x34\x20\x36\x37\x2e\ +\x32\x30\x34\x36\x38\x33\x20\x31\x36\x31\x2e\x36\x30\x37\x37\x31\ +\x20\x4c\x20\x36\x33\x2e\x37\x38\x30\x30\x38\x36\x20\x31\x35\x33\ +\x2e\x36\x35\x36\x37\x37\x20\x43\x20\x35\x38\x2e\x38\x38\x37\x33\ +\x37\x36\x20\x31\x34\x32\x2e\x32\x34\x30\x34\x35\x20\x35\x34\x2e\ +\x33\x32\x30\x34\x39\x36\x20\x31\x33\x33\x2e\x38\x30\x30\x34\x20\ +\x35\x30\x2e\x30\x38\x30\x31\x34\x37\x20\x31\x32\x38\x2e\x33\x33\ +\x36\x38\x37\x20\x43\x20\x34\x35\x2e\x39\x32\x31\x33\x34\x33\x20\ +\x31\x32\x32\x2e\x38\x37\x33\x33\x34\x20\x34\x31\x2e\x32\x33\x32\ +\x37\x31\x33\x20\x31\x31\x39\x2e\x32\x34\x34\x37\x20\x33\x36\x2e\ +\x30\x31\x33\x38\x32\x32\x20\x31\x31\x37\x2e\x34\x35\x30\x37\x31\ +\x20\x43\x20\x34\x34\x2e\x38\x32\x30\x37\x20\x31\x30\x38\x2e\x31\ +\x35\x34\x35\x36\x20\x35\x32\x2e\x38\x39\x33\x34\x33\x34\x20\x31\ +\x30\x33\x2e\x35\x30\x36\x33\x34\x20\x36\x30\x2e\x32\x33\x32\x34\ +\x39\x39\x20\x31\x30\x33\x2e\x35\x30\x36\x33\x34\x20\x43\x20\x36\ +\x36\x2e\x35\x31\x31\x34\x37\x37\x20\x31\x30\x33\x2e\x35\x30\x36\ +\x33\x34\x20\x37\x33\x2e\x34\x38\x33\x38\x30\x36\x20\x31\x31\x32\ +\x2e\x30\x32\x38\x32\x35\x20\x38\x31\x2e\x31\x34\x39\x30\x35\x32\ +\x20\x31\x32\x39\x2e\x30\x37\x31\x31\x39\x20\x4c\x20\x38\x34\x2e\ +\x39\x34\x31\x30\x36\x39\x20\x31\x33\x37\x2e\x36\x33\x33\x34\x36\ +\x20\x43\x20\x39\x38\x2e\x37\x32\x32\x32\x20\x31\x31\x34\x2e\x33\ +\x39\x33\x30\x39\x20\x31\x31\x36\x2e\x34\x31\x37\x32\x35\x20\x39\ +\x31\x2e\x38\x30\x34\x37\x37\x33\x20\x31\x33\x38\x2e\x30\x32\x36\ +\x37\x32\x20\x36\x39\x2e\x38\x36\x39\x31\x32\x20\x43\x20\x31\x35\ +\x32\x2e\x38\x31\x30\x31\x36\x20\x35\x34\x2e\x38\x36\x32\x35\x33\ +\x31\x20\x31\x36\x37\x2e\x33\x35\x39\x30\x35\x20\x34\x32\x2e\x33\ +\x30\x30\x37\x31\x39\x20\x31\x38\x31\x2e\x36\x38\x34\x35\x32\x20\ +\x33\x32\x2e\x30\x36\x34\x37\x30\x39\x20\x41\x20\x31\x30\x35\x2e\ +\x38\x33\x33\x33\x32\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x32\x20\ +\x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\ +\x30\x20\x7a\x20\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\ +\x3c\x2f\x73\x76\x67\x3e\x0a\ +\x00\x00\x06\xf5\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\ +\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\ +\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\ +\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\ +\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\ +\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\ +\x38\x30\x30\x22\x0a\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\ +\x22\x30\x20\x30\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x32\ +\x31\x31\x2e\x36\x36\x36\x36\x37\x22\x0a\x20\x20\x20\x76\x65\x72\ +\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x64\ +\x3d\x22\x73\x76\x67\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x33\ +\x20\x28\x30\x65\x31\x35\x30\x65\x64\x36\x63\x34\x2c\x20\x32\x30\ +\x32\x33\x2d\x30\x37\x2d\x32\x31\x29\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\ +\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\x0a\x20\x20\x20\x78\x6d\ +\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\ +\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\ +\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\ +\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\ +\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\ +\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ +\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\ +\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ +\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\ +\x22\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\ +\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\ +\x3d\x22\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x31\x22\x0a\x20\x20\ +\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\ +\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\ +\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x30\x30\x30\x30\x30\x30\ +\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\ +\x63\x69\x74\x79\x3d\x22\x30\x2e\x32\x35\x22\x0a\x20\x20\x20\x20\ +\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x73\x68\x6f\x77\x70\x61\ +\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\ +\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\ +\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x63\ +\x68\x65\x63\x6b\x65\x72\x62\x6f\x61\x72\x64\x3d\x22\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x65\ +\x73\x6b\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x64\x31\x64\x31\x64\x31\ +\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ +\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\ +\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\x33\x36\x32\x31\x33\x31\ +\x37\x33\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x63\x78\x3d\x22\x35\x35\x37\x2e\x38\x30\x38\x30\x36\x22\ +\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\ +\x79\x3d\x22\x38\x34\x2e\x32\x32\x33\x34\x39\x34\x22\x0a\x20\x20\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\ +\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x39\x32\x30\x22\x0a\ +\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\ +\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x30\ +\x39\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ +\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x2d\x38\x22\x0a\x20\ +\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\ +\x64\x6f\x77\x2d\x79\x3d\x22\x2d\x38\x22\x0a\x20\x20\x20\x20\x20\ +\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\ +\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x0a\x20\x20\ +\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\ +\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\x72\ +\x31\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\ +\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x31\x22\x20\x2f\x3e\ +\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\ +\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\x72\ +\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ +\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\x79\ +\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\x79\ +\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\ +\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x31\ +\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\ +\x66\x69\x6c\x6c\x3a\x23\x38\x30\x38\x30\x38\x30\x3b\x73\x74\x72\ +\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x30\x2e\x33\x31\x34\x37\ +\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\x20\ +\x31\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x30\x20\x43\x20\x34\x37\ +\x2e\x33\x38\x33\x32\x35\x34\x20\x2d\x33\x2e\x33\x31\x33\x37\x30\ +\x35\x35\x65\x2d\x30\x36\x20\x2d\x33\x2e\x33\x31\x33\x37\x30\x35\ +\x36\x65\x2d\x30\x36\x20\x34\x37\x2e\x33\x38\x33\x32\x35\x34\x20\ +\x30\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x43\x20\x2d\x34\ +\x2e\x32\x39\x33\x36\x31\x33\x65\x2d\x31\x34\x20\x31\x33\x30\x2e\ +\x39\x32\x39\x35\x36\x20\x38\x2e\x37\x35\x33\x32\x30\x38\x34\x20\ +\x31\x35\x33\x2e\x39\x37\x30\x37\x32\x20\x32\x33\x2e\x33\x34\x38\ +\x39\x36\x33\x20\x31\x37\x32\x2e\x31\x31\x31\x39\x38\x20\x43\x20\ +\x35\x37\x2e\x32\x35\x39\x30\x38\x34\x20\x31\x33\x37\x2e\x35\x32\ +\x31\x30\x33\x20\x31\x33\x37\x2e\x36\x38\x37\x39\x38\x20\x35\x37\ +\x2e\x34\x32\x31\x36\x33\x34\x20\x31\x37\x32\x2e\x31\x32\x33\x38\ +\x36\x20\x32\x33\x2e\x33\x35\x38\x32\x36\x35\x20\x43\x20\x31\x35\ +\x33\x2e\x39\x38\x30\x38\x31\x20\x38\x2e\x37\x35\x36\x38\x32\x34\ +\x33\x20\x31\x33\x30\x2e\x39\x33\x34\x39\x38\x20\x2d\x34\x2e\x37\ +\x33\x36\x35\x33\x35\x38\x65\x2d\x31\x34\x20\x31\x30\x35\x2e\x38\ +\x33\x33\x33\x34\x20\x30\x20\x7a\x20\x4d\x20\x31\x38\x38\x2e\x35\ +\x30\x38\x39\x31\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x4c\ +\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x31\x38\x38\x2e\x35\ +\x30\x38\x39\x31\x20\x43\x20\x35\x37\x2e\x39\x30\x31\x38\x30\x39\ +\x20\x32\x30\x32\x2e\x39\x38\x38\x33\x39\x20\x38\x30\x2e\x38\x34\ +\x38\x31\x34\x39\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x31\ +\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x32\x31\x31\x2e\x36\x36\x36\ +\x36\x37\x20\x43\x20\x31\x36\x34\x2e\x32\x38\x33\x34\x31\x20\x32\ +\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x32\x31\x31\x2e\x36\x36\x36\ +\x36\x37\x20\x31\x36\x34\x2e\x32\x38\x33\x34\x31\x20\x32\x31\x31\ +\x2e\x36\x36\x36\x36\x37\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x34\ +\x20\x43\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x38\x30\x2e\ +\x38\x34\x38\x31\x34\x39\x20\x32\x30\x32\x2e\x39\x38\x38\x33\x39\ +\x20\x35\x37\x2e\x39\x30\x31\x38\x30\x39\x20\x31\x38\x38\x2e\x35\ +\x30\x38\x39\x31\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x7a\ +\x20\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\ +\x76\x67\x3e\x0a\ \x00\x00\x03\x78\ \x3c\ \x73\x76\x67\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\x30\x30\x22\ @@ -1008,6 +1488,18 @@ \x6e\x3d\x22\x72\x6f\x75\x6e\x64\x22\x20\x73\x74\x72\x6f\x6b\x65\ \x2d\x77\x69\x64\x74\x68\x3d\x22\x32\x2e\x30\x30\x30\x30\x31\x22\ \x2f\x3e\x3c\x2f\x73\x76\x67\x3e\ +\x00\x00\x00\x99\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x77\x69\x64\x74\x68\ +\x3d\x22\x38\x30\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\ +\x30\x30\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\ +\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x32\ +\x31\x31\x2e\x36\x37\x20\x32\x31\x31\x2e\x36\x37\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\ +\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\ \x00\x00\x03\x49\ \x3c\ \x73\x76\x67\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\x30\x30\x22\ @@ -3082,6 +3574,26 @@ \x00\x7d\xeb\xbc\ \x00\x77\ \x00\x68\x00\x65\x00\x65\x00\x6c\ +\x00\x0f\ +\x03\xf1\x2c\xcf\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x69\x00\x6e\x00\x66\x00\x6f\ +\x00\x0f\ +\x03\xf1\x2f\xfc\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x66\x00\x61\x00\x69\x00\x6c\ +\x00\x0f\ +\x03\xf2\x30\x8e\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x77\x00\x61\x00\x72\x00\x6e\ +\x00\x0f\ +\x03\xf2\x80\xa3\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x70\x00\x61\x00\x73\x00\x73\ +\x00\x0f\ +\x03\xf2\x8a\x00\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x73\x00\x6b\x00\x69\x00\x70\ \x00\x06\ \x06\xe0\xaf\xb2\ \x00\x67\ @@ -3102,6 +3614,11 @@ \x08\xcd\x08\x23\ \x00\x70\ \x00\x72\x00\x65\x00\x76\x00\x69\x00\x6f\x00\x75\x00\x73\ +\x00\x15\ +\x0a\x2e\x2b\xfe\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x73\x00\x75\x00\x67\x00\x67\x00\x65\x00\x73\ +\x00\x74\x00\x69\x00\x6f\x00\x6e\ \x00\x0a\ \x0a\xc8\x01\x7e\ \x00\x64\ @@ -3122,8 +3639,8 @@ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x18\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x15\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x03\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x06\x32\ \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0f\ @@ -3138,67 +3655,85 @@ \x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xce\ \x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x4e\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x26\xa6\ -\x00\x00\x00\xf2\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x22\ -\x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00\x31\xcf\ -\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x38\x05\ -\x00\x00\x01\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x3a\xd3\ -\x00\x00\x01\x42\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x00\ -\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x4d\ -\x00\x00\x01\x76\x00\x00\x00\x00\x00\x01\x00\x00\x40\x74\ -\x00\x00\x01\x92\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xad\ +\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x30\x8a\ +\x00\x00\x01\x28\x00\x00\x00\x00\x00\x01\x00\x00\x32\x9e\ +\x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ +\x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ +\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x47\x74\ +\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x21\ +\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x55\x57\ +\x00\x00\x01\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x58\x25\ +\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x59\x52\ +\x00\x00\x02\x26\x00\x00\x00\x00\x00\x01\x00\x00\x59\xef\ +\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x3c\ +\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x63\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x9c\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x18\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x15\x00\x00\x00\x03\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x06\x32\ -\x00\x00\x01\x8d\xc5\xf9\xb8\x1d\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0f\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x08\xdb\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x56\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x32\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x4a\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x72\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x69\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x43\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\x11\xc4\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x13\xd6\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x14\xfa\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xce\ -\x00\x00\x01\x8e\x0f\x91\xac\xf1\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ \x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x4e\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x26\xa6\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ -\x00\x00\x00\xf2\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x22\ -\x00\x00\x01\x8d\xc5\xf9\xb8\x1d\ -\x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00\x31\xcf\ -\x00\x00\x01\x8e\x0f\x91\xa3\x8f\ -\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x38\x05\ -\x00\x00\x01\x8e\x18\x9c\x0f\x65\ -\x00\x00\x01\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x3a\xd3\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ -\x00\x00\x01\x42\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x00\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ -\x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x4d\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ -\x00\x00\x01\x76\x00\x00\x00\x00\x00\x01\x00\x00\x40\x74\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ -\x00\x00\x01\x92\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xad\ -\x00\x00\x01\x8e\x0f\x91\xa3\x8f\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc6\ +\x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x30\x8a\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc5\ +\x00\x00\x01\x28\x00\x00\x00\x00\x00\x01\x00\x00\x32\x9e\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc8\ +\x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc6\ +\x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc7\ +\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ +\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x47\x74\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ +\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x21\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ +\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x55\x57\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ +\x00\x00\x01\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x58\x25\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ +\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x59\x52\ +\x00\x00\x01\x8e\xa9\xd3\x98\xc7\ +\x00\x00\x02\x26\x00\x00\x00\x00\x00\x01\x00\x00\x59\xef\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ +\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x3c\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ +\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x63\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ +\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x9c\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/iblrig/gui/ui_validation.py b/iblrig/gui/ui_validation.py new file mode 100644 index 000000000..962cf2447 --- /dev/null +++ b/iblrig/gui/ui_validation.py @@ -0,0 +1,65 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'iblrig\gui\ui_validation.ui' +# +# Created by: PyQt5 UI code generator 5.15.10 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_validation(object): + def setupUi(self, validation): + validation.setObjectName("validation") + validation.setWindowModality(QtCore.Qt.ApplicationModal) + validation.resize(500, 357) + self.verticalLayout = QtWidgets.QVBoxLayout(validation) + self.verticalLayout.setObjectName("verticalLayout") + self.treeView = QtWidgets.QTreeView(validation) + self.treeView.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOn) + self.treeView.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + self.treeView.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers) + self.treeView.setProperty("showDropIndicator", False) + self.treeView.setSelectionMode(QtWidgets.QAbstractItemView.SingleSelection) + self.treeView.setAllColumnsShowFocus(True) + self.treeView.setWordWrap(True) + self.treeView.setObjectName("treeView") + self.treeView.header().setVisible(False) + self.treeView.header().setStretchLastSection(False) + self.verticalLayout.addWidget(self.treeView) + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setObjectName("horizontalLayout") + self.pushButtonRerun = QtWidgets.QPushButton(validation) + self.pushButtonRerun.setEnabled(False) + self.pushButtonRerun.setObjectName("pushButtonRerun") + self.horizontalLayout.addWidget(self.pushButtonRerun) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.pushButtonOK = QtWidgets.QPushButton(validation) + self.pushButtonOK.setDefault(True) + self.pushButtonOK.setObjectName("pushButtonOK") + self.horizontalLayout.addWidget(self.pushButtonOK) + self.verticalLayout.addLayout(self.horizontalLayout) + + self.retranslateUi(validation) + QtCore.QMetaObject.connectSlotsByName(validation) + + def retranslateUi(self, validation): + _translate = QtCore.QCoreApplication.translate + validation.setWindowTitle(_translate("validation", "System Validation")) + self.pushButtonRerun.setText(_translate("validation", "Rerun")) + self.pushButtonOK.setText(_translate("validation", "Close")) +from iblrig.gui import resources_rc + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + validation = QtWidgets.QDialog() + ui = Ui_validation() + ui.setupUi(validation) + validation.show() + sys.exit(app.exec_()) diff --git a/iblrig/gui/ui_validation.ui b/iblrig/gui/ui_validation.ui new file mode 100644 index 000000000..0feff191a --- /dev/null +++ b/iblrig/gui/ui_validation.ui @@ -0,0 +1,94 @@ + + + validation + + + Qt::ApplicationModal + + + + 0 + 0 + 500 + 357 + + + + System Validation + + + + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::SingleSelection + + + true + + + true + + + false + + + false + + + + + + + + + false + + + Rerun + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Close + + + true + + + + + + + + + + + + diff --git a/iblrig/gui/ui_wizard.py b/iblrig/gui/ui_wizard.py index cf2138950..2ac34ca27 100644 --- a/iblrig/gui/ui_wizard.py +++ b/iblrig/gui/ui_wizard.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'iblrig/gui/ui_wizard.ui' +# Form implementation generated from reading ui file 'iblrig\gui\ui_wizard.ui' # -# Created by: PyQt5 UI code generator 5.15.9 +# Created by: PyQt5 UI code generator 5.15.10 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. @@ -203,7 +203,7 @@ def setupUi(self, wizard): self.scrollArea.setWidgetResizable(True) self.scrollArea.setObjectName("scrollArea") self.uiGroupTaskParameters = QtWidgets.QWidget() - self.uiGroupTaskParameters.setGeometry(QtCore.QRect(0, 0, 339, 110)) + self.uiGroupTaskParameters.setGeometry(QtCore.QRect(0, 0, 357, 161)) self.uiGroupTaskParameters.setObjectName("uiGroupTaskParameters") self.formLayout_2 = QtWidgets.QFormLayout(self.uiGroupTaskParameters) self.formLayout_2.setObjectName("formLayout_2") @@ -297,8 +297,8 @@ def setupUi(self, wizard): self.webEngineView = QtWebEngineWidgets.QWebEngineView(self.tabDocumentation) self.webEngineView.setContextMenuPolicy(QtCore.Qt.NoContextMenu) self.webEngineView.setAcceptDrops(False) - self.webEngineView.setUrl(QtCore.QUrl("https://int-brain-lab.github.io/iblrig/")) - self.webEngineView.setZoomFactor(0.9) + self.webEngineView.setProperty("url", QtCore.QUrl("https://int-brain-lab.github.io/iblrig/")) + self.webEngineView.setProperty("zoomFactor", 0.9) self.webEngineView.setObjectName("webEngineView") self.verticalLayoutDoc.addWidget(self.webEngineView) self.line = QtWidgets.QFrame(self.tabDocumentation) @@ -430,7 +430,7 @@ def setupUi(self, wizard): self.statusbar.setObjectName("statusbar") wizard.setStatusBar(self.statusbar) self.uiMenuBar = QtWidgets.QMenuBar(wizard) - self.uiMenuBar.setGeometry(QtCore.QRect(0, 0, 450, 24)) + self.uiMenuBar.setGeometry(QtCore.QRect(0, 0, 450, 21)) self.uiMenuBar.setObjectName("uiMenuBar") self.uiMenuTools = QtWidgets.QMenu(self.uiMenuBar) self.uiMenuTools.setObjectName("uiMenuTools") @@ -441,9 +441,12 @@ def setupUi(self, wizard): self.uiActionCalibrateFrame2ttl.setObjectName("uiActionCalibrateFrame2ttl") self.uiActionCalibrateValve = QtWidgets.QAction(wizard) self.uiActionCalibrateValve.setObjectName("uiActionCalibrateValve") - self.uiMenuTools.addAction(self.uiActionTrainingLevelV7) + self.uiActionValidateHardware = QtWidgets.QAction(wizard) + self.uiActionValidateHardware.setObjectName("uiActionValidateHardware") + self.uiMenuTools.addAction(self.uiActionValidateHardware) self.uiMenuTools.addAction(self.uiActionCalibrateFrame2ttl) self.uiMenuTools.addAction(self.uiActionCalibrateValve) + self.uiMenuTools.addAction(self.uiActionTrainingLevelV7) self.uiMenuBar.addAction(self.uiMenuTools.menuAction()) self.labelUser.setBuddy(self.uiLineEditUser) self.labelSubject.setBuddy(self.uiComboSubject) @@ -515,6 +518,7 @@ def retranslateUi(self, wizard): self.uiActionTrainingLevelV7.setText(_translate("wizard", "Get Training Level")) self.uiActionCalibrateFrame2ttl.setText(_translate("wizard", "Calibrate Frame2TTL")) self.uiActionCalibrateValve.setText(_translate("wizard", "Calibrate Valve")) + self.uiActionValidateHardware.setText(_translate("wizard", "Validate System")) from PyQt5 import QtWebEngineWidgets from iblrig.gui import resources_rc diff --git a/iblrig/gui/ui_wizard.ui b/iblrig/gui/ui_wizard.ui index 2ea37cb11..e7c75eb29 100644 --- a/iblrig/gui/ui_wizard.ui +++ b/iblrig/gui/ui_wizard.ui @@ -529,8 +529,8 @@ 0 0 - 339 - 110 + 357 + 161 @@ -732,19 +732,19 @@ 0 - + Qt::NoContextMenu false - + https://int-brain-lab.github.io/iblrig/ - + 0.900000000000000 @@ -1104,16 +1104,17 @@ 0 0 450 - 24 + 21 Tools - + + @@ -1132,6 +1133,11 @@ Calibrate Valve + + + Validate System + + diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py new file mode 100644 index 000000000..49f340114 --- /dev/null +++ b/iblrig/gui/validation.py @@ -0,0 +1,145 @@ + +from PyQt5 import QtCore, QtWidgets +from PyQt5.QtCore import QThreadPool +from PyQt5.QtGui import QFont, QIcon, QStandardItem, QStandardItemModel +from PyQt5.QtWidgets import QHeaderView + +from iblrig.gui.tools import Worker +from iblrig.gui.ui_validation import Ui_validation +from iblrig.hardware_validation import Result, Status, Validator, get_all_validators +from iblrig.pydantic_definitions import HardwareSettings, RigSettings + +SECTION_FONT = QFont(None, -1, QFont.Bold, False) +STATUS_ICON: dict[Status, QIcon()] = { + Status.PASS: QIcon(':/images/validation_pass'), + Status.WARN: QIcon(':/images/validation_warn'), + Status.FAIL: QIcon(':/images/validation_fail'), + Status.INFO: QIcon(':/images/validation_info'), + Status.SKIP: QIcon(':/images/validation_skip'), +} + + +class StatusItem(QStandardItem): + _status: Status + + def __init__(self, status: Status): + super().__init__() + self.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight) + self.status = status + + @property + def status(self): + return self._status + + @status.setter + def status(self, status: Status): + self._status = status + match status: + case Status.PEND: + self.setText('pending') + case Status.PASS: + self.setText('passed') + case Status.WARN: + self.setText('warning') + case Status.FAIL: + self.setText('failed') + case Status.INFO: + self.setText('') + case Status.SKIP: + self.setText('skipped') + + +class ValidatorItem(QStandardItem): + validator: Validator + status: Status + + def __init__(self, validator: type[Validator], hardware_settings: HardwareSettings, rig_settings: RigSettings): + super().__init__() + self.validator = validator(hardware_settings=hardware_settings, iblrig_settings=rig_settings) + self.setText(self.validator.name) + self.setFont(SECTION_FONT) + + def run(self) -> Status: + self.clear() + results: list[Result] = [] + for result in self.validator.run(): + results.append(result) + result_item = QStandardItem(result.message) + result_item.setToolTip(result.message) + result_item.setIcon(STATUS_ICON[result.status]) + self.appendRow([result_item, QStandardItem('')]) + if result.solution is not None and len(result.solution) > 0: + solution_item = QStandardItem(f'Suggestion: {result.solution}') + solution_item.setIcon(QIcon(':/images/validation_suggestion')) + self.appendRow(solution_item) + + # determine return value + statuses = [r.status for r in results] + if Status.SKIP in statuses: + return_status = Status.SKIP + elif Status.FAIL in statuses: + return_status = Status.FAIL + elif Status.WARN in statuses: + return_status = Status.WARN + else: + return_status = Status.PASS + + self.setIcon(STATUS_ICON[return_status]) + return return_status + + def clear(self): + while self.hasChildren(): + self.removeRow(0) + + +class SystemValidationDialog(QtWidgets.QDialog, Ui_validation): + validator_items: list[ValidatorItem] = [] + status_items: list[StatusItem] = [] + + def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: RigSettings, **kwargs) -> None: + super().__init__(*args, **kwargs) + self.setupUi(self) + self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowType.WindowContextHelpButtonHint) + + self.treeModel = QStandardItemModel() + self.treeModel.setColumnCount(2) + + for validator in get_all_validators(): + self.validator_items.append(ValidatorItem(validator, hardware_settings, rig_settings)) + self.status_items.append(StatusItem(Status.PEND)) + self.status_items[-1].setFont(SECTION_FONT) + self.treeModel.appendRow([self.validator_items[-1], self.status_items[-1]]) + + self.treeView.setModel(self.treeModel) + self.treeView.header().setSectionResizeMode(0, QHeaderView.Stretch) + self.treeView.header().setSectionResizeMode(1, QHeaderView.Fixed) + self.treeView.header().resizeSection(1, 60) + + self.pushButtonOK.clicked.connect(self.close) + self.pushButtonRerun.clicked.connect(self.run) + self.show() + + self.run() + + def run(self): + worker = Worker(self.run_subprocess) + worker.signals.finished.connect(lambda: self.pushButtonRerun.setEnabled(True)) + worker.signals.finished.connect(lambda: self.pushButtonOK.setEnabled(True)) + QThreadPool.globalInstance().tryStart(worker) + + def run_subprocess(self): + self.pushButtonOK.setEnabled(False) + self.pushButtonRerun.setEnabled(False) + self.treeView.expandAll() + + for idx, validator_item in enumerate(self.validator_items): + validator_item.clear() + self.status_items[idx].status = Status.PEND + self.treeView.scrollToTop() + for idx, validator_item in enumerate(self.validator_items): + self.status_items[idx].setText('running') + status = validator_item.run() + self.status_items[idx].status = status + if status == Status.PASS: + self.treeView.collapse(validator_item.index()) + self.treeView.scrollToBottom() diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index ce188bf82..120950b43 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -22,6 +22,7 @@ from PyQt5.QtWebEngineWidgets import QWebEnginePage from PyQt5.QtWidgets import QStyle from requests import HTTPError +from serial import SerialException import iblrig.hardware_validation import iblrig.path_helper @@ -34,6 +35,7 @@ from iblrig.gui.ui_login import Ui_login from iblrig.gui.ui_update import Ui_update from iblrig.gui.ui_wizard import Ui_wizard +from iblrig.gui.validation import SystemValidationDialog from iblrig.gui.valve import ValveCalibrationDialog from iblrig.hardware import Bpod from iblrig.misc import _get_task_argument_parser @@ -194,7 +196,7 @@ def login( raise e # since we are connecting to Alyx, validate some parameters to ensure a smooth extraction - result = iblrig.hardware_validation.ValidateAlyxLabLocation( + result = iblrig.hardware_validation.ValidatorAlyxLabLocation( iblrig_settings=self.iblrig_settings, hardware_settings=self.hardware_settings ).run(self.alyx) if result.status == 'FAIL' and gui: @@ -278,9 +280,10 @@ def __init__(self, **kwargs): self.uiComboTask.setCurrentIndex(idx) # connect widgets signals to slots - self.uiActionTrainingLevelV7.triggered.connect(self._on_menu_training_level_v7) + self.uiActionValidateHardware.triggered.connect(self._on_validate_hardware) self.uiActionCalibrateFrame2ttl.triggered.connect(self._on_calibrate_frame2ttl) self.uiActionCalibrateValve.triggered.connect(self._on_calibrate_valve) + self.uiActionTrainingLevelV7.triggered.connect(self._on_menu_training_level_v7) self.uiComboTask.currentTextChanged.connect(self.controls_for_extra_parameters) self.uiComboSubject.currentTextChanged.connect(self.model.get_subject_details) self.uiPushStart.clicked.connect(self.start_stop) @@ -348,7 +351,7 @@ def __init__(self, **kwargs): self.uiProgressDiskSpace.setMaximumWidth(70) self.uiProgressDiskSpace.setValue(round(total_used / total_space * 100)) self.uiProgressDiskSpace.setStatusTip( - f'local IBLRIG data: {v8data_size / 1024 ** 3 : .1f} GB • ' f'available space: {total_free / 1024 ** 3 : .1f} GB' + f'local IBLRIG data: {v8data_size / 1024**3: .1f} GB • ' f'available space: {total_free / 1024**3: .1f} GB' ) if self.uiProgressDiskSpace.value() > 90: p = self.uiProgressDiskSpace.palette() @@ -364,8 +367,11 @@ def __init__(self, **kwargs): self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowFullscreenButtonHint) # disable control of LED if Bpod does not have the respective capability - bpod = Bpod(self.model.hardware_settings['device_bpod']['COM_BPOD'], skip_initialization=True) - self.uiPushStatusLED.setEnabled(bpod.can_control_led) + try: + bpod = Bpod(self.model.hardware_settings['device_bpod']['COM_BPOD'], skip_initialization=True) + self.uiPushStatusLED.setEnabled(bpod.can_control_led) + except SerialException: + pass # get AnyDesk ID anydesk_worker = Worker(get_anydesk_id, True) @@ -417,6 +423,15 @@ def _on_switch_tab(self, index): # self.adjustSize() pass + def _on_validate_hardware(self) -> None: + SystemValidationDialog(self, hardware_settings=self.model.hardware_settings, rig_settings=self.model.iblrig_settings) + + def _on_calibrate_frame2ttl(self) -> None: + Frame2TTLCalibrationDialog(self, hardware_settings=self.model.hardware_settings) + + def _on_calibrate_valve(self) -> None: + ValveCalibrationDialog(self) + def _on_menu_training_level_v7(self) -> None: """ Prompt user for a session path to get v7 training level. @@ -464,12 +479,6 @@ def _on_menu_training_level_v7(self) -> None: self.uiGroupTaskParameters.findChild(QtWidgets.QWidget, '--adaptive_reward').setValue(reward_amount) self.uiGroupTaskParameters.findChild(QtWidgets.QWidget, '--training_phase').setValue(training_phase) - def _on_calibrate_frame2ttl(self) -> None: - Frame2TTLCalibrationDialog(self, hardware_settings=self.model.hardware_settings) - - def _on_calibrate_valve(self) -> None: - ValveCalibrationDialog(self) - def _on_check_update_result(self, result: tuple[bool, str]) -> None: """ Handle the result of checking for updates. diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 1a4a37ff5..7835ae694 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -1,108 +1,173 @@ import logging import re from abc import ABC, abstractmethod +from collections.abc import Generator from dataclasses import dataclass -from typing import Any, Literal +from datetime import date +from enum import IntEnum +from math import isclose +from struct import unpack +from typing import Any +import numpy as np import requests +from dateutil.relativedelta import relativedelta from serial import Serial, SerialException from serial.tools import list_ports +from serial.tools.list_ports_common import ListPortInfo -from iblrig.path_helper import _load_settings_yaml +from iblrig.constants import HAS_PYSPIN, HAS_SPINNAKER +from iblrig.hardware import Bpod +from iblrig.path_helper import load_pydantic_yaml +from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.serial_singleton import SerialSingleton, filter_ports -from iblrig.tools import alyx_reachable +from iblrig.tools import internet_available from one.webclient import AlyxClient +from pybpodapi.bpod_modules.bpod_module import BpodModule +from pybpodapi.state_machine import StateMachine log = logging.getLogger(__name__) +class Status(IntEnum): + """Possible status codes of hardware validations""" + + PEND = 0 # Test pending + SKIP = 1 # Test not applicable (e.g., device not present) + PASS = 2 # Test passed + WARN = 3 # Test passed with warning + INFO = 4 # Secondary information yielded from tests (e.g., firmware version) + FAIL = 5 # Test failed + + @dataclass -class ValidateResult: - status: Literal['PASS', 'INFO', 'FAIL'] = 'FAIL' - message: str = '' - ext_message: str = '' - solution: str = '' - url: str = '' +class Result: + """Dataclass holding the results of a single validation""" + + status: Status + message: str + ext_message: str | None = None + solution: str | None = None + url: str | None = None exception: Exception | None = None -class ValidateHardwareException(Exception): - def __init__(self, results: ValidateResult): +class ValidateHardwareError(Exception): + def __init__(self, results: Result): super().__init__(results.message) self.results = results -class ValidateHardware(ABC): +class Validator(ABC): log_results: bool = True raise_fail_as_exception: bool = False + interactive: bool + iblrig_settings: RigSettings + hardware_settings: HardwareSettings + _name: str | None = None + + def __init__( + self, + iblrig_settings: RigSettings | None = None, + hardware_settings: HardwareSettings | None = None, + interactive: bool = False, + ): + self.iblrig_settings = iblrig_settings or load_pydantic_yaml(RigSettings) + self.hardware_settings = hardware_settings or load_pydantic_yaml(HardwareSettings) + self.interactive = interactive - def __init__(self, iblrig_settings=None, hardware_settings=None): - self.iblrig_settings = iblrig_settings or _load_settings_yaml('iblrig_settings.yaml') - self.hardware_settings = hardware_settings or _load_settings_yaml('hardware_settings.yaml') + @property + def name(self) -> str: + return getattr(self, '_name', self.__class__.__name__) @abstractmethod - def _run(self, *args, **kwargs) -> ValidateResult: ... + def _run(self, *args, **kwargs) -> Generator[Result, None, bool]: ... - def run(self, *args, **kwargs): - self.process(result := self._run(*args, **kwargs)) - return result + def run(self, *args, **kwargs) -> Generator[Result, None, bool]: + success = yield from self._run(*args, **kwargs) + return success + + def _get_bpod(self) -> Generator[Result, None, Bpod | None]: + try: + return Bpod(self.hardware_settings.device_bpod.COM_BPOD, skip_initialization=True) + except Exception as e: + yield Result(Status.FAIL, f'Cannot complete validation of {self.name}: connection to Bpod failed', exception=e) + return None + + def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[Result, None, BpodModule | None]: + if bpod is None: + bpod = yield from self._get_bpod() + if bpod is None: + return + + module = next((m for m in bpod.modules if m.name.startswith(module_name)), None) + if module is not None: + yield Result(Status.PASS, f'{self.name} is connected to Bpod on module port #{module.serial_port}') + yield Result(Status.INFO, f'Firmware Version: {module.firmware_version}') + return module + else: + yield Result( + Status.FAIL, + f"{self.name} is not connected to Bpod's module port", + solution=f"Connect {self.name} to one of Bpod's module ports using an ethernet cable.", + ) - def process(self, results: ValidateResult) -> None: + def process(self, results: Result) -> Result: if self.log_results: match results.status: - case 'PASS': + case Status.PASS: log_level = logging.INFO - log_symbol = '✔' - case 'INFO': + case Status.INFO: log_level = logging.INFO - log_symbol = 'i' - case 'WARN': - log_level = logging.WARNING - log_symbol = '!' - case 'FAIL': + case Status.FAIL: log_level = logging.CRITICAL - log_symbol = '✘' case _: - log_level = 'critical' - log_symbol = '?' - log.log(log_level, f' {log_symbol} {results.message}.') + log_level = logging.CRITICAL + log.log(log_level, results.message) - if self.raise_fail_as_exception and results.status == 'FAIL': + if self.raise_fail_as_exception and results.status == Status.FAIL: if results.exception is not None: - raise ValidateHardwareException(results) from results.exception + raise ValidateHardwareError(results) from results.exception else: - raise ValidateHardwareException(results) + raise ValidateHardwareError(results) + return results -class ValidateHardwareDevice(ValidateHardware): - device_name: str - @abstractmethod - def _run(self): ... +class ValidatorSerial(Validator): + port_properties: None | dict[str, Any] + serial_queries: None | dict[tuple[object, int], bytes] + port_info: ListPortInfo | None def __init__(self, *args, **kwargs): - if self.log_results: - log.info(f'Running hardware validations for {self.device_name}:') super().__init__(*args, **kwargs) + self.port_info = next(list_ports.grep(self.port), None) + @property + @abstractmethod + def port(self) -> str: ... -class ValidateSerialDevice(ValidateHardwareDevice): - port: str - port_properties: None | dict[str, Any] - serial_queries: None | dict[tuple[object, int], bytes] - - def _run(self) -> ValidateResult: + def _run(self): if self.port is None: - result = ValidateResult('FAIL', f'No serial port defined for {self.device_name}') + yield Result(Status.SKIP, f'No serial port defined for {self.name}') + return False elif next((p for p in list_ports.comports() if p.device == self.port), None) is None: - result = ValidateResult('FAIL', f'`{self.port}` is not a valid serial port') + yield Result(Status.FAIL, f'{self.port} is not a valid serial port', solution='Double check!') + return False else: try: Serial(self.port, timeout=1).close() + self.port_info = next(list_ports.grep(self.port), None) + yield Result(Status.PASS, f'Serial device on {self.port} can be connected to') + yield Result( + Status.INFO, + f'USB ID: {self.port_info.vid:04X}:{self.port_info.pid:04X}, ' + f'Serial Number: {self.port_info.serial_number}', + ) except SerialException as e: - result = ValidateResult('FAIL', f'`{self.port}` cannot be connected to', exception=e) - else: - result = ValidateResult('PASS', f'`{self.port}` is a valid serial port that can be connected to') + yield Result(Status.FAIL, f'Serial device on {self.port} cannot be connected to', exception=e) + return False + # first, test for properties of the serial port without opening the latter (VID, PID, etc) passed = self.port in filter_ports(**self.port_properties) if self.port_properties is not None else False @@ -114,71 +179,305 @@ def _run(self) -> ValidateResult: ser.flush() if not (passed := bool(re.search(regex_pattern, return_string))): break - if passed: - result = ValidateResult('PASS', f'Device on `{self.port}` does in fact seem to be a {self.device_name}') + yield Result(Status.PASS, f'Serial device positively identified as {self.name}') + return True else: - result = ValidateResult('FAIL', f'Device on `{self.port}` does NOT seem to be a {self.device_name}') + yield Result(Status.FAIL, f'Serial device on {self.port} does NOT seem to be a {self.name}') + return False - return result - -class ValidateRotaryEncoder(ValidateSerialDevice): - device_name = 'Rotary Encoder Module' +class ValidatorRotaryEncoderModule(ValidatorSerial): + _name = 'Rotary Encoder Module' port_properties = {'vid': 0x16C0} serial_queries = {(b'Q', 2): b'^..$', (b'P00', 1): b'\x01'} @property def port(self): - return self.hardware_settings['device_rotary_encoder']['COM_ROTARY_ENCODER'] + return self.hardware_settings.device_rotary_encoder.COM_ROTARY_ENCODER + + def _run(self): + # invoke ValidateSerialDevice._run() + success = yield from super()._run() + if not success: + return False + + # obtain hardware version + with SerialSingleton(self.port, timeout=0.1) as ser: + v = '1.x' if ser.query(b'Ix', 1) == b'\x01' else '2+' + yield Result(Status.INFO, f'Hardware Version: {v}') + + # try to get Bpod + bpod = yield from self._get_bpod() + if not bpod: + return False + + # try to get Bpod module + module = yield from self._get_module('RotaryEncoder', bpod) + if not module: + return False + + # log_fun('info', f'firmware version: {bpod.modules[0].firmware_version}') + # + # s.write(b'Z') + # p = np.frombuffer(query(s, b'Q', 2), dtype=np.int16)[0] + # log_fun('warn', "please move the wheel to the left (animal's POV) by a quarter turn") + # while np.abs(p) < 200: + # p = np.frombuffer(query(s, b'Q', 2), dtype=np.int16)[0] + # if p > 0: + # log_fun('fail', 'Rotary encoder seems to be wired incorrectly - try swapping A and B', last=True) + # else: + # log_fun('pass', 'rotary encoder is wired correctly', last=True) + # s.close() + + +class ValidatorScreen(Validator): + device_name = 'Screen' + + def _run(self): + pass + # if os.name == 'nt': + # import ctypes + # + # from win32api import EnumDisplayMonitors, EnumDisplaySettingsEx, GetMonitorInfo + # + # display_idx = self.hardware_settings.device_screen.DISPLAY_IDX + # monitors = EnumDisplayMonitors() + # monitor = monitors[display_idx] + # display_handle = monitor[0] + # scale_factor = ctypes.windll.shcore.GetScaleFactorForDevice(display_idx) + # display_info = GetMonitorInfo(display_handle) + # display_settings = EnumDisplaySettingsEx(display_info['Device']) + # # TODO: Implementation ... + + +class ValidatorAmbientModule(Validator): + _name = 'Ambient Module' + + def _run(self): + # yield Bpod's connection status + bpod = yield from self._get_bpod() + if bpod is None: + return False + + # yield module's connection status + module = yield from self._get_module('AmbientModule', bpod) + if module is None: + return False + + # yield sensor values + module.start_module_relay() + bpod.bpod_modules.module_write(module, 'R') + (t, p, h) = unpack('3f', bytes(bpod.bpod_modules.module_read(module, 12))) + module.stop_module_relay() + yield Result(Status.INFO, f'Temperature: {t:.1f} °C') + yield Result(Status.INFO, f'Air pressure: {p / 100:.1f} mbar') + yield Result(Status.INFO, f'Rel. humidity: {h:.1f}%') + return True + + +class ValidatorBpod(ValidatorSerial): + _name = 'Bpod' + port_properties = {'vid': 0x16C0} + serial_queries = {(b'6', 1): b'5'} + + @property + def port(self): + return self.hardware_settings.device_bpod.COM_BPOD def _run(self): - super().run() + # close existing Bpod singleton + if (bpod := Bpod._instances.get(self.hardware_settings.device_bpod.COM_BPOD, None)) is not None: # noqa + bpod.close() + + # invoke ValidateSerialDevice._run() + success = yield from super()._run() + if not success: + return False + + # check hardware and firmware version + with SerialSingleton(self.hardware_settings.device_bpod.COM_BPOD) as ser: + v_major, machine_type = ser.query(b'F', '<2H') + firmware_version = (v_major, ser.query(b'f', ' 22 else 0) + machine_str = {1: 'v0.5', 2: 'r07+', 3: 'r2.0-2.5', 4: '2+ r1.0'}[machine_type] + machine_str.join(f", PCB revision{ser.query(b'v', ' 22 else '') + yield Result(Status.INFO, f'Hardware version: {machine_str}') + yield Result(Status.INFO, f'Firmware version: {firmware_version[0]}.{firmware_version[1]}') + if firmware_version[0] > 22: + yield Result( + Status.FAIL, + 'Firmware version greater than 22 are not supported by IBLRIG', + solution='Downgrade the Bpod' 's firmware to version 22', + ) + return False + + # try to connect to Bpod + try: + bpod = Bpod(self.hardware_settings.device_bpod.COM_BPOD, skip_initialization=False) + yield Result(Status.PASS, 'Successfully connected to Bpod using pybpod') + except Exception as e: + yield Result(Status.FAIL, 'Could not connect to Bpod using pybpod', exception=e) + return False + + # return connected modules + for module in bpod.modules: + if module.connected: + yield Result(Status.INFO, f'Module on port #{module.serial_port}: "{module.name}"') + return True -class ValidateAlyx(ValidateHardware): - def _run(self) -> ValidateResult: - if alyx_reachable(): - result = ValidateResult('PASS', f'Alyx at `{self.iblrig_settings.ALYX_URL}` can be connected to.') +class ValidatorCamera(Validator): + _name = 'Camera' + + def _run(self): + if self.hardware_settings.device_cameras is None: + yield Result(Status.SKIP, 'No cameras defined in hardware_settings.yaml - skipping validation') + return False + + if HAS_SPINNAKER: + yield Result(Status.PASS, 'Spinnaker SDK is installed') + else: + yield Result( + Status.WARN, 'Spinnaker SDK is not installed', solution='Use install_spinnaker command to install Spinnaker SDK' + ) + + if HAS_PYSPIN: + yield Result(Status.PASS, 'PySpin is installed') + else: + yield Result(Status.WARN, 'Spinnaker SDK is not installed', solution='Use install_pyspin command to install PySpin') + + if HAS_SPINNAKER and HAS_PYSPIN: + from iblrig.video_pyspin import Cameras, enable_camera_trigger + + with Cameras() as cameras: + if len(cameras) == 0: + yield Result(Status.FAIL, 'Could not find a camera connected to the computer') + return False + else: + yield Result( + Status.PASS, f'Found {len(cameras)} camera{"s" if len(cameras) > 1 else ""} connected to the computer' + ) + for idx in range(len(cameras)): + yield Result( + Status.INFO, + f'Camera {idx}: {cameras[idx].DeviceModelName.ToString()}, ' + f'Serial #{cameras[idx].DeviceID.ToString()}', + ) + enable_camera_trigger(enable=False, camera=cameras[idx]) + + # yield Bpod's connection status + bpod = yield from self._get_bpod() + if bpod is None: + return False + + sma = StateMachine(bpod) + sma.add_state(state_name='collect', state_timer=0.2, state_change_conditions={'Tup': 'exit'}) + bpod.send_state_machine(sma) + bpod.run_state_machine(sma) + triggers = [i.host_timestamp for i in bpod.session.current_trial.events_occurrences if i.content == 'Port1In'] + if len(triggers) == 0: + yield Result(Status.FAIL, 'No triggers detected on Bpod' 's behavior port #1') + return False else: - result = ValidateResult( - 'FAIL', - f'Alyx at `{self.iblrig_settings.ALYX_URL}` can not be connected to.', - solution='Check the URL and make sure that your computer is allowed to connect to it.', + yield Result(Status.PASS, "Detected camera triggers on Bpod's behavior port #1") + trigger_rate = np.mean(1 / np.diff(triggers)) + target_rate = 30 + if isclose(trigger_rate, target_rate, rel_tol=0.1): + yield Result(Status.PASS, f'Measured trigger rate: {trigger_rate:.1f} Hz') + else: + yield Result(Status.WARN, f'Measured trigger rate: {trigger_rate:.1f} Hz') + return True + + +class ValidatorAlyx(Validator): + _name = 'Alyx' + + def _run(self): + # Validate ALYX_URL + if self.iblrig_settings.ALYX_URL is None: + yield Result(Status.SKIP, 'ALYX_URL has not been set in hardware_settings.yaml - skipping validation') + raise StopIteration(False) + elif not internet_available(timeout=3, force_update=True): + yield Result( + Status.FAIL, f'Cannot connect to {self.iblrig_settings.ALYX_URL.host}', solution='Check your Internet connection' + ) + return False + elif not internet_available(host=self.iblrig_settings.ALYX_URL.host, port=443, timeout=3, force_update=True): + yield Result( + Status.FAIL, + f'Cannot connect to {self.iblrig_settings.ALYX_URL.host}', + solution='Check ALYX_URL in hardware_settings.yaml and make sure that your computer is allowed to connect to it', ) - return result + return False + else: + yield Result(Status.PASS, f'{self.iblrig_settings.ALYX_URL.host} can be connected to') + + # Validate ALYX_LAB + if self.iblrig_settings.ALYX_LAB is None: + yield Result(Status.FAIL, 'ALYX_LAB has not been set', solution='Set ALYX_LAB in hardware_settings.yaml') + return True -class ValidateAlyxLabLocation(ValidateHardware): +class ValidatorValve(Validator): + _name = 'Valve' + + def _run(self): + calibration_date = self.hardware_settings.device_valve.WATER_CALIBRATION_DATE + today = date.today() + delta_warn = relativedelta(weeks=2) + delta_fail = relativedelta(weeks=4) + days_passed = (today - calibration_date).days + if calibration_date > date.today(): + yield Result(Status.FAIL, 'Date of last valve calibration is in the future', solution='Calibrate valve') + elif calibration_date + delta_warn < today: + yield Result(Status.WARN, f'Valve has not been calibrated in {days_passed} days', solution='Calibrate valve') + elif calibration_date + delta_fail < date.today(): + yield Result(Status.FAIL, f'Valve has not been calibrated in {days_passed} days', solution='Calibrate valve') + elif days_passed > 1: + yield Result(Status.PASS, f'Valve has been calibrated {days_passed} days ago') + else: + yield Result(Status.PASS, f'Valve has been calibrated {"yesterday" if days_passed == 1 else "today"}') + + +class ValidatorAlyxLabLocation(Validator): """ This class validates that the rig name in hardware_settings.yaml does exist in Alyx. """ - def _run(self, alyx: AlyxClient): + def _run(self, alyx: AlyxClient | None = None): try: + if alyx is None: + alyx = AlyxClient() alyx.rest('locations', 'read', id=self.hardware_settings['RIG_NAME']) - results_kwargs = dict(status='PASS', message='') + results_kwargs = dict(status=Status.PASS, message='') except requests.exceptions.HTTPError as ex: if ex.response.status_code not in (404, 400): # file not found; auth error # Likely Alyx is down or server-side issue - log.warning('Failed to determine lab location on Alyx.') + log.warning('Failed to determine lab location on Alyx') log.debug('%s', ex.response) results_kwargs = dict( - status='FAIL', message='Failed to determine lab location on Alyx.', solution='Check if Alyx is reachable.' + status=Status.FAIL, message='Failed to determine lab location on Alyx', solution='Check if Alyx is reachable' ) self.raise_fail_as_exception = False else: error_message = f'Could not find rig name {self.hardware_settings["RIG_NAME"]} in Alyx' solution = ( - f'Please check the RIG_NAME key in the settings/hardware_settings.yaml file ' - f'and make sure it is created in Alyx here: ' + f"Please check the RIG_NAME key in hardware_settings.yaml and make sure it is created in Alyx here: " f'{self.iblrig_settings["ALYX_URL"]}/admin/misc/lablocation/' ) - results_kwargs = dict(status='FAIL', message=error_message, solution=solution) + results_kwargs = dict(status=Status.FAIL, message=error_message, solution=solution) self.raise_fail_as_exception = True - return ValidateResult(**results_kwargs) + return Result(**results_kwargs) + + +def get_all_validators() -> list[type[Validator]]: + # return [x for x in get_inheritors(Validator) if not isabstract(x)] + return [ValidatorRotaryEncoderModule, ValidatorBpod, ValidatorAmbientModule, ValidatorAlyx, ValidatorCamera, ValidatorValve] -def run_all_tests(): - # Todo: implement method for running all children of ValidateHardware - pass +def run_all_validators( + iblrig_settings: RigSettings | None = None, hardware_settings: HardwareSettings | None = None, interactive: bool = False +) -> Generator[Result, None, None]: + validators = get_all_validators() + for validator in validators: + yield from validator(iblrig_settings=iblrig_settings, hardware_settings=hardware_settings, interactive=interactive).run() diff --git a/iblrig/path_helper.py b/iblrig/path_helper.py index 48d994fa6..9e7894344 100644 --- a/iblrig/path_helper.py +++ b/iblrig/path_helper.py @@ -239,7 +239,7 @@ def load_pydantic_yaml(model: type[T], filename: Path | str | None = None, do_ra raise e -def save_pydantic_yaml(data: T, filename: Path | str | None = None) -> bool: +def save_pydantic_yaml(data: T, filename: Path | str | None = None) -> None: if filename is None: if isinstance(data, HardwareSettings): filename = HARDWARE_SETTINGS_YAML diff --git a/iblrig/test/test_gui.py b/iblrig/test/test_gui.py index f3760b1e1..0f960fb5a 100644 --- a/iblrig/test/test_gui.py +++ b/iblrig/test/test_gui.py @@ -4,7 +4,7 @@ from ibllib.tests import TEST_DB from iblrig.constants import SETTINGS_PATH from iblrig.gui.wizard import PROJECTS, RigWizardModel -from iblrig.hardware_validation import ValidateResult +from iblrig.hardware_validation import Result from one.webclient import AlyxClient @@ -15,7 +15,7 @@ def setUp(self): file_iblrig_settings=SETTINGS_PATH.joinpath('iblrig_settings_template.yaml'), ) - @patch('iblrig.gui.wizard.iblrig.hardware_validation.ValidateAlyxLabLocation._run', return_value=ValidateResult('PASS')) + @patch('iblrig.gui.wizard.iblrig.hardware_validation.ValidateAlyxLabLocation._run', return_value=Result('PASS')) def test_connect(self, mock_validate_alyx): self.wizard.login(username=TEST_DB['username'], alyx_client=AlyxClient(**TEST_DB)) mock_validate_alyx.assert_called_once() diff --git a/iblrig/test/test_hardware_validation.py b/iblrig/test/test_hardware_validation.py index ae93fd63c..c38004ae6 100644 --- a/iblrig/test/test_hardware_validation.py +++ b/iblrig/test/test_hardware_validation.py @@ -15,12 +15,12 @@ ) -class DummyValidateHardware(iblrig.hardware_validation.ValidateHardware): +class DummyValidateHardware(iblrig.hardware_validation.Validator): def _run(self, passes=True): if passes: - return iblrig.hardware_validation.ValidateResult(status='PASS', message='Dummy test passed') + return iblrig.hardware_validation.Result(status='PASS', message='Dummy test passed') else: - return iblrig.hardware_validation.ValidateResult(status='FAIL', message='Dummy test failed') + return iblrig.hardware_validation.Result(status='FAIL', message='Dummy test failed') class TestHardwareValidationBase(unittest.TestCase): @@ -43,7 +43,7 @@ def test_lab_location(self): kwargs = copy.deepcopy(VALIDATORS_INIT_KWARGS) kwargs['hardware_settings']['RIG_NAME'] = '_iblrig_carandinilab_ephys_0' - v = iblrig.hardware_validation.ValidateAlyxLabLocation(**kwargs) + v = iblrig.hardware_validation.ValidatorAlyxLabLocation(**kwargs) result = v.run(alyx) self.assertEqual('PASS', result.status) @@ -52,7 +52,7 @@ def test_lab_location(self): with mock.patch('one.webclient.requests.get', return_value=rep) as m: m.__name__ = 'get' rep.status_code = 404 # When the lab is not found on Alyx the validation should raise - self.assertRaises(iblrig.hardware_validation.ValidateHardwareException, v.run, alyx) + self.assertRaises(iblrig.hardware_validation.ValidateHardwareError, v.run, alyx) rep.status_code = 500 # When Alyx is down for any reason, the failure should not raise result = v.run(alyx) self.assertEqual('FAIL', result.status) diff --git a/iblrig/tools.py b/iblrig/tools.py index 25a265879..a6022ab72 100644 --- a/iblrig/tools.py +++ b/iblrig/tools.py @@ -6,7 +6,7 @@ import subprocess from collections.abc import Callable from pathlib import Path -from typing import Any +from typing import Any, TypeVar from iblrig.constants import BONSAI_EXE from iblrig.path_helper import create_bonsai_layout_from_template, load_pydantic_yaml @@ -255,3 +255,16 @@ def call_bonsai( return subprocess.run(args=cmd, cwd=cwd, check=check) else: return subprocess.Popen(args=cmd, cwd=cwd) + + +T = TypeVar('T', bound=object) + + +def get_inheritors(cls: T) -> set[T]: + """ + Obtain a set of all direct inheritors of a class + """ + subclasses = set(cls.__subclasses__()) + for child in subclasses: + subclasses = subclasses.union(get_inheritors(child)) + return subclasses diff --git a/iblrig/validation.py b/iblrig/validation.py index d0691fddd..298a5c04e 100644 --- a/iblrig/validation.py +++ b/iblrig/validation.py @@ -1,15 +1,15 @@ -from pybpodapi.protocol import StateMachine -from iblrig.base_tasks import BpodMixin, SoundMixin -import iblrig - from pathlib import Path +import iblrig +from iblrig.base_tasks import BpodMixin, SoundMixin +from pybpodapi.protocol import StateMachine + class _SoundCheckTask(BpodMixin, SoundMixin): - protocol_name = "hardware_check_harp" + protocol_name = 'hardware_check_harp' def __init__(self, *args, **kwargs): - param_file = Path(iblrig.__file__).parent.joinpath("base_choice_world_params.yaml") + param_file = Path(iblrig.__file__).parent.joinpath('base_choice_world_params.yaml') super(_SoundCheckTask, self).__init__(*args, task_parameter_file=param_file, **kwargs) def start_hardware(self): @@ -23,9 +23,7 @@ def get_state_machine(self): state_name='play_tone', state_timer=0.5, output_actions=[self.bpod.actions.play_tone], - state_change_conditions={ - 'Tup': 'error', - }, + state_change_conditions={'Tup': 'error'}, ) sma.add_state( state_name='error', diff --git a/iblrig/video_pyspin.py b/iblrig/video_pyspin.py index a01843fe4..35949bfba 100644 --- a/iblrig/video_pyspin.py +++ b/iblrig/video_pyspin.py @@ -39,4 +39,4 @@ def enable_camera_trigger(enable: bool, camera: PySpin.CameraPtr | None = None): node_trigger_mode = PySpin.CEnumerationPtr(node_map.GetNode('TriggerMode')) node_trigger_mode_value = node_trigger_mode.GetEntryByName('On' if enable else 'Off').GetValue() node_trigger_mode.SetIntValue(node_trigger_mode_value) - log.info(('Enabled' if enable else 'Disabled') + f' trigger for camera #{camera.DeviceID.ToString()}.') + log.debug(('Enabled' if enable else 'Disabled') + f' trigger for camera #{camera.DeviceID.ToString()}.') From f46d28c68fc28d177ac362769b45bff9a23ac6e3 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 22:48:18 +0100 Subject: [PATCH 14/90] more ruff fixes --- iblrig/base_tasks.py | 5 ++--- iblrig/gui/valve.py | 2 ++ iblrig/gui/wizard.py | 12 ++++++++---- iblrig/hardware_validation.py | 6 +++--- iblrig/test/test_base_tasks.py | 2 +- iblrig/test/test_hardware_validation.py | 2 +- .../_iblrig_tasks_neuroModulatorChoiceWorld/task.py | 8 ++++---- .../_iblrig_tasks_trainingPhaseChoiceWorld/task.py | 2 +- pyproject.toml | 8 +------- scripts/hardware_validation/harp.py | 5 +++-- 10 files changed, 26 insertions(+), 26 deletions(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index 811730431..3875669fa 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -7,6 +7,7 @@ import abc import argparse +import contextlib import datetime import importlib.metadata import inspect @@ -329,10 +330,8 @@ def _make_task_parameters_dict(self): 'ALYX_USER': self.iblrig_settings.ALYX_USER, 'ALYX_LAB': self.iblrig_settings.ALYX_LAB, } - try: # If 'project_extraction' repository is installed, record the version + with contextlib.suppress(importlib.metadata.PackageNotFoundError): patch_dict['PROJECT_EXTRACTION_VERSION'] = importlib.metadata.version('project_extraction') - except importlib.metadata.PackageNotFoundError: - pass output_dict.update(patch_dict) return output_dict diff --git a/iblrig/gui/valve.py b/iblrig/gui/valve.py index fa7fe0802..c0286d3f5 100644 --- a/iblrig/gui/valve.py +++ b/iblrig/gui/valve.py @@ -9,6 +9,7 @@ from PyQt5.QtCore import QThreadPool from pyqtgraph import PlotWidget from serial import SerialException +from typing_extensions import override from iblrig.gui.tools import Worker from iblrig.gui.ui_valve import Ui_valve @@ -391,6 +392,7 @@ def save(self) -> None: self.labelGuideText.setText('') QtCore.QTimer.singleShot(1000, self.close) + @override def closeEvent(self, event): self.clear_timer.stop() self.scale_timer.stop() diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index ce188bf82..a585cd1da 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -22,6 +22,7 @@ from PyQt5.QtWebEngineWidgets import QWebEnginePage from PyQt5.QtWidgets import QStyle from requests import HTTPError +from typing_extensions import override import iblrig.hardware_validation import iblrig.path_helper @@ -597,6 +598,7 @@ def _log_in_or_out(self, username: str) -> bool: self.model2view() return logged_in + @override def eventFilter(self, obj, event): if obj == self.uiPushStart and event.type() in [QtCore.QEvent.HoverEnter, QtCore.QEvent.HoverLeave]: for widget in [self.uiListProcedures, self.uiListProjects]: @@ -610,6 +612,7 @@ def eventFilter(self, obj, event): return True return False + @override def closeEvent(self, event) -> None: def accept() -> None: self.settings.setValue('pos', self.pos()) @@ -1131,8 +1134,8 @@ def __init__(self, parent: RigWizard, username: str = '', password: str = '', re self.lineEditUsername.setText(username) self.lineEditPassword.setText(password) self.checkBoxRememberMe.setChecked(remember) - self.lineEditUsername.textChanged.connect(self._onTextChanged) - self.lineEditPassword.textChanged.connect(self._onTextChanged) + self.lineEditUsername.textChanged.connect(self._on_text_changed) + self.lineEditPassword.textChanged.connect(self._on_text_changed) self.toggle_password = self.lineEditPassword.addAction( QtGui.QIcon(':/images/hide'), QtWidgets.QLineEdit.ActionPosition.TrailingPosition ) @@ -1140,10 +1143,10 @@ def __init__(self, parent: RigWizard, username: str = '', password: str = '', re self.toggle_password.setCheckable(True) if len(username) > 0: self.lineEditPassword.setFocus() - self._onTextChanged() + self._on_text_changed() self.exec() - def _onTextChanged(self): + def _on_text_changed(self): enable_ok = len(self.lineEditUsername.text()) > 0 and len(self.lineEditPassword.text()) > 0 self.buttonBox.button(self.buttonBox.Ok).setEnabled(enable_ok) @@ -1205,6 +1208,7 @@ class CustomWebEnginePage(QWebEnginePage): Adapted from: https://www.pythonguis.com/faq/qwebengineview-open-links-new-window/ """ + @override def acceptNavigationRequest(self, url: QtCore.QUrl, navigation_type: QWebEnginePage.NavigationType, is_main_frame: bool): """ Decide whether to allow or block a navigation request. diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 1a4a37ff5..477a177b9 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -26,7 +26,7 @@ class ValidateResult: exception: Exception | None = None -class ValidateHardwareException(Exception): +class ValidateHardwareError(Exception): def __init__(self, results: ValidateResult): super().__init__(results.message) self.results = results @@ -69,9 +69,9 @@ def process(self, results: ValidateResult) -> None: if self.raise_fail_as_exception and results.status == 'FAIL': if results.exception is not None: - raise ValidateHardwareException(results) from results.exception + raise ValidateHardwareError(results) from results.exception else: - raise ValidateHardwareException(results) + raise ValidateHardwareError(results) class ValidateHardwareDevice(ValidateHardware): diff --git a/iblrig/test/test_base_tasks.py b/iblrig/test/test_base_tasks.py index 798af411e..5bdc13155 100644 --- a/iblrig/test/test_base_tasks.py +++ b/iblrig/test/test_base_tasks.py @@ -30,7 +30,7 @@ class EmptyHardwareSession(BaseSession): def __init__(self, *args, **kwargs): self.extractor_tasks = ['Tutu', 'Tata'] - super(EmptyHardwareSession, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def start_hardware(self): pass diff --git a/iblrig/test/test_hardware_validation.py b/iblrig/test/test_hardware_validation.py index ae93fd63c..2a946bc77 100644 --- a/iblrig/test/test_hardware_validation.py +++ b/iblrig/test/test_hardware_validation.py @@ -52,7 +52,7 @@ def test_lab_location(self): with mock.patch('one.webclient.requests.get', return_value=rep) as m: m.__name__ = 'get' rep.status_code = 404 # When the lab is not found on Alyx the validation should raise - self.assertRaises(iblrig.hardware_validation.ValidateHardwareException, v.run, alyx) + self.assertRaises(iblrig.hardware_validation.ValidateHardwareError, v.run, alyx) rep.status_code = 500 # When Alyx is down for any reason, the failure should not raise result = v.run(alyx) self.assertEqual('FAIL', result.status) diff --git a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py index ef1daef3f..bd0e48406 100644 --- a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py @@ -15,12 +15,12 @@ class Session(BiasedChoiceWorldSession): protocol_name = '_iblrig_tasks_neuromodulatorChoiceWorld' def __init__(self, *args, **kwargs): - super(Session, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.trials_table['omit_feedback'] = np.zeros(self.trials_table.shape[0], dtype=bool) self.trials_table['choice_delay'] = np.zeros(self.trials_table.shape[0], dtype=np.float32) def next_trial(self): - super(Session, self).next_trial() + super().next_trial() # then there is a probability of omitting feedback regardless of the choice self.trials_table.at[self.trial_num, 'omit_feedback'] = np.random.random() < self.task_params.OMIT_FEEDBACK_PROBABILITY @@ -241,7 +241,7 @@ class SessionRelatedBlocks(Session): # from iblrig_tasks._iblrig_tasks_neuroModulatorChoiceWorld.task import SessionRelatedBlocks # sess = SessionRelatedBlocks() def __init__(self, *args, **kwargs): - super(SessionRelatedBlocks, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) self.trials_table['omit_feedback'] = np.zeros(self.trials_table.shape[0], dtype=bool) self.trials_table['choice_delay'] = np.zeros(self.trials_table.shape[0], dtype=np.float32) self.trials_table['probability_left_rich'] = np.zeros(self.trials_table.shape[0], dtype=np.float32) @@ -259,7 +259,7 @@ def new_block(self): self.blocks_table.at[self.block_num, 'probability_left_rich'] = probability_left_rich def next_trial(self): - super(SessionRelatedBlocks, self).next_trial() + super().next_trial() self.trials_table.at[self.trial_num, 'reward_amount'] = self.draw_reward_amount() prich = self.blocks_table.loc[self.block_num, 'probability_left_rich'] self.trials_table.at[self.trial_num, 'probability_left_rich'] = prich diff --git a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py index b6ac79bab..0037c8822 100644 --- a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py @@ -14,7 +14,7 @@ class Session(TrainingChoiceWorldSession): protocol_name = '_iblrig_tasks_trainingPhaseChoiceWorld' def __init__(self, *args, training_level=DEFAULTS['TRAINING_PHASE'], debias=DEFAULTS['DEBIAS'], **kwargs): - super(Session, self).__init__(*args, training_phase=training_level, **kwargs) + super().__init__(*args, training_phase=training_level, **kwargs) self.task_params['TRAINING_PHASE'] = training_level self.task_params['DEBIAS'] = debias diff --git a/pyproject.toml b/pyproject.toml index 0e4c95b14..ff342f936 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -86,12 +86,6 @@ minversion = "6.0" testpaths = [ "iblrig/test", "iblrig/test/tasks" ] [tool.ruff] -ignore = [ - "PLR0912", # Too many branches - "PLR0913", # Too many arguments in function definition - "PLR0915", # Too many statements - "PLR2004", # Magic value used in comparison, consider replacing with a constant variable -] exclude = [ ".mypy_cache", "dist", @@ -107,7 +101,7 @@ target-version = "py310" [tool.ruff.lint] select = [ "B", # flake8-bugbear - "E", # pycodestyle + "E", # pycodestyle Error "F", # Pyflakes "I", # isort "N", # pep8-naming diff --git a/scripts/hardware_validation/harp.py b/scripts/hardware_validation/harp.py index 7089d5f75..cc2b80782 100644 --- a/scripts/hardware_validation/harp.py +++ b/scripts/hardware_validation/harp.py @@ -3,6 +3,7 @@ """ import logging +import sys from iblrig import path_helper from iblrig.base_choice_world import BiasedChoiceWorldSession @@ -19,7 +20,7 @@ "No COM port assigned for bpod, edit the 'settings/hardware_settings.yaml' file to add a bpod COM port; skipping " 'harp validation.' ) - exit() + sys.exit() # verify harp is set in the 'settings/hardware_settings.yaml' file if hardware_settings['device_sound']['OUTPUT'] != 'harp': @@ -27,7 +28,7 @@ f"The sound device specified in 'settings/hardware_settings.yaml' is not 'harp', edit the settings file to change " f"this.\nCurrently assigned soundcard: {hardware_settings['device_sound']['OUTPUT']}" ) - exit() + sys.exit() # TODO: check device manager for lib-usb32 entries if on Windows system From 14f23ad01856e4d0c4d029681a21add18057a9be Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 23:00:07 +0100 Subject: [PATCH 15/90] minor fix --- iblrig/gui/validation.py | 1 - iblrig/hardware_validation.py | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index 49f340114..72df0ed63 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -1,4 +1,3 @@ - from PyQt5 import QtCore, QtWidgets from PyQt5.QtCore import QThreadPool from PyQt5.QtGui import QFont, QIcon, QStandardItem, QStandardItemModel diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 7835ae694..6b0251e23 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -100,7 +100,11 @@ def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[R if bpod is None: return - module = next((m for m in bpod.modules if m.name.startswith(module_name)), None) + if bpod.modules is None: + module = None + else: + module = next((m for m in bpod.modules if m.name.startswith(module_name)), None) + if module is not None: yield Result(Status.PASS, f'{self.name} is connected to Bpod on module port #{module.serial_port}') yield Result(Status.INFO, f'Firmware Version: {module.firmware_version}') @@ -141,7 +145,8 @@ class ValidatorSerial(Validator): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.port_info = next(list_ports.grep(self.port), None) + if self.port is not None: + self.port_info = next(list_ports.grep(self.port), None) @property @abstractmethod From e551ee0275c9a4e128e4dfe9d73a826366539de6 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 4 Apr 2024 23:20:34 +0100 Subject: [PATCH 16/90] cleaning up --- iblrig/commands.py | 4 +- iblrig/session_creator.py | 91 +------------------------------- iblrig/test/test_choice_world.py | 6 +-- 3 files changed, 6 insertions(+), 95 deletions(-) diff --git a/iblrig/commands.py b/iblrig/commands.py index 58dd5a695..34031a866 100644 --- a/iblrig/commands.py +++ b/iblrig/commands.py @@ -315,14 +315,14 @@ def remove_local_sessions(weeks=2, local_path=None, remote_path=None, dry=False, """ local_subject_folder, remote_subject_folder = _get_subjects_folders(local_path, remote_path) size = 0 - Copier = tag2copier.get(tag.lower(), SessionCopier) + copier = tag2copier.get(tag.lower(), SessionCopier) removed = [] for flag in sorted(list(local_subject_folder.rglob(f'_ibl_experiment.description_{tag}.yaml')), reverse=True): session_path = flag.parent days_elapsed = (datetime.datetime.now() - datetime.datetime.strptime(session_path.parts[-2], '%Y-%m-%d')).days if days_elapsed < (weeks * 7): continue - sc = Copier(session_path, remote_subjects_folder=remote_subject_folder) + sc = copier(session_path, remote_subjects_folder=remote_subject_folder) if sc.state == 3: session_size = sum(f.stat().st_size for f in session_path.rglob('*') if f.is_file()) / 1024**3 logger.info(f'{sc.session_path}, {session_size:0.02f} Go') diff --git a/iblrig/session_creator.py b/iblrig/session_creator.py index d9b1bf2cc..6109d0d6f 100644 --- a/iblrig/session_creator.py +++ b/iblrig/session_creator.py @@ -18,7 +18,7 @@ def draw_block_len(factor, min_=20, max_=100): # EPHYS CHOICE WORLD -def make_ephysCW_pc(prob_type='biased'): +def make_ephyscw_pc(prob_type='biased'): """make_ephysCW_pc Makes positions, contrasts and block lengths for ephysCW Generates ~2000 trias :prob_type: (str) 'biased': 0 contrast half has likely to be drawn, 'uniform': 0 contrast as @@ -45,92 +45,3 @@ def make_ephysCW_pc(prob_type='biased'): prob_left = np.round(np.abs(1 - prob_left), 1) return pc, len_block - - -def make_ephysCW_pcqs(pc): - qperiod_base = 0.2 # + x, where x~exp(0.35), t ∈ 0.2 <= R <= 0.5 - sphase = [] - qperiod = [] - for _i in pc: - sphase.append(np.random.uniform(0, 2 * math.pi)) - qperiod.append(qperiod_base + misc.truncated_exponential(scale=0.35, min_value=0.2, max_value=0.5)) - qs = np.array([qperiod, sphase]).T - pcqs = np.append(pc, qs, axis=1) - perm = [0, 1, 3, 4, 2] - idx = np.empty_like(perm) - idx[perm] = np.arange(len(perm)) - pcqs[:, idx] - pcqs[:] = pcqs[:, idx] - - return pcqs - - -# PASSIVE CHOICE WORLD -def make_stims_for_passiveCW_pcs(seed_num=None): # XXX - if seed_num is not None: - np.random.seed(seed_num) - # Generate the position and contrast for the replayed stims - contrasts = [1.0, 0.25, 0.125, 0.0625] - zero_contrasts = [0.0] - - positions = [-35, 35] - pc_repeats = 20 - # zero % contrast is added with half the amount of pc_repeats - zero_repeats = len(positions) * pc_repeats / 2 - - pos = sorted(positions * len(contrasts) * pc_repeats) - cont = contrasts * pc_repeats * len(positions) - - pos.extend(positions * int(zero_repeats / len(positions))) - cont.extend(zero_contrasts * int(zero_repeats)) - sphase = [np.random.uniform(0, 2 * math.pi) for x in cont] - gabors = np.array([[int(p), c, s] for p, c, s in zip(pos, cont, sphase, strict=False)]) - - np.random.shuffle(gabors) - # Make into strings for saving - # if save: - # fpath = iblrig_path / "visual_stim" / "passiveChoiceWorld" - # fpath = fpath / "Extensions" / "passiveCW_stims.csv" - # np.savetxt(fpath, gabors, delimiter=" ", fmt=["%d", "%f", "%f"]) - - return gabors - - -def make_passiveCW_session_delays_ids(seed_num=None): # XXX - if seed_num is not None: - np.random.seed(seed_num) - - g_len = np.ones(180) * 0.3 - n_len = np.ones(40) * 0.5 - t_len = np.ones(40) * 0.1 - v_len = np.ones(40) * 0.2 - - g_labels = ['G'] * 180 - n_labels = ['N'] * 40 - t_labels = ['T'] * 40 - v_labels = ['V'] * 40 - - g_delay_dist = np.random.uniform(0.500, 1.900, len(g_labels)) - n_delay_dist = np.random.uniform(1, 5, len(n_labels)) - t_delay_dist = np.random.uniform(1, 5, len(t_labels)) - v_delay_dist = np.random.uniform(1, 11, len(v_labels)) - - # Calculate when they all should happen - sess_delays_cumsum = np.concatenate( - [np.cumsum(g_delay_dist), np.cumsum(n_delay_dist), np.cumsum(t_delay_dist), np.cumsum(v_delay_dist)] - ) - sess_labels_out = np.array(g_labels + n_labels + t_labels + v_labels) - - # Sort acording to the when they happen - srtd_idx = np.argsort(sess_delays_cumsum) - sess_delays_cumsum = sess_delays_cumsum[srtd_idx] - sess_labels_out = sess_labels_out[srtd_idx] - # get the delays between the stims (add the first delay) - sess_delays_out = np.insert(np.diff(sess_delays_cumsum), 0, sess_delays_cumsum[0]) - tot_dur = np.sum(np.sum(g_len) + np.sum(n_len) + np.sum(t_len) + np.sum(v_len) + np.sum(sess_delays_out)) / 60 - - # print(f'Stim IDs: {sess_labels_out}') - # print(f'Stim delays: {sess_delays_out}') - print(f'Total duration of stims: {tot_dur} m') - - return sess_delays_out, sess_labels_out diff --git a/iblrig/test/test_choice_world.py b/iblrig/test/test_choice_world.py index 5aa49f0c0..948da72d2 100644 --- a/iblrig/test/test_choice_world.py +++ b/iblrig/test/test_choice_world.py @@ -157,20 +157,20 @@ def count_contrasts(pc): def test_default(self): np.random.seed(7816) # the default generation has a bias on the 0-contrast - pc, _ = session_creator.make_ephysCW_pc() + pc, _ = session_creator.make_ephyscw_pc() c = self.count_contrasts(pc) assert np.all(np.abs(1 - c * 9) <= 0.2) def test_biased(self): # test biased, signed contrasts are uniform np.random.seed(7816) - pc, _ = session_creator.make_ephysCW_pc(prob_type='biased') + pc, _ = session_creator.make_ephyscw_pc(prob_type='biased') c = self.count_contrasts(pc) assert np.all(np.abs(1 - c * 9) <= 0.2) def test_uniform(self): # test uniform: signed contrasts are twice as likely for the 0 sample - pc, _ = session_creator.make_ephysCW_pc(prob_type='uniform') + pc, _ = session_creator.make_ephyscw_pc(prob_type='uniform') c = self.count_contrasts(pc) c[4] /= 2 assert np.all(np.abs(1 - c * 10) <= 0.2) From 0921520d232f03e33a8dc6ed2069140339fd977f Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 09:14:38 +0100 Subject: [PATCH 17/90] use ruff instead of flake8 --- .github/workflows/main.yaml | 11 +++++------ pyproject.toml | 2 -- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index f68f5f50c..1c16a5b00 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -11,6 +11,11 @@ on: - 'docs/**' jobs: + ruff: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: chartboost/ruff-action@v1 tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) runs-on: ${{ matrix.os }} @@ -31,12 +36,6 @@ jobs: cache: 'pip' cache-dependency-path: 'pyproject.toml' - - name: flake8 - run: | - pip install --upgrade pip - pip install flake8 --quiet - python -m flake8 - - name: install requirements shell: bash -l {0} run: | diff --git a/pyproject.toml b/pyproject.toml index ff342f936..b08cb6416 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,11 +38,9 @@ dependencies = [ [project.optional-dependencies] DEV = [ "coverage[toml]", - "flake8", "mypy", "myst-parser", "pre-commit", - "pylint", "pytest", "pytest-cov", "ruff", From e936fcdc51696d520a0667dcad59cad9b28dcf10 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 09:18:19 +0100 Subject: [PATCH 18/90] Update main.yaml --- .github/workflows/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1c16a5b00..e890c0dbc 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -18,6 +18,7 @@ jobs: - uses: chartboost/ruff-action@v1 tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) + needs: ruff runs-on: ${{ matrix.os }} strategy: matrix: From c6577bbb16432de12ec74a2c5df40645b4b0bcb0 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 09:24:26 +0100 Subject: [PATCH 19/90] Update main.yaml --- .github/workflows/main.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index e890c0dbc..81b44154b 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -16,6 +16,8 @@ jobs: steps: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 + with: + args: '--output-format=github' tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) needs: ruff From aaa86be2686e8891b81245ce2c6e2d2a6017e747 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 09:35:37 +0100 Subject: [PATCH 20/90] Update main.yaml --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 81b44154b..e7b7484b6 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -71,7 +71,7 @@ jobs: path: requirements_frozen.txt finish: - needs: tests + needs: [ruff, tests] if: ${{ always() }} runs-on: ubuntu-latest steps: From 2cf7ed19580d0a986a13d5442173e5180213444d Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 10:10:55 +0100 Subject: [PATCH 21/90] clean-up --- .pre-commit-config.yaml | 7 ++++--- iblrig/commands.py | 8 ++++++-- iblrig/gui/wizard.py | 14 ++++++-------- iblrig/session_creator.py | 2 -- iblrig/test/fixtures/iblrig_params.json | 2 +- iblrig/test/tasks/test_training_choice_world.py | 14 +++++++------- iblrig/video.py | 4 ++-- .../task.py | 6 +++--- .../task_validation.py | 2 +- settings/port_settings.py | 2 +- 10 files changed, 31 insertions(+), 30 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 914f9ec80..4612db21e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,8 @@ repos: - id: python-no-log-warn - id: text-unicode-replacement-char -- repo: https://github.com/pycqa/flake8 - rev: 6.1.0 +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.3.5 hooks: - - id: flake8 + - id: ruff + - id: ruff-format diff --git a/iblrig/commands.py b/iblrig/commands.py index 34031a866..2cba5fa95 100644 --- a/iblrig/commands.py +++ b/iblrig/commands.py @@ -104,7 +104,9 @@ def transfer_video_data_cli(): Command-line interface for transferring video data to the local server. """ setup_logger('iblrig', level='INFO') - warnings.warn('transfer_video_data will be removed in the future. Use "transfer_data video" instead.', FutureWarning) + warnings.warn( + 'transfer_video_data will be removed in the future. Use "transfer_data video" instead.', FutureWarning, stacklevel=2 + ) args = _transfer_parser('Copy video data to the local server.').parse_args() transfer_data(**{**vars(args), 'tag': 'video'}, interactive=True) @@ -114,7 +116,9 @@ def transfer_ephys_data_cli(): Command-line interface for transferring ephys data to the local server. """ setup_logger('iblrig', level='INFO') - warnings.warn('transfer_ephys_data will be removed in the future. Use "transfer_data ephys" instead.', FutureWarning) + warnings.warn( + 'transfer_ephys_data will be removed in the future. Use "transfer_data ephys" instead.', FutureWarning, stacklevel=2 + ) args = _transfer_parser('Copy ephys data to the local server.').parse_args() transfer_data(**{**vars(args), 'tag': 'ephys'}, interactive=True) diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index a585cd1da..d824cc8a2 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -801,28 +801,26 @@ def controls_for_extra_parameters(self): case 'adaptive_reward': label = 'Reward Amount, μl' + minimum = 1.4 widget.setSpecialValueText('automatic') widget.setMaximum(3) widget.setSingleStep(0.1) - widget.setMinimum(1.4) + widget.setMinimum(minimum) widget.setValue(widget.minimum()) widget.valueChanged.connect( - lambda val, a=arg, m=widget.minimum(): self._set_task_arg( - a.option_strings[0], str(val if val > m else -1) - ) + lambda val, a=arg, m=minimum: self._set_task_arg(a.option_strings[0], str(val if val > m else -1)) ) widget.valueChanged.emit(widget.value()) case 'adaptive_gain': label = 'Stimulus Gain' + minimum = 0 widget.setSpecialValueText('automatic') widget.setSingleStep(0.1) - widget.setMinimum(0) + widget.setMinimum(minimum) widget.setValue(widget.minimum()) widget.valueChanged.connect( - lambda val, a=arg, m=widget.minimum(): self._set_task_arg( - a.option_strings[0], str(val if val > m else -1) - ) + lambda val, a=arg, m=minimum: self._set_task_arg(a.option_strings[0], str(val if val > m else -1)) ) widget.valueChanged.emit(widget.value()) diff --git a/iblrig/session_creator.py b/iblrig/session_creator.py index 6109d0d6f..063e41a45 100644 --- a/iblrig/session_creator.py +++ b/iblrig/session_creator.py @@ -2,8 +2,6 @@ Creates sessions, pre-generates stim and ephys sessions """ -import math - import numpy as np from iblrig import misc diff --git a/iblrig/test/fixtures/iblrig_params.json b/iblrig/test/fixtures/iblrig_params.json index f79ca2574..872712c6d 100644 --- a/iblrig/test/fixtures/iblrig_params.json +++ b/iblrig/test/fixtures/iblrig_params.json @@ -35,4 +35,4 @@ "DATA_FOLDER_REMOTE": "\\\\lab_server_ip_or_dns\\data_folder\\", "F2TTL_HW_VERSION": 1, "DISPLAY_IDX": 0 -} \ No newline at end of file +} diff --git a/iblrig/test/tasks/test_training_choice_world.py b/iblrig/test/tasks/test_training_choice_world.py index 1ed5b7f44..0d5446758 100644 --- a/iblrig/test/tasks/test_training_choice_world.py +++ b/iblrig/test/tasks/test_training_choice_world.py @@ -23,13 +23,13 @@ def test_task(self): :return: """ trial_fixtures = get_fixtures() - ADAPTIVE_REWARD = 1.9 + adaptive_reward = 1.9 nt = 800 for training_phase in np.arange(6): with self.subTest(training_phase=training_phase): np.random.seed(12354) task = TrainingPhaseChoiceWorldSession( - **TASK_KWARGS, adaptive_reward=ADAPTIVE_REWARD, training_level=training_phase + **TASK_KWARGS, adaptive_reward=adaptive_reward, training_level=training_phase ) assert task.training_phase == training_phase task.create_session() @@ -40,7 +40,7 @@ def test_task(self): task.trial_completed(trial_fixtures[trial_type]) if trial_type == 'correct': self.assertTrue(task.trials_table['trial_correct'][task.trial_num]) - self.assertEqual(task.trials_table['reward_amount'][task.trial_num], ADAPTIVE_REWARD) + self.assertEqual(task.trials_table['reward_amount'][task.trial_num], adaptive_reward) else: assert not task.trials_table['trial_correct'][task.trial_num] assert not np.isnan(task.reward_time) @@ -49,7 +49,7 @@ def test_task(self): trials_table.groupby(['contrast']).agg(count=pd.NamedAgg(column='contrast', aggfunc='count')).reset_index() ) np.testing.assert_equal(trials_table['stim_probability_left'].values, 0.5) - np.testing.assert_equal(np.unique(trials_table['reward_amount'].values), np.array([0, ADAPTIVE_REWARD])) + np.testing.assert_equal(np.unique(trials_table['reward_amount'].values), np.array([0, adaptive_reward])) np.testing.assert_equal(trials_table['training_phase'].values, training_phase) debias = True probas = 1 @@ -87,9 +87,9 @@ def setUp(self) -> None: def test_task(self): trial_fixtures = get_fixtures() - ADAPTIVE_REWARD = 1.9 + adaptive_reward = 1.9 nt = 800 - task = TrainingChoiceWorldSession(**TASK_KWARGS, adaptive_reward=ADAPTIVE_REWARD) + task = TrainingChoiceWorldSession(**TASK_KWARGS, adaptive_reward=adaptive_reward) task.create_session() for i in np.arange(nt): task.next_trial() @@ -98,7 +98,7 @@ def test_task(self): task.trial_completed(trial_fixtures[trial_type]) if trial_type == 'correct': self.assertTrue(task.trials_table['trial_correct'][task.trial_num]) - self.assertEqual(task.trials_table['reward_amount'][task.trial_num], ADAPTIVE_REWARD) + self.assertEqual(task.trials_table['reward_amount'][task.trial_num], adaptive_reward) else: assert not task.trials_table['trial_correct'][task.trial_num] if i == 245: diff --git a/iblrig/video.py b/iblrig/video.py index 2c764404a..2f1fb1202 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -279,14 +279,14 @@ def validate_video(video_path, config): log.critical('Frame count / video frame mismatch - frame counts = %i; video frames = %i', len(count), meta.length) ok = False if config.SYNC_LABEL: - MIN_EVENTS = 10 # The minimum expected number of GPIO events + min_events = 10 # The minimum expected number of GPIO events if all(ch is None for ch in gpio): log.error('No GPIO events detected.') ok = False else: for i, ch in enumerate(gpio): if ch: - log.log(30 if len(ch['indices']) < MIN_EVENTS else 20, '%i event(s) on GPIO #%i', len(ch['indices']), i + 1) + log.log(30 if len(ch['indices']) < min_events else 20, '%i event(s) on GPIO #%i', len(ch['indices']), i + 1) return ok diff --git a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py index bd0e48406..6e62f38c9 100644 --- a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task.py @@ -266,13 +266,13 @@ def next_trial(self): def draw_reward_amount(self): # FIXME check: this has 0.5 probability of being correct !!! - REWARD_AMOUNTS = (1, 3) # poor and rich + reward_amounts = (1, 3) # poor and rich plr = self.blocks_table.at[self.block_num, 'probability_left_rich'] - if np.sign(self.position): + if np.sign(self.position): # noqa: SIM108 probas = [plr, (1 - plr)] # right else: probas = [(1 - plr), plr] # left - return np.random.choice(REWARD_AMOUNTS, p=probas) + return np.random.choice(reward_amounts, p=probas) if __name__ == '__main__': # pragma: no cover diff --git a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task_validation.py b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task_validation.py index ba82236f6..8cde9b6bb 100644 --- a/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task_validation.py +++ b/iblrig_tasks/_iblrig_tasks_neuroModulatorChoiceWorld/task_validation.py @@ -21,7 +21,7 @@ task_data['bpod_delay'] = 0 for i, bp in enumerate(bpod_data): sts = bp['States timestamps'] - task_data.at[i, 'bpod_valve_time'] = np.diff(sts['reward'] if 'reward' in sts else np.NaN) + task_data.at[i, 'bpod_valve_time'] = np.diff(sts.get('reward', np.NaN)) task_data.at[i, 'bpod_delay'] = np.nansum( np.r_[ np.diff(sts['delay_reward'])[0] if 'delay_reward' in sts else 0, diff --git a/settings/port_settings.py b/settings/port_settings.py index 1cdb285c3..03abe2b05 100644 --- a/settings/port_settings.py +++ b/settings/port_settings.py @@ -83,7 +83,7 @@ def main(v7_path=None, v8_path=None): print(f'Settings ALYX_LAB as "{lab}"') v8_settings['ALYX_LAB'] = lab else: - warnings.warn('Unknown lab name, please manually update ALYX_LAB field.') + warnings.warn('Unknown lab name, please manually update ALYX_LAB field.', stacklevel=2) v8_settings['ALYX_URL'] = one.params.get_default_client() v8_settings['ALYX_USER'] = one.params.get(client=v8_settings['ALYX_URL'], silent=True).ALYX_LOGIN From a6ce826af7f628a457c2ffa2beab7b3456ca457e Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 10:56:04 +0100 Subject: [PATCH 22/90] almost there --- .github/workflows/main.yaml | 5 ++++- iblrig/gui/resources_rc.py | 44 ++++++++++++++++++------------------- iblrig/gui/tools.py | 16 +++++++------- iblrig/gui/ui_wizard.py | 4 ++-- 4 files changed, 36 insertions(+), 33 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index e7b7484b6..949c0cc92 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -17,7 +17,10 @@ jobs: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 with: - args: '--output-format=github' + args: 'check --output-format=github' + - uses: chartboost/ruff-action@v1 + with: + args: 'format --check --output-format=github' tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) needs: ruff diff --git a/iblrig/gui/resources_rc.py b/iblrig/gui/resources_rc.py index d1dc77dff..0cfe2de84 100644 --- a/iblrig/gui/resources_rc.py +++ b/iblrig/gui/resources_rc.py @@ -3156,49 +3156,49 @@ \x00\x00\x00\x10\x00\x02\x00\x00\x00\x15\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x06\x32\ -\x00\x00\x01\x8d\xc5\xf9\xb8\x1d\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0f\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x00\x00\x08\xdb\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x56\x00\x00\x00\x00\x00\x01\x00\x00\x0b\x32\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x64\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x4a\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x72\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x69\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\x80\x00\x00\x00\x00\x00\x01\x00\x00\x0f\x43\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\x90\x00\x00\x00\x00\x00\x01\x00\x00\x11\xc4\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\xa0\x00\x00\x00\x00\x00\x01\x00\x00\x13\xd6\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x14\xfa\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xce\ -\x00\x00\x01\x8e\x0f\x91\xac\xf1\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ \x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x4e\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x26\xa6\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xf2\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x22\ -\x00\x00\x01\x8d\xc5\xf9\xb8\x1d\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x01\x06\x00\x00\x00\x00\x00\x01\x00\x00\x31\xcf\ -\x00\x00\x01\x8e\x0f\x91\xa3\x8f\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ \x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x38\x05\ -\x00\x00\x01\x8e\x18\x9c\x0f\x65\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ \x00\x00\x01\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x3a\xd3\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x01\x42\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x00\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x4a\ \x00\x00\x01\x5c\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x4d\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x01\x76\x00\x00\x00\x00\x00\x01\x00\x00\x40\x74\ -\x00\x00\x01\x8d\xac\x8a\x01\x53\ +\x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x01\x92\x00\x00\x00\x00\x00\x01\x00\x00\xa6\xad\ -\x00\x00\x01\x8e\x0f\x91\xa3\x8f\ +\x00\x00\x01\x8e\x1f\x10\x54\xcc\ " qt_version = [int(v) for v in QtCore.qVersion().split('.')] diff --git a/iblrig/gui/tools.py b/iblrig/gui/tools.py index 3519e4532..017bd1665 100644 --- a/iblrig/gui/tools.py +++ b/iblrig/gui/tools.py @@ -22,17 +22,17 @@ def convert_uis(): files = set([f for f in gui_path.glob(args.pattern)]) for filename_in in files.intersection(gui_path.glob('*.qrc')): - filename_in = filename_in.relative_to(BASE_PATH) - filename_out = filename_in.with_stem(filename_in.stem + '_rc').with_suffix('.py') - print(filename_out) - args = ['pyrcc5', str(filename_in), '-o', filename_out] + rel_path_in = filename_in.relative_to(BASE_PATH) + rel_path_out = rel_path_in.with_stem(rel_path_in.stem + '_rc').with_suffix('.py') + args = ['pyrcc5', str(rel_path_in), '-o', str(rel_path_out)] + print(' '.join(args)) subprocess.check_output(args, cwd=BASE_PATH) for filename_in in files.intersection(gui_path.glob('*.ui')): - filename_in = filename_in.relative_to(BASE_PATH) - filename_out = filename_in.with_suffix('.py') - print(filename_out) - args = ['pyuic5', str(filename_in), '-o', filename_out, '-x', '--import-from=iblrig.gui'] + rel_path_in = filename_in.relative_to(BASE_PATH) + rel_path_out = rel_path_in.with_suffix('.py') + args = ['pyuic5', str(rel_path_in), '-o', str(rel_path_out), '-x', '--import-from=iblrig.gui'] + print(' '.join(args)) subprocess.check_output(args, cwd=BASE_PATH) diff --git a/iblrig/gui/ui_wizard.py b/iblrig/gui/ui_wizard.py index cf2138950..a28c6e12f 100644 --- a/iblrig/gui/ui_wizard.py +++ b/iblrig/gui/ui_wizard.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'iblrig/gui/ui_wizard.ui' +# Form implementation generated from reading ui file 'iblrig\gui\ui_wizard.ui' # -# Created by: PyQt5 UI code generator 5.15.9 +# Created by: PyQt5 UI code generator 5.15.10 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. From 04682525e2838c83d5e839a46e1edf26de0f966b Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 11:22:13 +0100 Subject: [PATCH 23/90] more work on squashing issues detected by ruff --- .github/workflows/main.yaml | 4 +- iblrig/base_choice_world.py | 4 +- iblrig/gui/frame2ttl.py | 3 +- .../tasks/test_biased_choice_world_family.py | 4 +- iblrig/test/test_upgrade_iblrig.py | 4 +- iblrig/test/test_video.py | 7 ++- iblrig/transfer_experiments.py | 15 +++--- .../_iblrig_tasks_passiveChoiceWorld/task.py | 3 +- .../verify_camera_trigger.py | 49 ------------------- 9 files changed, 23 insertions(+), 70 deletions(-) delete mode 100644 scripts/hardware_validation/verify_camera_trigger.py diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 949c0cc92..6b4ea08dc 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -16,11 +16,9 @@ jobs: steps: - uses: actions/checkout@v4 - uses: chartboost/ruff-action@v1 + name: ruff check with: args: 'check --output-format=github' - - uses: chartboost/ruff-action@v1 - with: - args: 'format --check --output-format=github' tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) needs: ruff diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 19280c9eb..1b5e6e48c 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -500,13 +500,11 @@ def show_trial_log(self, extra_info=''): ) @property - def iti_reward(self, assert_calibration=True): + def iti_reward(self): """ Returns the ITI time that needs to be set in order to achieve the desired ITI, by subtracting the time it takes to give a reward from the desired ITI. """ - if assert_calibration: - assert 'REWARD_VALVE_TIME' in self.calibration, 'Reward valve time not calibrated' return self.task_params.ITI_CORRECT - self.calibration.get('REWARD_VALVE_TIME', None) """ diff --git a/iblrig/gui/frame2ttl.py b/iblrig/gui/frame2ttl.py index 2dbfe3cab..110f2932f 100644 --- a/iblrig/gui/frame2ttl.py +++ b/iblrig/gui/frame2ttl.py @@ -83,7 +83,8 @@ def __init__( ): # try to detect screen_index, get screen dimensions if screen_index is None: - for screen_index, screen in enumerate(QtWidgets.QApplication.screens()): + for idx, screen in enumerate(QtWidgets.QApplication.screens()): + screen_index = idx if screen.size().width() == 2048 and screen.size().height() == 1536: break else: diff --git a/iblrig/test/tasks/test_biased_choice_world_family.py b/iblrig/test/tasks/test_biased_choice_world_family.py index b862124f1..121ccc47f 100644 --- a/iblrig/test/tasks/test_biased_choice_world_family.py +++ b/iblrig/test/tasks/test_biased_choice_world_family.py @@ -17,7 +17,9 @@ def setUp(self) -> None: self.task = BiasedChoiceWorldSession(**TASK_KWARGS) np.random.seed(12345) - def test_task(self, reward_set=np.array([0, 1.5])): + def test_task(self, reward_set=None): + if reward_set is None: + reward_set = np.array([0, 1.5]) task = self.task task.create_session() trial_fixtures = get_fixtures() diff --git a/iblrig/test/test_upgrade_iblrig.py b/iblrig/test/test_upgrade_iblrig.py index 353208acc..186f97f2f 100644 --- a/iblrig/test/test_upgrade_iblrig.py +++ b/iblrig/test/test_upgrade_iblrig.py @@ -81,7 +81,7 @@ class TestUpgradeFunction(unittest.TestCase): @patch('iblrig.upgrade_iblrig.get_local_version', return_value=None) @patch('iblrig.upgrade_iblrig.call_subprocesses') def test_upgrade_no_local_version(self, mock_call_subprocesses, mock_get_local_version, mock_check_upgrade_prerequisites): - with self.assertRaises(Exception): + with self.assertRaises(Exception): # noqa: B017 upgrade(raise_exceptions=True) mock_check_upgrade_prerequisites.assert_called_once() mock_get_local_version.assert_called_once() @@ -91,7 +91,7 @@ def test_upgrade_no_local_version(self, mock_call_subprocesses, mock_get_local_v @patch('iblrig.upgrade_iblrig.get_remote_version', return_value=None) @patch('iblrig.upgrade_iblrig.call_subprocesses') def test_upgrade_no_remote_version(self, mock_call_subprocesses, mock_get_remote_version, mock_check_upgrade_prerequisites): - with self.assertRaises(Exception): + with self.assertRaises(Exception): # noqa: B017 upgrade(raise_exceptions=True) mock_check_upgrade_prerequisites.assert_called_once() mock_get_remote_version.assert_called_once() diff --git a/iblrig/test/test_video.py b/iblrig/test/test_video.py index ffb6aa7fa..e43ecf5ae 100644 --- a/iblrig/test/test_video.py +++ b/iblrig/test/test_video.py @@ -240,10 +240,9 @@ def test_validate_video_missing(self): self.assertFalse(video.validate_video(video_path, self.config)) self.assertTrue(log.records[-1].getMessage().startswith('Raw video file does not exist')) # Test with empty file - with tempfile.NamedTemporaryFile(suffix=self.video_path.name) as video_path: - with self.assertLogs(video.__name__, 50) as log: - self.assertFalse(video.validate_video(Path(video_path.name), self.config)) - self.assertTrue(log.records[-1].getMessage().startswith('Raw video file empty')) + with tempfile.NamedTemporaryFile(suffix=self.video_path.name) as video_path, self.assertLogs(video.__name__, 50) as log: + self.assertFalse(video.validate_video(Path(video_path.name), self.config)) + self.assertTrue(log.records[-1].getMessage().startswith('Raw video file empty')) # Test with non-empty, unreadable video file with self.assertLogs(video.__name__, 50) as log: self.assertFalse(video.validate_video(self.video_path, self.config)) diff --git a/iblrig/transfer_experiments.py b/iblrig/transfer_experiments.py index f5e004d73..041d2f357 100644 --- a/iblrig/transfer_experiments.py +++ b/iblrig/transfer_experiments.py @@ -392,8 +392,8 @@ def config2stub(config: dict, collection: str = 'raw_video_data') -> dict: """ cameras = {} for label, settings in filter(lambda itms: itms[0] != 'BONSAI_WORKFLOW', config.items()): - settings = {k.lower(): v for k, v in settings.items() if v is not None and k != 'INDEX'} - cameras[label] = dict(collection=collection, **settings) + settings_mod = {k.lower(): v for k, v in settings.items() if v is not None and k != 'INDEX'} + cameras[label] = dict(collection=collection, **settings_mod) acq_desc = {'devices': {'cameras': cameras}, 'version': '1.0.0'} return acq_desc @@ -447,10 +447,13 @@ def _copy_collections(self): jsonable = self.session_path.joinpath(collection, '_iblrig_taskData.raw.jsonable') if not jsonable.exists(): log.info(f'Skipping: no task data found for {self.session_path}') - if self.remote_session_path.exists() and len(collections) == 1: - # No local data and only behaviour stub in remote; assume dud and remove entire session - if len(list(self.file_remote_experiment_description.parent.glob('*.yaml'))) <= 1: - shutil.rmtree(self.remote_session_path) # remove likely dud + # No local data and only behaviour stub in remote; assume dud and remove entire session + if ( + self.remote_session_path.exists() + and len(collections) == 1 + and len(list(self.file_remote_experiment_description.parent.glob('*.yaml'))) <= 1 + ): + shutil.rmtree(self.remote_session_path) # remove likely dud return False trials, bpod_data = load_task_jsonable(jsonable) ntrials = trials.shape[0] diff --git a/iblrig_tasks/_iblrig_tasks_passiveChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_passiveChoiceWorld/task.py index 96335c413..be260ed8a 100644 --- a/iblrig_tasks/_iblrig_tasks_passiveChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_passiveChoiceWorld/task.py @@ -71,7 +71,8 @@ def _run(self): if not self.is_mock: self.start_mixin_bonsai_visual_stimulus() - for self.trial_num, trial in self.trials_table.iterrows(): + for trial_num, trial in self.trials_table.iterrows(): + self.trial_num = trial_num log.info(f'Delay: {trial.stim_delay}; ID: {trial.stim_type}; Count: {self.trial_num}/300') sys.stdout.flush() time.sleep(trial.stim_delay) diff --git a/scripts/hardware_validation/verify_camera_trigger.py b/scripts/hardware_validation/verify_camera_trigger.py deleted file mode 100644 index 775056e1a..000000000 --- a/scripts/hardware_validation/verify_camera_trigger.py +++ /dev/null @@ -1,49 +0,0 @@ -import types -from pathlib import Path -from time import time - -import iblrig.base_tasks -from pybpodapi.protocol import Bpod, StateMachine - -last_time = time() - - -def softcode_handler(self, data): - global last_time - now = time() - d = 1 / (now - last_time) - last_time = now - print(f'{d:.2f} Hz') - - -file_settings = Path(iblrig.__file__).parents[1].joinpath('settings', 'hardware_settings.yaml') -hardware_settings = iblrig.path_helper._load_settings_yaml(file_settings) -bpod = Bpod(hardware_settings['device_bpod']['COM_BPOD'], disable_behavior_ports=[1, 2, 3]) -bpod.softcode_handler_function = types.MethodType(softcode_handler, bpod) - -sma = StateMachine(bpod) -sma.set_global_timer(1, 5) -sma.add_state( - state_name='start', - state_timer=0, - state_change_conditions={'Tup': 'wait'}, - output_actions=[('GlobalTimerTrig', 1), ('PWM1', 0)], -) -sma.add_state( - state_name='wait', - state_timer=0, - state_change_conditions={'Port1In': 'flash', 'GlobalTimer1_End': 'exit'}, - output_actions=[('PWM1', 0)], -) -sma.add_state( - state_name='flash', - state_timer=0.001, - state_change_conditions={'Tup': 'wait', 'GlobalTimer1_End': 'exit'}, - output_actions=[('PWM1', 255), ('SoftCode', 1)], -) - -bpod.send_state_machine(sma) -bpod.run_state_machine(sma) - -bpod.manual_override(2, 'PWM', 1, 0) -bpod.close() From 646dc29567495bedb043a740ddf307958924b6bd Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 12:52:30 +0100 Subject: [PATCH 24/90] support validation from CLI --- iblrig/hardware_validation.py | 35 ++++++++++++++++++++++++++++++----- iblrig/tools.py | 15 +++++++++++++++ iblrig/validation.py | 2 +- pyproject.toml | 1 + 4 files changed, 47 insertions(+), 6 deletions(-) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 6b0251e23..b13cba30a 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -21,7 +21,7 @@ from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.serial_singleton import SerialSingleton, filter_ports -from iblrig.tools import internet_available +from iblrig.tools import internet_available, ANSI from one.webclient import AlyxClient from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine @@ -100,10 +100,7 @@ def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[R if bpod is None: return - if bpod.modules is None: - module = None - else: - module = next((m for m in bpod.modules if m.name.startswith(module_name)), None) + module = None if bpod.modules is None else next((m for m in bpod.modules if m.name.startswith(module_name)), None) if module is not None: yield Result(Status.PASS, f'{self.name} is connected to Bpod on module port #{module.serial_port}') @@ -486,3 +483,31 @@ def run_all_validators( validators = get_all_validators() for validator in validators: yield from validator(iblrig_settings=iblrig_settings, hardware_settings=hardware_settings, interactive=interactive).run() + + +def run_all_validators_cli(): + validators = get_all_validators() + fail = 0 + warn = 0 + for validator in validators: + v = validator() + print(f'{ANSI.BOLD + ANSI.UNDERLINE + v.name + ANSI.END}') + for result in v.run(): + if result.status == Status.FAIL: + color = ANSI.RED + ANSI.BOLD + fail += 1 + elif result.status == Status.WARN: + color = ANSI.YELLOW + ANSI.BOLD + warn += 1 + else: + color = ANSI.END + print(f'{color}- {result.message}{ANSI.END}') + if result.solution is not None and len(result.solution) > 0: + print(f'{color} Suggestion: {result.solution}{ANSI.END}') + print('') + if fail > 0: + print(ANSI.RED + ANSI.BOLD + f'{fail} validation{"s" if fail > 1 else ""} failed.') + if warn > 0: + print(ANSI.YELLOW + ANSI.BOLD + f'Validations passed with {warn} warning{"s" if warn > 1 else ""}.') + if warn == 0 and fail == 0: + print(ANSI.GREEN + ANSI.BOLD + f'All validations were passed - no issues found.') diff --git a/iblrig/tools.py b/iblrig/tools.py index a6022ab72..164091a7e 100644 --- a/iblrig/tools.py +++ b/iblrig/tools.py @@ -268,3 +268,18 @@ def get_inheritors(cls: T) -> set[T]: for child in subclasses: subclasses = subclasses.union(get_inheritors(child)) return subclasses + + +class ANSI: + """ANSI Codes for formatting text on the CLI""" + + PURPLE = '\033[95m' + CYAN = '\033[96m' + DARKCYAN = '\033[36m' + BLUE = '\033[94m' + GREEN = '\033[92m' + YELLOW = '\033[93m' + RED = '\033[91m' + BOLD = '\033[1m' + UNDERLINE = '\033[4m' + END = '\033[0m' diff --git a/iblrig/validation.py b/iblrig/validation.py index 298a5c04e..6db0edfd6 100644 --- a/iblrig/validation.py +++ b/iblrig/validation.py @@ -10,7 +10,7 @@ class _SoundCheckTask(BpodMixin, SoundMixin): def __init__(self, *args, **kwargs): param_file = Path(iblrig.__file__).parent.joinpath('base_choice_world_params.yaml') - super(_SoundCheckTask, self).__init__(*args, task_parameter_file=param_file, **kwargs) + super().__init__(*args, task_parameter_file=param_file, **kwargs) def start_hardware(self): self.start_mixin_bpod() diff --git a/pyproject.toml b/pyproject.toml index b08cb6416..b0bfd3c24 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,6 +66,7 @@ install_pyspin = "iblrig.video:install_pyspin" start_video_session = "iblrig.video:prepare_video_session_cmd" start_ephys_session = "iblrig.ephys:prepare_ephys_session_cmd" convert_uis = "iblrig.gui.tools:convert_uis" +validate_iblrig = "iblrig.hardware_validation:run_all_validators_cli" [tool.setuptools.dynamic] readme = { file = "README.md", content-type = "text/markdown" } From 8d9ec4a7f14b1dc1c44a4ca7fae4b64589f44e47 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 14:25:53 +0100 Subject: [PATCH 25/90] Create logo_ibl.svg --- iblrig/gui/resources/logo_ibl.svg | 6549 +++++++++++++++++++++++++++++ 1 file changed, 6549 insertions(+) create mode 100644 iblrig/gui/resources/logo_ibl.svg diff --git a/iblrig/gui/resources/logo_ibl.svg b/iblrig/gui/resources/logo_ibl.svg new file mode 100644 index 000000000..27dfd957e --- /dev/null +++ b/iblrig/gui/resources/logo_ibl.svg @@ -0,0 +1,6549 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 +wMiE6SUJ4+YSATJ+iuf+Pc2wddmxrPF2yxKlsLnbUjn7yx3F5z/hbkUCF3+KE/3CefLbn//ljz/+ +09uf/cVf/+2vf/rp+z/87ru//ufv/ubXv/3dd59//P1//+7Hf/zur37z25/+/R9+/Jff/+x8z9uf +/bu3v//Pv3zm9vbnf/27n96fmBP9+Af9x6//73/63j/w7Y//8N3/9v1/97l7evvzv/v+1//0lb/6 +n377w3d/+/0f/uH73/306v+Vq4/u337/jz99t2/if/7Dj7/76Y91/o8//v6Lvv2XLv5v//D9//vb +7/91X/s//fMfOy2XvO/xt9//87srlmA6jAT0z/e69Ev3+x9/u5/Qf/7tb376b/8/r+jvfvzXc0Vf +CD39mz/xv3z/2//633766qv9q1/9D3/x1/W7v/rdb+IP+Xfn39/9hx9/97d7zP20h90337j5L7// +r/sZvjvwq//we44sH/nLP/zLP/+3c54/+z9+97tf//D9b97mv/tVevuL/f9//6+/kozLv7z+I7/U +VdLb/7r/y/+zm/71rb39zdv/+X+lt9/wV3/3q29aGjzS/ShJq33SHf/wq2/wLyaAed/87RfNO7LE +F/jbL07yC833JL97XeP//it2qAu5/CILy4XUDMSvUVGU6Jo2wUUiEk3+KWNug8EZ8zpJp4YiIrkP +NirtUYIW9SsII+/FadTwrsOe1/7+11/cENuFHeTe28fcQ83kqd+iERlfNSY2QG4Ey+jGTHnuc5wA +ozo3NzYuXz6/+Llvf/WPOjBdbmxm1o0V10H4mIubKfi+uRGxovhJlic34hEQP7jquY5JFi9+MGOo +EI3sUHx3xKluzBCt9FNPfl4nACkUV7DSuekHKyU/CTDb0RjnREjvPocHhnE8s1KjJ8rN8fslmkhV +Rr9cXn++ZDxs+8R+rjTN20iCIO4pHjgsKmVaornXfi6/3fsnYPAJXvf/xRv47FcjVDPlSUkFgaf7 +IZqR7o7m4fdL4zzvCzmntzjB+etxW35+yvNb6xOqTT6A+n/81rrDcdimLxp3HOiP7nnWqzHlaCTw +/HxOMOftGz0bsZ/PiXr4V3//XBiSsn69qH3u5/jDaT6NSO5EE8Kp0bg/jWhMfljdUpCfz5+j0+Hm +EQ/ncc3FjTsefPvq7//Rt9Mh56tZSnXn/QhqGb3biLfRYjRLeW/9m69oIpLgA3xy/UyY6IfO+Cg7 +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 + + + yqYryZXp1/KqjT//UGh3qZOzL7k43Wlr5zxu/xteOPR6tbj/mZtwpiPI5eL5FJe75/JdH50v48/e +C9S3vVlgaHm1QGhr1wtHHrqLZ+6FCqeRTT75q5t481Za3tXcDQk3yje4PjhXzp16sNaw47+WOTXc +0em3/rqYOfqS59rvJYfca2r2fbCr0eXlOaQLT1W5vDpfJvx2p2jN84OVUe2VDfW3Emuqb6U0BNxv +bRJfXyhin9xO8n6yty6lPb8+9U5uTe2txPKd12NL4bP3WmzZ12ieTl6OKT9xPqHm+Pn4yr0X48tr +LqVW+DzaVsG/vZ/HPWpPN964nsH98NBPuHgrgr9wN0K4ciMG1kb5+Qwk17mVOVdyqlKuFNckXi+u +aTyfWp13JbeBfvoi0eH7TifHe50+Xkg/FVzOrqs5l1616VxqZeztCiRfjY3FV7MafdCzUW9+Slh5 +tnOl3fedK/UdfwRC33739mwoup6/Lf9GwbaAB7taPJ4erGLvXonirlwOTrlVvAXmCT4nr0WX7bwR +V7bpSmLZvpsxZefuRpRsuBtX5fl8bzX1t+dJ9i86vR1e/a+f4x+dYYY/fk5weX20MO56WU3etazq +uospFVvOpVbEXKuoCrzTVBF0p7nKp6Ot3PjiTKHb8+Pl4ot7ReLje/lix4Mc7sjf1lA7/7Wc++Zv +7m7tlyqC2ls3+He01Xs+3lu9+uW3FWteHK/i3j7KMrz4eyTz8nky//v1As8nuyvdXh0pd3jUudah +4ydP+vGNaM8n+2uS7pRtdb59KsPuu87lq1p/16zKPTpxVWTjMLu4xhGrmtotHa78g6dePo1b+3Rr +TfG9lJraG8mVHs92lTv8vTN45dNO5xUvOoXlrzvF5a86uWWvO5mVP3W6OfzWGeTwz84Q9vfraewf +19MMv/4av/J+p7Ciov0j+wOdS6iz/1wjnO+IcrlxPdvn/r6GuBsVzRVXMhu2XE6uibpXs0F8fi2P +u3Mvkb39KJq/fS1JfHm3MOhuS2PC9bKGqGs19TtPp1QeOZtQFnGnFunsb2qMr6+Uuj0/XeXx7GB1 +aEfjhtzbORsSb5Y2+D5srWb+61kG/eRJHPf8HtKdV0o9nh+q9nvYVhvaUVNTfSe5Jv12bj33c0cO +9eyXGOrJ79GOtzrdVp3rXLV8/0+2K4prxiwv3DZ+6fnOeY5P/1jH/+1aQebV3OqN55PLkd0r33ku +uTz9Ul6ZX3tLmceTHWXM6zep7J0XUcx3P7sjO+7J3nsS7/1ob13qjYKGfWcSy09eiC07eCapcs/Z +JPTdpPJjZxPKN/2YWuX+FNnYV+dKwb7mXM2tOfZjfPkP52NL2pDOungtsuin9rCCt+hzDum61Nu5 +1fp/vE1Yer/T0eGPzhDPp7sqN9+Nrz7XHl589G50+cG70RWF7elN/B+X8/k/ruWBPXT96Uy50+u/ +hy7/pnPuqtjCwUu8ArovdAk2+8JJUNnMX6ZSf/qlSms7X2WlnaeyUH+hmqmdq7LQ2qnmGOK6LYo5 +OnRR6/9MX3y7czH166OE+EslZZtOZlbu/D61ovR0TmXNqezKjadTy4t/yKvKQNjB/15rDffyRbbz +s6ulXg/31iBcVFd8Kbt+w9n0mk0Xkiu3IdxQdSWtBnCe071/rXV+e6pk09XEypNIvx2/F1Gy50FE +8Z5HEaXsP+9mrdz2s8YuonzIguW86uPx5qpJPUapJqpGqcarhqveQx9z9PuMPu+pZr83RTV/Pq9a +KsSYLTEmd//0c1o1deh41TjVWHTVWNXA7qNUQ8zeU43pYa4a32eqynz4LNWk8WrV9OlzVBr7ANX8 +rKsjv/q287OV1zs5/dP/DqHOdq7hzv4S4PLkx/K2s6nVp8/GlZ49H1f6w6XokmM/xpU1XkmuqrqU +XpN5La8h+VpRfePZ9OrdeE6Ty2t/zKguvZBZtfrlsXLDk7+F069eJsXcK6m+2R5edOd+WCFaQ3WG +f75KXna30+6rbX+b9VXcjmHLIluGrIzfN2p5/o/my7b9arH04L80yw53frqs+vbUuY7eqsnms1WT +xnyoMh81Gb3DSNVAVX/VAFVfVT/0GYz+N/r/sffeYVElbd5/EZWoBEFEFMWAASOKYiJnupvuPrED +GUWSIpIkZxQJSkZAkKAimB3DqGPOAcWcHR0d0+QnzDy75627mNmdDb99n72u9/efh6ttaOj21Kmq +O9Sp+/tB5shWawSaYGaLZjoFoaUhNVouqacMXVs/2Xg9FbwlPwrx0r8I6cEfTm9WvHtTzj/5VKh4 ++rZE+fbriuhX+7aU3q1sab1S0tB1sah+9+XCemwXG3ZeKm48fj2n/vyNrNod1wsasD2uP3U5t/78 +pdzaSzeyaztvFTQ2DJS0PHuWXCm8WVX948v09r+8X1MR+7qjVvQ3IcbjsjDPvei82RJlusZsZ3c0 +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 +FJ+vrd10pqr+9oXi7quXcptOnC9olPX/EiY+JfgFHcb5xaVfwrivXxQEvRbivG4KS13WXzWzNBr/ +P7Zr0LfpkegQrKQ+ibLAQ49CJrifLIZNR9bYH0+cHYWmeqWhiU7haOIUKRo/dgmywfbS2tQBP8Dn +zUWjRy3AMaUYjZvOoHGzFGiSayKaIapEM5hm5LjiK6051a8NF3wpjHL9ICxzfyW4iT4JUeJ3Qgz3 +7fvi5c/21cQ97GmK+OZwXdyTXc2d59Y3t5/f0Bz/tHdr6LfXG/Ie1HXeurVu8/uB9OrW60UNPu8F +enbA6v+xbbqkPUbENw9HlsR+GJCY34A8QwwC9tJcxwbHIKPxfLREpjrwsEXmxg7Iapw/sluG4+PV +p7WXVL8fsWS3MHbZV4I9xJPLjguTF2/7h5Vz/TuzBZvfmCzMu2W4MPX40CUbb5u4HhWmeDwQXIO+ +FxIl3wsJ/I9XS0Lff7kp8UlrPeRzkJNDrHkcctdLeY2nrmXX9d/MrH16I6vh40Bu+/0bOS3Uj0+z +3HNvmIGNAPv+z4xNvd99OYxPiIwth1ij0SYz0Php/sjBezWyp9PR5KgaND3rqLZD2RXdORtv6M0t +ujJ0ZuoJ7ZnZZ3TmldzSn1f+zHBe2SPDednXhs5PuzDEuWjAyO244OD2QFi8bK9g51L1zMK9T5js +/UDw9n8kyANeCoqApwIv+ySkptzbUgcxC7RrF46dc+/UbBEzEuQb6IZAT0O15ylPH/lRLi7aP2oZ +n6JhN3nJ/zAuNUmfgV0fYYnj4ZEuyGKsJ7K0l6DJbqvRDKoETadK0UxFNZobs1vLqeq+8eJewWbZ +Gdw/d4R5bneEhWD/FlU8NJkf3aM1U1GOHNUNGgvjdussyes3Xlr23Mx1y0+jPY4Lc3B84uP/FyFE ++uunZO7Hq4X+bwXep+KmTUDDU3vJ5qv29KHfJPzNt0mKUz+voPf/JpJ3/8OV6/vXIMWxX0K5kz+E +8kfeqdTH70UrLz5PhP1OoqtCkIuyQstc63/2e7AeAjPNdOg4HOvPQWNspWjctBBk5xSLJnmlIwdp +MZrusxbNWBKNpjnSaPJ0T2Rv74Wmz+fRfKpCY0HS8SEL113Vd+v6l/FedwV3v4dCUOA7IZT68Zec +qK/31ih+uFYq+/nnNPkPv2b4Pxc4n56/Tvfb9ma6/x7BMbBfkIhvCox0QAiVP/6YwD15kMW9upcf +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 +vyab2UNe13SsMalkwJmvP7eY6/50K9f20UbuxAfrMYsqRmXZgI8pRqfZKOWDC4gPhzMkBSfnyhEs +hkYX2KlpxyeDVaiApc3yUal6kPnQ88tgk6zmGoO9N/gX8KaUuHQ78UiZvZJSPVEu7Gc+qmsG9flY +zUT1BnserhH40j4eWo2fjtMgj0ZtgnoX1x15EvZbJWazUky6Ddk2GNPsmimF3bNwlkeOybJVEc+b +39qAfAU8LdSDOLOllgzMw9kNrCu8D+wXK6knnFA7w38jjyRuelKlA505Ags+tc6RxTFHivPgvTKf +IqU3O4HpTDxhnFfMaSdmt4rcB5xb9GgzKiYSq4l88JtriPOKngnLQ7HGpfrrJn8E9inzccS5AisW +fXa2xpQUdu0KmZ2x+gR5EWyQ1UDrhOZ31uA+IicU2t/ZKNey38E+J/HEwA8Ffxh9HvTJU8sm0F4p +y4nAZ1MGH3thjk5IZfk2ztKWsut29PRCsOiIV4Z9usxKR9RJYNdhbdN1gH+ou7KMzgNXnp2P867g +JoJBiPOCWF+UI7BrC39lyOuaRXGp+tIKYoKzzywd7ZlLdloxPI+vu7GMr76+RExtdkQ+R58N5146 +Pt+K9USMrbA4K3DCtae+3al/4ztv6dR3XtLICw++9twiISzFGvMhyP/YvVsATg+LA0toPYI9GFtm +T++b1vW1Vf98/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14 +/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/fj/+bFgwf6Y4H2BiYFjxYNjF7i4bfBn/68N +PJIYkjDWe+wC/1UuCYn7woMSw2NjAhPSnLfiW6KXJ+e2z3mr82LPwLSQBP/V/mtW+y9x3ua82MWN +/Y09g/3zEufl7GdXr1y73nmVNiQwynmx6bc6s3929kkIDwuPYd/UBQVGhZh+dBv7Grti05bVa1au +XbN6g/Pm1WvWrVy/dtMm52h8e+3mletWb9r4L9+OwrdN/4Nvm37gt2//9y/5f/n2f/+Sw2OFsTFj +/cZucV68xFkUxq52dgkZG2+6FgfCo0K2mv66J4S9498uDPvBNc6i69hV+0KSw4NC9npJHs6i91jF +ebUzfWDTf5x/f3ub2AuuXr1y42Zng/Ma9t+Na9m/iof/vz2B/cirJ/32x2bn9ez112xm/1nN/opn +rh67YAG9Q9zKrc7r12zcuGms6GZ70E3Q7N/rpXHzEjReumAzXyHMHF9e8iFzHy7QzNsvyMzLJ9Ts +oIesObBPq3H3UDRa/WEzXUiuNcYc9aHZ1vrQLGttcLKVrxpvvt/FR7Nr+0GN2wFJ481Hmnkb4829 +9ZHmB9xFzT4XP83BA74aSKD5Gg6ba0OOWPkFxllw0QW2+ogSW5+QdCsPrb/Gy+eQBrJPuqBES31I +0ShtQKqlh58/vba7n4H9Dp1m/y439qdW4yeFmWPsAUfUPT0D6Gf8pHAzPjTNGlImhvTqSZAsMua1 +z8IoPUZdSaY3Kt8OI8802nKkagLGSzEejKPHGMc0FLXNxqgJxiH5Q/GWCsajIXkSlWkLaVgasay9 +vBpjmRghk6OzbUmCgv2pRKTbKHGQKGmcDDkpkibBz2ME6XDqaDn0iLUxptjekMBeP6nSAZIkQly2 +HUkjhKRb6zBSzBvNOCXIHHJEkBYQguOtMFKIsWEpJMEaUtlaTtJwgVEWUkLdBIzT8OFJ1nxYAknI +QIJLisyywbgkJFR1+gAznXzITMQ4fiT7/LHptmpW7WS14vQSQ17fbIwi+6nhZkJQkg== + + + FaQV6LOXDS8wYMz2MPs9GAvF9Uw4OoEkjHK6ZiqFw3OknPZpQlKpvZhYy77fMFFKa3AUwvJG+xli +LCDbKsXljiHJjOwTU+kYOEnWlEyga4LRgbwT0zDKhOPzdFwdUg3sdXj/SAteCjCHPKKvIcwcMtqQ +YfbxCzXz1QaaefiqGkgu6TCaIEWRnKOXp6LxAs7goF6D8VGdEm2hZ5+HD2LXlP0/pDD37/PUYLwU +sq5CeIktF15mqz+UagXpbh/Il/oEavTGCAtIX7p76zQYnxaP1E7wC4q3cPeSNXtcfTReGG8NTLOW +Y2rGSYl1E8To4jF6MdYciAY/Y6KFG/s5t72Q5g0wg1QR3gckiXT+yZaCIc5SCE21ViPy7AzRuWOU +pNLx/jkNsLnZSmaDE46b69nnZe/BXEmtd1SzO6cb8nudIWVgSKl2hDwjyVmlVTjCfqSoFBs+PMVa +zWifxq7vdAWyFDknZqgtt7coDTfWG3JqpuJnJGY7UkyqDUYKSJqksIvG5E2SBO2zYfP+6Y1TjfFZ +Yw0JqXaG1EpHSBaQJMORAntIRgiBR6wgPwgZGN4/3EIIirEiWcjIXFsxIWcMximN2cdnYMxXTiy0 +V0KzbUgiKO/YdIxcqak1jnJUtq1w+Ig1ZLloFIfZPh8WYymGxFtB8kFJZbaRXDoBI/OGinPLlJrL +Kw0px5zk6Bw7MTbbFnaOMT7IEWEUhMb00pqdaMwhqmgMbFPN651NslfHPtwst93ZjjFGKcckFSHE +F47RGdi9YPZAo8eJzJ4xflvSPxdSCoRzi8mypVGT9GIHQ37XbCmpbLwUkTKaRkkw9sruG43jhUZZ +SVk906XoQjtfOcT8wG535iMPaLQCW2+GZEutHGehlyPZvUy05NiXVo4w9/KWNd4eoglhY4yxIMmY +kBS25oPMfDmjBnKreH+QaxWDc0Zh/EaILh0DCT78Hl8u2MxPCDMjGWX2GTCyLCU3TZTCCmx0hgQL +vAZkKTCCrETm20EWgu5PBEb1TKPVkJsE7kiMTButRBTb6dU4C53K/Kh/rKUSUWCnptZPMiRUOajR +WXZqZJoNRlGN6TVOUhBGHdKtMeYqZdXRqBgkMzAqz+6PLaEx2H0geZ7UKkc1scIBo4ckpZfcPInu +U1bLFLnmrVUYdcQoNkZRlTR2XSFBwXwvxkUMpWcWG+qurzUcPbNEJSmHwYWGLIzE540hH8j8p2ls +l/lk5jMxKgO7orFUdq/EyPTRGDuHzRhSiiZgdJXGjzFaUjg4F6M9NJ6aVDqB7I35ZUNy1UQ1sWyC +kpA3Fn4Ov4tksXDPM2todJTGvI8OLTAUn1qAtaaWDM6HxJVpvG9kHo2HFffNVnM7ZkBqx1gwPI9e +C7IG8blj5Lz2GRg1o3Hn0v65Ckb6MBaS0zxVzmiYRPK/kO+OyrElbAxJDXfMxKianN0wWUkqGIf1 +DVlX+FVIf+G98kZ2L2GPGNdhPgP2CXkKMSzaCqNukIWAXbkf8NG4e2o1kHDSi8wWD/IaL0+jRi+z +5zOfxAclWOkNoebwPyQ7EJY6CvYD36wPjLDgQ6ItMfrs4aPX+InB5kJIhrUQnmsDWVu8NuTlYWN8 +QKoVRn2xtjAiRWNNsYXsPVeNE/H5YovHKMnVEyE3BFkdSF4oiTUOkPVz2+eq4dQocwVjM2H5tlxA +vCXkOUgGlcVekoFgvhA+Qo1Mt4VEgpJQNA6+EVKjYkSWDUYS1bKeeRhbhn+AbcmRzD7Z/aSxp9zW +6ZDlwTitFJY5muTDUuppxM9YMryQRqXZfVMzj0815QXds9XSgfksP5gJSSG1fGCBWnVpOXyTWn52 +MXyRIaXcAVJYYmicFY1tsXWA3EIOPzIKo6lqRuUk5UjlBDmtYRJkQEiGDFIGiIdZLRg7W4jRRUMh +syWMxWKskK0fkn4jmTX2XmAP6U1OkHTCZ8JawliqUnV5OY3cNt1eh3EsjI9hzAn5DEnl5HbOxO+G +fDhGTsV4jP7ljVFymd1hXA22WD44H9LMhtKTCwxZ3TMxbs9eazLWEkac5LgSe8jH08g7pHePlNhT +TE9rmYy1IsSwax+bYYtRPfKpzNdCtoELjGP37zDJAsPX0fvG/WDPwZg4rgfkz3Wi0QyIBTGcxYWI +HFvIywr+iZbSoXRryCpBEo9nfpFTw82Rv2B0EbIYkGGC5CzkD/BFuY6R2W9c6RiSAchumSKmVEzA +6DPHcgEuJNVKiCkbA+kp6eilRUrp5cUk+xaUaCUxX0qjoWxN+iOvgwQj7DfphBPG17WQQRNDzEla +gPlJMSDeijeEmGS52WdBXMYYN43uR6VSHqhG59rRmCh97iYnygHhI1NZLM9hOWFe6wyyZ0jDsH/H +vYcfpJ9NaXFCLgRJEfJR6Sem0gggi9/I7XAPSUIlm+VxaQ1OJMmUVDxeTa6YSPJHzDbgoyj+JjCb +wVggfCzWUPaxqTSCDfmptDIHQ2HPHLWw2xnjuzTGyNYr1iVkJjG2h3UD+RWF5Bw6ZuF9kkwA5KmZ +HULujkYX81tpTBG28fuIasWFxZBNhgSVWHl5MWSxIf2BMUT8CZ9JI5UYRczvm4kxUxqfZLYG6QhI +h0NyxSRpxnw5uxbMvibC90MCVkwoGktIjNJT8yDBgnFI5Bbwe3JcwViMF5INJDCbTa52IMlEfC+x +cCwXkT1aCGK+D5K1GKkvYGuM+WMatYdkWGzRWEjg8cz/CZFHRuHa4Au+hF3TCcYYFi9YfFUggxeZ +amMaAWXvoebmKlpbrAaAb6T1xv4NvgC5jVz11kqh9fMtYv3bq0hauPraUhpfjC23lzLap0hH31wq +tj/eITV8ul6KrrH30cJPR1oo6Y1OSu2lFXLD1VUYDadrVzw4B+P3kJEjqUPgJ6NZfpnE7msSi19s +PaqZJ6YZC4fmw1fB74gBhy0ggUT5UhlkHt5dpzAfB9tUIeuaenQiZA9p9JLdR+RBNILK7jdsBBIT +NE6NsVlcE7Y+SDaF5UJyTJ4dxk9JCgE+CvcroWI8rqUCn0dy42X2WEdS6m8xFnk/xkNhM5BGhPwS +s9NXY/l4LzS6zHJIicV/gd0vivmI/akVDqizIE1A8pF1V5ZDFptGVpmNqmn15CvpK6XKQcqsmgik +BfwoJE9I6r/y4iKgDMSC7hkkz5FQbE+fL750HMXn4lNzIS8DfwDZV4wyc6HxVGMphd2zpdpryzF+ +LCaw+xeWMxr3AO8PsjYYTQVuBNKgavHJeVJchT18KmTw8Bo0cp6Ha9s0WYLfZDUA7BZS20J4no0O +aInQFCv4SsQKma1/ss/SgXl+YqiZlsVyH5X9yWoV/N1PijbXsvpLr5qwHySJ8GoMtfzaUkjz0nhr ++aXFwBZAEo5GmVNYfkx/r5sol51dINa8uQyS1WJ26xRgvYChEdOaHMXczmn44rO7pwKFBFlzoAV0 +rA4DBgyS7WJ82VggO7TGWHPkpPTFs5rMyPx3aMYo5ACQ2lES6yeSHbBYgfiosnqD/CUk/GJy7eSM +WkeScuh+7kL1d3i6DcVEdn+5zodbIaXP199YDpl32Cf5gOJeZ/gQ5NWQekNuxWqCWfA1LG6Ng30i +T6T7DxwFi1nI+ZE3QL5FZfcBEnIUZ1l8kVl8gR+mnIPZMiFKshudaJSb5S0Uh1gOQVKYUaxuiMyw +pVyExU7pt++TrAqkktj6hU3CD9HI8G/PwXrBmoJ/lkt655BcFfs3em+lg3OBoYCsOV9zYRHiNyTI +sN7xOlg7kCiATI7IbI3iHOSyg5OssM5ISoG9JmT59cGsZvaPskDNKLJ4xwOrgtF68qHtU1HLcv7x +VOvRCDpbn7h+Slq5A2EKWIyVwlnNwWKSEMnWQUiaNc/iMbBasE/pSPV4oCNwnTG67qtntQofYIZe +EvJCvDfBH3V7lLlWCmN1SIQ55O2A+aE+AfIz3GfmsxCTWS5so1RcXor1hdgMCVgpoXIcyZMy34/8 +UAiMtORC4yz1wfGWFA+OVIzjwtOsIXkLGUMtq8tNsn5JluhNCDFFdnxAkqUv6nUlxsJHCDZHPYZ6 +CtdN7x9nAQlHkoxldboUnjUaknqEBIIMTD6rcYvYPUKeVnp6AZAIXNeT7bS+4Mdy6qZwPQ+2iyO/ +uOtP/4/9uq5vt0AKk+T6YYPpzZP0IQmWfpJqBoSb0PL+eqn+g7VSUo0DF5xghR4OZCmwBuT4nDHw +m1QP5zSih8Jq6RMzICNoTGE5QVzWGDU21Rb5p5pRPhH1DJApkDfHmqJagdXaLEeyhpwBZKcNKSy3 +hBRQWr0TZKSAJSG5ytSmSeRrWcwCooRyA9g989kmOb6R+VL9tVUySTEXjyNpAPijxtvrxcEfDkqn +X/rxQy9IFpSkXeJKxyG/JhnZI4VjgWiga89sD3aNvAu+E/EaaArUFkIU+3n4SvSF4svt+cMZoygP +QU6Q1OgAvAPlBdldM0lqmuU4kEohH42fY3k10AYkx5pYMk6IybfFWoNtko9la0FFvY8/WVxwO+Ch +wX3XB6RZoX4GVta0fpKtgAGApLReCjWXIvNs4bcl5lPQ/4DkH+WMzH/IkHGAjETacSe2lkZBmk84 +nD2aY3W1H6tpfHX+Gj85yIxkJdn34fvEw8x2QzKtIR2Jeh1S75ySYAFpPkj48aHp1liH+oAjlrTG +mI9F3xK+k9V7lhT/KM4XjwUyD30A5MioO1isnoUcjXwVpCiab28gmSNIfKBmZDUuJBiEMy+9xIu/ +6rjz/+HJN325HlgNrGPUcT46I2FMgWOB7JtQ9+ZyMbFsHGIRH8xeGxIpyFthj/m9zkBPqSzeovdk +zOuYjVwU/htSwaxeH6XGs3wAcivI+yExzfwhYjn5UEi7QAKX6vVSB0jVEkqg4sxiqn9zO2aqhZ2z +kceiZ6hm1DoZ0htNsorZDVMpXy7vn8d3391B6KOUygnoZ5L8Q2nbHKVieJHQ8vEGfuDlXn7wuz2E +d2z7dLNUf3stJA3lyNIxiLVA3HDhWaOAJUK+Kpz4dJPU8OF6Kat1CvJDITxzNGTHhdYvtvC9T3eS +pCoQWznd08XsLlOOcPT6UvH4nS1S5+PdcvejvXLnXRfIlZgkC1lcyW+fgbqUpHsgWYm4BARK0YAz +5cfsS6m8ukyqvblSPPbJRndvvQa9DNiFl4feVK8zu8KaIgwHq/tJQj4iZTTyDQU1J6ufIH1Ga5PZ +Pfo86CdIceX2MqtbIEuOvh3yXu4Q859BGdao6SDpBAkiKamJcms5rno8/DLyHfSEIdsOm4SMuxxf +Mx7oc50YZC6F59jICUfHK8E5o2GbkHdEHmo4UkK9Okg1o7dL/c6sxilqxQWTnAfqwGiWwyUXjUeu +R9IliYXjSMa3uGsW1/HJJu7sX9z5C3/21g//slvIapgE+/NVI83Rl4UkN/I4XCuScMc6Z36C8nPI +ROW3zKCePnpIR88soX4S9X+OTYMkKPoykFqW0etLQi+F5RusXocMEXrjhiQWU5E/Zg== + + + HJ9ikhti+Svzk1RDlUP27/wi4HaQ75PEHer12Fw7BRKPRUPzSJ6MJIn65kKuEfLpkDAWM+odpTRW +v6QcnYD+qphSMh4y4IS3qby8BDhjqp8gN113fSWQe3JG7zTkgrhfiBNS1bVlQs93u8Vj9zeLhYOz +EBflzI6pYvObq7ner3cB3yWVDswRk2sd+AgW85JYnlPS74x1oLTfcxE6H23nux/tkFo+2kRyKzGw +j5KxSm79FLnh4krgLiArRPJpkG6DjD5quJq3V+J6649/sV7f+2wbSYpF5tgKh2KtUK+LqNcRJ1ne +hB7+K3l7yqXSGifROmD3BrkWfAhyYOTCYnzlOCWjzVSvJ1eMpx4j87mIF5CSlssuLhLq314pV1xd +KqccdxJDU0fh3wkrwd6bMaPNJKHLro2afMIJUrb6Q0DUxFhAHkhm/hY9Mj2r4bFelLAMG+wJGcoH +fqvXs+zQr6FeIfNlUunIPOoRonYLSxoFKW7Ypow+3m9ICL7l5mrh7LeeypUnRn7kJ1dI3r5CQkih +uaOFQJaDBB2xRE0nH6lzQNwyZJ2ALM1k1OfYm1KZHZKEFWSV4T8Le+dAgpWkONErwPUq6CR5zd+k +9+yVdFbXsfwD/pZkrEz1+ljUWHhvJOGY3z5TLj+5gNXOS6huzmH3zyRBNZF6DKj54Guqzi1FTS9X +X10On8i3fbJJrH9vlViN3B82XTSeZ/WDeDh9FMk2FvfPQX4ihSWP8i/snsuf+MNGYGXEisuLhLga +e8Q09K6VGFZ7F5yeI+eddkacplqSxXTImAF3JtSxupLFbEin6dV4CyCigJFS2+/vUboe7wUqBDkG +/AhwAZA2p3XN4prYxGJX6/sbxWMfkNQf5bcZbZNxz4ABAYpSP/SXPdrBb7e/qteR8xjZNUW9TmiJ +SLbmozNsSUaT+Vu54fpqpajbWS3omc3q4HmQVkQOCjl26tcAS9R8e51Y89ZyYBGBdaa6jdVKkCoE +CkjoeryT1esbpNi6cdTfV2J/r9el+jdWAnGE/hvydKxV5ECmeh3rJdcO8vS0v8buI+zEP39grpp3 +YgbV64GsXgcWgt1b6juXjsynehnfS8y2lytPLSZ5I/SZCAlxcoHce2+/cvIrX/nCM04c/sFN3/Xx +FkJChLNrHsxy8VCW5yhxFryaYGGSPmW1P/NhWJt4D5D4R72OnAr1I2IASSRBrgr9DPSTmD3INW+u +UCrPLlELjs9QqF6vpXodkq94j1Svo4eIegJ1Hnwo88PAIArHb68Hvgy9dfQpqVZjeSnV6pDUQ6+h +oH2GCOQR84V8192tQMvxPc93sZzEhIRgORnWKfVso/LsOGMIISGUf0FCAIku5Q3N8uNYrezDaYTA ++N+QEKVjlSTmhzPrJwMJocRl2GHtEG4kr38WcmI+AH7NhIRQOh65yN3P9uLzQSIcMVQMZa+fVOUA +2TFIYMGvAi/Ct7Mau+YK9VxJQu7o6YVc14Pt3Mgv+4DpBRZaRU6Ea1Z8dqGxsMvZEFdkD9tEbkMS +hcc/3iR2390ltn+6jWQo8TkhY9n85jqJcJDdziTl2fPVPnXkaz9cG+H4e+vJPivOLcIejXT0wiKS +Wqu5tULKP+nMx5aM8cP+KBduDv+qFvQ74z4iJqGvIURkjYakLBeYboW9BROmo8GJ9rtr3lxD7w39 +h0SWhzPfpTLfDr9I0mvM/gh5iL4R5O6YTQHjBSlaQkKUdzv/joSoBBKixiTPj/gP/5LZQfUfkBAS +q0WRm/t5GykHQpzBekRsEFntCXlU2Br5yeSaibRPh9o+IoPWE/XQ89pmSKVn50tVV5aa/Bd7fUjp +IWfMrHGCtBn2D6iGZrURcgL6k+QHLy3DmiVfCt+J+I8cgdXlRpbbkDQ/+zfU5/TztJfYMROSqVLt +rVXUj4jOtUM+T1iF+PLxxii2Bg7HWFHdRkiI5pniya89KX6kAglh0Pj6qhqyKeznREL6O9MGeQpw +S78hIaYCCYHPZnyFhAjNGm2StXxnvaH47CKF5S5SOnqkrCZCz7NoZC7hWKpPLwWKTOj8YpvYeG0V +kCX4WcgfS5XXl3KtDzYBG2WSu+6eiX4V7TEg72b5OvbM4KMMJWx9M5+J3ixJ0QGDHJhGe25AgMiD +T9z4vu9cRFbbknwsy4cg2wmfAiQGzkqgT4SaX4w9Opb6D/g7q4f1IalWPrpQM/f9Anqe5kBi8+GZ +o4CFwDkAHVu7AlvzQDein4QzC8ijgHAEngA1EXoM7PvWkPZFDUR7HOhfspxKbL+3Xam6sZLwA+ya +CR1fbOMGn7twHV9u0fU/24E8Db1LX5Zve7u6ERJCz2p1Hf87EsIZvgF7V94+Bo2fp0L2idcitBP6 +kqHJ1JvB3jlsk+pqyGEeTh6FHpaC+p75G/RRIJWHOgTys4ajJxdBNpX2yqNNvS5D2eBCkqtOrZ9k +khlOHk35AFtjQASh/6nEMvtldmmILbWn/hlia+0bhEKhvn2C6WyFBD8FnAmL9eg7E/Y8tdqBC46z +xNkQQkYcKfxvJETvg71K/0M3IbN18iskhN6YaEE2gz5kZs0k5PdAQuAeqHn/ioQoMiEhWIwjpAOz +G2Maq4HCMkaLIQnW1F/I75mN2pGwA2wdof9O+W/xuflkd7EV9vAjQKVyvX/cLfR+7yI0vreG+v1J +peP4oR/2YZ1KSfljsf+E9auSH2qaTHgaFlvFyOTROMODmhooNqCuIA/O9z/cTRLokDRFLcQfNvfx +9dF4e/pqWN1vhjoH+wOoh1H78fFV9vCLwIcedBU0+7Z6aPbsOKgBQhW9Vl04UF6tTsD2om+GPSz8 +HuTAJC2L+pXFTPQLga0jBAd6gajLge0EkoHFTOTkiBuoeSFXietCsp6DL/bqz//ixtbUBiCxgYTw +cYMcuL8ZvnSCpAGCEfU/JKgJCeEuaDw9eI10OGu0EegN5q+pP3k4dTTuN+1rBMVY0Z+hcVa4VkoU +iz/A2MZm2fFhyeSHKLdoemuD0vbedvKLyDnR6wSiq+nmWvH47Y3IMyGTiHsK3yAcf2utSW60bgrt +oxZ1OGMfleQZm66tkYa/docMP/w29lCMacyXl/fOV/rvHTQMP9GpQ9/6CIPfH+A67m8mJARbJ1LF +2YVc+weEhBDavthCSAhWP+O8hYe3v8ZbiTUHFgmYQPShCItd0jEHqBVCQhSYkBDqvyIh4l4hIZKs +hYBwC16JMKd8F3vCLM4LbXe2SSc+2SKxvJN6BpVnF8OPUM2ZcWyyWnJhkdj77T5p6Ed3vu9PLuhL +K4Vn5snZndOFke8PALdGNS+kr1Ev4XwY+yJUZkLxeDoXkd44CXU5+keo1VH/AuGJ/A89NDU0dbQh +tnwckFXY+4S8rND8+QYpZ2gGF11qBxl3PrF+POxTq4abu+730bjsddW4ufppfKQI2g9F3in0PNwF +uVnIl6OHpeOBH4q3pnqi9vpanPmCjQqHk6wlVkvjs6u9d1zFpg83qCy2Ue89vcaR9v9wliMPsq39 +zlzPgx3SwLduhISov7ocNsP9joRI+w0JkTjaQEiI8yshqa8mlk9Ab03H1hOPsycs1zRkt0434CwU +8saw1FHotWk5g0Y8FGWpptRPIil6nLkoHpwPXwV7JT8E+dMT726Rmz7YZMzvdcb9RP8d6Aj4FLW0 +ey4kjfWtN1aLZ5/7yEPPPHB/gZYiX9t+Z5fh5F2t3HNvn3T83Y3wDeLJx+6QYEbvks6DQM608vQS +1AGov7Fn9woJIRIS4qud8uAf3ZWRlz78yV9duaGnu6WykfnY4+EP54zSH06z5iKKbF4hIYSOp9tV +VpfBTxmAb6g9v9JQ2DCD4juLZXL9ueVy49vr1coLyygPRj7AYged7WH+HvdK6Pxku9x1b6/Ue2ev +0Pvlbtxf9J6Fpg/XYu9GAd665PxCrvPrbXzjR6vFsqsLhdq3l5OPqnpjCZCTYuWZhcjpKDfHPgTy +feASiobnS613tkud93ej5hEyjjuhbsB+PeoeWh/I5XFuj9mEfPzWZqXn0UHx5DcehssPAw3nnstC +zc1lQnrnZCGpwYFLqLLHHoQuKM7STwww82N2ihpEZHkAWy9z4ddktr7Ri8J+kY87r8HPEVaF5YWG +iisrjSVDCyifOVI5Aec1gJFQur7cK9d/sI7OM2DPDpjR3/Z6gdYELhX3h2v9cIPY/NYaICHU9BPU +g0APAGeOjMWtcwxl/QsM1VdX4UyHKafpmUm9d/SBkssnUI89+/g01OPUw4BEbmLJONrjSSt3QB8c +vRVD+4P9SutnO0w1O4vfGTjfcXGpoXRgAXr2hJekfegqB/QAgHCUak8vEc888pJvPQg23rgTCYSj +h6unBghgOsvW98U+w+Ajb3nooTvX/cFmQjgCmd3yyUZI40OqmvYjgJdiOQL6/yaMBavZMhqcsC/K +tbLalOXh6tknPDf0jQuQEMCQi8X9s037EwMz+SN144FKFyveWUpIiPSaiVRHVQ8vRs9LLeqYTUiI +YhMSQjn+5kZgH0gyn+X+hiRWDxT0OhN+jdWpJCnM/l3que8i9T3aT/VJ7zMX7JkA2wOsHd/0v2Ht +ZvyOtev/YT/O/XhrBZN0OJ0z6Jqt4FwDXh/S6G13dyt9T12Fho/W4DrAdmhPCGgd7KWiRkcvDfGQ +1UjK+Ud84I33Yg1vPgjWnv7JBWtBqHt3pZjWPRnS96g1US/RPvCRmvHki/O6ZkJKXeh7sRf27s7y +Qfd9noQX1SosvrM4r8Zk2xkRR4AQjUwaBf9uSKimc8VKUdMMkkPG3hHOluHMD4uLMqSUK68tM+QP +zsGeEPJfwrBhjxL7K+xe4qwYfA7yA+Dz1PiicdTrP5xjoyQ1szr6zHyl/sY6+D9CLQBJng1kGKtf +q6+SVDNsV0qvpL46+ibGzq8PAk8v53ROR02CXhTO+/in1k8OiM8fp2ZWOZEE/m8IR9xbbuTZPuP1 +L0ICPvxDunj5hR77VF7ueg1iE9Vr6O0A4VjzxlJgaYX+b/YDsyn0PNklNX+4UTl6aYlSMjKPkLrY +889omowenRhbPJb2YP8FCcGz+pX2hYq7ZgNfjnpC3/7FJmDl+OgiWy6qzI7ZyAyx5OIC4KAJLV/U +yWqVE7PkV0gIxAmcx6u/sEI4cWsDYrah5OQC5H6v+qtU01YMLxQ7P9+ldt0/oHTf3ycMfPU71k54 +hbU7/czv/8TaPXYB1g7nMGmNoX/EbJHk4WvOLCH0E4v/OHcIBBFhkkrOzsMZAeADpayWyWT/NW+v +lLN7psMu4A9Qm4mDz12lqjOLCOFYfHYucNF82jFHPrtpEnotOAsjZBybpAtJssKemcxiOfIoZeCp +h8xyRfSeODnMHOdhkfcRspHFOeDMgDZGP1OKZLkH+vGwySTTWTXqgQP9WXd9BfUpmL8AElXOaTKd ++UCdgpyd1Rl0RhdnGauvrgBygM4HYb8B+yiHUqywT4X9PewNoUeBswpqUY8znSsHvg== + + + AXtwQIVVsDwqtXaiEJ04is7IsHiIuoZkyuFDUDPiK7t9OtBv6NUaClpmqpVnluJ8rwiEI3Jm2OrA +A3fgT/WD3+6iMwoxRWNwxhBnVKjv2HFvK3omkKAn346aGOur7OwiOvMHv496tgboClZ74OxKXusM +WqvASjZcWwlMslLYZ/pMBQNzxMbLK7n+Bzu5ji82CUfPLRDSj03CmQgTjoj9P+Ga3l1P6KDshsmQ +zqffDZwO+jOVl5bwrbc3cMffXUN9EyCkYo/ao49MmMmqK8uBAzdUnF1KZ/pwDhxnF7F2yi8s4Ad+ +3CcP/+Ill1xZROdrgM9CXlZ+cgGrGdYA40Jy+fDBrK5ga3ED8hdaG9hHRU2JujvzxGR80Zn+Rpbf +INcFAie3czr2PbHnJ4ZlUNzHPRaiUkfT2dacnhnYo0XtwycCfXzcSYgvGwt0N+okIEa5CJZL5484 +y3WfrUfeIWf3z6DYHFs4lvbjDVEWlIfFZNqpLB6SHDydlyiifi+9DupW9FLLzy+ieqPm6jJClxTg +HDi7/0dx1orFWdQ3QOkw+1Brr61Rqq6uwL3FnjX26gkdgT4m9i/RL8QZX/T5i4bnUl8Ie6bM99Je +PnpYeB7LM6TUsgnkR4FIwl4zbLT++mrCBaCfjn2u4r55hCeDv264sV5pvLIGdZypn9g+Gxh48eR3 +7lz/s11AOMrJtQ5ibI4d3jPLY3YA+yojpiU3ONJnxedhtQFsF/4FvW2e+VOu9/4u9FXoM+Wx9wb8 +ex2zn6Zb6wmDXXtlOfveEtRsOB8GPI0w+GIfN/JiL3qhYvHQbKlowBnnrNDr4Tq/3CLX3F5DfWm2 +NnBeD/U25bnV5xZjr5jw7J2fboFvgG1j3gPnRdjvWC6Xn6PzsthfwD4veho4jyMc+2i9cPJHN33X +oy1yYs0EPiiczkqip4i9a6x3ufziYiWrazqhWTKap6BXxNbAAtoHym6kuRHa+09tdCSUM/NvasWp +JRT7qf7omEH/HllkJ0WU0BedUQ/Pt8VZFPTR9P4RpjP1QbGW6C3p/GMt0DPmYnJsubB0a2DEgSmR +8ntnig0frBVOfLkJawH4MVbXm+uYj0VejLO5hKDDfllWnRPQTjiXItW/u8Z0DY5NRUyl94wzSNU3 +VwotdzcBHUv1PPOtsGucE/Uv6plHdSnyf2A/WE2sHL22DHuKpn7A0HwgsdTKayuk5o82Us6KPCy9 +aTJ90Tm5K8soD0JfmMVL8gv53bNgL1LDu+uA4qL+JbN7dl0XAw8KrA6QJECMCc031tIeCq539cAC +6gliTwj7jugZl/TOpvyJxTO+98udQuutDbRvFVtqD9QZ9vmVusur0E8TG99dB6QqIenbPtpI+L7m +q6vhl/l25qcp1rEYeHSExeyzSyinBWYCuKDKi0so9g9/f1A/+HSXWDY8Bz+L/qG++/l27EkJ9R+t +Qf3CdTzYIg+/8BaGfzzIdz3ZTnZfdx3It418191tLGZthB/GPiqrj9ej562UnJoP/4OYo1a8sUxq +vL6KeqDATJ954st33t0qHB2eS6gH9KoiYqwo3gHh0v/DHr7vx91i4xcbcB3hH3GGVWz8eJ2QesxR +zOyaIpWemSf0fbNHGXzmBTw69Rsx14UaBHueyIfRLygccsY+oHi4yJZmVfLPzlVzB2bjDBmhf4Do +wJlk+ODaqyyPeHs15RyFZ52lonNzxeqrS7jj7HWRs6a3OXFJjRP47O4pQsHp2VzLnXXcmb8eFM79 +4q0784/9+qv/6c2/92/+/Ad/OSRc+1USTv3Vgxv56z5++E/7pQt/1Kk3n4UZ3nscr77/NEZ883tV +HPzRVWr9dJt/WfcCY3SmHfoSdHaVXTMgH9k6XSTXvr1a6n2613jqMR948q5yqP8uF9h3R6u0fbKL +8MRJdY7GnE66xqgr+a6H29GfUepurcO5DL774Xagf6jmZLm9NPKdp3jyJw+x/5f9Ys83e7Bvgi/g +isjP9T/fJQAJ2vdsJ9d6h/rSUt1bq+A/+eFv98O3iN3PdwPzCEwO7Eyt+F+svQV4FMu6711JCO4B +gruuhTtB4i4zmZm2sXjQQLCEQNyBuE5k4gIxLAkkuEaIu7sbvoS11+5b1az1nX3PPd+5+zzPnXma +8dDV9dYr1V2///2fmLlU5nrRvC3Ij6FHyvfuBiL8+Q4iunI/dqtPDU/rUCMyOnQEWR0sfkabAZJ5 +xJJbj6J9RPM3aN+xhHolZCfIrvHUXhV07QiRPaxH3u/kIKloMr8P46aNHOPFdythWd+0yBdDJoKy +votUab+N8EXncfJRN8m/Dzf4XVFekwmV28ET5HbA33VjgoJ2U+rRAImHVe3Cw8p3YrFtBzlZn5SJ +wgFK9KLptKiw0QLlMqKcJozIGNblZXaroloJSSGhaw3I6LJDwoQ6Df6jbj6VO8QjpfVKP2RGMzeS +yV1qPMn7nfj5m7NQ3U0kdyqbPKy3NMlrtCJufdEiQkt3Ihlcgf/L7YwEW0KLMnNO6+bTrSgeM/Od +Vlcno3qQCi/bj2Iok4dEVx0U+D3bhq5/Eae1sAVpQ7poDoq8/nAjrJ8WE+6ZKwjP7FWYT+FadlzL +LvZDWpP34jsPf/NVhJX+ZkYUf7XmVf7DnFtLWxDdn534Q303yK6PLkTd8HmqZPQMOnbi2mpPYV2T +C//ViDXxbFxAvBgTCl+1nhE/b7YxyW+0EN9q4ojiGzRFSS06ZEqHBvQ9h1G/4qHPt5JJ3SrC253G +prdbcEFSj5Yg4Pl2VCuaeiasFTmHLDG96DvfxCtjAz8CnTt+zcg1IRlPdJ4OxUfybi+LvDdmTBX0 +UFRBF5960WsueN5ynP+6x1pwpxfHM8e18MTWw7xbAyrU3V4Old9DkrAPsfxxFpb3xYi898EYzxs3 +pvJ6CSJ/kEs96RIIHnYKRYVNlqavKy4KHtebkum9WryU5iNY+qAq3FSQzZGh73Yiu0Q2Rtwe0OLf +6tZD52v5Wb3INo3E2U24+F4dn7zVpIWndqgg30elQf+X1KGMzllgaX3KWMawGjdnQoPIHtUl7g0a +YrnjBvj9D4Z47gcW+XRMTL0YgX5giMJffRBRb4dPCAoHzAUPYBvzenB+YatY+LjTnHrcJSTyBzho +jpn76Ishr+CLEfbsE0EVfTjOK/3TFHv1hc+v7r4srK53Mn1bbmf6vPysKK9eTGZ3GpKZw7po36iI +or0oFjBxBeZH+OsPIn7BkIhKHdOioC8wv1NhSiX1qHPMbeSMLS5PQhKU6FyoSXGpg/hlra0gf8iE +XzAiFt7vFYiyunFRdivBT+vUE2QOGVEZQ3qU/9OfkaQVdTN/EyGp2M/IiEYU7UP5i+AGHOdhFfsE +6b16grQ+XSJ1SJ2b9VmVFz92iJP+9Sgn67syu5TGOB30ad7wH1eEY81B/LGBm1jT53N452cHcvSD +FzH61UM0URFiOfxQcqrnXqxwvCVYMNQXIO5vDTEdqJGc6HmdIGqp94HHUUi8+2LOLxo6JaxovSZ+ +03ZBkNclEuc2mZoV1tiYvylyMHtScV74sFGMZX7W5CV2K/HvDHDFhU0nqPsjGC5tPITm/9CcMT+z +ywj6Ibb4diPP7EG9lcm9RjGqN4m0Xk0K2cKtfm0it4sjLOgwFbxuPiV63WbDy/vdAHvymUc8HxPz +S3vO84sGT5EvRsTEk1GK/7LXgiruOUUWfbQiSseOk1VD58nKEVvy/aeTeMnvVvi7rya8N5/5eMlH +M7Jm0FbUU31T1FvpJ6ivcSJf9pkRecM8ImtCF0vuOYrd+qiBxgP5sJ+gHvcKhYUdZtTDNorM6tbH +MvrV+ZndLPGTuuPIvsXPa07zc7tI4sGgMXGn35Cf20MIH7Wb8V/0mOH3vuhheR8Mqfs9GF7Qy8We +DOL461ExUfTFiiofsqVq+i+SlYPnyLq+S2R9/wX81biQLBwkUWzCX40I8Id9POzJKI//sJNPFHdY +kq1dl/kDHb4mY5URwom2YF4nbctpoq3xtk92ZGv/NfLdiBWe81GXCIcx1DFmMarL0DlNxpfDvBTF +BzRfxQlv3Ma586c6v6BfJCqttbd++tpeFN+sRYY82cq9/00be/BVn/fmE4k9Gye4Wb+q8mJH9nMT +vyoJkid0xZldmFl+wylxadlVk+oyD/PKUi/ToipH4aumM6IHHQJBVq8xk6vcHtFGdRoB4xyVPqYL +c8L9QqfbK3hxTQd4hb+wsYqvFsTIJzfhx8og4URVEP9jnz/1y6Af/2ObP/Vl9AY5PuotHK8OOdWd +JTnXmRbtWxsUF1FzPfZE//1ofPw3d+FoR8jxvkdS06FKiXC4K0jU2xFANPfbw+NpS76bsKbeTFjx +Mr+pYWnjKqLX7bamJTWu4qddp/hvh48TjyZw8vmgUFjZ7mDaVREsrO504r/rtBFUdF8UldVfFVU1 +uJg2FF8XVHZeFr1pthW8b7YVFrVfoN70WxPvBsyFr1uhPdbZiIqrzgtL6s9Dn2difGtQiRvwaANH +2rSbk/tPTc5z2hgvGz0u6Gn1FQ/WhIpHG0IFg+03+aOdN4VD7YFEd58jt+ofZtyqP0yxql+seXWf +TxJ9H5z4E21+oo8NYdaDj2OFHzuCibq+C8SbITF5d4SFhb/fSYS+3YFHNe/H73zQR+8JXrZZm7yp +tRO/rrEVF9RZifLaTMSPGixM8hrMyCc9QupZnxh7MUhRb7qsBcVt54SvW84Kn3WfFDzttcDyvhli +j8c5JIy/1Jtua2FdnZOgudFd3FF/02ywLPJUX16iTfedxBMDj+KsRt/ECsYb/YRddb6C6iYH4u2o +KVXZfZ7qbHQ3HXofaTnyOuZ0z/0E2860uMutiXF2zXHRF9qTpae7s6JNxotCyYlhb17TL2c4j383 +RPM/wothCgK3jFV4Sp8ykT2uR90e00O+DcUunvvLVeyUD/vJkokTpr3vQy16iiRmzSUBVv0vYiz7 +38bwGzoceWXfzIwe0apcn5drOZaOkw31TABBWMsKXO+tERa0WFj0v4226XmQdLk9Pf1k1+NEk9YK +PxTXqAeduCC73VhQAI/Tu0o705Yif/HbuovUnQ626EGXAPkZqrfd80xPViy0udiESp9o/6qAGGSD +VkP5USYTxeGij6WhFsOPJU4tEsYms6rco/Kr3KLSK72ibTtTYkTQbq0GC6JO9tyPFY3VhwjHOgMt +B95Ek23jVzmFtAGe9U2blzh4mPR+tpG4/VnH9HnTJdGz/pNYxh8aWEjldk5kw3bey6+kuLvB37r/ +ZdyJ3mfxJiMNEfyuNk/hQOtN86HyKNFAQyBZ0W/DK/lown36O5v3Yggny7vPkHXdl3lNX0+Qgy3u +qE8sB55FCxqrnYwLftVm3Wrcw84cP2T08LuyURGtz+n4/ZRNV4Y0tdYzNqHOKy6w6WaCV1NI4qXO +lETrwUexos914cJP3cH8jz2Bgq/dgZZDj6MutqfEn+rOiTYbfRrBbfx+gp37uzp59w== + + + M0tY0A3j/Lg23+/xz1Ro2R6Uu5JZQ/pMzH3YJeLfhfnfnS7MJKOFJ0ru0aMS6o7hMeX78ewP2sI3 +3TYmddWeouo6V/6zYTNe5q9qvMiKHVhI6TaOpHIH9nwCEzVXe53oe5FwfPBlvLi/OkjQ1+RrMlEd +adeemOjTHJTk3RyUmNzgIfVtDkoVdVXcIFp6LpmNlUs82sJSbrTejIlo84zJaHCTZDW5RNyrc42E +7Y26UesfHVjpHxVYdzP6SmtsjPnw40hqeNibqBo7R74cNxO9aDsjetNmKypttBe+aDtJ5XcS1N1O +Y8GHdn/uBH2V+jJww6YzJ/5C5+1k287sJJvO+8mi/kZ/ouLTaU7VP0S8pu8nsfo/T7He02zD17QW +K21wH/v2ByVBebed+XBFtOXQ62iya9iJrBg4S1b1nof580nhrQ42mdNnIHjUJOaX114wbXvnf7In +N86y91nUqZ5HiZc70tId2yVS38aAKOfWkMjget/IjFp3SW6zc2RRs0NYdbt9SFnDtfCSOsfwqiaH +0PpGh9Bq+Lq2/mp4VZVTRGG1S2RGtUdUcLWf1LYtLdZk7G2oYLwpwGLwmQRr+eM89xnNwR/9k0vm +fuWSj0cEgif95vzsD2wy5YumMHuAIB9+JfjV/XaikY5g/kCXLzXQ5y0aaw4TfqwNI8aHPfmfev3F +Y1XhpiP1ErJrwJn78jcu9qIPExQ3nRF3VN4QjTWEmo69l3g2hSQHtt5MvdSZedty4GW0aKTMz2ro +ZeyJwby444P3Y652RcaGNnpH5zc4S8qar4aXtDmEvW13CCuFj0UtV8OKmq+GvWhwiiyA4y613iM6 +vcYjOrnWM9q3PjBW/LE4hFVN89nhVVu42bQq/+G4QFg4Zi56OGghLO28YFpV4WXaVhZk1lsRKXjf +fp6XNa6O3RpVF2Z18IRPeqxEpe12whIYk998thA1NfsE1gWkujVKUs26yyT8ou7T2N3f9LiJrQd4 +2Z+1yGcjAn5Hu+fl9uSUM933k0xHyqAvLIoxHa2IFH5pDbUcKoi+1hGdmNDsLo1t9kq07cpMFo1V +hlL9LR4n+/PivTqCErxbA6Rxze6Sew3OEWjLq3eOfAr76U2Nk+R1hZv0RYVrdF6Vq0Ra7R11qjcn +SvChK5Df2+Erbmy4zi/usRFWNTsIKtschLWNTmhsSCquQ7sOiPav9Y/xqg2TujeESZMqvGMDawMS +iYFhd+N3NJfTTp86Af1TcI1fvLTMNya9zDvauSUK2ldSUljdzaRTcN/w8Qk3w/e0Iesdbcjr/HYe +/W2b9tzU0IagnKDG4Bzb7vu3rAcKYqi22mv82ppLXs1hGaif0Pam3jHyXqNLZHqte2R+k1NkWZtD +eGqbS8zxobxY/JchD/YwfdJ49J82nG+0Pfbto5vp2LMQl4ZIaWD9zdj4Kq+ojDLvKKf6qJjzrclR +F1pTYk51ZknEw6UhFkMvJKLh9lBRX3uQqLPbn//kF0v83p/6/Je/WFl0VEdd6MhMPdeZlXC8Ly/W +fORVlOXwixj+h96b2PCvV8mRIU/B14bg4/0Poi1Gn0iMe+nTxp0Tx4m+Rsfj/Q+lHq2R2SYtRddZ +b2l9o8yv+4wCnq0yupo0n+WStMAouWOXce3vAnxkwOX0QLY0rN1LGtfoGW09eF9i/Ct9yXCANjEY +poX6Y7RIf5Tm643RpOEEbWH8hb5g/J2+TH1t8KG+Nfhgnz+7GnbRQoOojk3sR7Q2/v67pbCi85pp +Y4Pfqa78RJfGqJSo2huJGTWe0mvt0lTRUH0gv7XdnWrpdRS01HuIRtpCLrTdSnJriEy8Vi9NuFfi +Ff3kvVukQ2sc9NkvpeKx2giLoZIY68GCWLvOpNSAFv9U96aIxDM9mbHkb4PXif5+F/5QO/SdtRHW +Q4WxNj1ZcXadUmlsq6fUtyUggf+x0x8f/OSE93915DTTFkZltJH+w4lDBmHSxfohOct1K2hVzsC3 +s4Jf6oNv1AXEplV4SmDck9wr85T4VgdG2nTcirTuvxtJjo17U63D18i3H61gHD9Otfe7nuzNi/du +DE7ML3WXvKl0jiwo9YjOfe8Bf+shef7eTZJe7h1jNQBj7GhZBIqv/nUB0uflrpLiCufwLOizquqv +hk502Ad/gFsZ9HXeLQGxvN8/uOl20Rzjb/Tl4wP3o2+3ucaWdVwJe9bmKCloc4wK6fBNFnyrCRJ8 +qw9E8dBsolTCHfvVTv8lrWLkHDJH+4StnIbpJdmjXCE4qKYH9iodA/sPqYHd+1XBzr1Hwbb9KmDn +fhZQxlxkNJ2ezdPM/McWrRZaC//c6+ZaHR6Z/uZG9L133lERJf7R0iK/6LQSb0lYcWDMdZg7nGvP +lPJHhv1MBusiTvTkSWFeFB9W7ZeQ+t5Xml7pGZ0D84aYWh8pyvO47X+eNvlQFJ5e5x79Bvq3F+0O +4bndDmG5vQ4R1Pe2m4Y5H/exHCRz1fUF4Oflq8HaSYvAKrAILAcKYCncVsPnP01dCnYs3QDU1ARA +V+gkqy32lFM6QoCN85aDZWAJ/NYSMEtuEZgruxQsnrQaLJ+6EaxW2A7WLt8LtmxRBvvYtkDtZt1C +nVf0YcMGms8b+OMy/p625L//ZGvaXy7Jeu8dW/LeJeJ9hUtEcbVj+PNyl8ikWs+YmGpf6Y36wETP ++tCEpPe+sQ+YPvWUxJVfj42ovBFjPvJcgvX/coUYHfFwag+Pbeq4EtraZR8Cx1A89n3UU6+NZunk +/LJdx+XufL2rt+YauuYv0g8qX62X83mnbsGf+/Qe00p6sS0bVTgnwfrVO8DaxevA6kXrYRsWgllg +BpgJpoHpcJsDXymCBWC13EKwXmE12HHAGBwzDZdTufJypmr8xAqtDlqb/Zk+y/mFvmoy9ipUMDIY +wG+f8BJ0DPkKh3oDT/bdj73eEBQX/943Kq3YW3Kn1EsC/WJURolP9NMKV8m7SueI2xWeUdAfS16W +uknelbhFlFS6RKTWeEZH1fnGdXbaBdGDtmGfe64m/TJ6MfBMf0qE0W/0aY1Sep+69zuFo8KrMruU +1MGmjavB1m2bgabZeVldn+xFel4ZCzRPXpPbsGo1mAtmg6lgCpAHk5i7PGyXHLzLANm/Xk+C78yE +rZ4OvzUZvpJj3psJ7ytnbQE7dwvAYTxAViOX/pk/WuYleR0okb4MiJIU+0liiv2iYsqvR0lLbkSn +l/hE3S72jsov8ox6VewuKSx2j3z61iMyD47N3Ap3yaMyt6j31U4RN+sD46kv/X78T61+2C8fPey7 +YmLfdsIY3G0fFtPhFqMzSBsdNTkFNi/ZDO1wPtx/tG9T4F7JMq1AfTMDbmhPZcB/3NDn//kmy7QG +fRMdgVlgisw8+DgbTJadDV8tBIvnbQXb91kCDd+GRZxxGDcmaFfoo6yEo52Bp7vuSLOKvKNKit0i +Mt57RWWVe0ZBHxPxuswl3LsuWGo2/CzMpyYkDtnmk1LXyLxyN4m0wifqdE9mFP+XrkDqt3Z/1/aQ +uIa+yyERnW6RrN9oG43od8v3HDUAq2cuhG2Yyuz/ZLiH6Pks2KYF0OLmw2foucz/0Zr/fJNhWvev +7ZaBd9R30+HfWwjH4s/HzgAV/+6Fmvfon4zG6RNU/7CvuLc+2KLrZeTJrpzoK01SqUNzdOzbtzCX +hTaJ+lBaeiMa9WPBW+/oNyVuTL8hX/q02D2qrcI1pr/GOVL4oSIA/j1rg36aYo/SZ7jf6Ku6lbSW +kpE1mAd76P/1DbVR9q8jgv6V/+uYLZqyAaxdawS2a10Bxzwa5mgO0jr4xxrHy1VJIQlv/KNz33nH +PC92j35W5Bn7rMwt7lG5W8zrYo+Y0jeeMW+LPKJCy/0kHnVhsSHVfjHBtTeiM+pg3VXrIrlX7RaZ +VO0dzflCX9Z6S+/X9H2wQNX6muyO7fvBYtk5jA1OY/bif7c5Web4yzF2ih7/cxt+WOJk+PkUZuz9 +GIcyzHP03lR4nwG96iywGMyTXw+WKWqAzYdPg/1mabJarbQW9mnAxWzoSVBOmUdkcIV/9JmujChU +D9u2pUajvAzVlTD3ivKDj9eaomJO9uRI0Ps5le6RtTBnb21yCP+R6zqEJTZ7SC1GCyQwvxCqXgmb +smLJ4v/fYz8Jbv/a1r/fQ+2V++uzH+2ezByZ6fAITYf3Oczo/eFRf/ggub/aOo0Zf4vm7gY/HToN +lE49kNe6R2/jDdEOVl0Pwy7Up8dI3t9k7PBcW2pUU5FnQmWJe0wL7MPWMveEjlLP5I5Kt4SmGpeY +t+/dY6B9Rj8r8YhOKPON1p+gRbuURWDhLAVmbP1XfuF/evu7nf/VDbVp2l99OhnepzLtnwPvMCbO +3wvWbOKBLSr2YI8wUeZoBr3C8BNtbdV2/0bSK7/oB699Yl6/85S+L/ZIqCn2TKmucEt6WeIhLSxx +j0op8ZG41EZGoc2zLjgKxndJTL2XxHLwQaheNa3/86bd/+N2/PCGcsw+y/1Ln8r89dl0+OkMeJ8n +sxgslFsB5sgsgv2kAH3SMhjjVwEF+Q1gzqT1YLbcOjBv2laweJEO+EnZHSideCevWkzvoEaKXWHe +IoHxAMWEKPfasBjhh+pAk/HXwWc6bkmgj4l6Dn1lCgwjyNegnPw29K0lFc6Szo4rkfdgzenQGRlt ++I220krr23hYTwQWy83+v/QN+D98JXr9d7xA43QW9EqoTYpTN4DFs/eApQuUwBKFg0Bx4QGwaP4+ +sGDWTrBgyg4wf8Z2MB89n74LLJoJv7dIFazfbQkOmGTJaeTQm1n99Enr9gdBNg23w1Bulv/KJyoB +xr7uUq/0zmKfW73lHqkj5d63h2s8bo3Vu6ePNLmmdNY7J1RXuyaiukutlt4/R+7/jX/82w+i9qE8 +BfWXovxqMG+SInw1B/Yiivwwfsoug75kFVg4aTNQmLIVKEzbBhbM3A0WL9cAazbD3E/LDeymkmX2 +8VNlDwcOzTP8TFvwh965St/4Rz18cT2uvMhDWlPiLq0t9UiorXKVlpe4SUtL3aX55e5RxdCfvil3 +jUbvR1f6SNR7aNWfdqj+j9vyt99EPmI649mn/PV8KuNHpv31fC7sR0X5tWAp7KdlCnvB8kV7wZLl +x8CyDZpgxTo2WLKOC5asZwPFZZpg4RpdsHwTCbbph4HDLl2zVN7TO4R9r1wjXgVHMXlL6c2opyXu +EpibRcdWeEtgnhmDao/cYpi/wFysstIlqrnULaq0zDUKtlFi8JU2P3Q6RHbdHiUYW+f+2+1CfnIq +4xkmMc9/+MAfY3A6k43MAQtlF4Ml0zeDJfN2gGWLj4EN20Rg08GzYO1ea7idBst+EoBla3GweCMG +Fq9igYWKmmDpUh3msx2cGHDEtXmWZh+tbTRKW1m051+3rU0NSngREFX10juu9Z1XQkWxZwKM8dJ3 +ZS6SvirX2PE659ixJkfpeLNzYlOVawLKSfW+06J1+4z/R32G9n8Ok6PN+St7/BHz0A== + + + 2Pvx2Sz46TywaPISsGzGBrBk5k9Acf526Ju3gEXztsHxdwgsmX8EKCocAQsUjjFtW77ZFCxfJwRr +d9iALXp+YK9lvtyhkMF5KgX0ZrUKer/RB/r48ZZsP5SDvnztLW0s9ohthf3UWO0c1VPtGo/GXG+z +S1pPg2tKT6tT8vtqV1hL+IWrN9NHN/ys+z+2zR9tBUz/oXg2X3YJmC8HKyQ4rhTgmFsgtwq+twrM +hn04B24KU9aBhTO3wrbtBouW7If2qQpt0ggs3W0KVuy3BWvUXMAGowCwhYoHW/AksMviueyR0F8X +KlfTu4iRiiv2Jcmh3qUREf6lQZGVMPdqgG17XOka/RTGuOoKl+ieapfYwVoXaU+ds7So1C3mUmN8 +pOZ7+vCSOUv/7X77e7whf48i1QI5RaA4eQ1s01Jojwvg+7NgxJ794zPZ5UBx2mboD2HfzdgB/eZe +sGzRMbBqLQbW7TkNNh5zAOu1PMAGdXewSvkqWKF5DazUdASbOZFgp8kt2UN+3XNUntFbWGP0Cf5g +qevFiuQgr6LI8BePbyY2vPRJbnnnk15U5B6NaoaQGj/p5fZ4aQmsE1prnJh5SMGHN9dVcukNS5bs ++Ldj+SQm10I5Ioxek2Asm7Ea+v51QHHSWujnV0GLXMjYpgK8L5BdBNu3BiyesQ4ozFgDfSPc5v4E +Fi2A/n+dHli9zQys3m4N1uw6A9YfdQPrjSLBGr1AsM36gewB3+YZxx7Qa9XbaBWYB9uIel/5nGtM +Cwl7GxT14JW3pO6tR3QrbFtVkVvE8yrnyL6Gq2Efmx3jxzodk2sanROTqrwijb8P2W0TOPxf++xH +Dvwfr//2JT9y4Wmwt2bAsbYA9uESZlsgtxIoztnB9JXiCnVog/pgKbTDlbtFYOVOEvoUI7BsvR5Q +XKoKFNdoAcWdpmCVEhxzxkFg9+k8uX2hbbOUsuklynX0btU6+gD7yx9nrNuzb/qVBUTEF1+Phr4z +9i3MpaGNxnQ2uCQMNDknjbQ4J39qcUoaqndL6a9zQXNJEt0umrVu9cF/q9/k/sU//vAfs2FbYPYx +cwtYvVIVrFmtC9uhApasUoe+QhksWgz9x+ID0GfCcQbH2vIlR8CypcfACkUVsHwtC6zYRIC1u0+C +zZoeYDsvBew4USi727Nm6q6wzulKT+mVR9K+L1UroXdrD9Is3qdOR5Oex74+7yIiQl4HS2qLfNLL +Stxinr3zjOZWfzNnvaT1jB/B+qLkmznV2+1p3E/baFXRx1RulCkozlr737brR2ybxmSHyEtOZ7Is +FKGXgnmwnxbN2QqWwXi8YZc1+EnLAWw4YAE2bOGAtauOghXQXy6bvw1uKObtAcuXHoQ5JQus2UqA +NTsFYKPqBbDdKAhsJ6Rg74kXcrvD+mcefEIvVR2jldX7aDWjCdqaNUKfpoZHfY533g+3acmMsRx4 +FGnTniVNfXtDmvTupvRsR3aC2XBFlHtzZGpNzbXQ0bqrYfEV3lE6ozS+y+D8f9u2yUx7ZjGxeS5Q +ZPzHDCbnn8E8ohwE+csF8itgDrIcjkdFMF8ebavBgtnbwJI1+mCdMsyPz7+adDRsdOHRO/Qq5Rf0 +ZpRPKj+lNx1J/scSJcmIwsHQwXmH3GtmHrrydOpR/9p5qoX0Fo1mWtX4I32B/ZE+x/9c5ms2+iTk +Qnu8BNVzqCZHueZTVLuWuEe/LHeJrK5yiuiodI4ar3NLaqp0jcM+dziru1UqIB+B/Pu/Y5vT/orl +yD5RZqw4ZRlYPm87WPuzPtimfR5sxq+CTdbhYKtz4aRtfu8n7/avnLbH+/3UHVeeTdrh8lp+n2/N +9H0BnTP3+bXO3OdSPnW/Q9EUJe+6WWpP6W1qzfQR5Xv0OpXgzkXqOfQm7WZaW7+V5hn00AKDDprP +naCv2DfGRqKcBbUrC+bObvXhsSyCDXQN1QDiaYjudvDxgs88lveDpcp8e5l1m47+N3Ypy/QZ8usL +FWE+vFgFLFqlCRQ3s8EmtfNgO+YLtmLXwQ5BGNhz+o7cgeCm2Uey6RXKr2H/1NP71OrpQ8j/HQ5s +mbf/ZKbcDkEA2CuOkjlkc0f+qHv17GN+XQqqsV+Wazyld8P8REf/F9qU833Cjvpc5qU/RPN1AqtW +GER1bGaHlm3G8/9g86uGLglefj2BP/jDiJf+D1Uq55/GgsffzKjnn8z4BSMi8dPGk8Lirgvoeiej +MtpYRRgot0Duv497aD4EjbT5U9fAXH83WLmaA9b8bArWHTgDNmpdBds4PmCrzmWw/ehJ8PNeHGza +qgk2b9YCW/fzwX4sUObgpadTDl0rm66W9udarQZaXa+FNjYcoc2wz99crXvvhQs+lV/nfv3qwPv0 +3VG/i6Z0Mn/dqpc8uFX/Lr3XsJpms6poglNHm/Haxs9R7c3OVF+jh+XIixiLwTfRgg+9gUTzuAOn +khbx6r+foga6vb0aQhPrqq+FetcFx6gnTaxZu3r/v2GXsqhqg7kHHGewnQoz1oNly/aDDXuMwW5t +G3AA8waHcGdw+EzipEMR5fOUS+mftL7THDY9cVHw8bk79mudo/E/v1zk/d54lfNHh4PR7/QprW80 +S/sTzdH/RosMvtCW5MdBb8NB2lQnqHi5vk3kNG3r4MkGJbQet4a2NMr54yDb7c5i7mPamOgfcz/d +czfueH+u9FJ7WvLp3txEI7YhIC1Py5Phr3YJc1px8vmIkJ32cZ/W5cQZ67ccZuq0/+o2G/bbSsUD +YOM2Lsxzb4ADNm/lD/r3zlZKoRWh7R3U+UTjBr/SlgbfaSu9b7RQrYNWUq2h92gO0ZqGv9MnrjZH +SnJq3CKldZ4S98bgSMHEG080h6IHbU/rDX1A+zG9V6eG1mJ10GacQfo8b/wPJ+HXxmDqc98Nw8e0 +ipHJaVnVPQeBnpYmQOso0XWMWFq7ChHxdpfA8dZy4dnweXy3wnVE1u/6/MJxEzzzkzbhdX8N1zFT +Ud86aMrW3WywbNb6/2Mu6D9sUw7mWTDHmrMZrN/HB3tNkmSPBPcoIP+n8YkZL+bsb7QN+xfa1ugj +baXfBn1BM40Z1dCYQSVtyG6lLXjjtKPxAH2GVUNTRq9oHbakZxvbO28FK3VoL7fudytidNid+4F2 +4PTQpw1y/tjP9itYzUlo3odnf9IhnkxQ3NiqXVjYq61Y4uv9RH6TsaCwXCiqKXMyay0O5D8bMKOS +JjTIiLoDZFDpDrKwgzTreBMoGqoJYlXT5K7D+H/ZrunQL86RWw7mTl0B5s9eA+vofWDNT/pgh+FV +cODM/UkHbtTOPHL/z5Xq9fRhOJ5YOm/oozo+rxR1bFKnG7g/UjR4S2uRHbWOp/vuxosnikPI8XYv +3ujINaMSmsXyj1JknTsxiXXx8mSWm89sg+jCdQZltB5/sN2Hau9yZl/PW6nLEQAjc4dJ7Dv/OIbd ++a7Lsw2ezTN3lCcjWg7y8wcEwrcdNtTrHguqrPOMsLLa3jhr/BjvzldNLLNfHb/9QZP/rM8cL/ps +rv+KVtG4mDVjzaZjTJ39r7f5MGZs3cEDhyh/GVWX13M06mkV/Q+02PgTfcFgjDaB/lrIhnEX//zV +E/864WUAfYPutex5B1W0wf5Du4CR7SV540cjOoL2crfzXZmpDh3SZMuRwmj8w7gHq47m62V82K7v +926F4RNahfWWNjJK7d/Njni+kf3kuw7+opfEHo4a83J/08XsYxW4Jhfk9I15ABOfkWM4SYi/756y +gohvO0ze+WokftduLy5psuemTBzmnbsxw9ghbr7BhaiZRwwvgDVL9jIxWo6ZT5f5yy7lwVw5GNcW +7wGbDvDAQXGgjEr00FLVV/RW9Vb6mN6vtJj3vc8J/6PHi/qt1d9s/HUkOvdHjXV5E82j9vj7r1bY +29+EZNnEWWFzu5eoutONKhwXYteSFumr6gNdpUOA5JIAXf/Oia/ey372T212fPkOzhX/2WgdNC+2 +aDeWNaZF5I9yebGN+3iucYspn+SVQv+0jZS0+ohJZgshLq26alpd5iN+1XyWX9Ar5Od0c7DMAQ1M +WrWPG3Bvrf6lqJnofNuCSbOYuYN/vaG+XDR3C1j5kzrYqm8Ljtjen6LxkP5Zd5gmYH15As3R6Y3T +lMEgzWc30aaGD/6hZGDlIq9rYAp01LnAmGMKKMxU1vy040wLj5SN/Jiqo1Tg421GBhxwYM1SoLR+ +GTiCti1LgZbaAYBJi/YK3racIp73U9yY4l34pYA5zPXnOaMGzDXRp12mERYOkxFLlp/cr8lPGdQi +w1/vJlIH1YX3OiiyYfCyoKzjApbxmwYW/nYbN/+LHl4yYUW0jtixBmhLrTpaVflm1fxDx9PlDp7I +mnTkRJa86umcKVpXHs/R9HimoJP1ZRsxMe6JrsVxawxPwEa+OBk+opXZsYM72emfD7Ie0ZrG2d+P +GdvHzTtyRAXsWL0U7F62DPB0tIH52fPTra+5LLR0vr4UrRMzzv+sSbzvOSmsq3PmPvmFw83/RY97 +71dNXuCjjTzngPlYWMZGPLedxVyj+WrYwjj3D01uwJuN+LX0xTwLl8lcCzt53skL8sy6l6xBlumz +2vMmRS322KtxkhNduZMT+HQDK21iv1Hi6E4998JFakI32Z0qYrARxualPyuDtapmYK95uIxqSJOi +Vh69TfsdfUy7CG6PoN9PHd6o5XVfQftS1HQjj9uLjEOz1xgHpq5gRz5Yz0pr3svKHlbiBr/egjmm +LsbtYhWoq0mLCZc7KwjHu8uJswGzdNR1geaRY4CjB+MVhw2EIjNZnthMlvCMW8aNLdnFlRbv5iYU +78Vjn+zhJbzbh2WMqJOPeij8ZS+fua7yZvwa0iN5BZ49ri163njKpLrOw6L2XaBJVYWbqKjxMvfO +hCZaV4E5RS5g2d2YoeeVuVDr5uslxyx85bYexsDCWauBwlRYD8A6dPNOFlB1K5mr2UFr6A3TJP75 +gyc+9qsb5x1NGt+lVdmucQuMT8Bjaeczixf+/CfcO2UF9AOTiLM+MxFT0FBFE2jtOwCMlDUBnzzN +rBVi2HGeWetMHSIW81lcoAM/N4Z+g/CKX45Jq/dhwYWbCf+8TeSN/E2C9E49i8wGERVTrUQ5hSxE +azCIwPub8LR+NSK+6Qge9nw7L+ODuiinlxAONwaKO2oCjO/9qcrzTFnGja/egz2fIE06KvxMx99L +qG9t/tzv9FXOr7QdjGdndftpTLeAPqh7JWeuCsscaAtPyBjGt20l24eu8Wv67YlnXynepZh5Gsq6 +gM0xA8waDb8Xm7GAZ5v1uCJwcMPP4NhPe4CRmiowFVrIWdq5zre+5Kpgft5trtgxeDGeVHoYXefL +f9pqihX2crCcT9qcrMFjvOtpK7CAnHXE/X4Wuq6Wd/erFie2Zw8v7sMB/O6fBpyYul34tSRF7KzT +NMIxciE3te0wcXfcAMsZ1+Ik1e3jhL/bwkob2s8upLXY+bSGUc73QwZ3/9xvcIfeqw== + + + VUwraY/RRnq/0ELtCdpQr5U2MCin9Y3e0PrGFTTFek3rG4Q8X214zm2ykYWtnLH5OTk9XW1w6KdV +QO3AAaDHMgK4pf1k8oLbTMTQRDoiSF+EY35pEvIXpHPqMgweW9zv1hqGB+KXtlHkEqBInvOcSTrE +LOSlNB/GkruOEr63VxNucUsI9+glPOgLRa9rz5hXvfLFXw0Ieddz13IdQ+fjPo/WC591WYrqaz3R +dZDi8nJHIneMy03pPET43l1LXI6Yzwt8uZldQnOwic8uKC/SfU4f0XJ+Nk/TNmu6tn3BHK1LWTN1 +H9H7OB/oK+haPk49bWHknrlIR98EaKoYwjZpAvVDykDt0GHAs3WcRt7pMeLntLHx9A4V3nm36Wyu +GKA16RycD8TnnGehtWjk7RZdk3sVQmYdrlfqasTA4N3qUEZjDgu8swG/dHM2djVkPhFc8BNafyJK +bTNCaw+onHaW6EXNcUFhu0hU0GJOZYzpEfE9R3lJvUfItAlNdM2noLz5EufBb1qctB4lLPTZT7yI +Jz9zC74aGJf8gRnWw5yqlzY36qfNYL8Z6j6g9xiGtK43sPCUV1ZmAW22CBiJrshx7KLmauoLwNED +6kBfRwS0VXSByta9QPuoxg8tGv45WS1tI6B6RA3oahoBLgsHArGFnNkFx9mmnqnrzbyzt6C1QSLP +8OVojSOV3WNglld/QpDfJ+Rmf1LnucQswr1vr+Slf1DhSSp2YfYxCtxzgTN5t/9QERV1XiLzRghm +rcu1BEW0nhm7eXct5pmwFPdIWc7zy1vHTmnZy877rm5854uycVz1Ttat8f1G2V8OGRXAXLaMZhnX +/UNkXPYP0uDR74dZPreXsNyiFdi3vh7CC8dwY2n3HrZTrALvWsJCnn3YPDbfSkZl/yFwYMNmcHTn +fmAAxx1+0nUqWsuGWHoiez8FxGLHIl7twHMGdQUPmwT8R818Kq+T4N9v5xJZo7pYxONthHv8Mupq +xELKJWUZ4RQP/W38EuxG+io0Djl3xtSx4n5TQWnTOezxJw7nzld1buYHZW72ZzXi8TBBlXWf5xd1 +n+He+abGu+Q/m7jsMxtzv7Wck9h6gHg1LBZ1Nlw/OfA4gRpo8WC/pllGL2hNo+jRrYauhYpqRieB +HnFe1uhK0lzjAlqbG/R8o5HwvCzHwlGeZ3plEhs/JauqpArH3w6gDPMR3M5/Li9zQBWNGyPKRAYx +MxC3mDS3nSS2C1wgDH6xh59Wp4OnVqvw0hqOkbe6dBADQvygQcTNGVLHr2etJlxjFpPe6avQWi+0 +Pp66eWsd4vNYlL5yPtuWHX++PSPJvKLIU5AxakQGvtxK3Hy1Bbs9rko87edzU7uP8O590sbyhgzx +oLxNuHPYAsxNupjjnLSQ7Ze7ihVevonlkKGgK74iq4WdldEXOsqxcDtZA7alDM8uej7nYthsVWUj +sHaKAlgI66Yd81cC9cMaQF3pCDDUZzEcYhbPVAYTnZZjdHHO35grsDojj8O2Iv0X8Vnf2Yi7Jbrg +MZt/3nkmWjNMZTYaiArrLIS5XWIs/N12nmPSIkzyfhcnc0wF93mwFml1sYVnZDFoq4LCHnNhXpcI +v/1REx1HLKJoB+GZtgK/GqpA3shZj9iB2OMxY1bhL5rGeV80jfO/aRjnfD7GDXiwluN9bwXXKX4h +75zvDNQv+kh/jC0AaG0+tPVFuF/hRuxywGxk95hv7lq0rpR74tpkfZiH6bFEgCewlyPc05bjca1K +ZHynCuJmI54RwxPK68B5d8e00NouIr7uMHa7XRXL7FRH68Vx6FMI96Tl5JVQBfxK8Dz8mmQBLwrG ++axxFW5S40HjO2MqvEdjbOztoJh4OSjC34yYUkW9x7HCMS7nwXct/PmYgHP3VzXMxmeGIWUmwzY9 +L4fWb+FZn3RFz1tOmdS+9xBXVrsQr0dE7IJ/anGf0EasoPfrtbnHwVbF9eDnWavg43KgZUACzslr +k7mnrk02tjg/CbO6MpkrvjxJRU0THIP+89h+JUaPDbsUMJuwdZvBMbOWRbGCf85+utDu+nxGM+rk +1WmUxblJfBv7aYiVwM9uYwtz24RE3oAx5hu3HHcIms9Nb1Eibg9qI64hcSVwHt85VJFIb1EXPSu3 +tih77nGy4WGE6avqS8TtMW20Bo3yfLCWkDQdIIIebSGvp67Gw9/sJIJzt8A8YQsn+7MKJ7pih7Fj +1HyOR8ZSduDrddxL0nnqmrBe2HsYHNmvDlSVdIAhx1IGrbPknPGdtnfjNrBu+gKwfpYC2Dp3OTgK +8w+UX5m4J68RhObvQGvyRDcfb6Ok9UdNfHO28E3PTeLw+IAUn57EsAiRFsYln7kCz4hlVNTjPUTK ++2O8lLrDMJfehvqfG1e/l5v3SZfKHca5t7uOIh0F4oL/HKS7gIc/344ltBzGkloOk7dGdJixHpy7 +mbhxaw0WU72PvN9tTDzs5qG+Jd72m5HF3Vb400ECxkQlzCtrBfeM1zQWflpWW4sAWioswEKc+5Pu +U/ELoXNx5/SliBuFW7tOYREnoe84K4tfjJgHbWEl4QW34OLtaN0KkT2uT/rlbcLOuE7DLnjPJNxT +YTzPhflg9CLiquSHjwwu+BlLqjlMpHSqEXf79cl7fSw8a0iT4W0/GDQiHg5x0ToNXkrHEV7kq22c +nDEVtA4I1bLomm/i5ZiYe2viKCfy/TZO2pfDaP9xB585vHPO04iA/E28zHFV7PaEGuJmYoG5GzG/ +hxt4kvKdnLQhJfbdb8pce+l8bSMzsGfTTrBtwVpwYP0OcHjnbqChoQF0DYyAhg6MbTA/1jOmgJ4R +AXS0WEBHjw3YFufkeA4R8xF7EPkXtEYbsRYR64/ELWQxDvQ9mJUsox8X824/ldqhgad1qiJmN2br +PoMIyFpP3ukwEt2vEyDbJf0y11Fu0qWIicW/28wTFLaI+AVdQuL+MAvL/KCJZX3WRmvC8LjGQ+gY +8j3CluABt9dxE8r3Eg9GjPnPeyy593/T5gS92cwLqt7KTh05YJw6qsT1vbuKbeksz+afl9XjWcqw +za9MwmxDZ3NOOU0+tOsA2LFyIzi8Tw1oKxtAv8kFSCMSseGFN+5sFiWVawlia44h3TXEoUO8Qg5P +DIxZBGD0MN0ilqC1/oj7wve/tRGtI4VxYCXhIlEkvBJX8JI6DuP3JvSxnA9aeNiLbeS1OEUCbogX +T9oHzmfW5LlIlzL5TWTpLoYrGFCwBYt6tROPeL6d8M1Zg/s9WM+93X8Myxs2IvKG2Nitz+rYjfx1 +iJfBEV+QYxEnZDmmVydhp/1mGCPdBj70z7ZeMxBTj2t6VR5x9hD/ET/hMZV0SV5G+hVsxmKa9yP7 +QsxfmFesJC4EzsHP+83GbdymY2ecpiJ2JOl9fx0voe0QswY57Mk2XnLVIbS2EsY/E1FhvSW/oE0k +fl13jv+u5QSeN2zMi63cQ8LYzwt5sgWtTUTr14h3vRacnC+qXJckRe6liLk8z/Tl3MyvKtzsMTWU +70DbVONmfVZDLDDe8QvyaE6DJbSUZTgt0uo9nJTmA7hr2lJjU4dJakf0wZGth4DGYR1olxxgxMUB +V2ghy7OCtaWtx0zc1nE65/iFSUiDkmG8WNrL4w6RC6iAZ1sR0wdxXcX2EYuExx2mmhy/Ok1AWcqK +jjtME3ukrSXjqg8j1hNiY+AusYq4X9ZaLK3tGJHSpEJmdemhda5U4J3NiCeIp7WrCu42cYncDg43 +a0SVc++TGv50lBCUtJ8VvOo4Qd4dZHGz2lTIG5nrSLfIxVhY/k+8+xO6zNrlp0NCXt4fsO5o2s21 +j5iH2UfOx1LHjvHSR5XxqPK9PP/8Dbhr4hLu9UdreVdiFVRVjcCB7XuB1lEDgHQ8kdYXlwsfYezh +iq1kGeaHTwbD6CTO2E9BzFTGLqHfJCPythGZvdpYWvVRvr33XMrWcQbfO3YFHvl8Bxn6bDsugf9f +9gdNbsaAMuUuXUZcC1tA+TxYj7Q2cMfwBaRjtCKKk6Rb7BKGqXMN1oNXYC7udXsV6Rq7hGFJXo1c +iJ9znIaf85rB8Hb8n2xmHu1C52HHnaYg1jz6DVqHjxhV3BOOk9E6acTbo/wLt/ADX2zHbb1mGmOW +MkZcE4DsGTvrOYNyTVqGxgs354M69/6YNpYxpIZljmvyUjqPUjcebERsd8QpINJ71BFjDbGH8Ngf +DGssu1+byuw2JPO6eOTTbhHxpIviZoypEiFPfkbcORQ3eLGle7DcUUPs/kddXlTFbswldQmaV+M5 +RCvggdBnpnYeRTkEFt94CK0fRzx/xI7kCuFYM7eRw66FKqC5AV5az1FcUrYHO+41VU+bD+sgLWCg +zwfUJf+51I30tYhNSXmlr4LHchF1JXIBOsbcM85TuSaXJ3EszsohzQ48vk4JafUgJpAgMPsnKuzF +bsTWQbxPhnHtnrYKsUcZljaMFdy4kj3ctPYjcDwqEdFPd5HS4oN4YvVh/q1GPVF2M5dKr9EmbtVr +ElnDOviDASPqWa8Jv6HRUdxVESBufu+N1t+bFb12oArbBMjnEi7Ri+HY3UvcHTFAa3Hxe9/1uS7Z +SzS1cXDsgDLg2QTMJFIG1MjMAV3EF8PcU5fy/ArW8+xi5qNcVEsNabaaAMS3YbiRvlkbGT1GK+cp +/POBcxmth2uSRYgpj3SVkB4einXiwvLj/PtNXMSFIcyPw/d95yImOn5nVI+bMaKK2GZYbMsB1L+I +RYc0C4gzsK48f3024Z68jPCEcRbWFyT0FYSTZBF1NWQB4RS1CHOH9ZFdyDzCLnQ+cTlsHv+s50z8 +vM8sHMZgpIuLdEMYHVDhWVnSIXwBWt+KpY+pYuk9KojjQXkmr2S0ioJhnSMtP4D0xZA+HtLlRdpM +iDFE2nnPQQwX4l6vAf9xu1CY3yqi7jVzUY2AmNFo7oRhCAXc3UxeT16NWE+45O1uxJ5B2iA4rJPw +nHFdLGdCm5vadRiNGcQwo5D+zAW3mZRn/AqUt2C3hzRIn/vrkO6uMaxlUE2GNIBIv4y1yEYRQwM7 +6zLNiCNCPkEWMd95p+wn8067TsU9clbCsa1C3cjfZMS2AJrHtIGBMR9gFnbyfK+ElYgjjjhAxFn3 +GUgDC/EJCdvrs7jWdvLa+hQwJE/KwGOxArGHENMVN7swCbFkSIafnbGOYamgxxvZG/l+6Rv4gbk/ +M6wU/9xNWNTrXYymyK1+beHdZsziYfFJ68evLpnlV1pR6W26DI8C9jX1qIMQlrTainqqbpj1FIWh +tXKIVSJ80EiidflIj4EnebGdB2sQXkLlAW7a8FFe4MtNnFM+U9VV2eDIzweBLqwJENOJiZvnvWca +ID1i0TlZtvmlSfosC+g3LQBp4TAZsacspe/0TOKKNBh22mmvGYgVhXRLEEOfdAhbgJ+ym4Lituhh +rdj8UeVpKvzpTsSlQ0wlTPp2D5E3ziHyP3PZtz8rET556xDDngiEOWXEi52kXZiCsQ== + + + 0EoG5Xqk7711KM6iupprfnYSYvtjF2/MQoxA7HLwXO5ZV+gzPWeQNtDX2fvP5yPe5FXpYt5xe3lD +QxgDeRRAnGRGYw3aE9KxQnOPGGIJwTj0Q+M0bjnSMaDsPefwr/kpIC4jahfSQUUsbr7f3U2IVwdj +mOoPRtbttYh1h3SLGGaUXdACxDFErA9eWusxpC/AaMEiPdXIN3tQ3kXldzH9gF/wmMkzPSmHmZ75 +oduIGMswVvIS6g6S9jELWAIbWWMS+kbCSoa0vjoFxRDSRboEt/ObwzaxYTSkuZY2zHFAmmfGpqdk +Gc6GZ+oKFCNQjmLE5gPc/Lw80i+Cdcoivlv4EqSJheI50mHFbZymoXkyNv+0LMwRZHiWjpOJy0Hz +iOOOU7jUaYZTRCFWvkuEIuV3ez2s25URN5G81axDpNSqUBGPdzHMu5CH25BmJ9LuE95p4pm/fHfZ +6tULB5N7dWKGDRn5dg8aozzpu70olvNfdprzy7rOoXV6qIZHHFfC1Az6slNyhH0EjI/Jy4kLQXPQ +XBXuGLsI1QgGPAsZlSMG4NCmg0BT2RBwLK/Ic0W2crqwdlXXYcNcGuaQgpOM/jabZyaDmNyIP434 +pYj9j1tckufix2Vx84vyfIfgBUTA/U3IByJuEx5VsU90r5kvutNJ8IMebmXYhd7xq/A7/fr8p90m ++PNfKONcWgu/8WgDE3eQPpmjdDF24pK8AZsDkO4sWlePNOA4xx0na+tyAPKLjE4ZzANIpzAY012n +I21O3OrMJMTFZPQqoX0hJhSLyweE+elJ/AvQxuy855IX4FhyjVuG9AgQu0gQkreN4TLDHJo0t5Vn +eFXBBTuEQQ+2IS4X0qwiT56bjDh1pPT9IX7QvZ8R3/CHvqHrTOGFG3ORXjfS18ATK5TItHp1lJsh +Ziijm+0WswxxMAW5bQLxs4ZTggctJB5XfhCNYaRNgMFjiXRTETOVuBqxgLDxncGzvCyPtDIouwhG +YxPZGBqXbMpcBjvlMJnREvJOWU1c9J3NMYX5CfR3iP1LwFqPieX2YQqI9S70zF7H6M14SZcj3SdG +0xW1H9YtiJWOtLq4MEYgvS3i4s05xJUIBUbDwD1phfD6/c0MTwrNc0YW7uCn1WkJM5rYguRGLVLy +fDeySz7c0DlzFM+J2KKDZHKVKqoHBZndRlhauzLlHAePU8QCpCnDS2w7hGV90kLMCW5S5yH8RvYa +vmv8MrRvuhpacDyRgDjtMwM75T7NWHBWFrN2mIydQcfCXl6XRcGaRx0c2LgPHNq2H2iqIi6nuQzb +7Iwcbh8+n7h5bz1hFzQPceIRS5XREbb3my90DkPaffOQnjnLSAAQ94nRZ0N8Kuhf0fUoKOYhthCV +0qCOWMyMb7rgPJOXVKPE8H9ejZgRTz8KsPgeJaQ5RtgGzIZjQ1Yf1l6GxjhANoind6nzIt9sR35S +W5sHdHRYAOldMX1gH7wA6U4xOk5Ik1lsJot4x8aYEHD55rKI5c0wos85zaRsr0zDzC7LM0x56A+p ++JIjosS3avzQJzuQXRPWl+QRH4yMKTtEJlUoI+4X5RK8iMm1YksO4imVR5AOg8g9fJnQO3kN0gEQ +BeRtRaxDPK7kkDCrkYNnDmgTF6/P5pmfmcTonPsmrBWEZP+MdAfJzBE9IntEn4n16R2qDIvJ9856 +8qTvdPK063QMjj8O7A/ElaaCnm3D49uO8MOrDyBWHNJRQ32G5tIQm4jM6NNmNE+hvyGdE5eSrinL +mHw9+OV2KqFLhZ/Soy1K6TAQpbQYEMm1x5AWosAhaAHllboKsQwRRw9dz4D4xoR7+gom5/Av/ImM +qtjPT+rT4Kf16InSGlmm6fUcwa0GfcRPhGN5u8AzbqXILWypILxgN5lSocZPrFaHtnmAyclgbkP4 +3l4DY90Whqd31m820sTEk9qOkplj+lT2iCGat0DzpIgHTfimrmLi/gXop2/c2YDmZwjXnJW8szdm +4HYR8zHbwFnYiauTWaSZjOpRDXDksDJA54SMsOMySMsdscCI5HYVxPFljhGsa9kcEuBWNvJIo0IY +/voAo4F2OXA+o00Lxzk6FsL0OgMy+v1Bvlv0UsSRpy55z2bmO70SYN7lPltw7up0+Hwlw+vLHWUR +j0Zwzp1P6oRj6ALEZGQJTsHY9kPnkLgcOBdx0skbeZuQb0DaiYhLT1mflTdxiVoudktaLXaLXoFq +MNwc+XETGX0DQ8CjTGUQjxHFTcTbQixuxBvGrc7LM/zJG9kbBDHvDlPSiiNIlxUxRxkNeMR+hfkg +5ZeyDrE0uYlv91G57Zgws4nNRyxu8Wk5RtMG9otpdhUpSK/Xg35ViUhv0aDuNrPJkMKfcTuvWYjh +T17ymo20jtEjec51BsrN0dwD5XVrNWI+o3iCOGOEd84a8lraUp71tclIYw/GjLmIy4enDquS0U2H +oA2tRrUf3zFpGcOuS29R5yXXK6GaF2lmoXkxZh7OJ3MNsnlRYrMWYr2RqZ1qZHztMaR9wD/hNBXp ++iGtGSK5RpmX3nwUcULRnAjjf9Fxvn5nHZHYeUyU3KpLpPZpwN+rI+6D+FqQImVxUR6NezTnJAwt +2EWk1qkKMxvYJpmNhCCpXhOPqzyENFup8PxtiHVHed9dx+heXX+4RZA+oM/P7mMTtz5qYqk9xyjf +3A3M/PH17HUM3y6nmyUuqLUSPmw3wUOLtjPnMS6EzcVsb8xEta4xrAGR7jqLOiGDOIjUZYkCH/59 +hiOJNGOg3XHI47IGOlyGd4y0VRC/UBRYsFPsc3sjdTlgnsDWf67ASbqETGxSFqY06JDh7/cKHUMV +GRYyiq+Id33RYzbSOKP+0s7CYmBe9qCHLXzcYskw1TySV/ytnYXyKFx4EfpDGznKFjFF4xRRe0Uu +SStFV8IVEQNV7BKzAvFgUaxlNDdgvEVcfEYL76rvPH7E+wPChCYtk/gGPYG0WoXR8j7vO1vsGLVU +5F+wHWl8mVxCGhtXpjE62HC/RA4/WNxkaPYW6n4zW/C27qT4dcU5xOLWVdUDRgb4DxZ3WrWWKKPW +WHC7yRBLLTvMsLhRTZnSoQxr6N2IOYjqEeFF99mYOcytYP7LaC/COgOH8Qax6UXeaetRrEe8QOJm +/kbcxn8m18JeHtU9SL9E4JmzRuB+Zw2jcXn9ziaUKyBmEZNHhOT/hI4hsi0udVYW6fIh+xcmNGqK +E9t1hX6FW1H+y6OsZIxxMxkCxQ2keYW0GmBcJsILmLqHfylkPmJcwuM9GekaChPh8Upo1xf6PduO +OOroHBKKYxj/pCxpdl5eeMlrDsPgjH6+T5TUpGuSUmeEmLuI84z0jrB06M+iKvYyugjOScsQOxhP +7D6Kh7/fRfg+2kgEv4E1Vd5m0j9/C3a7TUX0rNra4tUrO9Hz6hOcuxPqeNir7URIyQ7yWiLjY5Hm +HDpPR3okrUDzekgfAfHvkHYHmdatgXRPdDX1gLYm9KscCuahpjJ/682JbD1nE9bn5FFcZHSzzgfO +Q1opaP6d0TA46TQNjTvhJfc5/CAYBxFjFXG5Ge0s6L9SG7QF2U0cxOAjM/v0eCkwj0HaWSe8pnMt +7CYhbVkedUaOR56WRTxu0Tnv2aKT7jOQxgnDlDW3n0wxTFv3mQxT+Wbmej7icyMNCHvfuUiHG+nM +iJObDZHGCqNtbOs7m9Et9MpYb2IXuND0rOtspKkiuJm2/m8Wt8AvYyOW3a0tflp+3LTirQv1qJtA +NqOnwQY/dJpiFyNdIIbF7X9/E6OHjfzArU5tfk472+R2K5dK7dMkYYxmtLNgzGZ0hpykS5F2Fk9k +yWhnCf9FO4uX80Ed1Yfo/JaRAcbkSj+0s3wYrQBG2+aS6yykTcFowzNc2vSViP+MbO9v7SxhfKsG +P7lTg7FjOMY5pI0sD9oW0ppHvxEirYZrwQtRPi3wTFmF9ok67jqNsnKagvTlRXFNGvyUbi2ke4Af +R78/I8slLWUY/RakGe6XtRH5GIaDGJTzMxX5fK8gqUETcXWptG5txHgkEtuVYcxjuPNY+P/GnV/2 +/3Hn0we0RAWdFhYlb9yEGS0sMuj+FmbeEOk8eGeswu3C5zPzikEFW4not/vQXDjH6vIkxDrmw7wc +xXVRWgsL9Tm63grlnIxeMdLBRZqIQmtZrtCSyfUYNveJ85ORLhKjV4P0oC0vTRbYQLu5ErwAsc8F +GZ2GjHaWDzy2f2tnBSDtLJjf2brPEnrELEfMWJEjjHt/aWeRZ3xmcGAebKjBAzhlKUuK4P9lYi5H +WdjII9YyKYa2eQrZa+B8Rh8PxjFmTuSS7xzs5KlJSJ8JMb0Z7nX0630MixvpbME4jTaTc9fnIr06 +E6ewpcKb2Zv5kUUHKcTi9s/ehPSvhBmNLJQjo3NZhBPMmc56z+Cf/MHiZvSH4uqUGM4s0nxGnGu0 +38G52xCzFl2Pxuj32lyb9mMe+Cqj8SE+7TYTaUcJzznN+KGdFbGCzGrRR/ODlD3SzhIDNgvpmdhP +QTpd6Lwb0gtDcUhoc2X6X9pZi5F2FsMr/Vs7y8ppqtg5eaUg7NVesWfORiGMZwyH/5THdEa3yzFu +KaOh6Oi/AOlYitwlKxBLX+QEfSHsV8FJrxmMfYe93o9+D+PhnB+/d//xe+fUFYhZjez7f7H31uFR +Zd+26E5C8OAE6IYmjbtLQwtugXhVba8kxIgRgUDc3T0VdyEJ7u6uIUKAGO7S+pNzfjd3jRXo00fe +9979vvv+Y/MVSSqVqr33mmvOMedacwzOjdiqd8xAOa5ygmVJnaF1UZMxzZsqmv7knVd95p3f3Wb+ +33nnHy4H77z6JPZePBIR06ChKQUWjRRDK0crHLy7oyahcPLrwXulDEKMh26WsXKjlonKSksBHbWI +3WOFjLvfAecK/mVfIf5B209l69fdgrXSMjcXGWIn3agO65bI/lSLfXvUQCkkb5S8Pb1Lrw1zPu7Q +FLaidSV0iVBftCC4B9oy0Dk3Wa9gNqxaS7WzLHhJS8H+qZ31LWpEiIkmxmrGeJU5iS/22ohPsp1v +T9nBv5fs6NNLtPPqIdj79oSPhhY31acOzvpKCs0bBf/Jufn2Qrynehfk3vK5FxZC44fy03slDAJu +lQjWJ35giqQ5tVBM3T9dTNw3hWq2RRWMZnc0rcbeG9RKwcXNb0sZxJL3hL4ZX9y0DJgUNUDRMaS3 +5BLcB/tGqDZWZMW3qLdQ7d/gilGsV1x/pY1bN6rlRGImjZGftbNKm5YLFffWopbyWTsL8Vb0ShsM +exb8k4ZArwzaWdBLRm72H9pZ4V3aWWqS71u5dEN8UW9LGSrYbuuOuQsOf2lL8iBgIPhcOTzvG6pn +5qcZoQ5MG0F84HDEDsHGtwfV3iJ/b7k9VR9/D771v/498ngpqnQMOLepZh+whubSIrnk0grLmN1T +xIBkffA+Q++ZasHG7p/A7nizWqh5ZQIeWWjHQhuP/j2JnagBsPln5olxOyZ06a57dg== + + + g1Yi9AdQD8Sal5FSYEwEO20jC5Ex5e21kDuinm1sITHQxOaJz+DSL88GlhTcYvTMTK0Zow0ss8HY +nGHVDjqyf6K+OrLoW+igIy+n2qaIOzH7JqF2QLVgY/aOB4c99hQgZ1XuebWOz7wwF3rz0M4yxl5J +3lIb2lkKlmdYaGcRG4d/otpZ68jnkQe032WvxMHStvABli4+fawcI/Sg0SjYunfnbN10xc0kfkK7 +i/hkIb5yHDQQoaFGa+fQNSts+IkvvPUj9F1F7yx9dUi5ATQqhLK7q4Dzsc4BTAVubqpPGFc8hi1r +WIbYQjUSYgjuCC0ayXuTa4QuR0U9wVt1y9VBmpGyc0gfK5+sEZYBJK9PqJkk19Qr1LubRbG6w1QF +7uSCxoVUO4vqt++eoCy4QrWzuPw7i6l2VlA+tLN01mMuSm7afMiOUeDqptrUcbVUO0uGfjK0s8K7 +tLPkv2pnuX3WztrWg7V01FFyJLeUCG4H5oV2fEjRKPB7Q38DmARaYPL2GDI/s76GtgL9e5J3CA7k +762cdJQqWy3oUgEzUN0f/H3S0an0AU0Ngku6eI6rx0nkXoquIX2oPpmjVw9ofosBeSNU2Vfmcrte +rFeUtn4P/UOllYMO9peryAO5Gs0TXL16qqxtdDasExlzFcnJ7QJ74DXGpkrGQr1RW/BLHoI6IuIP +8je8L2oY0J1W2hL8E5g7gk8+PAV6FdDmXr9awaxfp2CAtznH7cQfZ4yQEmonQcuX4koStwX4k1ji +c0kuI/ikU80/7LdSVrUtE3a0b6DaWeBId/HpZfGndpb3J+0sr15qqp21d4aYfnqetDVmgIXCWgvn +Dr1trJXK/pnDpZTd0ywjy8ZZbg2n+tY0H/fPHk752AtuLKZ6BSQOQZeGctlDr4Bqk2cNF/zSCPba +NQ5xkCu4+YNQ2rCKLb75kyr/4gJowNNaGPbn0Fym1ADXxWeemQMueex7lOKPTIMuqbSj2VjQnJlv +uT1qMGfj0k3t5N+b5Gsj+bxbPwCD8SSX7dKX7NLOYql2VvNPQtWz9eLOdjPsQUZ+QLUw3EP7quyD +epg7eOsqHcN7ftbOQn0JmgNUXym2bLyUvG+6FJb2NY3vYQUGfNqeqWLm2Xly/MFp0K4U3YP6Yq8Y +5jjqJnJoiQGXfXxOlz7H2XlUNya60ACvRewQoceVfHSWHHdgihScNgK+WMTfb3TsBv0t6Nzz+acX +ciX3l6K+RtfcoSUYmk58r2a4tDV9CNVwdgmjWvfqsGIDIb58LNYvWOQu+x8qcU+56HIDztm/lwVn +p62wtNVG7KT4F5z+vslD1q/mGDPzjVqcjV932TWmH/Jb2T9tODRP4JP51ANTpYr7RpQHGWsVmwJ7 +wufznjH9EAuVspuOqcVGLVPs+SGxB1gKcUwOKv6GxkgS16jOLmqeJG/D/jTUS7v0S2rGsmknwa2/ +EDkXm3VyFnQIZN/s4VQfLLhgFOKOZXQB9Q9S0pGZIslVoYGD+maXpnDyoC4dKhJDgVMzTs2D9htw +ANVEgQYPwRLwD8Ca2HcCLWDYF3osoBmM+w2NOuAQTnN0lpB9dRGwItZVoB0PXRTo/HAZx2dS24S2 +TACNRROEwrtLYZ98xYu1WK+TKprXW9c0Cjzxn9ClMzGCfqK9NtWBjiwdLWyJ6Y81fYwJ6xbYG+tS +bObZ2aq8WwugnSXvamEVVY+WQjuLS907GT0ffFTtGD64fCS4rFlacz43mWpnQSsE9axEYp8xFeSa +yPVCOyuiSztLyD4xn8u/9B1iBK23kpgvB+ePoliT+H1otgAPs7mn5wnp5Lpjyr4Vosq/pVrzUTXj +paxT8/nci99RXVusuWyNHqgOJvkBNPzid07iS+qWCWWNq1RldT+qish7pRydCj076HxA70lKOD5D +9s0bwdq76gope6eipiHtuacCLqK1jcq2pcrCKwuovhPJsWiukXBkmlBw8ych5+pi4CQTc2tGpd7W +jbf27o6aj+QR1g86qJKzT295e8IQvvTOCsvyelOqJeOXrg8soCL5kJkpydcVxLZZmYGGEerG0KNB +XYNiMKpzGtBbDsofCe0u5HxCSMkoaG4IUdVj0GNC60zhO8dysFfUL92CegseIX2Bw6gGDLElMWn/ +VKxnUI33zWF6nK03xfvAYGL0wYlc7s3FqImIURVjoPmN+M0RHwdtIdxX5KPUL4bnjoRmNe1zybg6 +n+oF+SZRDVTZJ3Eo1WAmYwMcKmSQuE1yNOB9qmMDXBRVZsCRe09zI+jh+pLrJHb6SdNdj089NA01 +DengQ0k+2KDmyhuX85abuynMBQbrV1SjJiTzK6rxBZ034DDXiL60nvAX7Swu6/xcmreF5Y8U0o/P +Bh5XFDctQv6usPftriAYn/Mu0IdWmhjzSYuT5H1kHo/mP2tnRZZ8C20jHnMq7xzVWJcidoztet/y +b2APNBeEDnVS7UQ+/dB0Lv/CQmJji/is8xSz0JpV0s7JeA+qDRdN7J58HrAA9W3QnSJzlEsmuXx5 +0xJxX5NKte/pemVJ3WLsscOau5R4fAbdN+kT0l/Yd8/C+vgNJ/tjp9xt9l+3V1c3mLGV9ctJPrQM +5wxfJAUVjyJjSa6B3PvYivHY68Y7BPcUo/dNoDlz/oXFom+mvoXaSZslmJpqWIdVGkB3iyP2AxtX +cI7aCoUlwYYWjIW5mmHtfXsAH+O62Nxr81GXIPlkDwulrEW1PMlnibEVY6Fvhf1LVJMo6dQMVc7t ++dAcgaYc7XMguSxqUZyDiy60tnA/xZQTM7nkw1NRy0eM5hyDeillj27QUcYauhi9fyLVR6FrvdCk +KhwNnTXUttFLJqSfn4c1K6p5iBom7CLm+BQpcvd46FDLoaUG2H/Day50YUs6j2omyImHp8Pu6Vij +3gQ9rvCCb1C7FiqaDYn/nsF7huoJjv69uI2euuL2jKHY18PteWws738oijsemnD5Dd9TzR7UEKju +9NFZXPHtH/nC2z9JsbUTqaY5NG8J5qOYNWn/ZOwvhA8QQ3O/hgYWl316rmpH2wpl/vX5WN/FejPt +dXSJ7ENjUuLeKfDzwFKiT+RAilMCs7+SI4oN6JoQ8e+q/AvzldknZ+L+QGcd+byF6KoN/QqqqULi +CvV50cXYwzKR6gbhugl+pDGCzHsuee8kjuBzkrfMBZ4w54l/IjiUdQjogfPG3jOuun0tNABVqFsX +1f/AaS7OxVxA/OISKsdypS3LsddT2vuQ5TIuzaO+OiBNH5gV70t9DBlL7L2E3hP2BdC4h9oV8v7i +G8vgU+natLWdDvJexFi8P2vnpos9GaiFQ6eIs9qia2Fu2aWJ6J8zHJoquCasjbH2Tt2MDNcRTCsy +whZiF1hj9k4d3KVnfmKGmLhnMmqoWIMEZhQ9w/tRTSwSo4GRcG5y9M6JYta5BajPiNHE/sj5STGH +JvM+mUOxJ4JzDeot+kDHkrw//Fdg4VeIkyK07N0C+6B+KWSenQ/NI6ofBK0taMP55w5Hnk3XkYPI ++EKDDHp56QemA49Q3WpotkdVjSU5CtXnwNo5fDnV4im+tRjaRfgbmu8hVyV2CwwEDQhVSdtPqqKm +7+HzxESCJaCrhFibenC6qrx1mVTbZAGdGKzVU62vbfGD6N4T1BqxByh+7yQ+muBa6BvjZ/gn6C6X +N/2oKL79nUpzYQ5d0/EmsQO2Q+ZYl75xwdd0HRD1COwdDsge0YWRC77BPgJl8XWKnYSYmnFKGx9d +hbxFB7kEdKuAOaAJx/mnkTijGSYQ/Clgv1V87XgpTPM1XSvTHJvNldz6iddcXIh1etYmsLsJ76Sl +3ERiWWSVgbLg+kK8P12vCST2EFL8NeYYH1VpoErbO0lZcnOxMv/qAmXu5XnoReVcAnpBH5Nz9ekl +xlaNp/pw2EMSVjtGcCIx1DWsj+STMwxahSK0tAke5ZOqiA/dNxU2SXKuvlh7g3+B3pTo7tuH2xLT +T9yeNFgIryA+qngkrfORnInmG+TvcI+gL22y3pwxs1AywNHITZDv4r4DJ2G9lSc2y2/27UVtGxrT +5J6J4SXfYC+PsDmgt4R4nnVyPvAK9LSQD2LPlhRVORZ7NzCvcB5YLxa9c/WRO8N/A0dS3XSvhEF0 +zxG04L1Th5A4NoTGeei9Ep/C+2bpQ9OZ6gljv2JQAdXsloB9oHOLGq1f/GCq1UR98InZVOcVNROC +QzHH+bTjXf4I2qfEx1GdK2jFos5O5pi4ndy7cGJnJD8BLoINkhxoLpt1djbGEZiQLTi7QEgh70Gu +k+qJQT8U+sOo86BO7h0zkK6VEkwEfTax6oER+uhYb4K3sZc2mty3uF0ToEVH9cqwTuefMAR5ErTr +MLfpfYB/SD0yle4HTtgzDvtdoZsIDULsF8T8ohiB3Fv4Kzmk+Bsal5IOTqea4OSa+bjSMdRO46vH +qlJPTVUlHZ/MeWcNAZ6j14Z9L4W3F2M+UY0tB3dd6ISb73zyk+LwU2N+51MjvqZjvSpl70TWYXt3 +9IcA/5GxGw+dHhIHJtP5CO1Bt5h+9LzpvD42s/PL8eX4cnw5vhxfji/Hl+PL8eX4cnw5vhxfji/H +l+PL8eX4cnw5vhxfji/Hl+PL8eX4cnw5vhxfji/Hl+PL8eX4cnw5vhxfji/Hl+P/52P8+FWbbVda +b7XW49bqjV+2br4l+dncestWO089Y73xljOXeW5d6Wiz1dFts7Wnj8FiPMUZbVCuW2mw2GDSBmsf +O0/LWZaLLCcbfG8wadm62bMsyR+Q3042mEZeOmvGnHkGM83trF0MJnW9qQH5tYGJp6OD42bypIWN +tYtd10u/Jw+96QsXzfluxtxZCxcYfDdr3qwZ8+fMW2jg+p+fnj13xrw5CxcauODprh/wdNcL/tvT +n9/E5X9+bxe9TXqs3mY9M71FBpMmG3CsnvIv35H78R3ux3JPry2bTK23kvPf3PXkcjtyAf/p6UnK +zZutXe1sDeizBuRpgwWT9WYZLCMPbju+sdPzIl9mG8yi/zgf8oMh+caJPLXdYPYsAyMDUZ5lYIvX +m+Ns583Gic7uuv5Zs2Ys+K7r5w1//bnr64Y/X/9ff6av3/wfH0++eHSN82pHF7vFXd/Sq/k06OTa +Zxtwa/RmrrTb5mhjt8KIX2/AGeuJ5Eyn0+Hs+p/8RO/nnPlz5nZ9jGwwm3zygjm4tk3/n16P2/Dp +bz59+c5gHvn02d/RuzTPAH82S2/8eHp+MNLFBvNmL1iwUI9b13vtOpZZtcKIWWfEMkYWtlqmrIM2 +HkbCRm0TpbWWsZmNlpGJvdba9QKzeqU5Y7heZMwVm7Qs7IK7o4FTYR/YXWEf0N3cdpuuqeShvWqZ +CbPkh7XMutU8Y6xy1jJWe2gbK5y1VxtyzMplZsza1aYMyN1M5U3a5nZbdM2s3XWUrmG9FU5RvU3s +fHXXm1syRiYbGRBaWdhs7aawi+hhbuXdbb2ZJf1sQzOZvIcFs2rJOvLVnDHjHbTR0A== + + + gc33GzZY0deY8Y5aKnuf7iBpkX2ThoKMSR1S8A1IAtDESwmIXUL7oJmbNu1sSRyIxlk0PmNTNRpN +5Yj80WiiQaOnaqNHNxGN3yBzcfHvDdJb2jyacmgWGk7RHCe4Bvam5Brkq+jk20t0B/lKxjAQZVHS +FbwezVWbvHsK9lu6qzdH9pM9yed7JQwC2QrrHtiHkj7Y+Xa3QLO0Sq2lFG20QbQE0gTW1kMXzZJo +iObtPLuDBNxcyTNKaxcd3jN1IBqFVI5e3VUOnpQcB+RivHNALzSCghzWQmGlZSFs1OJANOBMrt/N +t7cUkDJMit81WQ4pH40mazPJUYu18dIFaQS99pjq8TIaiDeR90HDK+6nZ9xASs4UVDxKDK/+lg8q ++Ir1iu7HbU0hz6cP5n3Sh7AOIT3N5M06IKTl3YP7UjKQwNwRdIM7JeOJGkjvCZoiQnK/QpMWGgPo +RnyQUJDPUVk666h4K20QP5rKDtogCAfBtImZvZapubXWelOJAZmUBZoueBdKVGm0QWSMINSwVsGg +MdZCdNVRkOtR2ZB7Sn4GyeeqlRsYNM6CsJZ1jOqtdIzprdjorQtSchMQs5pYMwq1kw5IPQ2NLRg0 +hnNbUgaa2XjoGBoJzPI1JowRGnetfboLm5P781tTB3KukX0VnJs2xCfM1Ft11pHXrVsB0mErLZAw +4TxAtmRhua0bK7t3Y+29u0tOIX1k1+C+olf0AMugdNjcaNE/XR8b6RXkesk5aIveaUOkwKKv5dAy +A5A0yNuThoB4khJ1+cQPgf3wLtt7qRy3d5f8Cr4i9/drEYQbQbkjJc2FRWL6qXlyUPIIvIYntsNv +9u6FZglKuhJeTAkAusgWCkbD5i19M0aoPQL0ZE/vPrJ3whCQMVCyiS1h/UCGwVpv0QWxIghuVJaO +OqzNZl1KeOkc3JvzDOqLRlF1YM5INDALW8P7ifaBvSj5UUj212gmk7yThwgugb3ZTVu6g3CMNhkR +21c5bO7G2XnogsxC9Ca2sS16IMgA5Pi9U8XkQzPk7dn6gmtQH84tsDfsHA2KIFpCkwttQPTJ0qcN +HC4RfWGbUkjZaErolX3lOyG/7gc0aPJBXSQYrEd4XwuZjAWxB9pUvZXYMxqLoyrGgCSCCtVtDuhN +m2h8IwfJocWjea+YAbzT9p60SQYNvWTcaKOhvYsuH1D6Ne8a3sdUsNNevdSQ+MjVjDlL5pu8rZu5 +4K6jEJzJWG7tpiQPc8FJ28hYYIzXc13iPOrNOpQMx247mfM2WqZKNQMiWZwfiGg526AeaCxiXaP7 +glwQ72OqtNUyYx20KEE0uQY0Y/PbMgfzDmG9LGRPHXwGCDfQXC06h/YB4QUdHyc0IXY1jYNIE0JO +nLNPT9Epso9CctexkIgftXTrJjqF9ZG804bKnomDJNeAPpKzTy802ap9k/V5GzRx+HZHAy8fkEqb +4EAGAhIAMj69qegHGQdKPOSdOETaGj8ITZWUJHBb1lA6TgGa4ULyyZlo4kSTOZpsRR9yX0GuQXwv +GmHk6N2T5NTjc+S43ZMlSlJRNUEOQLN/SF/qA4n/7GpIJj6Z+Ew0AcGuaMMtGSvO2bcnGuphM/L2 +iIFoyqWN1WiaCa8ag6Yl2njrFT2Q2hvxy/K2xMHS1piBomeIHvwc3osSfmHM/ZNpUyxtYI/bMV6O +3Dkec02KqhoH8q6uxsWasbTxLbJ8tBRcOBIkQuqw6rH0s0DY4BHcVwgpGIkmOtrIHV0xRkSzIhpe +grJGCH7pQymxMYjJXYJ6U0EcSqJcOApNeEJg+jDRK6w/5jcIa+FXQWqGc1WpyVjCHtGIRHwG7BPE +G5yDqy6a+EB4AbsyXG3CGG4wZ0BOpeCILa5VMUYb1IxCIH9PfJLKxlNXIdtrw/9QQgUH7x6wH/hm +hbWTjsrOtRuautebKBgzzlabtfPrzjoG9wJhLz4bxPmwMZWVty6amDG30PxFG7bcwsk5J/bncH1u +kX3FbUmDQaQEwiCQeYhbkweBsHDdyjWMUnLRFtEQ5BDaW2nl0Q3EI5TglcReSnBBfCF8hOTs2xvk +D6JnRH/4RpCock4BvdBsKcWUjkVDNvwDbEtwJvZJxpM2dAXnfQ3CITQK8w7+PSkx2vY02ryojqqe +QJvAybhJ/jkjunBByWgpunIcwQejQJYkxVaOlxIPToNvkmL3TIIvkrfHDgLJF2fvrksb0sg8ALYQ +HLf0QNOt5JcwVNySMFDwSR8KghNKsAaSBsTDAA0a6iagKVMOJ7aEhl80TJL5Q0ntKIEcORfYg2+m +PsiqcE2YS2i4FRMPTaPNxJkX5qLRDI1xaOACnqEkQMFFo/DeIEZHMy3ngabGkL5iMLE7NOLBFmOr +xoF0Wo6uHS8HlIwCkQD5rGGYS2jeEtyj+oEYnzbzg1R4S1Q/GtN9NMMwV9jN5N67+fVGEyL1qcTX +gpBCae1Oxm8TJTyGr6PnjfEgf4MGeNwPELtbcGotiEdwjiQuOAX1BnEua7m1G7/RtzsIo0D2pyJ+ +USk5agO/oCkThB8gmAKZLogd8KBYR03s1z26LyU4CNQM57bHD0RTt5JgAaWdty67OaYvSLX4uIMT +xehDkyihnc1WXZ74Utr0SuakJXAdyCVhv165+mjMNwfBG2enTUkTiJ/krDx0VbJdF+E4uRbEZTSo +U1ICF2+KAyXX4D60AZZed6Y+xYDwkd4klgcRTBiSN5LaM0hvyO8x9vCD9LXbNfrAQiBLoT7KN3cE +bW4k8RvYDmNIyWECCY7zSdenZFNekQOkbfGDKbETsQ34KBp/PYnNoOERPhZzKDB7BG0uB7GWT8wg +Obz0Wym8xACNybRBk8xXzEsQaKIhEfMGxDIiJaoo/AbnSQkQQLxN7BBEfrQpMzSPNmDCNv5svo3f +PwmE0CDX4hIOTQLhN0hN0GCJr/CZtFkUTZah5aPQQEsbQ4mtgRQDpOggk+kiayO+nNwLYl+D4ftB +bst5RuhRsY/onWNBLoNGT2AL+D3BPUwPjZPUBjyJzW5LGkTJIPHc1nA9pVNgT9aG+D6Q8YIsIIzM +MeKPKYkAyNDcIvRA7qci/o913tID9wYP+BJyTweqN5N4QeKrCII/Z+9eXc2t5ByST8+kc4vkAPCN +dL6R38EXANsIiSdnsHm3F3FpZ2ZS0uSkY1NoY6ZbbD/er2A4H3diClfw4Ec+/eY83jW5n4k5/LSz +juiboS+mHJwupB+diaZ3eu8iq74FsQAI8iiJI4Q1XQm+9CLj6kXiF5mPkn/uV+rwHePgq+B3OKtN +OiB3ongpBgQW5+eKxMfBNiUQ1nrHDQahI20qJeMIHESba8l4w0ZAnkEbxdEQjHtC5gclhCFYSNgc +0geNtZTkAT4K4+UZPwD3UoTPo0TqMf0wj3jvTzEWuB+Nr7AZkD6CWIrY6WfCAZwLbcomGJIn8Z8l +40VjPmK/d/wg5FkgXaDEmKlHpoHwmzbjEhuVfNKor6SP7YmDeP/EwRDrgB8FmQsVMUg4MBEiDVxY +yUhKPOIZ2Y9en0d0fxqfI3eOAXEO/AEIbdGkrbT3oDmWGF4ymk85Ng2N1ZwnGT+HoJ4YA5wfCHvQ +dAshFZCeSpG1Y3n3+H7wqSD4w2fQZvoQ3NvMYTz8JskBYLcgEWcdQ3pZQDTDfrsufCVihUDmP7XP +6MqxZpy9ljmJ5SYS+UpyFXxvxrtqm5P8SyF1CZpQsofPDbaxx6aAdJg27sYenARBBpDd0Sbt7QQf +0+9TBwsxe8ZzySemgoybC8wbDsEyCOxwPplDuOCir/BQBZaMgMgTCNshmmBB8jAInIGMnvOI0YMY +ibnaTRuYlD5UJCdTE/9t79cDGAAkQuLWtMHUDkisQHyUSL5B/SXICTcH9xH8UoZQkoqS9mU0/3b0 +7UVjIhlfZdG9xRAJUKWdmgYCe9gn9QGRZQbwIcDVILEDtiI5wTfwNSRu9Yd9AifS8YfQBolZwPzA +DSCmkcg4gByPxlkSXwQSX+CHKeYgtkzFVwIz9GmTOsEtNA4RDEFJPl1I3uDs15tiERI7+U/PU8IY +kECR+QubhB+izdCf/gbzBXMK/lmIKvuWEnGR39Fzi64aA4ENELarkvdPRPwGuRrmOz4HcwfkCyAA +4oit0TgHInBbL13MM0oSQT4TggMKW5IzW7roIGfkSLxTQTAGpAHUhxaMQC6rtPSguR5trifzE/dP +9IkdRAUYSIzlHUnOQWIS60zmgZ1PdxWJxxAMg33yW5IGQBQD9xlN+aYKkquorLRQSwIuxLmxlsjb +XbTNeQeShzhpg7gPAka0TgB8hnEmPgsxmWDhXmL8oSmYX4jNILflPRP6U+JV4vuBD1lr525Ke/du +CluPbjQebInvr3T06Q4yXxA0mpO8vIuw0KsbahPs5og+KiuvbqbI18XNOiasrTbyMeRTuG8KS3cd +kFNSMlySp/OOAT1BFkjFjkBwE0py3AgyRsBp0bvGQ+xBWdzyA51f8GNBqcOVpU0/cDVvDBW7/rbK +ovjJIpB8UiEC2KBv1lCFnWc3M17Sgjgdq7k0j0+7PIf3Sh6ktPXURQ0HhBuYA4JHUF/4TZoPB2Wg +hkJy6dyRIEhUbyeYwD2gr+Tm3Rv4U/KLHYx8BmIwIG7HnKK5Asm1CUbqDqIGEGrL2wm2BMmRT5o+ +CLIguEKJOL0zh1JfS2IWxFcoNoDdE5/dRTRYM45POzZToCTTkf0p6QH8UcaFeVzV87X8rkdmqh0d +lPCUkta4R/cHvqYEuVvC9SA+Qe89sT3YNXAXfCfiNUQ3kFuwLuT18JWoC3nE9lNt8utBcQgwgVfG +IAhXUFwQWDyKkmgTjAMSGOqj8TqCqyHaQIlmt0b1ZzeH9sZcg21SH0vmgoR8H19JXFi3ej2DcVdY ++egif4Zgbtf82aYLgQOQZSt4e23eOaQ3/DZPfArqHyAzpJiR+A8BBBUgyPDJ0SdzqQdIB9lNgT2V +JK82IzmNqYUlYybYaFHCTPI8fB+3idiunX93kGIiXweJvVL01AHpIMgJVfa+3TEPFVZbutE5Rnws +6pbwnSTf60bjH43zkXoQA0QdABgZeQeJ1d8Ao1FfBZKNrAvzKYETyEuQM5IcF+QS7O5HRtyBtxbK +fX9sUGXenQfBEMxj5HEmFmoq0AqhGRDasaknpnFbY/ojFqlsyWeD/AW4FfYYWmYAUS2JxFvUntQh +haOBReG/QYJM8vUekgfBAyCSAe4HeTbxh4jl1IeCtAbkvjRfjx4EEl4qkhC/exLNf4MLR0nhRaOB +Y1EzlPxS9GXfjC7CyMD0ERQvx1aMVZXU/0hFnbYnDEQ9kxJbROd/K8ZXT2Q11+erKh+tUFU9XU6F +K/NvfsenXZgDskbBObovYi3Ee5SOAT0guAS8yubeXMinX5nHB+QNBz5kHf17glCdzbuzSFXW+hMl +i4V4WFDJ11xgcRdGiDs+hcupW8QXPVgqlDSvEIrql4GIpYuMkcSV0IKRyEspKRHIOA== + + + EZcg7hJRaUDxMXmICUen8imnZ3DZNxYYGisY1DJgF0brFV35OrErzCkqMELyfkqO77S9J/CGiJyT +5E8gdaNzk9g96jyoJ/Dusf0EkreAcB11O+Be5UbiP238uiOnA1kVyJV4r0yKrQX3pAHwy8A7qAmD +kB42CYJ6wSN5AETdLTgbbd4xqJfgGTdAtA3qCdsEcSVwqLwlitbqQEKN2i6tdwZkDJfi93cRlSAP +dCUYblvEAGA9SsqyNbw/JSiOLP5GWXhjoXLPB0PV/vfGiuo3S9mA9KGwP1PJWRt1WZCNA8fhXlFy +esxz4icoPgcBVqhmJK3po4YUt3syrSfR+k/2VyA7RV0GJNICan1eqKUQvEHydRAsoTYue5GYCvzo +lzO8i0iJ4FfiJ2kOFQtCw30TISQEvE/J+5CvuwX3EUFeGbFjLCVeo2RL5WNARAlieJAzc35pQ3gf +kr9sjxuI+iq3PWoACM6pcE/CockQaqb5E4i0U4/PgJig4Ff2FbAgxgtxgk88NpUtfbqUy278jguv ++gZxUfAvHMFlnZilLHu4BMJkfHTlt9y2lEEqJxLzvAjOiaowwDwQCxqWsUXNP6hKmn/kNVcXUiKZ +zbCPKD0xOG24kH5gBoQ8QJhEieFASgeBAORwyWdm4H4rcu7MU5S1fU/J0pyDerMb3XSRr3PI1xEn +CW5CDf8zcT/FUj4ZQ+k8IGMDrAUfAgwMLMx5JPQX/fK78vVt8QNojZH4XMQLkGQLMQcmsmlnZgjx +R6cI23P0OXvvHvg9Fcwg56b2y+8iByb3RtqWqw+SXsVGiO9s1gHxkUD8LWpkCpLDY76IDn69sCYk +x1Z+ytcD+qBeQ2uFxJfx0TVjaY0QuZuDVw+QjMM2BdTxPoldqDSnZ7F7nmwQj7SoVTWv1oDM97PY +BW8f3JO1JhjEZks35HTCltRBiFtyQC4Id4YhP8falETskJJzgTAa/jO87FuQy1KSUdQKcL/Ciihx +6CdSwX6iL8nrCP6Av6UEXV35uh5yLJwbJacMLRglxNaOJ7nzZJo3B5Hx6yLXGkxrDMj54GsS905B +Ti8kHZ0Gn6jKv7GQS7s4k0sC9odNRwxQkfyB2+TbgxJSRlZ8C3zCO2zrYRleMkaVe20BBHO4+EMT +WffkfohpqF2Lm0nuHbbrWyFklwHiNM0lSUwHQRuE3NhUkleSmA1SOIXkoQPxKwhkSQWNy8XiBysg +ggKMAT8CIQSQttN5TeIal0liV96lBVz2ZUpiSPGtX/4wjBkETiCyqdjxYbl51ZMfPufrwDxqck+R +r1PRDGcy5139elOCUOJvhfTjs8SIEgMprHQ0yYPHgjQSGBRE87ReA8GlrAtzueST0yD4CMFqmreR +XAkkjBA5Yosf/ETy9fm8W2p/Wt8X3f7M1/m0wzMg3oT6G3A65iowUFe+jvkS3AfE+3R9jYwj7MQy +tHKMFJI7kubr1iRfh+AFGVtad46uGUfzZTy3NbCfkLBzEiVuQp2Jil3UjhfKGlaJtfdNhf1tSq76 ++TpF8fVFVOzCkdxzW4LF7QnOEd11VJKnThepK8n9iQ/D3MQ5QLwA+TowFfJHxABK/gQiLtQzUE8i +9iAkn5guJuyZLIXljBRpvp5C83WQ2eIcab6OGiLyCeR58KHED0Pgkc25MA/CbKito05JczWCS2mu +DrJA1BrCCkZyEHMivlBVXL8Yonmq0vYlBJN0iV0QTIZ5Smu2LiF9lGo7KnYh/kXsAmLvfMiOb8yU +JFc2UTKstccnsYtoPdGL+GH/tGEQuxDd/fpg7lAhlZCKb4CJVVbwa11iF2Jh8zKhpG0Frg/k54ih +nD35fK/EQSBUA7kX/CqEU1QFJMdOPkJrrpQcL27XBGVx0w/KmjcrIUAMwWsJmAj3LHLPBHV4sYHs +HtEPtglsQ8kXc64v5Erql3AFN7+nBJu4ThB0Zp2Yy1OhyxIDSlJaen+lVPPQDPeGzbk4j9pn/N6J +WKPh4/ZPpCRyyeem86G1Biq3qL5mWB9VOmrDv0phFQYYR8Qk1DVYp4CeIMtVWvvqYm2hS4AkXZ+u +dyefmE3PDfWHrQSHE98lEd8Ov0hJ5Yj9UTFH1I1A5EdsCgJlINmlYhexJQZ/il0kQOwiuUt4APEf +/sW/kOZ/ELvgSS4KbG5mrKYYCHEG8xGxgSO5J4hfYWvUT25LHkzX6ZDbO/nR+URr6CH5I/noPeP4 +xCNTuvwX+XyQBAIz+ifrg7QN6wc0hya5ETAB/UqJFQ9OxZylvhS+E/EfGIHk5WqCbajoAPkd8nP6 +erqWWDgKZLB8yrmZtB7hGtwHeJ4KRnjEDlC7kDmwabMuzduo2EXWKK724QYaP7whdiEzpqYSQ20K +6znOIDX37wWcAiGpT2IXIyB2gWtTfxa7sA/o2UXYeXaeHLlnokiwC++LGinJiVDzjKgZQ4VmknZN +gcgaW3Tney7j2EyIseC1IHbmE45PUeY1LYQgVheRd8ko1KvoGgNwN8HrWDODj5KjyPwmPhO1WUqy +B4Fnax+65gZxE6GqZZ2q/OkyjuS2lBiX4CEQksKnQOwDeyVQJ0LOz7nF6dH6A74n+bDCzlvXxMJe +y3AVi5qnNsS+VY7+PSB4gX0AFmTusmTOQ5QS9STsWQCOgjglhBeQE6HGQJ7vDtJi5EB0jQP1S4Kp +uIKGH8TEUzOosAK5Z2zhne+VVe3LlIV3F1lUtP0InIbapSnB28Zr1lGxCwXJ1S1Uf4pdGMA3YO3K +2ERmzDaI1D7xWVS0CnVJ+220NoO1c9gmzatB9LlpWw/UsETk98TfoI4CEkDkISDWleNqJ4IQlq6V +u3bVuuSYqgmUiNs7bWgXgfK2nhQPkDkG8SPUP0U3Yr/ELmW36H60fobYmnKYirzQur1n194KHn4K +Qi0k1qPuTAXdvZMGKW3du2FvCBXD2BL+H2IXZU0rxIp761j/vGGfxS4U6q061GZQh/RPHgp8D7EL +jIEU8lexi4gusQsS46hYBbEbtQ/JgRz8enJ2nt1pfSG0dDRyRyqoQOYR6u8U/0buHUftzi2+H/wI +RGCVZS+WsmXPlrEZF2fTer9XdH/VjucrMU95r1A9rD9h/krUD2UOo8I7JLZyztt6Yg8PcmqIzEHE +C8Tnqop7Sym5O8hakQupNmmbmJowxhtMGZL3ayHPwfoA8mHkfiqPxH7wixBGXbuGZVYuXs8s/3Et +A3FY1FotHCFSlqcPQWLUzbCGhfcBBqakuchfScxEvRCCfFRcBLVA5OUQJIXYBImZwOSIG8h5QcSJ ++0IJS6s6Vij2vVlH5tR8iH1D7MJkHYjOLbXwsGB5BuKSyP9Brk3FLgxZZsN6FcNvCuiphqgI8de0 +PrnJuyfGm65r2GzWpV/t3XVxr0QXEn8g0OsW0EflsI36IYotMk/OF/Mv/kD9IjAnap0QH8s8PYfL +ubAAOBMEkBhT+AY25+ScLiLV1OF0HTWi0ADrqJR4MvPYbL76oSEEBuC3sYai9iG+PLZsnFjRsFau +brGQdjwxYauerVYWNn5HxS7IPOHj90xQFlymYhds/p1FVOyC5M/Yb7He2JIxFt20IfgEAUTUoajg +d1ThtxCRoWIXYV1iF9JfxS7cP4tdeHVnrRx1VKKTNsW7WBMmcZ7Nr/uez72xiCe4k9YMEvZMgh+h +Oadf9jApav9EruzJSn7HS0NV+btlqEuL4bvHCoFFX7M1z1ZDSI7mvCD1Rr6E/WHkQUVAPSMH0H0R +vhlDkZejfoRcHfkvxEmB/1BDk+y9e8pusf0hxoW1TxDnslm35/NBO0YqXaP7gKBetTVtAOzTXHLU +XrPKhFm2Yg2zbo0ZY8I70fVQ4E629N4SEOmCmB01LAsVhJU8utN8IuX4HOz5go2ym7y68ySXxrVL +ZXVruMwr8yUS22jt3Td5CF3/w16OEBDSVhgoS5t+5CufrKNiF2lHp8FmlH+KXfh8ErvY2lOmYhf7 +ZkAsQNoaOxC1NQsyn1TYe0KwphyY97WMvVDAjQ7ePVBrM1fKDLfRpZu0PW0oJdnHnovIqnHwVbBX +6odA7Jp7fpGQeXmhOrTMAOOJ+jtEMeBTpOiSMSBrVuSdmsXtaTcRdrStx/hCNIv62oK6JXJtvblQ +2rCSzzm/AL6Bq31gCHJp1C7pfhAQtSbsmow8APk31uw+i11wVOzi/k9C1QtDseaRiar27Rrljtal +fEzNOKzxqDYF9VBs8umudIro9Vnsgi1s/UEieRn8lAxhipR9M+Tw9JE0vpNYJqTtnSZknJknJeyf +SnEw8ACJHXRvD/H3GCu26MYPQnHDCr6sbgVbdncpxhe1Zzbzyhys3YgQ7o7aN0FZ9PB7VcbVWVzM +0Qlsyplp1EclHp4MMU0uYfcEYDqKzbEOAbwPIYiI6nF8Xt0PfFHjUuQ8rF+OPvIGrNcj76HzA1ge ++/aITQg5574TS5vXcrWP18uH7lnLe9sFNvn0VNa3aBjrlT5I6ZnYD2sQFjbu3cw4Ky0zYqfIQTiC +A8h8GQO/JpD5jVoU1otMDFUMXkcFYwgulOOPzFBH7RhP8cyWhIHYrwGBDLH47goh7fJcup8Ba3YQ +UP201gvRUAjBYnyUeVfmc1knZ0PsQvLNpTUI1ACw50gdmfetHFMxXk46OhN7OrowTekoWntHHWhb +7EBaYw/M+Qr5OK1hgPx3a1R/usbjEzsIdXDUVuSCplVi3q0fu3J2Er/9sL/jwBQ5unI8avZUOJOu +QycOQg0A4pR8yq7J3O5mI+Fck636VJ0zxCnXr9nAQNyY7mUrv7NSrmo2FnbcM1SWXP6OilNCDFxz +YwFI/0HCTdcjIJxFMALq/10CHSRn80vXx7qoMo/kpgSHS3taVModj5dB7AIC61xkxeiu9YnKUaot +qQMgAs/Fn51CxS58kwfTPCqpehJqXlJE4WgqdhHZJXYh5pxYAEELKgZAsL/sRfKBsDIDKixH8lRK +lkx+z5c2LuPLm1fR/KSsbRnWTCBIBME+VeZ/Euwb+adgX8XzVdj3Y2zOdpGi030GxaNF7GvA54P0 +Pb9+qVjeuoZNvzob9wG2Q9eEIBqEtVTk6KilIR6SHEnc16yyPnXRTT7RZGu+69UyzAU29fwMzqdk +GEj9kWsiX6LrwFuSB1BfHFI8CiTxbHnHCti7IcGDhis3UOFUc5HEdxLnpc2BfdSIIxBHdfbqAf8u +eybRfcViROZISvSMtSPsLcOeHxIXBZBEJxybKodWfYs1IeBfKjCHNUqsr5CxxF4x+BzgAwgDSh4R +/Wmtf1NQL9Eri+TRu8eJaafmwv9REQmIrQdCDI3kr0lHKQk1bJf3TaB1ddRN1EUP13JkPISgoq+R +k6AWhf0+lt5pw6w8QvtL/on6lNz/kzglxlZZ07ZSffyOndWVa77coQ4F1qmMDBUMYhPN11DbgThl +8uEpENxlKx6vgoAoW9qyhM+6skCMOzhZjKoZS8WCsebvlzkMNTrOLVKPrsH+RexCRQ== + + + 8le6LhRZPBrC7MgnFAV3FkIwT+Ua0VvpEtOH2MhILurAeAhdIwcBGbcUmfuN8FnsAnEC+/HS9k9n +c8/NR8yWo2rHA/t9rq/SnDa+egJXdHuJVNy4WixpXMlW3v9TsI/9LNi3q83svwv2PVgGwT7sw6Rz +DPUjYouU+D5592QqakXiP/YdQlyJCkBF7RmLPQIQRuQDNMOo/SefmSEEln4Nu4A/QG7GVbWv4RN3 +T6TilJF7xkAIW+WTPUQVmDkUtRbshWH9soda2HnpYs1MILEcOEqsbF0vEKyI2pNScNDGfljgPipG +SeIchNog2ox6Ju9MsAfq8bBJr669arQGDlHT1OPTaZ2C+AuIvQpBmV17PpCnALOTPIPu0cVexqSj +0yGmQPcHYb0B6ygbt+tinQrre1gbQo0CexWkiFIDuq8cwhRYg4MIWjzBUd4pg1nXrT3oHhkSD5HX +UAJ2+BDkjHgEFnwNUTvUauUwzSgpYfcU7O/lIE4JzAxbrWwyhLCrourJErpHYXNEX+wxxB4VWncs +bFiMmgnI9alvR06M+RWzZyLd8we/j3w2GaIcJPfA3pWQvJF0rkIwM/3YDAhAi+HlXdcUVvktl3Fo +hrKi6Sdl4Z2FbNze8axv9lDsiegSWiI/UyGq8/OoKFJg+jCIAtD3hlAQ6jMJByer8i7MV+acn03r +JhDHcovrhzoyFdBMPDINQudy/J4pdE8f9oFj7yLmTuz+8arKlyuF6jdGQtSRiXR/DYTBgMtia8eT +nGE2BGqoEAB8MMkryFycD/xC5wbWUZFTIu/2zx2GB93Tn0HwDbAuxH2Ci77GuifW/DgHPxr3Mcas +i3dPurc1qHQk1miR+6i2QtQ5R5/1iNGDKDnyJIinKp0Ilg6tMRBSb80D7hACK0bS2OwWrkfX42UX +HYrDNvv3kUg8pET3dL9EBK330s9B3opaauy+iTTfSD46lYqyhGEfOBn/OOy1InEW+Q1Egoh9SCnH +ZouJR6djbLFmjbV6KoqBOibWL1EvxB5f1PkjqsfQuhDWTInvpWv5qGHh7wjO4L1jBlI/CvEnrDXD +RtOOz6JCCKinY50rsnwsFV6Dv04/NU/MODIbeVxXPbFgNATuudqnhsqKtiUQpxS2pQzi3IL64JwJ +jvkRgrYCYtq29CH0WnE9JDeA7cK/oLatIv5UWda4BHUVek0h5NwgbJ9K7Cfz3Dwq8J1yZBp5bjJy +NuwPg/AOW9WxUlnTsQK1UC5yx2g+otIA+6xQ61EW3V0kJF+YTevSZG5gvx7ybYpzk/ZOwloxFZ4v +urkIvgG2jX4P7Bch7zFNiN1L98tifQHrvKhpYD8Om311Hlv7cp2iuHmRsDV5oMrGke6VRE0Ra9eY +70LsgUliQPHXVHTGL2s4akVkDoyn60CBGbRvhK79e2cMoSLVxL9J8Tsn09hP84/CkfT3zhF9eKco ++qB71B1De2MvCupoCkunrj31Nm7dUFuysHTTQc1YuTmot9LBtzsE0iHAwoeWjeLSL89hc+8uxFyA +sBrJ67UtiI8FLsbeXCquh/WygFR9iFZhXwqfdn521z3IHoGYSs8Ze5CSTs9gNfULIYpL83niW2HX +2CdqGVE6lualwP8QNCE5sRh3bCrWFLvqATvGQexLSjg2nc+6uoBiVuAw38xh9EH3yR2ZSnEQ6sIk +XlK/EFryDeyFTz8/FyJjtH5J7J7c10kQPoVgEMRWIJ7GZp2aQ9dQcL+TKsfTmiDWhLDuiJpxVNlo +ip9IPFOV3f2JzTs3n65buUX3g4gb1vnF1EMzUU/jMs7PhVgsYr8q/+oCKkyYdXQW/LKqgPhpGutI +DIyrITF7z2SKaSGgASGkhAOTaeyvfrZWUdW6hIup/havRf1QUdL+A9ak2LSrs5G/KAubFgnVHcZs +9cu1quKWH6jdpx6HmN0CVXH99yRmLYAfxjoqyY/noeYtRu0cB/+DmCPFH57KZxyfSWugENDe3WKq +KqpfzMZVj6EiFqhVOW3WpfEO4jQVz5eryl8u5TLuzMd9hH/EHlYu4/pc1jt7COdfPJyP3j2WLX+8 +XKxqM4LwO603oq8LOQjWPIGHUS8I32GAdUBuU0Rv2qsSumeMFFw5GnvIqKgRxEewJxk+OOUowRFn +ZlHMEb7HgI/YO4ZLOjpZmUM+F5jVN19f6ZUxUBVYMpwN2zVaqambq9z9cS27942xxe5fVymO/tNY +dfE3S9XlDxvZY295dufH9cqajytV1e9W8ftfWEin2xzkiw88pEutm7kTzySu6uUaPu/m95YxJePV +rv59UJege1fJPYOYJZmnE4WUM7P4stYV6p0PVNa19eLGinqldXmduZh/YwkVXvZKHaIOKqL3GHml +qvjeD6jPiKnn5mJfhqrk3g8QNaI5J8H2fM3TDVztq/VcxZtVXOnj5Vg3wQNCTNTPVbQvYSF2Wt72 +kzKvjtal+dSTM+E/VdVPVsG3cCXtSyFgCQEg2JkUv28KraXS/aIHJ8OP4SsfvWc8m3F6Jptze4Gy +6ulyVUXbcra6ba1Y22YiVLdsgIClsvThjzhH1G9w7sqixsWwE9i1qvzJUuwdYXe+MuT2tZtDBJs7 +9FRpUfH6J0Xho8XK2t9Xc2deWoo3nm7hrz1zlc60O3BHHnHCPvIgr5UPNlvyB9oU4oE28nePlOLR +Viv+yHNOlX5ntir95ixlXst35rU/L2GPPeflM83O8rF7NsAy8q5mJVv9ap2i5tEy5EoQecJeAy7n +xiKpqGGlcOSRwB94qeDyGxd3CajWTOBKO5YrNNdnqTzi9JB3s6XtSywPN9paHrxnx1b9uppNuzYL +Ar9iwtkZVFyu6MESuqYVd3Ia4jGtd9r5dkc+yGfcWIAYSnFIzp3vxPhT07H/RV3xwFSseLkONSgu +5vAEkj8NZ0NrRrHhO0cro46NMS14MNv0cOcqxZl/KlQXfpOV1/5uzV75zV5x+983WtR32rCPfgkQ +Xj6N5To+BrENrzz4q29ccO/U9XXhUkNzkHDutT176p3InnkrSeceuqhP33e1PHTPRl3VbC4XNq2S +Sx6s5craVhLf8z3GVZV2ehpX8miptKPdzGrHA5VY8ni1mHh6BnJFq/CiMXJg6girLdGDLCOqxwuZ +WDs+T4WoIFCKdTrER27PExNu71sz/uhjnj/aIfBnnmwUTz9wEM4/thd3P1Gpat6tVhU//F5R9Xwp +v+eJOX/oMceRMVQeemeiPPirMbf3g5nq4Dsz/uATlj30woI/0SGKh9sl+VizrdX5W1vE441WXOWT +1Yqy+z8oK18sI4+lsDku7dIs2CVsjN3xfLVQ9cgQ67VC7RPYprF6Z7NKvbdB4KqaV6vK25bC9/EV +xP+VtC3BmoWy4ukSZfWr5Ra73q9kd75Zx+59YaQ88G6Dat8HI9WBDybcybdq/sxr4gde8qpzH2T+ +4qtN4rHnG8X95BoPPlYJxx6qpePtG/njHRJ76Lk5aswWR341Uhz91Vh56meWv/zBQXHtX1bKc78K +Qt0jL6muMcDq4s1tVqdvbpYPNqq5ne1GXM2rdTg3PvPyPMQCGlcIPlKd/yALR1/KfPnb1TzxBRt3 +37LiSx6vMN/oqmNm49UN4ppYC7W8cs1HfbbeXTz00lI4+lot7XsiyrWPVPLOh6xQ0W4o1rw05qtf +GvIJJ6dCrIuPOzSR1dxaQAVSMy/PB34RY8k8T781X6x8YihWPF3Hlr9cYVH7yzJF4dtF5pW//Whe ++88lptc6leZtnc6KV//mLb29nyy8fR6nbP7FTdX+iw/35kME++a3MPn9rVTbV4c1To/35knvHqSI +L58mqp89TLV6flez6fH5IvlBYxS5jxJ76deNwuWXTtKth37qCy2e4sEOWX2g2cr62F3XjRcu+1if +uOUhHb6nVtb8skpR/GixsPu5hfpY8yZ+32ulKv/eItT/UDMWajqMiR8yVe+4p7De32hnufeeGvkm +W/FkFQ9bqHq2hj3QYS4dbbMSz993ks+3uCoO/mOD8sQvCvb0W7Vw7bGHcPmFE3fmtZo98YYXzj6x +4a88duIuf7Rjr7114O689OBuv3bnrv/sqLr6DzvVpd8sFRd+EVRXP1pzd1+4y4/r4uQnt+PFxrsB +3Nmn1uzBVwq29v06ZenjH5VVH1diPnCHn7H88SeSdKzNmj/cwnO1j9Yrq5+tEGoemahPNDjAvtWn +7zoLBzo4dv8LM3b3MyPhwGNWOtJqLZx5bK3a+6uh8uAHI37fY6Xq6BML5YkXKtX5N2r28q92/M2X +7vzdZ1u42y/cuIanW7nGZ56qc+8k7tgLDrFJde61qDr8VKE88UYhHG4X2CttttzDDi/heVu05dvb +mdL7lhRFe6e7eXOnvarl523cw2d+3KXXdqpdH9exGSSG+ucOR16GNU3qywkuRXxAvco84950893/ +WiEcfSbL1+q32588v10uvL+aSz0xzWLf72uU+39br7jwM6c89Y61qP3bMkXe6wUWxb8tFkvfr1PX +dCitDzU5qa/d8LWsuxG28fa1CKvLd/ylc80u8v42Uax9Ykaxyo7Xa5CnsSTO8ZVv1xFMuEAK2DFK +UdC8UHHsD1Plrd9s2Nc/h0gfbydL7+8kCx+fJvB/vIgXPrYk8L++ieXevYmU3tWlOj2q1bi1V+RE +1ycXZN6Nydv0bF+O6t3fQ6U3bakOT4/kW728rZFedSTLT9oS2fvPtpP76c5dem/PX3hvp6j5fbmy +4t1S+Xyru9XVu8Hqkx1OwsVXDuyR9yru9AtJut3qY9VxK0Wqaw8QLrW7ircebZFvNPrKd5qCrJqu +xIi3273kC/fdxev33aXLrZ78hWf27KXnG6XzD4k9NrjKV+54SFcbPYjPszSrerHYIvHIePP85jnm +B/7XKvPTnWaqG28cxMcPo9Uv7qap3zSliS9a44Q37XHSy9Yk9tFTf4s7/25tceffrJR3/rBXNPzi +yD79ECC8b4mXPzal2784nid9bEthG556shdeqrk9r02UGddnsWkXZ6qy7y9Q7f6wHs+JZ1vsLS/U +b1Ofv+uuPtpgJx9ssVQfabKxPNhkzZ14LPGnnqqVZ17w/IUOe/FKi5t0/sFm6dQjR/HkExvlwd+N +lMffmXMk/vIXHtlLDQ0B4v17oeq2xjjrFzeynJ4eLHZ9tLt40/MjBXZvLuSJ7+7FSx0N0WJdsw97 +8Y0Vf/uRB99+L9Tq5fUs29fnc50f7ytyb68o8HpYXLDtfkGOZ2tpvvOj2hzLd5fTuPevIhXNf7iY +H/+HEeo/0pb0wWJI9WhV2dMl7M53hvyOt4bwbYhditCzo03LPizgrr7fZPXkeprN48sa6/tXE+2e +ncm1fXYxV2hq81fc+N3a+EjnMouos2PMbf27GxlaMixrry0G7/1WOvrAxubZxRzXx/tLvForKx07 +jhdbPrwVj7jG729XiTtbzcSj5D5dur3N6sHlBPXFhi387jZTeX+HCD/DP2kNd3lcmw== + + + R2wur+h2VE7CncRc2KDdy0PZlu+vZMgfr6XZvDquCXigoTZZeyc0+9CdkOzK2xE57u1luTKxW7sX +R7MdH+/Lk982pkpv25Nsn1/I4Vre+Zof69ygqv19jaL4xfdc5KkJ7I5f1lqdbt4qn3rmqKz+t5XK +1NszzLOaZijO/sapHzUl2D87W7DpyalCy9dNmUJHS7j0/GHcxpc3s+XnTUncrWeuiqsfLS1O/sNU +cealirv5yIVreOSlaP5tE/fiQSjGxPb5qRzxXl2A2dG/rTGpujfXtObdIuPD/1xifLlzvXnbP5xc +O6rzy+vD84oaIgqSmuOKIppTi7e2lxXbvziSJ//SkCH9/ChF+Pg4SfztUZLty+PZW1rLCp0e7cqx +fnMy0+LePzeZHvjHCm7PLybS0Uckzr9bI8Qfn8qn3ZgL7MrVvlxPY+7hDlnYQ/Df7g6lZfUDhVz6 +2JAvavhJlXtzgWrnhzXShUeulg114XJdQ7Bw6pW1ouZvyxVZt2YqU69NN9fcnqk8/V4p36+L2PT0 +TJHDi7OF6md1yeLT5mjL93VZ21qLi6PuJ5dE3k8uLm0Ky4++n1wud9yKZR883mr99qYmrCW9LPZh +XG5mS3hudVOIprY5KHNvQ3AWud7s2PqEnKTbCdlJDXE53g/zcje+Op7Fv3oVyd5568adfWctn2lx +kS+0uMvX7m2XzrQ48ofaWX5Pu5n4oTXB4n2nL//r81jX9l2Fnu07St3bd5a4tu8rlZ/dS2Bv/exs +fuffZUXzPx2Vjf9yMrneaWp0vnO1ScWL+aY7PiwWbz7atvHVrRzbl+dzuI5XAdyt55u5O088CH52 +lKraTLldTzeIR5rVws16T6uWSwmOjw8U2D45le30+EixV1tFpX+rJj/6XmJ24MPUrJTG6Kzq+lDN +gfuBWZfv+6TXtW5PvdHkl3G1wT/jTrNPWuM9n7Q68nN9o2/GnTsBmcfqgrKq68KyU+ri891bKvIs +315ME981J9q8OKVRPvg3D4tTneaqI//LgjvwmwV3/LUonni2Udj5wZQr+3WVtPM5yx3+jRXqnm2T +X7elCM87ovnnTyPlt/fTpY/16ey7V+HCz08S1G/vZFi9btRwHc8DLc7+3UJ55qlSvNLsom67HSu/ +bUqzentdE96cWpr0MK58a3vNDtvnZ3Pk1zfi7V6ezdv04mCBw4t9ub4dWXlp9yJzDjUFam7c9824 +2uKTfrHVJ/0a+Xr5gW/65fu+6WeaArKOknlX3hiWU3k3LKe0PjwnujEpT/3xSqpJXadgmnFnssXO +zmXC4XeidOztRvnwCxvpWrun1Z1bEVYtN5Ktn9zKEq+3eihq361QVr1ZIdW2KaQTj+3ka63bpKsk +Jl/4xUZuvh+V1JBYHnJPU2796IZGuPzIWbnn74YWxQ8XKnb+spo79VoU2lrDvVpLy1we7Suxen2D ++MLLuVZvbmVJvz5Ms315NMevLae46H5oft79iGL3jppS+e3tNP7ZgzDHZwcLI9qSiyIfJuYX3A/V +7G0KzMTjYGNg1kkyThfuBmjO3wrJP3MrOOfgnWBNfl1kttOTXdnih44k4UlbtPpeU4xw5bGrdOe+ +j3i7xUeqvxeAuaG5FUPsOjEnoT4hN6I+PT+0KT2/5FZkXlJ9YjH7/FWo2aVOC/PWTqdNxD+l3I0v +zL8RnVt5IzIn8EE2sa+SkvSGuBIncm6qd+9DjK53Gplc6jRStP/ugfd2bT1QntaUvCv5Xsou90f7 +quyfH83lW+r9hPq7WyPup1djnPC40OiftfdeUFZlfWjWoeaArBstPhnlLUG5Di8P5qn+eBlm+qrT +0ezN/3I1/71zu/L3jyFWb0+lBjVl5Sc1xuUV3onIrr4RmR3QmJ3r8bA02/NhWa5Te61G/epaqs3L +Mxr5VWua/LQ1WW5/lCCc+MNWtfdf64Wzf9jZtNVle7bVlLu11xY5PD2Yt/H1uWzbV2dyhQ9P4pSv +/ubLvX4ZLv7WlOLwbH+OzZsTGrMnnc5m7e8d2Kf3/B2eHc4Pe5i10/LB5RiTi53rjWt+m2+ceGq0 +sW/JIJOgkiHGpW2zzer/IapePw9yfr4zP701Ir/gXniO/Yt9GrO/dW41et5pueFVp7T+bae8/k2n +YPi2kzN632lj9munp9k/O73435qi+N+bopS//BJs1NEpbchum2h6pHON6vo/baVb7X5W95rinToO +FQfdyy7Lro8trr4bnu/Xml8uv2xMEh62hvIPnviLDxrD5NctqZ4tVSUhTVnFfo35RXuvRuScuB6S +5fOwgPjss/nqt/WZNi+v5tq/OJq3rb2kPPFBQnloc2axy+OaPO7vL2LYZ8+ChJetxHfWZ9q/PJbn ++ri2YFt7fn7ew/D86AeJRcLH9gTVi58DVM9+8ze/32ljfKPTeP3h94s2pOcPX5+6a+S6W53LzJ// +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 +swtx/Q522HaIZRKTqMo9hRt6oAAfwcPXwe5aG2xA7/Go0fPqCIP7i7eUWRxlmLQyHM+FpMvDQouv +7VtUlsO+t5LPtujv7H9+b8v/315FAEgJfiX7cbtgp39/ZQ4DLo9dfADY1H0DCggp+sPf2DsD8ngC +EWg4HcIfXv3qX3/9m+8//e7920/vv/v45vv/OH1lf/RXfwPzOyj+f3369R8+ff/+4zenv/rtb3/z +9u2/ffj9d5/eIPvXp//CP97/yzfvv/rq/P7jO/uH//Tx/dvvvn53+ff+N//n3R/++OZP77766u/e +fPz623ff//c3H96tf2rgKlJnaWYsQOm//v27N9+enj/w1Vev33389O77f/F/DdB6/XxyB/Hzu4/f +fPqjSw+h9j6vzkLaf/yfXRysc9MAYw6InuxFOohfVuU3H7/5dpvPfz1M+R/ffP/mw5/Xf7v9qf3P +D90Vm3Xzmz/Zf/+HY7dFtP03FeCAFKZT7MzR7ITyBM/LVIP5ZlzJhRAw1lHtaNSyzRPPmSkaOuRI +y0kkQ4kO8yh0GKc6tjiZHcFGBftB4u0rkC067oEds56FzryTafWp25KbPUXHr0vshrIQ2U/JvrQQ +gtLUhkfSySawGEuDZC42ALxIbS9mtJN4+2qxLvtfWezA9Uge2CNM3Bs3EeQPO9z5/+om/u23377/ +05//ApcxfH7kt1+1A/3+3d9+/PqzM28X6bfffbcXe/3td2//97+///NFSBRK5p2KLzGn5U//z/df +Xy4rHJM/7FRfil9dVxvF33/8tJP4+4/vP71/8+3/+Lc3X3//5uMnl7w5rT98evP9p88mNqra1Lct +my+M4V8WkzTDZ/kv/u7d+2/++OJQ/pJ6BShMuIjt8aeTlrcCwhd6jiAgcZo2cx8419NMjQ4UPhd0 +ANaYqZia9lRhMKg4CXsyYxjyKvZOBdcQMvjJrnSDqcbMuuEg06Sqs7lL0HdxrwS3Y9o02y+ojVoY +ulS80pRsTsTJLpE9n3QUTLAlGK09teCFwJYAwgCaQu4R9mfLjgUOwcQEG4cSDuymZs9hysjkSSG2 +z3oCXWQveMJohZygmTkWqO2vYnWEhQETbtIeZq8xjq3YCylyqUFEJ/1pFhIQWYWwpisaLdVm0QGZ +nvqmT+hYGzmrbIq1y8oSNHMFqpqAGR+lELD5lH56YJNeUBYwQAX78S9UWdTrd/0XriyoZiHO8OOU +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 +52XYLJMfhtKpk/5MhOaMdD2lpu7vz2Qoe3I9YGaZGSypccs/G0nuPtoW0JZYfJBafT4fGj/ztYQu +8Gergjcyr0WI2ny2sjjm+XogmJAPbNBtTeEN2eML7YUwI3F986/De/V5n249zD+BPZGft8z8oR/r +s/8SuqauWIL+9DM4r2ZnQ8gLQKOz8tDtKGrVqEOO61OEJj9b713AhFCygm8Iv1qI/RQrJF9BTYfF +u7DxU/HFKHuyW40ErE5Asea4/YS5jDOQjayAzixErgdyfmCw7uT9zn6MdGikl3zDwYFRlW5yahaa +g2JEcRILYNGJOJAp1c4zsVTzSkh/0n9JhaarTROg2bSTGMGfA8qSZnTqweLcJAiiJsqpxV8ZBTJh +FhUxUmc+Hryy3VbKFKH5XUiQkRVpl3rVhtkiVHxVuMpZ3/lEn3piqZp3xUGMQT5nVpuiPnN3xg4f +iev7z1+/atux++EAnn/76le/+fv6r6Y+zm/+4933f/M3r371q3988827/+/7N+9NE7365s9v/s+7 +05uPHzn/7/5kf3P65vt3f/703ffvTn/+43f/zp/YP7mI/+pXf/sP/++r/x8YTY+6 + + + From 6449c56a3d800eb6afacb354901904c42736bf02 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 18:10:56 +0100 Subject: [PATCH 26/90] add splash screen --- iblrig/constants.py | 1 + iblrig/gui/resources.qrc | 1 + iblrig/gui/resources/logo_ibl.svg | 6575 +---------------------------- iblrig/gui/resources_rc.py | 175 +- iblrig/gui/splash.py | 93 + iblrig/gui/ui_splash.py | 131 + iblrig/gui/ui_splash.ui | 335 ++ iblrig/gui/wizard.py | 4 +- iblrig/hardware_validation.py | 4 +- 9 files changed, 751 insertions(+), 6568 deletions(-) create mode 100644 iblrig/gui/splash.py create mode 100644 iblrig/gui/ui_splash.py create mode 100644 iblrig/gui/ui_splash.ui diff --git a/iblrig/constants.py b/iblrig/constants.py index d8ef8291c..845555efc 100644 --- a/iblrig/constants.py +++ b/iblrig/constants.py @@ -22,3 +22,4 @@ except ValueError: HAS_PYSPIN = False PYSPIN_AVAILABLE = HAS_SPINNAKER and HAS_PYSPIN +COPYRIGHT_YEAR = 2024 diff --git a/iblrig/gui/resources.qrc b/iblrig/gui/resources.qrc index 640af22ec..42c08419c 100644 --- a/iblrig/gui/resources.qrc +++ b/iblrig/gui/resources.qrc @@ -1,5 +1,6 @@ + resources/logo_ibl.svg resources/icon_validation_warn.svg resources/icon_validation_suggestion.svg resources/icon_validation_skip.svg diff --git a/iblrig/gui/resources/logo_ibl.svg b/iblrig/gui/resources/logo_ibl.svg index 27dfd957e..03f4f1839 100644 --- a/iblrig/gui/resources/logo_ibl.svg +++ b/iblrig/gui/resources/logo_ibl.svg @@ -1,22 +1,9 @@ - - - - - - - - - - -]> - + + - - - - - - - - - - - - - + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - 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 -wMiE6SUJ4+YSATJ+iuf+Pc2wddmxrPF2yxKlsLnbUjn7yx3F5z/hbkUCF3+KE/3CefLbn//ljz/+ -09uf/cVf/+2vf/rp+z/87ru//ufv/ubXv/3dd59//P1//+7Hf/zur37z25/+/R9+/Jff/+x8z9uf -/bu3v//Pv3zm9vbnf/27n96fmBP9+Af9x6//73/63j/w7Y//8N3/9v1/97l7evvzv/v+1//0lb/6 -n377w3d/+/0f/uH73/306v+Vq4/u337/jz99t2/if/7Dj7/76Y91/o8//v6Lvv2XLv5v//D9//vb -7/91X/s//fMfOy2XvO/xt9//87srlmA6jAT0z/e69Ev3+x9/u5/Qf/7tb376b/8/r+jvfvzXc0Vf -CD39mz/xv3z/2//633766qv9q1/9D3/x1/W7v/rdb+IP+Xfn39/9hx9/97d7zP20h90337j5L7// -r/sZvjvwq//we44sH/nLP/zLP/+3c54/+z9+97tf//D9b97mv/tVevuL/f9//6+/kozLv7z+I7/U -VdLb/7r/y/+zm/71rb39zdv/+X+lt9/wV3/3q29aGjzS/ShJq33SHf/wq2/wLyaAed/87RfNO7LE -F/jbL07yC833JL97XeP//it2qAu5/CILy4XUDMSvUVGU6Jo2wUUiEk3+KWNug8EZ8zpJp4YiIrkP -NirtUYIW9SsII+/FadTwrsOe1/7+11/cENuFHeTe28fcQ83kqd+iERlfNSY2QG4Ey+jGTHnuc5wA -ozo3NzYuXz6/+Llvf/WPOjBdbmxm1o0V10H4mIubKfi+uRGxovhJlic34hEQP7jquY5JFi9+MGOo -EI3sUHx3xKluzBCt9FNPfl4nACkUV7DSuekHKyU/CTDb0RjnREjvPocHhnE8s1KjJ8rN8fslmkhV -Rr9cXn++ZDxs+8R+rjTN20iCIO4pHjgsKmVaornXfi6/3fsnYPAJXvf/xRv47FcjVDPlSUkFgaf7 -IZqR7o7m4fdL4zzvCzmntzjB+etxW35+yvNb6xOqTT6A+n/81rrDcdimLxp3HOiP7nnWqzHlaCTw -/HxOMOftGz0bsZ/PiXr4V3//XBiSsn69qH3u5/jDaT6NSO5EE8Kp0bg/jWhMfljdUpCfz5+j0+Hm -EQ/ncc3FjTsefPvq7//Rt9Mh56tZSnXn/QhqGb3biLfRYjRLeW/9m69oIpLgA3xy/UyY6IfO+Cg7 -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 - - - yqYryZXp1/KqjT//UGh3qZOzL7k43Wlr5zxu/xteOPR6tbj/mZtwpiPI5eL5FJe75/JdH50v48/e -C9S3vVlgaHm1QGhr1wtHHrqLZ+6FCqeRTT75q5t481Za3tXcDQk3yje4PjhXzp16sNaw47+WOTXc -0em3/rqYOfqS59rvJYfca2r2fbCr0eXlOaQLT1W5vDpfJvx2p2jN84OVUe2VDfW3Emuqb6U0BNxv -bRJfXyhin9xO8n6yty6lPb8+9U5uTe2txPKd12NL4bP3WmzZ12ieTl6OKT9xPqHm+Pn4yr0X48tr -LqVW+DzaVsG/vZ/HPWpPN964nsH98NBPuHgrgr9wN0K4ciMG1kb5+Qwk17mVOVdyqlKuFNckXi+u -aTyfWp13JbeBfvoi0eH7TifHe50+Xkg/FVzOrqs5l1616VxqZeztCiRfjY3FV7MafdCzUW9+Slh5 -tnOl3fedK/UdfwRC33739mwoup6/Lf9GwbaAB7taPJ4erGLvXonirlwOTrlVvAXmCT4nr0WX7bwR -V7bpSmLZvpsxZefuRpRsuBtX5fl8bzX1t+dJ9i86vR1e/a+f4x+dYYY/fk5weX20MO56WU3etazq -uospFVvOpVbEXKuoCrzTVBF0p7nKp6Ot3PjiTKHb8+Pl4ot7ReLje/lix4Mc7sjf1lA7/7Wc++Zv -7m7tlyqC2ls3+He01Xs+3lu9+uW3FWteHK/i3j7KMrz4eyTz8nky//v1As8nuyvdXh0pd3jUudah -4ydP+vGNaM8n+2uS7pRtdb59KsPuu87lq1p/16zKPTpxVWTjMLu4xhGrmtotHa78g6dePo1b+3Rr -TfG9lJraG8mVHs92lTv8vTN45dNO5xUvOoXlrzvF5a86uWWvO5mVP3W6OfzWGeTwz84Q9vfraewf -19MMv/4av/J+p7Ciov0j+wOdS6iz/1wjnO+IcrlxPdvn/r6GuBsVzRVXMhu2XE6uibpXs0F8fi2P -u3Mvkb39KJq/fS1JfHm3MOhuS2PC9bKGqGs19TtPp1QeOZtQFnGnFunsb2qMr6+Uuj0/XeXx7GB1 -aEfjhtzbORsSb5Y2+D5srWb+61kG/eRJHPf8HtKdV0o9nh+q9nvYVhvaUVNTfSe5Jv12bj33c0cO -9eyXGOrJ79GOtzrdVp3rXLV8/0+2K4prxiwv3DZ+6fnOeY5P/1jH/+1aQebV3OqN55PLkd0r33ku -uTz9Ul6ZX3tLmceTHWXM6zep7J0XUcx3P7sjO+7J3nsS7/1ob13qjYKGfWcSy09eiC07eCapcs/Z -JPTdpPJjZxPKN/2YWuX+FNnYV+dKwb7mXM2tOfZjfPkP52NL2pDOungtsuin9rCCt+hzDum61Nu5 -1fp/vE1Yer/T0eGPzhDPp7sqN9+Nrz7XHl589G50+cG70RWF7elN/B+X8/k/ruWBPXT96Uy50+u/ -hy7/pnPuqtjCwUu8ArovdAk2+8JJUNnMX6ZSf/qlSms7X2WlnaeyUH+hmqmdq7LQ2qnmGOK6LYo5 -OnRR6/9MX3y7czH166OE+EslZZtOZlbu/D61ovR0TmXNqezKjadTy4t/yKvKQNjB/15rDffyRbbz -s6ulXg/31iBcVFd8Kbt+w9n0mk0Xkiu3IdxQdSWtBnCe071/rXV+e6pk09XEypNIvx2/F1Gy50FE -8Z5HEaXsP+9mrdz2s8YuonzIguW86uPx5qpJPUapJqpGqcarhqveQx9z9PuMPu+pZr83RTV/Pq9a -KsSYLTEmd//0c1o1deh41TjVWHTVWNXA7qNUQ8zeU43pYa4a32eqynz4LNWk8WrV9OlzVBr7ANX8 -rKsjv/q287OV1zs5/dP/DqHOdq7hzv4S4PLkx/K2s6nVp8/GlZ49H1f6w6XokmM/xpU1XkmuqrqU -XpN5La8h+VpRfePZ9OrdeE6Ty2t/zKguvZBZtfrlsXLDk7+F069eJsXcK6m+2R5edOd+WCFaQ3WG -f75KXna30+6rbX+b9VXcjmHLIluGrIzfN2p5/o/my7b9arH04L80yw53frqs+vbUuY7eqsnms1WT -xnyoMh81Gb3DSNVAVX/VAFVfVT/0GYz+N/r/sffeYVElbd5/EZWoBEFEFMWAASOKYiJnupvuPrED -GUWSIpIkZxQJSkZAkKAimB3DqGPOAcWcHR0d0+QnzDy75627mNmdDb99n72u9/efh6ttaOj21Kmq -O9Sp+/tB5shWawSaYGaLZjoFoaUhNVouqacMXVs/2Xg9FbwlPwrx0r8I6cEfTm9WvHtTzj/5VKh4 -+rZE+fbriuhX+7aU3q1sab1S0tB1sah+9+XCemwXG3ZeKm48fj2n/vyNrNod1wsasD2uP3U5t/78 -pdzaSzeyaztvFTQ2DJS0PHuWXCm8WVX948v09r+8X1MR+7qjVvQ3IcbjsjDPvei82RJlusZsZ3c0 -eZItmu5gjzxDV2v6Fvda+BXuNPeMXqc1cawtGo6M0VA0BOkgbfKlg9ulhb80kObvP2vjVwxxq/Xx -X+nin7TIa4b4a4zRFDRrjgItoss1PQ4I0/j3Vwvrz1TUN58qb6i/WFbfdLGsoelaaUPzpfWN3ZeK -G3ZcLGo4dKGg4fTFvPqjF/Pqjp/LrzuI5+aB63n1h6/mNlzpz6zdcKeilfvpdRn/w6My6i/f56c8 -b9py7hn2wS9Sqpue5jb5vBFES4JXInsrezwOTfH5w7kNwWelSVoBfWOAH3CmGujfD/j9fz40SWvg -L+EKGKEhGib42Rjpahrjn0agkSbT0Yx5Ecij5K6F9CP2G5+EHGyjIpXvn1XEPN/dvOtCUcOli7m1 -O68UNuy6VtCAbUztmavZNUUDVc2h356oLr61qQXG5peXc+oOXsutb75e3BDzsqeB/8vzCu5vTzbm -PNnUcvfV2k21z3LrxH8T4jwaz4+euyQA2RqOwG0YSs5fF58hfG+E22SOR5wp/g6+1/gvrfnPhwZp -3Z/brYG/oO/08eeNwHNx2tJY5LLxxQjPvcJU0UdhBff62xL113eqwp+fqot+3teYer+5Oe1B45Zz -53Asi8ck9GHz5fWN0I9HzhU1nr2US/oNbOnxi3kNj6/nNL2+lVWn/O56Of68qIDXAid5L8TKfhHS -fW8IXs6iKGSCe+j/9QFt1Pz9isC/Or9fM4shE9H48SI0wysVLc2/O8zzjeBDf38rY+3N9k1bz25s -PHC+qOnkxbzGExcKtpy4mtty+Fpu05mL+U2XzxY0nbuQ37D5Wll9/kD1lk39ZU1Vt9c37hzAedft -7Pq9/bl17f1FjdKfhLVe54T5niX7zV2j1mnOnDEfjdQcRsagHjmL/zjmNMn11yLjFJ7/cxsGR6Iu -/v0QMvcG56EG+R5eG4q/DLBVNUIjkYnOBGRt6YHsF8Wg+aFdml6PBC/qh2+yQ99+Wdl3Nb+u6vrG -xtjnOxsgH171uLMR4jLIK3Hs1VCGn9fdb2iKftlXD6/33ciru41j9kf302oGY9206rYH+c3h74/U -4/hC6ZpaPcTGauT/57XXxo8/t/WP16C9Wr//brDduuTK6OMrpI+/hpHZO2hRB22Q1u9t1SPzz2L4 -HDR1YQxyXrlfx2uv4CB/K6RFPv+iOvFOd1P9lQ1kHCY87my4f6Fg641LeU0PcR8+upq39enlgm1P -b+RuvX8ru+nclbwmPD4bT1zKb9x6taTR/5Ogmr1MhUYYmZG59d/Zhf/t8Uc7/7sD2qT3e5/q4q+h -pP3D8Bf2iaaOaNxkOZrikoLmKts0luwUbAJ/EKIiH+9b3366rHH/meKmM+cLmq9czN9662JBR//1 -3PZTl/Kbj17Ka+i4VFyffbuuAR4FA1UN2L/XN90prI94s3+zX7/gP23ynP91OwatoRY5Z60/9anG -77/Tx781wF8mGiPRCC0bNEzDAveTGbZJ1tjHj0VmOhPRMO0JyFjLDpnoTUcjLXzQ1GV5yHnFeR3X -i8JM7t3FHBy31GN/AD6hIe92dZPyu/6K4I9nqmKfbq/HNqbhJLaVHdiNgK2BmHwHtq2XrmfVP3ua -WrcX55xpz+oaA38RIr26Xk1a5KdCI7WM/y99g/6LrYSf//AXME+NsFWCNlkOnYhGGs9Fo8ydkZXZ -AmQ5wglZmM5D5kazkPmQmcjUYAYyhe/1ZyMLQ/x3Fq5owpwI5BS8S8ujT7AXvxaio57sr4y7u6Ma -YrNDp4sbtmLf9+JyYfezi8Xbv76W3/nuWtGOb2/lb/9wJ6/73f2cjmd3srb29+e0Qd7ldluYP0zr -/419/MMOQvsgToH+stSxRSbalvinYbgXwfNj/6lpjW3JWDRC2x6ZDZmOzPQckLnhHDRytAcaZ49j -P69cNIfbpjGP79RcVPHWJPBHIZx/ez6n+ezGhi++Km25diG/+dalvObbl/O33r6Z03ztUm7z5ct5 -zYeu5TVcxPb07LWcRni98UZxvftLwXXqTNf/dVv+sJtgI/SJZR/y+/dDiR3R+/374bgfLXXGo1G4 -n6zNHNFoC0dkNXopsp7oiWzsJMjKToasJkiQpbUnGjHOF42ezCIH/2q0KPu5kcsVYaby1emc2tNV -DSRuubyh4filvHocmzVuuV5Uj+PMJsg9DlzE8QuOxW7cyG54cDm34fLVnAbcxvqAn4WwhTGbNO3m -OmPfOvyfbhfYyaHEMmiT7wdt4OAc1CfRyDA0QnMkstK3R1YmM5H1yKVoooMKTV4Qj8Y7RuFHDLKe -qkDW42k0chKFRo4VoxGWnmjUKB/yu5nSJrQ454GR5yvBW/ReiAx/cqh01e3Oyq1flTfcPFXU8uh8 -4dbrFwu2Yh/ffP5qdv2rmzlbPg5kbflwP6P544Ostvs3c7ZCTOr3q6Cymxf0v+ozOP9hJEYb9nv0 -OOjzYO4N/s4I/9YEWehaIWuDicjKcCqyNJ2BbfMUZGHigOffQmRluhhZmi1G5mZLSdtG24eg0XZK -NH5mHJriV4YcIw5pLdz0xsTliGDvdl2YL/pOWL78YW8ZxKCnzhQ137uYv+UR7qd7/VkNL/tzWmHO -ff0gu+vl3ZyOl48yt13pz8G5RFmN+wNhycRpvv/rsTnYVkT6D/yZqaYVMtXCGRKeV2Z4zplrjcWv -jUXGuA+H4YfZEDs0wnA6btscZGE1H49PVzwmRWjUnBBkM38VGueWjSaKytEUrhVNodvR7PCTmos3 -/3XEsn5hNvPuemrKpW2biy7X1m68XFl3A8ded3Hbjt3IaTyOfVz/9ezGl/3ZW97czm5+OZDVfOFy -blPSvdY6zyvCIqtho/7pfvtjvoG9B09lrmWJLHXH4TaNwuPRHL9uhD228eDvNEcjSz17bA9x3xnM -xHbTEVlbLEVjx1PIbm4MmrQ0DU3wykcT3fPQ2GXpyMZzHRrjmYHspXVoVvB2zYVlL4a5nBCmiD8I -K/g3l3PWXN9WWXihruarYxva7p4q3vbwfHH3hQt5jZAzbLpV1rz2SWvzJZwnPLqVSQ== - - - 1iEV350tdTkgTLSymvlP+3JtEmtBjIi9lzb2ZQa22PbbIUvt8djOj8UjcgQZm2b4y1zTArdvHBpp -YIfMDMZh24gfw6ciC3Ns/+38kK1DKLKdEYXGzY5FE5bkogmiOjTOrwI5RO3XdCp5YLB0vzDe/bHg -guPgONXXp4sT7nVtqj5X2bD/dFH9wLn8xke4bTcv5NaevJlV9+puevX3DzJaPzzL2HbrXlZb+83C -uqBf3yY7KNL+r302GAP/+89/2JLBWFgP95YBnmvmuA+tyMNcawyyHDaT9JWljTseg/5oFB6HY+ao -0JhZLLYpImQ9wQ9ZjnJFluO8kOWsEDTWGc+5oEo0J+ag1rzNj42cewWrZQPCHNcBwUny02+xUU96 -N5RdLa9tvVjaiG3nlnM4lsZjtOnZ3eyt39zPan/3MGvbDw8z29/eye14PZANa0n1vs8FsZ3tgn+q -37T+ZB8H7YcxbguOPgynINsxrmicrS9uhwuyGuuObcUyZDES24+RTthm4nmG59poq8XIetRSZGPp -gkaPFyObyQwaPyca2XvmoxnyDjRzxVHNOQW3hs6ufqbvfFwYs7jr11Ful4Q53m8EsfyHZxnBL4+V -FJ+vrd10pqr+9oXi7quXcptOnC9olPX/EiY+JfgFHcb5xaVfwrivXxQEvRbivG4KS13WXzWzNBr/ -P7Zr0LfpkegQrKQ+ibLAQ49CJrifLIZNR9bYH0+cHYWmeqWhiU7haOIUKRo/dgmywfbS2tQBP8Dn -zUWjRy3AMaUYjZvOoHGzFGiSayKaIapEM5hm5LjiK6051a8NF3wpjHL9ICxzfyW4iT4JUeJ3Qgz3 -7fvi5c/21cQ97GmK+OZwXdyTXc2d59Y3t5/f0Bz/tHdr6LfXG/Ie1HXeurVu8/uB9OrW60UNPu8F -enbA6v+xbbqkPUbENw9HlsR+GJCY34A8QwwC9tJcxwbHIKPxfLREpjrwsEXmxg7Iapw/sluG4+PV -p7WXVL8fsWS3MHbZV4I9xJPLjguTF2/7h5Vz/TuzBZvfmCzMu2W4MPX40CUbb5u4HhWmeDwQXIO+ -FxIl3wsJ/I9XS0Lff7kp8UlrPeRzkJNDrHkcctdLeY2nrmXX9d/MrH16I6vh40Bu+/0bOS3Uj0+z -3HNvmIGNAPv+z4xNvd99OYxPiIwth1ij0SYz0Php/sjBezWyp9PR5KgaND3rqLZD2RXdORtv6M0t -ujJ0ZuoJ7ZnZZ3TmldzSn1f+zHBe2SPDednXhs5PuzDEuWjAyO244OD2QFi8bK9g51L1zMK9T5js -/UDw9n8kyANeCoqApwIv+ySkptzbUgcxC7RrF46dc+/UbBEzEuQb6IZAT0O15ylPH/lRLi7aP2oZ -n6JhN3nJ/zAuNUmfgV0fYYnj4ZEuyGKsJ7K0l6DJbqvRDKoETadK0UxFNZobs1vLqeq+8eJewWbZ -Gdw/d4R5bneEhWD/FlU8NJkf3aM1U1GOHNUNGgvjdussyes3Xlr23Mx1y0+jPY4Lc3B84uP/FyFE -+uunZO7Hq4X+bwXep+KmTUDDU3vJ5qv29KHfJPzNt0mKUz+voPf/JpJ3/8OV6/vXIMWxX0K5kz+E -8kfeqdTH70UrLz5PhP1OoqtCkIuyQstc63/2e7AeAjPNdOg4HOvPQWNspWjctBBk5xSLJnmlIwdp -MZrusxbNWBKNpjnSaPJ0T2Rv74Wmz+fRfKpCY0HS8SEL113Vd+v6l/FedwV3v4dCUOA7IZT68Zec -qK/31ih+uFYq+/nnNPkPv2b4Pxc4n56/Tvfb9ma6/x7BMbBfkIhvCox0QAiVP/6YwD15kMW9upcf -8e6rpvA3ZxsV331dwTz4mCa9Iajkd35dyX3zoqjw7ua2gf51m4sGqprc2z+NG287/58Yl5qQteHY -A88z3E4zgwnI2no+mjg3CM3xjkNOVBFaSGehRbFt2gtrr5ksuyxM9fpVkEqET2sU35/Mo/46kBH0 -rz+tkf/9Xrr0t6dpor8LK71+EcTePwhS/18EVcBPQgT7/ZuiwDdCiE/lxdH+cXV63lFVugGXBD/Z -LSFC1PfbAknu7pGyY0IQ8/pDXszLPS3LXx9oTnrStS3m6wNtIkkgYiNidNia07OVfY9o9uQ7paTr -+3lea9sMJkxZRPK0/+4wxv02xtIJTXKQ4Th3PXKKO6ezYOPXxs4dgiUeewt8fhDogL8KEQG/CpF+ -vwhKt6eCs+stYa7nW8Ez8O/CivQHdfV9t3LrmgcK6vPuVdUpPp0tgDUUPzz2vM4KTt7HBEefW4KX -+KkQKn0jrJZ//C1T+fO9Ku7HV+sDjwkuouAYTde5C5CflyeCOkrYx0h1PXFhas/NVmRsH62MrzHh -c4/aMbv+7s8f/RhM9/zgzRTuGyfL6LH0j6ocMn2OBFkbTfgva0H/Pja1cJyFY6xh9mjCPB45Brdr -Lq56aQb2z+MHMl/CJL8IcZK/CKtE3wuR/o+xLXggUKJbAhVwQwiUPBLC5R+FjKBvhFjxLYETnRZ8 -JPUvHSRFB23EnW8dZQN/j2Tef5sn+05Ik74UYgL6fpsvKTtiK936YB7d+4MP8+UnTrbl5myq+vR0 -qu3MfObQ/SDF0WtK1a2rmaGPLlbwJ74J5do/ebC1A05s5eWZ7NGnbOjTsxWqt7cqxf0CO3sR/d+2 -Sx/bxWFao9HwoTbI1HgczqPnoXFT/dHMwHTkFLtP22n9bcPF+/5ljPsdYRGeT2Kfs8ISn+LTlj5x -nfoBeYctA84JXuzT2xkxr/a0qj9d3MR+fFIof/9uneiSIBZvbLAUJ6zQFq9ZqyvOLTYOaDxqF3BV -8OPfPCnmnjzPkpQeHOMrVSBRWJq2ZPc/llK7f/WVr6oylodl6LC1Dxfwh75RKM89jePOvAznrj6L -Vd7oTwna9XGpfPfPnlTPa3d6x3ee/IlXYfSFH8P8TwsuHmt2GYybvJTk2X8+TLHPmD5TjhZyGzVc -s88M87gjuPh/J6iDfhASAz4IwdheKyXY79I//lxA//ypMADbBt91vSYLXLzR/IWzkWhVkk7Q4Xc+ -iifXclc/7+lMe9q8LeLd0Ub6u4/54gGB99v53Qz/svM2gV8KLuJzgkjU+XqOpPbkJMmXv/rQX33N -Ul+8D5If+JsvlbLFTBacqOUfJEeUOlaL6CSB/n5ehw3T+ngRu/tnkfr8kxT1pfspso5Pi+QJ6w2C -0lpMAxIbDBcHJqJxVo7ER2uR9XSN38elDhquhf3ayLlospMcLVBXaLg0vh3lelqY7v5IWOr3V0Et -//VVJv3by0Lub482hn48Uwf3/rgPz4uYB+9T6Cs/R1Ln/qZkr36KVz54Uqjqf5bLHf2opNa1W/i7 -+iNf54WIlbEI9r9LW/sdJSf+1VvSem2mNHWjMdRBy7dcmEPt+uDFHHovk2+5N0+e0zKSK942Rrmx -axLX3L84uOcho758Mz2k/2qx+vSDeP7I10q+74WU6vnGg2q+OU9Wvne8f1KDIdxvM9c2ImsHfz6g -Ly2GT0Fjprqj6f6r0OJV+4Z4fCFM8/1WYHB+uQLW6Pw+ClzAG4GX3BdCAvf/wzkgMlvHNyAE+bjL -UJA0BHFUiGZYTIZheH7HJL7p5hKu4piDKECKnMaNQs4TrNFieEwZhbzcnBDVfMFRce7hSubka07W -dHE2nVQ+jOw/73sfQPZEx2TrMeFpuqAly2977cl3vPFia87MYTrfuCv3PuXYu2/WKq4+TaR2/s2D -qjnnIDv0kx996VMk8+hdsvgbIcJrQHBdtuGm6cLl3VoLVuzSXrxil45rTN8Qr9RjwzzzT5j57PrJ -gfn0sQD24uTeq9lKvfspM/CwsEyy5c0sSfePC8SHBc+g3l+XBqW0mCxe7IJm2o5Cc6ytkdzHG4XF -r9aPWpc9IiKrdBTUiQUd+tGTufIyWjkwkCX78i9S2aG/+Mn2/tVTXnF4kjyr3JSq3jmJPvBETPZo -nv42POjAb56y8rOT6HXdI+Xh2bqy8GQdeXSiDql72fVGHHLi9urgCw9TqNMfWWnjjVnSiuMTxV2f -5ova3s/yyztq4abM1ZzlokaTsG8eNW0ZGu8aihzDajRcN9239DooOHifF5Z6X8CPw9jud347yatw -n5l3UoO+KH+HRdDm3nFBFZ02krr9E8RdDxzFvd86y6rOTKEyOkfSyVvMuPT2kUz2bhsmY89oJr7c -yMfdF3kuXoqkfthfSSVIqQrVlKtDNZmCFmvZlkuzZc0X58i2XnSkt3w5V771/Dxq5zt39vBLjj71 -NU/2VW5oHcfmb7Ohez96q07eWxncP5Affvt8RfDN67mqC/fWynZ/8oS6CiqzzlycvN7Ar7BnhNeG -M1ZLw0u0pi+i0AgjW2Q2FOcDOA+1nyVGrrmXhns+FTz8vhVY+sfvCugPf82VnhfYoD2CqySnxTxo -Bb6WycVG8pqTU+miDhtsB7SZ+GJD0BQMdPFEXvOckGiZJ+LZGFIrRLTjCnbZhaTVjuTFMuSDfx+E -7QZT2Dqaau6fR1UdtWc2HpzMrj80WdH9zC+8566Ka+p35jI3jYAaDKZi32S667Ub03p/MV19coZ8 -53fuqr6vGeW39yrUT2+VB+39F1d5QYe1rLV/LnXyExv89HpZyMcr9dwvjzfKfhXSpX8VkrE/i/d9 -LVC+R4QFvql9w13EYchbuUIjsPXxdPbJ23X8rdcpzImfOXlSk4nHMl8kkYYiUqNR9pU9VX7C3k+m -QgsmTkNLp85FIjdXFKIM14pIzjGNSsoxC1udO1ydUTWSbr+8CPb58scfhVBHv5ZSfT94S3e9WSov -7bKhyvvsmH2vxbCvVr7nZy/plpdz5S3fOdF7/iVA2jQwm17XbknFZ+oxGXUjZJ2PFzF7PgZQfR+9 -pO0D86Q156eIu97OlxwVvCSHBA9R368LA/b8y/yA3YKj10XB2fuDIPL7i6D0/iQE+j0SAgKuCf6i -s4J/0HWBE58R/AM2nbQNTMjVFYWv0goKS9Dy8/VGC6eORW5OTshPLEJ0RIoum5hrCBqawBEBvog0 -LEkb7AWb1WlN4WtLl20fR/RAyromqbLLLdmEAkM2rWmEvOPBImrb8yVMyQ5bJrfFislrtJJjW6g6 -czs27ObpEvr0N0p56YHxsozNpnTx4QnKE88jVHduF8A+SPW1axnMgQ8yWcezhUzJnvHM2lpTecUp -e8klQUp9+jEb4iLfk8Jir6wTJp6rdul7pxwZ5pW0y9D3sDBP+p2QCnv5pHeEcFFej4WPfzDydAnE -bfJE7guXIbeFi5B8VYYeu/uliO97LKG7n7rIV+fqS2RqBDXpUppH6oQsI6hFY3c89A3ee11J6nAL -O21BA0O+/ekymHNUxe6JdNIGYyp9kylTdWQq1J+oOh+LoPaA63siVn11a7ni6BOV6sjDMG7nBz+m -9eUSefvXi9muT56w51Nx7UGSdP/fvKRdL52pzSemymu/nCY78nNA0KXfqMA7OKb6Wg== - - - CBO9FkJxvwX67hfmBm56NCEgvEBn2TIx8paokEiVqiVNbhju6a9AS5zckb+PCnm7+CKX6Y7Ie4nH -IIuGT9D08hYh18VuyNdThGRiGinU4VqhiRnGIQWdE0KLeqdAbZCqoGY01DhyvS8DQg/eWaE49Eop -6/3BXZ7dZEEX7Rgj7/7ORV5/fTaV0mQmS6gwlO/4zUV14VkSe/AdQ2pd1m21hHpmasOe8VTB1lF0 -fsdoedlBO0nHQ0fJwV/dg3b/tCyopX+WePvH+aLenxaKjuBY9qogDhr4hyro6j/YgMN/XyQu3mEl -zm00k2z/eSF99AMd1PxiriRzi5l83dYR8pRqEwkfqeEyfyFymmiPlsyajwLwvKOjc4ZCLRto6alS -ysxAi52qPT2T7nvjq/jivoI//IDnDj5j+H1PZMyu975U7TEHJq/VmkuvHcFld1gzma3Y3rZaUeu7 -x8I8lO7+4E5dfB2iuHw/gTr2g1S6+2d3Wc93y2S9P7oxx75luKsvVvMXXsTKdv/iJk/aaMysLTam -8raPlrY9cmJOf6tWPbtbGv3Nsa3cNw/zJWcEsegrwVPU+H56YM5RSzdRNPJjVmuKUtuHBx0RvGWV -JyeJlKs1peEZOvKQVG0JvVLT1dkVz7+ZaBmOR+jkjcPlPd+4wrwRccEaoJkBusVs2CptdXKFubLq -q7l814AP3dnvIu+6u5Td/twHNCDU+++qZH1v3enSXbZMTtNItqh7LNR6QX08t2G7HejzhF8+nRX/ -uLd19ZOd7WHXLxQodr4XsRWnpjMbTk+hdnx0ZY6/5mWdLxbL9/7gTR18G0hXHpxMZ1WbU7nNI6VZ -7SMkZQfGimuuTRan7TTzVadqelHxGv7KDC0xnawZIInQkCc3mkrXVBu7LhOh8UPM0AicN800HYPc -F3kgd+fFKNBfTHSIxfIQDUoVo0W4OKvXD1dExurQuK3Af1HHlxiD7pYqMd+YX51lCDXDXM+9ANXR -gXDlgedqqub8DHlGuwVVf2W2tOeDC128fzywuiTKWE0Kj1XF0ZdhyoPPVfSO7z3hOlK1F2YyBV02 -dPpmM3Z93wTQDqSOfQgSH/2LZ9DBnzyDDv3iEdT341JZ+f7x0qK9NrLM1hHyhBID6Bd/4I9JFAhq -8/FYt6DLjk6i1pYbw7inSg6Mh7pS2Yp1uv44DvMTq5BckaLF5HWNplseObOtz1xANxv0jIie0MGn -tHzPBy+o7WJaBxZRO564Uj3P3KFenMY2hclrH82mbjajU6tM6HX15vIG7Od3fXSRtd9bELT7g4v8 -8AcJde6Nmjn1RkWffRfCXfh6OXX0g0y6/1cv+uQHhXTPX92ouGKDQC5UQxKyWgvqt+hdP/iqTj5c -GXz7Sr76Rn82c+adSnLkX71kXwoiceWVCd6y5Wi65QQ0zWgsfh6NvAJYJI1epytbuU43KHy1NhWZ -qitTr9V2cfNES7H9XDrfmfDYqKRyY2ZVroE0NEoTfAWfkKKvTC41Jcyo6HQ9LjxBm49L0QOtBL73 -sUR54LGSOfhNEFXSMppOqzSVdT90Zna88QZdQya1woTP2mzJdD90V524FhV+9WR+9N0vakNO9ycx -Oz54Qw0aV7B/PFN/34mpPDyFLe20pWvOzmKqDkzBccIUae+PLtLG6zODMhpMpfk7R0kqztjJkppN -3D1xvuC4CC2e745cnX1QoDRCA+ospbEleo6THJCdvjmaYGSGpg8fjZbg+APiq+C8beMUmw/NhJo8 -1YZjDlzznSXBJX1T+JAEbamcR6w6RptoEQILI6l4uKKg1pprODaX6biyVN4xsAjH0g7Q/7KWO46y -gz/4cge+pWU7ni8BjgKTuHEYcBfompMzqK0PF1HtDxex29/5kLledcCeWb99HNXUP4/d9yKI+eKF -HPqWOfc6lL34IpI+/obBPtGZKtxlI4st1BPTMZreXgzychEjMejcR+cNpRM3D6ezukeBbhQdlTNE -zERj2xGvSa+pNcFjYQxTiB9VF2dA3QrT+9GfLTs4mYrN0aMSiwyZvE7szw/geLDRgkmvH7SRVUem -Ue23FjEdz9yYPa/92b2vxPSut55Eb3v/GxHzxVsZ1GnIO54ulteddpD2fXCBOiDIZWHPN3Pqg1q2 -/dMSad0VB2nXT4vg/Om04mHyhCw9pvzQZHnPR1dqxyc30M2kKg5Mosq+mCivvzZL2vXWWbLnl2Wy -lGZTb1Eomjt5FnIwH4+cJsxEi2bNQR4eHsg3QIQ8fLBvw/GxXxCH/EQM8vESIx8/CZKEJ2jJ02pN -QXsQ7AvUaIPWImj9sXS4JiXFtoeK1CT8uKbz87nOpx501zNX0OymVuUZMOW7JrC7n4pU+wYUMHbZ -sh47Lrd5FGhi8XseyBVHH6r4I8+VzL5vxVTPd57Urh+9oSaMbrm3EK4hn19tRZfvsJNtvebI7H8X -xJ98GSHb9zdvaeVZe3ll/3RJ5zunoM73zrKSPWMlEVk6En61pp88QkMSlqpNrdpsLF2ZqbtwthOa -OWYSWjTPDXkvC8B2U4aAEQna8Mr1u+1V7de8FFtuLQXuGujQgV6hVK5GQWIGER5mbq0V1PqD7gu/ -cfskqCPFfmAMk11vyRS22cjbny6i937yp/q+86Krv3Jg17VYMvgBevFsSoUpqcnLbh5F4pu6y7OJ -rmD5kSlUw+lZdO3JGUxJ3zi6bP8E2Y7XS6mD34qYg28l1PYf3an1h+xAL0OqTtQSMys0pSHp2lRM -mUEQcBt4bJ9XFRqApp4sJF0HdPZA/5FekT+Uzd5mzZYdsaeaHsyH8QWavziuGMMkVgyjV5cZ03G5 -+lRs5lDQjmSL9tnJtz5eSGqQq790kG+7uRBqK7H/C1YdvRPBH3msUp8ZSODPP1xBH/w2SL7lxlwW -+375pi+nQG0i1K8x578Ol/b95CrLbreUJdUOlxd0j5b1/Owi6/3gBvEOHptusl0/uoEWmHx5og6s -aYiVEZpEp6W5f66044ETndM1KigkTdttsT9aPH0h8ljkg8elFIlkNJIpwzXlkTi3XJVvSK/K0Jcu -T9QGBiXReIlI0aHT6sy58hPTQdMHdF3VKbUWyuVpQ4OXp+spuAhN1fI0PXV+13i2pX8RaD2BNgad -vcWSLts1nup6vJTpuO/C7nruB3WuXMVue9ATpLueuCr23JcxB55KZbveuUr3/uBGH3/PKC49iVec -frqC3fNGLNv12IVd32PH5taNpKoPTZXv++RLapePv1XKD/6G8477c2QptSZUSp0p1flhqbz7/TK6 -4ZqjfOOhiXROm5Ws9PB4eeoWM1dXEXKa4Yi8lgQg4HgC60smw8/Y98jUkZpE86N4J9HoZGJThoBm -KhmX2G6ytQcdmJ6vvamu/iV8StFwblWGAV+0xYauOzmT3XxiBl2P/7/e7zxlO79ZxuU1WzPrqs25 -4v0TgLVBZ9SYsxmNluAn2dwtVkRTZx3OB1NxLF64Yyybs8WKaEmm142gEzL06IRCA6K3s/FLe/Kc -vNmEWp45BLTm4T1Qhw8aVbIVGbpQJw16e9zGo1P4iq9m0KsKDYOoCA2RLBjBeKbiCwy4nHZrmC+y -vu/cZfs+eFM737pRPR895R3PlnDr908CbXfQKWC6X7qDxhpoD9FbBjWsqd7X3lzPi0D24HM5e/yF -ivnyOSfb+cGV2fTlNNCdA78h33J5LnXgfSC173tfecP1OVR2pxWsq8nTGs3oCmwzO58tgRiCar23 -EOrHQc8ftCNlSjzXwuK0qHWbzWBtQN71cgldf3UutbxwqJ83j/MgLxTgzyMuaeNwbn33eNCm5Aq7 -x+JracGl1pnDNZbFZg2VBa/VlobHawGzg24dcAZWD2gCKSp6p3LVX80BbR3Q+yQa13ldY0F7lGhp -Y18ha7k0V9b1ZDGej85M4/HZbPPFBXRb/yJ++z0/Ve8DGdd9y5vZfseT2fWtD73/GxF34utg/u69 -DPXz6+XqB1eKoP4+9MKZNO7oYwXYXCa7cSSeu47MnncBUItL7/3VX5bda+XpTaOlTsuQPK7ckOn4 -xo3t+cYX9MWovM5R8rIjE+TJTaYQi3q5AbM1GIG+DdGNLNk1ifAYI7OG8KsrhhPWw7p6C9CUB64S -8PDA16mPXlvO77svA10YJmw5fr1kOGii07vf+8l2vnMFbTNqy0Mn6F/QogNmAROL88rVpcZM3jZr -pgD7WZxfsNhWMJn1Flz6JnMms8GCysP5UfImEyZ5symzttqEjy8wpFcXG9HYBwMXF7ghhAOqjNdk -02rMob6V6v7gSnW/dAEdD65g2xjCKqrCeU7zNSfgiwEfD7i8wGYCjSE2uWgYaLgwe78O4I89USoP -PVJxex/IIEcAzWhYOyEaQuV77NnSbbag9UTXn5sD2jPABqFxnkT3ffSl+j55yzqfL4I5AxpmHPBn -EnMNuYJWG4hbqB1vPdjifXbA3Q3CuQzkZMAAYst2jocxChoaVHy2nkiqApugCZrv8pUpuvKYnKF0 -ft8YPLdduPWHJosk4chzqTcKCOIRFZ6swxduHQM64qADxMTnGQADC/QJmVWlRrKoZB1vfw4FstEa -+FrYgPYQaLrSoYnaoCXDEv3snXZESwWe1/dO4su6J/IVB6YRrZSNByZTDWdmE6bI9tfeyj0PqPAv -LkZHHTudFHroRiTX/diX6FHgvuYOP2WUlx6tUr28uT705YVqqJUDrRLl/nss1OUDj0Fe/9UMOc5B -5FtvOMm6vl0irzg1WbqyeKi7qwQtnrYA+eKcADSdiN9cXWQYADxiVYKmJCxJ218cju1mOGLD03RB -eyqi+bxfcMsFD6KdFlNoAFpRwC0BDX02rdqcXpk8BPy26ovb6rDDN2K4muOzQJcONJWo5nNzmYMf -pcyhH2WSHT86M8UH7UDDnqnAMWXtV7PY5GqzIGWkBsR6bMleO/CzkFfLwuK1QdufWrPeCDQCqbVV -w2XxOdhmFhiwcdjWpWw05UFvMr15pHx5ik5gIPaBcg6BTjJhrOHxBBwrWHukQEsI+6FBxmnLaOAY -cCkFw/h1ZWagywjtAg4qaHHzZXsmg14d9mGugxpZO8aD1h1wi4hmVHKlOegYgtaHvOvRUuALEBYs -8FTrzs6FuIs79Jz0A52YbygPidaiQmIHuY2gsYx9pXzrwAI2pclcrIjTDGKxbWQiNdio9CHgQ9js -Zis6uWyYJDiOMKRlEXHkOgDzLChkpSbR2SjotAEfATGKSMIjOmy1DvCLcJ5iwefWWAETC/w5cFjp -uEw9WCeT8DGaOEbQkEdk6DJrK02Y5RlDZFwM0SniQCs/u9aSK9sxAefty0A3kd3+wIfpuO3C1R6b -TTTvNn3hAMxOYPcpd9+Xh506vzby9FdpwXsH1EQbsu7cXJij8ubzjuDL+VPPwvirzxOgTg9yeNBx -ZUJCsS1bqcWk1GL/uG00k1g5DNaq6IwtFpAjBMjDNVwWB6CFkxcgz2WBSBqRqiNTrQ== - - - 0vLFuau7jwTH0jiGVEQT/rZEHqoBmtygPw36paD9T4cn6cjo5Zp02BodPq3KnCnfNxlsIOg20Q3X -56n2PuBVu58xfOUX04l2YVHrWHr3a3/++Itg+uRfuKADghe9/vBE4neAT5bRPJJakaQTIJEi4M5C -XT0w4KTLM3S9faUI7CLhlOE4gM2sxj49Rx/YnHRkrDboYhJeJR5foAkllvGICYvR5hPxGEsuGs4m -4rmU02INPALQLlJsOuhAdJlxDM2GrdIhelVVR2YqK/c7gC4XMKvY6ARd0Kljm68s5Cv3TgN9w0G+ -YY6hMnH9cOB1A1+DbrvuzHbdcYfYDDRDCTc7t8kadDAVBx4r1CfurlTsf8jSLdcWwBwGNgGFryVw -U0EzlUmvNWfiSgzkEWt1gJXBJdcSxiaMMZiXEi5Mg1qZpktYQkUdtsyaEmNpCI5PsL0D7V8G53rE -l6dUm4HWu7Kg147wZgqbRwP3iTBdof04bwGtdGB1ybCPAN4Ws2bDMCa11owwDPLabZSl++yJnhSs -c9Ydncl3DXgpd96XKLbd82LrT86BccnjB9wzB3/ObLmwgN120xXyQUXPCxHV9WQZl9WCr1OtOTBl -5G2PF1K7fvACzQlZ+7OF9PrecXxOqzWcm6+HF55PLGJiig2olXl6QYp4TSoqTZeKhWuRouMr5nDO -446cJs1DCx3mI09X0OUM05CExmrRKTWmzIa9E5jkShPQiQctVcIRTikzVWZVA7vPBHjmYpECge4T -4bOBPhW2r7AfBXweaAtxHXfdQYuZ2KbELEN5+y1nov9z+l0oc/x7BdX60hmYY8yqcmM8NzT9ce4V -GEQjGIN093N3ed3ZGWAnvb3lyMdHjIB3RfogpcocuFOE4wRMZnWoJugdB1FKJOPDNEHLm2hEJ2Qa -cqtS9ajQtTpEUx7bQ6710mJV2zk3fvOXM2FcM1FJOqAPxjZdXci2X18Gul9cdpUFibW2XFpAd9xY -DBwGVV6NtbJo2zjgAKjKD04HrUO65dJC5a57UrrnG29mTamxPCxWm3DOS7aOV2zqnQbcQbbnnR/T -+86f+Prup65Ei6lk9wQ2ukSfjcnRp/D8k+L+AF1prvKEA936eDFf0+8EWnHAUYM+g7U00CZid77y -JsxTbG/YrLZRbE6HNYnXq07N4LY+d+E7XnqrOp4GqDoeBjDbbi8FFqIirdKcK+wcC1qGoKMH+xlA -35jJ67YhMcfGo1PZhuvz+fZXHnzXSz9V1z1xSPcdqWL7XX/QT8RzeYaioGWMKrd6lKLmyBy247ob -39bvjsemE4nJcGzDlOwYh33dFKKnF19mDExMuv3xErbngz/X+y4Q1i1gnRT0oJmSzrHE7ydiO71+ -90RYn2Fy+sbI49cb0Mm1ptSqCiNqRbqumA3VcF3igRYvWobgnpCIWq4BLHfQAmO2PXEBHV9yjXBe -K5GyiI6M0wFGhbLmjBNhoK2tMCVsWjzP4VoouwcC2MYrC/jcxlGgI88lFRmT9c7CrTjuyjNWJKTr -4+/HEL2+A+/FzOF3tHT3D+5MxmZz0GQUK1Zi3zbIOWTWVgwHnXR2/cHJYBuAnQi69FxUvE5wdsNo -dW67rTq30QZyMDoM7Hiwhn9AIJJzIRqgxwh+E/S2QIsb9IbpyNU6RH9yfe9ERdP5RVzz9cXAZQXN -UcKAB+1XHA9yZR12oKUpazs3jzvwhFL23JfwoMWtjtEiTBvcLyG9N1lF9x0/bFedme6HHtyeBxJ2 -09FpdHKhEWj4s0mFxsA6hmc2IccAYnNYe+AKt9uC5jP4E9AZY4r6xrHrukbJo9bpAmMP+4zhoMtH -d37ryjbeX4jHkC3kfnxGuzXRrut+6C7fdscZcl5gZsG6GFmHK+4ZB2Ne1fbAC7Te2M5nbmzr7aXA -PuBXZA4Frh+wZphtt5bJux8sAZ1QWBMh9heuc+luO6bt2VLVtke+TOcrD/x+d9B9UK+rtOTC1+jA -vIc1J+XmI7OZzgFXZc9dSXDPPUbRfseTbrmxEJitXM0hB9C644r22BHuVekXUxTd3/jzva8kzPbv -PanOl0u5kgMTyfpxaa8d0bfreyFWH7kdqfziSTC9+cIMch8jsXo4tWq9IeS6QTgHBO66mFuhATqI -3Np6Mx5/PtGRBGYMHndSdrlmgI+M6B0DWwX0C1UVR2api3dM4taWmyhWbRyuyGy2YtvuL1N23PVh -a644KjM2WxItZPCvoHe9Jt8YGGfc7+wsqgnHZftfSpTHHkYQTbX8bTZ/sLMgjqKVa7A9jNPiVoGm -aIsltFeV3T5GlVpjCRqo6uwmG9CDBV9LmBvY34IuPmHhpZeY8LVXnJRb73sFt971UzT3uxCW9+oS -Y3VGwyjVxiMzgPEVnASMjVQ9wsHG56VKG9TiZjf3TuH2PZAozg1Eq89cTwAtbl9XPyQKoAe1uLv6 -vVQ7bwcpdtwPpDqvLiJa3JBTdjxdhnPoOaA5CPmIck2eMRWGYysc/xL2Is4zaOxvQJteVdQ1AXw9 -6AUyGw5NouM2GsrCU3Qg7wF+iaKgb5wib/c4wrgs3T0ZYgXQLCJxxKZDU+EawtiScfGawOWD8a/c -es9T3fbEV1l2dDrEv3IuUiOIDtVgwG8A8wpYDdgvMzVHSN7DJ20yBY1LfL11gWuobMPXa+sTf2XZ -iRmgow73kMCPUXy0Jhu6WkeZVDiMaHA2npynar/vG9wxIALNXdB5Bt4R1Y3tWcN1R8JFyGq3Bu1g -uu3FErrmymym5PAkpuoszqkO2rMbD02hdjx2UZ3ojwo/fTpZdbJ/hXTPJ3e6+vQMZtOlmey6NmJj -gTkH9+nY/HYbWNcDPgLo3wG7g+164QHcE19PP+Ttie2qlMNxaIjGH7w51aoCYyYqQQf8IuFmra4w -AVYKrL8ThkF0ph7MO2VS3jC+EvtB0FgFXW7CzsL2q/Out6L3vhQ0+NieV37yDhzHADtrRaG+LDxZ -G9iyci5WS87GaIIetyqhyFgVnWcAjBOiKRuWossRTds8Q6KpvKFnAg/63MCASCkZDhxu4Myotz0I -BMYKYRuvKjEm3MLCnROCkytGhMTnGANTRbGha8IfWtyKsp2TqN4X3urj15aHXD+XzR1+wcCY8fOQ -oEFO05aRwAUiWtwb900mPGywA9ufefN9TyTBOx7JuM5Xniz20YSdhX024QxlNo8CdpZcFUHYWco/ -sbPkfd+5Q34I97dEARSJlQbZWcWEFUDYNkk5RsCmIGx4okvbPQb0n2Hs/cHOUrY+8uC3PfMg4xjP -cSkbpynHYwtY8/AeJbAa1lWNgHhaUdAxFs6JW56jx0VmDgG+vKrlvgff8cILuAf0cnh/rKaMjdAg -/BZghpftmgQ2huggVvZN4+pOOira73qCri7X9cIbNB6ZtifLsM8juvNUzX/Qnbf+N9357m+8VEee -hYdfOpur3PlQzFbum0LWDYHzULRzLJ1cY0rWFSuPTGcaz82DtXBp5Fpt0DrmcVwOfl3V9VAMfQ77 -rSDmJLxi4OACE1EZpSlTRpBYj2hzr1itC1wkwqsBHnREkq4iDo+b1Cpz0D5X7HwWSNhZxfja/sHO -Kgd2Fo7vVuUZKfObRoNmrCoD+73f2VlsbLGBFMfBgR5yRHMRmqwK/1/BYVpceJwOaC2zajw2V8J4 -rTAlfDzsx8iaSFLJMCp6pTbwmUDTm+heN56ZR7S4gbOF/TQ8ghNKhwOvLjizepRyQ689X3dhAQda -3Bt7JwP/SrnznhhiZLiXxWTimCm+yICPHtTiJvyhlgFnojMLzGfQuYbzrjrgAJq1sB+N8Hvj1ukN -rgOnE8aHOibXENhRyoRMg0F2Vq0Nu+uhP6wPcinAzlIjiRh4JilDgNMF992AFwZ+SBmXqv87O2sk -sLOIXukf7KzIzKHqrG1jFNWnHdUFfZOU2J8RHf6V+fqE25XRMoowFDM2mgPHUpVXbwNa+qpMbAtx -vyqiCw3I+K4+Mx/ej/3hsMH35w2+P6vTBjSrYXyzCXisppaaqDZ0Twpu7/cL3XpXRPKmrrv/pjtP -/6E7v/up9L/qzj9yA9159XHYe/FCAT4NGJrKrK2jFXndY+XLU3VhTUK+ct0Qbm2VKfh44GaJqDAN -MR2iIQeOWuFuO77m1gKIc/mMjlHg/4DtR0es05UxIRpSqQLhcaJNOKxrioYRFntKsYkyd4uNKqV6 -kNcGc37DoalM1xMP4BLB+qIMxz3AlgHOudhfjgI8fQg7S8YpNeTMv7GzxsEaEfhEsUiNRJ5S7F+i -NME/qSLTh6qWZ+ipotP0FJFrh/BR6UPBRgOLm/Cpc+pGKfO22ID9ZBPS9cDfE94FvrZc01knYPwQ -ffq1G00hblXiWB/bganK+hNOik37HRTl+6YSZltxy1hmx10v2HsDa6Wgxc0lV5ky+DOBb8a13XWF -mBTWABXRufrK2BwD2DdC2FhFXeNgvYWwf3O6bJi1G4ZR4QnahOWEfSbxkX+ws7bddeO77vnAWsof -7Czwt4q1m81gPPMZFebAKwN2FvCSITf7d3ZWwSA7S43z/ZBYbfAv6uSqEXxEsi7MXdDwV66pNIUY -CGyuqmDLGMIzW1dvpc7abIVt4EjwHXx4+hDC3sLvD07ZZAHvB731P78f8nhl8bbxoLlNmH0Qa9Sf -X6hqP+8eXLp7qiKz0gJ0n4H3TFiw6/dPYna89+J7vhWDjiywY4GNR96PfSesATDNXzkqNuyYNMhd -T9QGViLwB2A9EO55BVI8EvORmoEyBZJwURqQO8J6tkimRMDE5rDNYKsvzIZYkk8oNQqShKLAAAYF -iKSIUS/XUmWUW6iLto4DDjrk5YRtCn6ndJ89rB0QFmzp3omgYQ97CiBnpfZ868vVnp0LvHlgZ4lg -ryQXrAnsLDnDIQbYWXiMg30i7Cxf/P/hB7DfVWvLzZTJBcODY9MMQqILjYDRyEes0mUjEnQU8dh/ -ArsL22S+rHsCMBCBoUbWzoFr1jqwlGu9vgT4rorUOgt1bqctMCr4jlueEOfDfQ6IqUCbm/AJN7SN -ZzoGXMG3EEZCKY478raO5lJxG4HL0XUbx1v9burs+tGqmFyDkLQ6q+BMnNdv7LFX9dyWq3ffVyh2 -PpfQoJ3ccseJsLMIv333JKrlImFnsc03nQk7K7sZ2Fla/jAXlQmaXO4OG9DqJmzqDbsIO0sF/GRg -ZxUMsrNUf2ZnJfzBzkoewgRHa1Eszi2VOG6HmBfY8blbbUDfG/gbEJMAC0yVUornZ501sBXI+3He -wS/H7w9ZqUXRERrApYKYgXB/4P0VR6aRBzA1cFwyqHO8c4ISX0tFXK4B4ZNFrx0CzG9F5hYruuHi -XLbvjb9825NFwD+kQpZrwf5yGj8gVyN5QtzaoXRouFaArwJJaZyTR2YNgb8RSSgkU4dp8usqzWEd -EfwP5G/wubCGAdxpKgLHP1lNVlzlF1OBVwFsbn8vOfL3lSOIt9noFGyPa6yUG3fZAw== - - - y5fEldhv82BP1mObi3MZPq2aMP9gvxW1/akrv+NZAGFngUZ6bJqe7N/YWam/s7PW6qkJO2vvDEX1 -SUdlUulwmTxUA84deNtwr1SVUTtSWbV7enBRx4TgpALCtyb5eEbDSKLH3nLVmfAKsB8CLg3Rsgde -AWGT143k123GsVffBPCDbMu1xfy2AU+m7dpSuvncfGDAk7Uw2J9DcpltttAurvarOaAlD/selWWH -pwOXVLnjvoiv/2pecEqxGRseq61emaGP87XR3JbriyEG43AuO8iXHGRnMYSddX8pv/21v6L3WRDs -QYb8gLAwVuUZ0lHZQ6TLU3Wo6IKhf7CzYH0JmAOEr7S+Y6Kycp+DMn+zNfHv+S223OY90xS1pxxV -ZQenA7tSsSrbEPaKwRyHdRNVXrst23BsziCf45Qj4caUtNrC34LvUACPq/LILNWGA1OVOZutwBYr -4P1h0drA3wLOPdd80oltf+AC62vknjuwBPOqse2tH6lMqjYnDOfYfMK6V+e32fJlnXZw/4KB3GX/ -IwquKVvSacvGZOjJ2EhNeXCEJvhOEv+Cpn96pbm/F4uCpGEabPg6XVVcqTHkt6qMzSOBeQI2mdt0 -YJqy60Eg0UGGexUrsoaCzecSS43BF1KqBC2JLExDAnt+sO+BWAr8mCq7bQzxkdivEc4urHnivA32 -p8F66SC/pMeO2XwctPWdIOdi6o7PAg6BKr1hJOGD5bTYgN8JLmkh9kFZcXimAueqwMCB9c1BpnCl -6SCHCvtQiFNrTjgC+w3iAMJEAQYPjiXAPkCsCftOgAUM4wtqLIAZDNcbGHUQh7D1R2bxDZcWQqwI -91WAHQ9cFOD8sDXHZpKxCWyZTOKLJvGtt1xgfHJdb3zgfp2y675/aM8dnsP2E7h04kDgJ0ZpEg50 -0bax/JrSYXBPH/qEScjSh/tSTO2p2fSW6/OBnaXqe8zIt79wAXYWu2nvFKj54Ip3jedyOkeDljVD -1pxPTyHsLGCFwHpWOR6fpV24Tbi9wM4qHGRn8Q1fzmObzy8AH0HWW7HPV+U025BYE9t9YLZAPMw0 -nXTkq3G7SzvG8cWd4whrvrhnorLuxDyu6dwCwrWFey5JJSbqHJwfAMOvrNeea+935TvueNId/Uvo -rfizqo5MA54dcD6A96TceGyGKn2LFRMVp8NX7Z0GaxrKPfdoiIvI2kb3Uxeq9eJ8wnfCORbJNTYe -ns63XFvKN15yhjhJLA1FtDpZmwtN1YU1H+XqfGPgoCpj0vRVKRvNuW033YM7b0sIS2ZdtQXEAjTO -h4IkOF+X47HNqBAwjGDdGHg0sK5BYjDCOc3UV2U3jwZ2F+R8fG67DTA3+OKd46HGhKwzFfTasTBe -Yf0yIVufX51rCHEYYcDgsaSo2D8N7mcQxnt8vhEbkUrifYjBFCUHJ7NN15xhTURR3DUemN/gv1ls -44AtBNcV8lFiFwuaRgOzmtS51FyaR3hB6RWEgapKKx9BGMy4byAO5Wuw38Y5GsT7hGMDcVFxhy2L -rz3JjYCHm47bicfp70x3I27ToemwpqE8+EipOjigZjvvuHHB8dpyKY/g/hVh1OTWjiKML+C8QRwW -V2hI1hP+xM5i687MJXlbfvNovvrYbIjH5W13F0L+Lo9K15XjGJ9NbbEAVpqi9HcWJ8778Dwey/3B -zipqHwdsIw7m1JbThLGuLNxhN/i5nWNgPJBcEDjUFbsmc9WHHNjms054jC3k6s6QmIWsWVX0ToHP -IGy4Ejzu8f8HsQCxbcCdwnOUrcS5fOfdZYp9d2l63yt/qr3fGfbYwT13ZfmxGWTfZFruMH7fPVno -sasro46eWBW+/0qUeudAENN92w3nQ65wzmCLlNltNrgvcRvwtV/fNRH2unHLc4YqSvZNIjlz81ln -RXqthUy9UpPBMTVhWOd32wJ3i8XjB8a4nI3WlMuDcWwoQzKpGjFR6UMgPoZ2MU2X58G6BM4nh8go -lQZheeL/S7G+yw74VrB/iTCJKk7MoBtvzAPmCDDlSJ0DzmVhLYpdHqsDrC24noqqL2eylV9Mg7V8 -8NFsdLYepVqtDRxluIeuKNk/mfBRyL1eYFK1jgXOGqxtQy0ZX33GEe5ZEeYhrGHCuCg9NlVZtHsi -cKhVedtsYf8NV392MLYk86hnkqr8CwcY96SvYb0JeFwFLWNg7Zrvuu+H7fcMLjHPiI/O0GPDEnUU -KTUjYF8Pu+elSLX/kUKx45GYbR5YRJg9sIZAuNNHZrFtN5ZwrTeWKtfvmkyY5sC8xTEfiVkr9k+B -/YVgAxR5TdbAwGIbTs6ldzx1p5qvzIP7u3C/mdQ6xhYZEJ9Uvncq2HmIpRRpRSYkTslqGKUqbLMl -94Swfaebz86jGo7PhOsDnHXI52WKOE3gVxCmCvYrxOaVtMEelsmEGwTtxvEj8RF43rOVe+1ZHJ/j -vGUuxBNSDtsnHIcyyzOHwHnD3jN25zMfYADSsG699fZitv7cXJgL4L/Yjd127LbHbrDXU7n3EcPW -nHcktjpzswXErPC5xMbgvoS9l8B7gn0BxO/B2hXk/W1XXcGmknvToZFakPeCj4XPZyITdGBPBqyF -A6eIDVmjI5MGDzIRMxpHAlMF2gT3xpioldqBfr44plUgfg0eF3CPOXWT2SDP/MsZivI9U2ANFe5B -QsyoSCwwJkws7KMhRoJzU5X0TlbUnZ4P6zOKEjz+8PkpSw9N4dJqR8CeCDYuW1+RBhxL/Plgv7Ja -R4GfVADLPiHLANYv+dpT84B5RPhBwNoCNlxG00jIs8l95Gzcv8AgA15e9QEHiEcItxqY7cXb7XCO -QvgccO8cbDlh8bRddwZ2EbyH5HuQq+JxCzEQMCDo9qdL6a13F4HNU5TjWAK4SuBrNx10oDufuCp3 -3ZUBJwbu1RPWV3KZKdl7AmuNsAeobK89V4LjWuAbw89gn4C73Hl3ibztxgK6/uwcck8nFfsOGDt4 -jg3yjVusyX1AWI+AvcOZDVaDMXLLGNhHQLVdIbETX9ozgQpP05Gr1mhBLgHcKog5gAnHZmzGfqbe -ksfxJw/7rcp2TVTm11uTe2X1R2ez7deXcvXnnOA+PROepSvmVmpQK7AvK9puS7VccYLPJ/drsvB4 -yG2zhjnGFXfb0pv32lPt15yp5kvzqaYLjlCLysZm6gEfk41L01Os3z6R8OFgD0n+rvH8SuxD4/IN -lGmNlsAqVABLG8ejXMV2bEP3TYMxiXMuQ7j3BvYFeFOKVekG7JpSY0VKhRlf0IVtVNtoss6HcyaS -b+D3wTUCvrTYX4qCZBSCOBpyE8h34bpDnAT3Wzk8Zrn4dD0ytoExja+ZoqB9DOzl4eMz9ZXgz+uO -z4N4BXhakA/Cni1lcbcd7N2AeQXnAfeLFalNFpA7g/2GOJJw09duNCV7joAFn7rJHPsxc+LngfeK -bQqXXmcBTGfCE4b9itkthNmthNgHOLewRruuzIywmogN/nI24bzCmgmOQ2GOc5uPDdojYJ9iG0c4 -V8CKhXV2PMcUKfjaFeBxhvMTiItgDOIcaC5Td2o29CPEhEzLqfl8Ff4M3E7CEwN+KPCHYZ0H1slT -S03IvVIcEwGfTbH9YSDU0TGpON6GvbQl+Lpt6JsELDrCK4P7dBkbzSFPAnYdzG1yHcA+bDo8jewH -3rhnAux3BW4iMAhhvyDMLxIj4GsL9kqV2zaG+KWKgw6ECY7bzG3YNp6M07KddvSmE9PoimNT2NQ6 -c4jnSNtg30vrDWeYT4SxtXyVDnDCpb1fL5V/8UrE9b4K5Hqe+9NVeyczy1N0oT4E4j/cdxOB04P9 -wBQyH4E9mFBqTM6bzOujM4XPx+fj8/H5+Hx8Pj4fn4/Px+fj8/H5+Hx8Pj4fn4/Px+fj8/H5+Hx8 -Pj4fn4/Px+fj8/H5+Hx8Pj4fn4/Px+fj8/H5+Hx8Pj4fn4//n4+JEz3jIzxCk0KNWB+jia6+84Lx -z9LQNUmRiUYio4nBM10Tkzyiw5OiE+JDE9NsneElNjCA8vWwdba1DwhNi0wMnhXsGDzFdpGtvavv -7FnB+A34t1Nsp+M/nTVjjqPtTGlkaKyt/eCH2uJf24oTo5dHx+MXZeGhsZGDf7oIP4woOIUFcApu -iWvXrJCEJuG3xA++6BaJ3/MfXran4uND4yIjbMmrtvhl23lTjGbZuuIHmwLfRBqtxU+zbWeRLzYN -/+CHv1mJX0qxnT3LNtBWoZplGwF/LzVycFroONt2wSz8Txz8MGvWjPkLBn8O+PPPg88B//b3//ln -8vfx//7f46fVg5fWKzo20nnwW9Ka36+z/RR8Pqy30UyPyOTo8Ej3QM7flhUZKWwdyPUjJw/f/Okc -5iyYMXeWk5OtynY2/nn+HGjdin/yHfDb39/1+9MCW0d8BrMXkCvlaEs+wGjiRHKOMDacbR1nz5/v -ZMT66vv4MsjTPRD5BjIoUBahIWGWa8IjkA/TFFOhGqKgcI1AcZSGjz+PvDykyM9fgaTyFRqyyBxd -qJuUR2XpyqMydaURyToS5WpNT1cxWrbYB/l6cUhEx2iI1Ks1RfIYTS8/Fnm4BiEfLwkCTTWJaoWm -NHKNTlDoKi0qLl9fvrJYXxyZruMvDUaB4jAEOlKy8CRteWThEGlIqrZ/UDD5v/2CVPgzZMhzmS9+ -lqIgbrkm1FHAnveAgBDyN0FctAYdlaYL2iiq9IoRoIGkzm0ZA7X5UDtLdH9j8wyghprUyqwpN4F6 -Vag3hr3MUN+pKmweC7UrUF9Jh63WVkC9NWioxGbog9YsqdmsOjQL6jyhJo2Py9Inmhb4WbEyXU+x -CjRPaixBn4poncDfQ03TitShfNQaXXV8kbEqEf//azeagsYJsyrLgGgtRKbryqBGmVZrUIpwTdA3 -Aq0CJmK1DtQoQh0yF5moC9rbUopDVGisFpe4yQTqc+jotbr08kSiSQOaXlxMph7UX4Imq0weoiHj -wzRYqO+Pwe1PSNdXZlZZKsv6pqhyO8dCbXOQMlqDCV+rA1oNpO2lOyeqoG53Bf4cqDOF65m4wYRo -ImW32SgKdo7jsltGMWtLjNmkKvx6tRmXVm3OLM8dGqSK1wIdWG5VjiHR4MhqsiL7yokGTrEJuSZQ -i5DbNApqo2A/Ptn/DtoP+P+hg2O0aC5EE/QWJarlmqDLDbrO4qAoDYk0VMNfokSg4SSDWgculuhD -BgYoUCDwEXzkCOpRZYo4LTluDx2Oryn+GbQ1PT0CENSrgk4sE12sT0WX6svDUnVAC1wMeqjiUCRX -r9QCLU0/kQxBPTa7psokKHy1ll8gj9y8xSgQ6mVD03T5+MphXNImEzauyFDOJmgC8yFInaTli//O -1x20fkM0QPsIzgM0jmTBydqMapU2E5Wqq1yZa6CKyzFUrC0ZHpxdDWNurCKj2gL2r8txe/E5aCpS -N5srs7Zaq/I6bEEbQZVSYQ56j0QfK63MHMYPF5uiR0en6CrXtYzC19daAToX2U2jlQ== - - - 9WcXKqpPOKqyK63gbzg8drj4VD2oUSBaJwVtpO5+UOOgZSyM+eD0Giv16kwjVWKqgSp1ozloIBCN -hzX5xqBBwYSu0QE9Q9CVoYOjtZjweB2iMxmTo88mZhtCfaY6q3E01A3zSQXGiqgsPaI5lNtgDTVc -ytRKcz42S59ZsUYXdL5IbQ8e+/TyeG02crUOaEgoUvHYSC4xgRp8VdneaYrKQzNUKQ0WfFy2AZuQ -pQ/jHOoCQd8IaktI3V9anQWpm4gtNISxqcztGEt0tBouLuCb+xdDXSSXPag9wawuMJSpcF/g8UBq -mZPweIZ63uKu8aDNQPhw8Zn6pHYlvchUldc2lltbOpxbmTKU1KZAHS3uN1LfFxWrw2Vus+biCgwk -fKSml4sftpFeSMrg+aZK1pbyq7TkfAzuyyRtCj+k/ErNQBGPRP7sIBNHHa9FNGgiU/CcD9eQUGoE -+q1wfqD/ykZkD4F6HiauxBA0/eBzJFSERhCzXIPoMuM2QA00l1xrxi3P15OpErXg/wCdC6hpVsTk -GYDOBOmflVD7N1irDfqVwE9iY9KGKlYWGciVq7RkSmxHgxO0FSvzDZSpm0eoEstNlXGZBsqYND2o -bVWnV1pw4VA7ka4LdbNc5iZSewYaHFB7j/tHn7A2cD8QvZ/UcnNlUpkp1DISbb7kuhGknzLrR/KV -x2dC7STUdkNtqyINX1fQtMC2F+pPVCW77VWbjs1Rbdg9RUm0IbZPUmVCjX2uIbGB2H4O1gFjm4xt -JtTewLgida64r9iY9KFQxw5jRpVSaAK1sKSeGWpVCraPh1ohUu+6tsSEjDdsl1XJ5WbKpFITRWKu -Edg5+CyiswV9nlFJalFJ3fiGHRNVRb0TYa4pi7dPAM2swXrBHjtSb1bUOVaZ0zoatHvU+TvtyP8F -Ogmrcwz53JbRULtG6qdLusYroEYQ6kyy66z4ddUjiJ4w6IHHZusTDg3RLm61gdo3PqvaUrE2fxjM -b9CJBbsKWmJwrrQa9yWMR6j/wTYDxifoXbDL43Sgdg50JmBc+XmJkV+AFIEmlJzFY9GHRoEBaiTn -8fuxTaLD/w9r7wEW1bJtCy/BnCMYt5hzzhlUQHLoXqkTIIgBUVBRyTlIzjRNzgiIOWDOgCI55yBB -knkH9zln/TUL97nn3Xv/+879vgdfb6CbLb1WzRpzzFlVY5wZwRebywH+YB2DoxdHQfwANvNNTshT -RyyHw1lqLT0+YcCYydFH7EfSx13GgE4u/G3Qq4cYo4wvjoCzwzC34MwVPid12gO958BJDFzfaa/x -wvNB00C/CHR6QENDeC54KugEahxUJ0jRSTkhnMM56jaWNLYeDnofWFcV5V6sK4GwEDBCZGE3FjQX -hGc8JwE2gnYpc8JxDJxxFF1KWQTnoAEfILYEFig+0Xjic1QusXNA5wfO57JHHUZjPbILYfjMoMQ7 -ayk+e43GTeQgmzXEC5Lni3wyFiN+MA80ikS+GUtEgbdXAzaJfK8tBywSX/CdCtpajLnVCHwODM0D -4BaC42dHwVlXkX3ADOHZgCkC2/AZoCuCdc1AGwHyoaMUzrEthbOQYg8US3DOFs4povmDteSwbht6 -LxAPdpEKoBEF1wRzCc65CgPvrMZneCNfboLzXXAeDc5NAZ/B2jsuifPg3wY9cjjDyljDWULX8UIX -FHdw/g1i0TdzMWg9i31ylogdk+fB+X30txRhLsGZKYGV90TQo8dn6EHL96z3RJzTbaWKMFfoU+je -n7YfC2f/MKYirAUdCNLECo3fMawzDFiH3zeMB/p/4Nw53A/QU+cxkmHg2cAcR3nhhPNY0Kuljc4N -Zw/bjQSdJtDYoxAukqLjcsBf4Cwk6GyArhNo2IKeAjww15Gg+LXyGY91BZykM5kL/lPgLDWJuAB5 -5OII+tSl8aBlxfrdXib0ubMc68iZnhvBIizFZ03RnDQCXgeajhC/NjEKcB7eEHTVmCNyWKsA4SRj -bD2CEh8Z0vlG1wJ5Gc6FYy2AkxcxDxRZuozD507xdUcqYA4IGHkR5XJnxAldY+fieAatGfQ6jD3g -IP7dC1IF4EKgUYIxyi5mFj5TiPI3cDsYQ6zJ4oR4nG24AtZ4svGaLDrvPw3rKaHYAIzC+fcMihk4 -ZwgYC3PIKXoWPtMNela2l6aKPVIWiDySleA8MD4XieYrzEvQrYRzgDBvQM9FiPUhEn6B94l1B0Dv -GsUh6Ofhs5BusfjcI8TGP8+8+t9cDjrMoGnFBNxZDjrboCUC5xrhK2AmPqMJZxvd0ubBuVV8HhPF -GmhRgBY5aLgMaaQhLEf3AsXXNMB+0JRlznhOwB4bPlcWgaYLnK8EbgG4J7BynwDnFXEMnEExez5o -KtZghOfOeUwgTziNpk0R9oEGLpzRd0dzDOExPrsPGmSnPSeAph6F8I+2ODsK7g08AEvQPZ0iOYXy -BcqvQtDVs7g4ZuhMKXoPwU/W4bmFagDARjzf0GuABcBtBIGP1tKxJTuYsKfrsFZx0P2V+Dzkad+J -rH38TNbv4Uomvn4PG/5uM2sZPFHPEHDaQl5oF6EgDLm9RhCetw7OmuN755W5AM7zgy4d1k4EP0tL -xC9t0LjaoPyF5qPIIWa2xOPyYsAqwB3G+Jg8aCphvnQJdCNebBIijIPYFIFO7EW/aaCjiM9yonEE -HoTPtKLxhhgBzQp8PhvO4cI9QfMD67AgLiQ45ToOzrNibQXAKBivM/6T4V4KAfOwfvmliTCP2Is/ -cyzwfjhvCjEDWoug54Ti9K9z/vBe8FloxCFZlP9pNF4450Puv+g/Feos0DrAepSh91aDzjY+A4ti -VGQbhrESPy4ETmUdAqeBRwbgKGioYO+AgFvLwBuBcU+ei/U+znhNxNdn7TMJ52evKwtBrwbwAHRk -4Ww0aW6NayyhR/J8NuT+ajjPzJxB43fUeTSMAbw/0MmBs67gXwJaoyKvnEWslf9EwFTQ1YO/gc+w -u8K9jVRkATdRDQBxC9rd9HHXMTzwqjC/MAKwEnKFAM1/HJ8+GYsMGPNhhiiX64nQV1SrwPcGrKWc -Iaq/+KIhHxGssfDXuVbf+ytB6xefl/W9vRx8EEBjDp+NvoD4Mf4+dJrg0rUlTPDDVaCBzTjFzgSf -MPC1YWwjpzMuibPhQTklzwJvJdBJB68CHqrDwFcMNOAZ60sTwAPEUHJaDjgpflCoJpMg/Da3HwUc -ALR7hOfCpuE4QLkC8qMI1RsYL0ET8JTLOIF9yHSsDZHcooLr7+N2Y3BORONLJtbsBG1+KuzxatCN -h/jEGOCVqgQYArwatOOAW6Ga4BfAGpS3JkF8Ak/E4w/+FihnAecH3gB6MCI0DqBJh/Msyi8ClF8A -hzHnQLGMPU+cIhTw2XDEW3AeQhwCa2ueRHWDhf1YzEVQ7mR/Po91WkB7Cc1fiEnAIXwG+ef/A/MF -5hTgs8A7dQHWv0Kv4ffmk7kQfC1AJ50KvrkM8jdomsF8h78Dcwc0D0B3h0GxhvMc6G+b2YyAeYa1 -GdDfBJ1/vhmqmY1OykPNyKB8R4FPC5zVxxgaPwtqWdLIGtd6+Ew7mp9w/4S2vlOx7wHKsexxVHOg -nERboHlwxHYkhfIx+HRBfLJngyaDFwXcZzgLr89HtQplPAx6ScAL4b3RRlC3n5QzZI+iOuSEHOjl -gW8Q7hMAP4NxRpgFORlx4TFC/zsrYX5BbgZNWfZMwCSsd4qwH/ghbWIxnDS3Gs43sx6O88FZ/0nk -cduRoKELuoiGqC4f0gm0GQ69CfqU5zjK2Ga4PtTrwlPyerSZHNRjUE/BfeMbWcmDJiTWoEV1Onvc -cTRo9GGPIdCVcUM1ricaI+BpPrlLwGOBTGrcjecX4Jhz6EwypXo3k92nyc/9TZWX1LEDtDWx/j/E -oF3UDP6RM8MNWNEw8ISjpa83s2H5G1mb4Kmk2ZkR0MMBnQuYAwJr5/GAm7gedo6AHgqqpWPmgi6h -5ALiBFaO40WnL44F/imy950G9Qx4sIBeOswpXCugWhtxpJGgjwA61uILiFuCtpBtmALoUoHPCda/ -vBg5A2MtylngeYK5AcQ9wuwhfb/sxWzY/XUCrO3sNQlrDQAeRbzczGR2HWJz2wyoy61YZxRrxVj5 -TAJ+jXVpz3pMAM8HfO9R7EFcA+8C7IR8DV4XUFvQJ9HvA1ZCX8jadyJ1zH4U5iHACWwipoJfBOYF -TknzsHY14jigvYIxGn4P8WrwSsD6rue8J9Gn3MbCXIPYxBiL5oII6n34ivKChpoWAePON7YdAfUz -+NQOzZ/zI8BXADSq+ay5HGvhOhZwm0WYAv0P0BDEnBHhhwB0IUCXwlamgObSKND6o485jSZRXW2A -ahp9nhFhIDAdhnUq0fOAfcwxFLtHHEaCFiXU66AdTwrPyIPWH2gCUuZ2I2Ee8o3PDsdzDGEs9C0B -O1G9NxznP5znvSaABx/0AYAjQ92BcvUvwNEwVoG2RdTLLVg3CTRDoGZENS5oOtBX23SYW/088sav -2lRk+Wbw6YB5DHWcHk+CfVHB3wV05OjQh6uZc5cmQS6izNDfBs0V4K0Qj26pSuBlJUL5FnpPEteE -+cBFAb9BexjV66NE1ogPgH4L8H7QrEZ4CLkcYyhoxYCmLq7XfaaC9i32JvC/uhzXvy4J80QeifOB -x0LPUGQfoiC2ixjSaXQKn4X5sm/6Iiq5Yg/2UroQMAX6mVhPwidugdA/axktfbuFymg7QGW+34/9 -IuPebWfDXm4EjUSBhc94yLXgmUMedxwFPkfAV+mYd9vY8ILNrGPsTOCH9HGH0aBjTseW7qBSm/Zi -jVbw7HJOnsM4JQ1xBL8HKxlZ2Q42sV5ZkFx7QJBYoQL6J0MaiCivuMXPhboUawGBBibkJfBU8cxQ -wvwYPYQBeavYkCdrmeiirZq6fAJ6GRAXOlr8oXodxRXMKezrgep+rEl/4sJo4BtCqDlR/QRaanhu -oriHPg/0E1gr34kCVLeAzjn07YD3kocRfpraj4SaDjSiQNOItYnE3FpgFTQZcBn4DvSEQQceYhJ0 -4QXWwZPBS53HmMqxx53HCM74TRaaOY+G2AS9SOCh4rPeuFcH2s/Q28X9TseImSL/m0P6IFAHWiIO -d95zMnA9rIVyzmMS1gX2SvqFTCjaRl77qEndHNTlZ/Up047hMyD+9EUWctCXBY1v4HFwr7AmPMxz -hBOYn4PulJt0Lu7pQw/J7+oK3E/C/Z/o2aAxCn0Z0G4WQK/PBnopiG+geh10jaA3LrZBORX4o71s -5pB+EeKvCCdxDeULOoI3loF/D/B9rJkH9fppl3FC0Iz0vLwI651hjaO0haD/CHrsoInM2IdNZ21R -/XLBbwr0V5kL3pNBVxz75QTcWQH+yLh+Av3q0AdrwcNPYJ86G7ggjBfkCTbw/io65b0yE121nfHI -/AXyosAhYRYT9XA9mdqwD/zAWJ+MBcz5kKnUCZTzbBDP8U5XgnkgjK9UoRNrd1PJtQ== - - - e1hp4Tas33IK4sN7gtAlbKYg/NZa8M8AnSKsxwZacKDLDzVc8NO1cL/5stLN/NTmXVijzMJ5LH34 -9Aio1xmo1yFPIt4EPfy/9PIxl7KNmIHnARob4FqAIcCBgQsz1gGThPZxQ/X6ef/JuMeIMBfyBWhT -Cy7dWkaHPV0r8M9bKbggU2DML46C17FPBXpvEvu4IU1edG9E52MUQBuXfxg8b07Jg96QAOEt9Mj4 -qIaH+SI8aj8G1oTEvhk/63XHcdCvwb1ChGWsT/Yi3COE2u2ozSjQ9obYFEAf76fHBCV9sp6+1qEt -vNcoobI/qIOG7l8eE6y5y2jaBHEQ07PDoaYTnA2dCnlL7BgDOjeKUJ/D2pQIxSHWxAKdZsBPj9QF -oOmKtT2hVwD3yz0R63X+1PKbKLRDdR3iH4C3WBdrqF6fADUWvDesCekWP0/gm7ME1c4rcN3sjMZv -SNNqGu4xQM0HWBN4fSXU9IKgvNWAiVRc0TYm7NU6Jgi4P8S052QK1Q/MMbtRWAfSK30B8BP26PlR -Rh7JC6mYN1vBp4bxv7OMtgqeCDkNetfCU6j2ds9dIHDNVYI8jWtJlNNBFw380+hQVFeinA1abHyR -tTx4ToEvlSi+ar8wqf4AeI8AxwAcAf8B0ErH8xrlNSYS5a7Y11uZ6HysHYj5rX2cIowZ+IqAtyX/ -8sf9hpkdu/+q14HzSNA9hXode1VYoDlvaT8W63IivBWEP1gv9ExWErmnzEd18CLQagQOCvruuF8D -PkdRLzcxwY9Wg88i+ETjug3VSqB9CN5CdFL9XlSvb2FPh07C/X3h6X/W62zY3bXgmQT9N+DpMFeB -Aw3V6zBfXMaB3j1eX0PjCHFi5JaxUOQaMxfX6yaoXgefCTS2uO/sk70Y18vw3DmniYKAK8uxXhL0 -mbDHRM4SQWqlqjCnTl9ws5lksro0+Elvd2CPiePonpshLm6OeI7QSp4SnZEf0lJFtT/CMJib8B7A -MwDqdeBUUD9CDsCaS6B/Bf0M6CeheBAEP1wjDLi2QuQumyvE9XoIrtdBQxbeI67XoYcI9QTUeYCh -CIfBV5GWvdwMfmjQW4c+Ja7VEC/FtTpo9EGvwT1+LgMeSggLqaSKneBVR6W07EOcZMhjAnEymKe4 -Z3vSdRwpOYI9JoT/4jEBHuus6+VfDEhUK+uRBG1i/dNjwmeC0AbhsEOYInhMCK3sx8Hcwf4lrum/ -ACemjAHXhjwmhAm1KoLk5gNwfaA5DjmUMUd/3yZwKuiYgaYW4Cr4lVDxqMYOvod7rliTzi93KZlU -vZvM7jsIvr/gMy0CTgT3zOvaUolHkpLYynMixCZwG6x5KHu7jUmu2MfEv9uFdS3hOkEXM+rhJhb7 -SyYrYW3QlLqDouwGA7g3tOzVZhyf/teXwRoN63dzGdZuC36+hnXLUaJOe483gPVR8rgc4KvIPV0J -xhFyEvQ16BOOo0GjljSxGwFrC0O+H+EKeL07+OEG/N6g/3AO8XCEXSKE7YCLWMsNxR/2UIS+Eejn -oZgCXzDQtsUeE77JSv/0mAgAj4ngIb1/yP+ALw4JuP4DjwkW1aLAzQ10JZgDQZ6B+Qi5gUG1J+it -QqxhnDwfPA2v00Ftf8IezyfcQ3eNm8v6XFvMBt5bOYRf6O+DNh9wRodgBdBKg/UDXEOj2gg4Af6K -9Qxvr4I5i7EUsBPyP3AEVJdLELfBWv/oNajP8e/jtcSEeaDByoY8X4f7EZYu44DPY58Ga9/JkpNo -Dhw7NQLXbdhjImoek9OgjfPHRfCYEBP6+iICxxSs51iAlrjDGOAp4N/002NiFnhMwLVJ/vKYMHcc -PaST+Wyz2OvaMiHiLqwd9EhRTQQ9T8/shdjfJSh3JXib0Ymlu5iI++vAAwV+F/SU2YAHK8nY6m3g -QzWkn508D/pVeI0BeDfi67BmBhgl9kbzG2Em9Gaxth34KpvY4jU38BQRZDZqUGnvVRhU22I9WsSH -QAcUMAU8NmCvBPSJoOZnTvtNwP0H+B7Vw/wjF0fo8cyHaarS0POUA49t6rjDKPCZgH0APDR3aTTn -wQsS+kmwZwF4FHhCgt8B1ETQY0DPjwStYKiB8BoH9C8Rp2LiK3cLAx+vxX4G6J7RCaW7yMwWFTKh -fAcvvXkP8DToXeojvq2rroE9JvioVudR//SYUAJsgLUrXT0xYaAtxPEJfwt7RUFf0vw87s3A2jnE -Jq6rQV/z2PlR0MMSQn2P8Ab6KKC9B3UI6NmK/XKWgQ4rXiu3HOp1iS9lLsX61xfDZgzpFp8fjfkA -mmPgOQT9T+FpFL8oLsWnfSbi/hnk1pC72FsF9+3PDO2tYAGnwB8F5XroO2Mf9YtBU0kzq+GwNwR7 -UJz1+A+PidTqA8L0Gg3aIVbxL48JvuScPI4Z6EM6BM8Afg8eEzAGItd/9ZjwHPKYQDkOe0SguJHY -ohroqP1o5siZkbi/4JYyH2pH7GOA5hH03zH/9bq+GMfdaf+JgCPgvUqmdivTqZ0qdMSrDbjfb+Mz -ibrcdRDmKWvjNgHWn2D+ijAORSpivxuUWxmL86NhDw/U1ODtBt5ZoDdOpdcoY0110EiFWog6Jqen -r0foausTqO4fBnUOrA9APQy1H2UdOBFwEfxID6nTxMGdWsT+PYcI8GSFXivvOHiDxSqADzD0zWAN -C/4d4MBYqxbqV5QzoV8IPnjY0wN6gVCXgw8oeDygnAmcHPIG1Lygfwn3BeuEZrYe4N/o00Bzagt4 -bIPHhJ4G6IsbDYMHj2YJ8HSE+h80rbHHhCZNaGtRBHvMcbQEvDwQXuP+5LGLo2G88bqG6akR+Ku5 -1Qi4V8KTKP+AL+5px3HU0fMYhzC3iHy0RRj3ajfGReCc0OsEz6/IJxsZ2cutwDNBdxHGFLCBlj3a -OKRfGjoTr6N6JijBOirWe4y8v4HNatAEXX/AbVhDkdgiLPdNXSxMrzwkzmrkiS536NGZnWpkQtV2 -7DGB5gnrf20pGZ+PPSbouNId2GMC1c+w30JL14jQFZ6WA58l8B2EPhT22fZOWADeLdhjwn3IY0L0 -rx4TVn95TNiMpI2Py1PCE3KY78KaMMrzdFzZLjamaAeLeCfuGQRcWw44gmtO+2hFkffNZUxqx0H2 -co8mlTagAn1pocfVRQKnxDl0dqca+Lfhmhe0tKFegv1h6IG9N894Tcb7IuwiZkBdDv0jqNWh/gVP -UOB/0EMTmV8cLT7tOwk8sGDtE/Rq6aiSLazz5bmkpc840IWnzoVNhvg0FB2XU1fVI1QOqBMa6gaE -HnsCr4cC76RTavaBfi3ooUMPi0eBn5H1SFxPhDzYCHu+IEbpYzYjWVRLw7WLUsvUmciCLSKU23Dv -3S54Ol7/g70crqADm65EplTvYTM6NLDHRFjeaogZ8p8eE7Y/PSbOjRZjj4kba0GjX3TOdwr01nho -PlGw9wRxTbFT7Bwx7IUC3nj04ijotRmSYoI5fHK46ELYDKxtD3suvDIXA1ZBvGIcAj3VmBc7BJH5 -2yRuqUowntB/By8KwBSRT/JC0Ejmxz5ez1xr0RNcbtaC8QWvKoy18WX7xDkVhoKUyoOs7MVWwAYm -p14TNJ2hd4n3g4A+akDuCqgDoP6GNbu/PCYY7DFRt1eQ2a0pzG7To3L61cnLTcrspezFsMZDHXMe -xT9mO5I84TnmL48JOqFptwjVZYBTYvCDCLmxVuwRPhfnd5TLBGHXVwsinm4WBdxchXkw8AGUO/De -HoT3MFZ0YtFuQVLlATa17ACdWq4M4wu9ZzqyYCOs3QjBL9v7xlIysWEXFVG4nrmUt5QOeboaY1Tg -3RXgYckEXF0KnA5zc1iHAL4P/gueWYvZ2LLdbGKVMtQ8tL1MAeoGWK+HugfPD+DysG8PxYRA9ny7 -MKX2EJPTriW+U2Mivt4ioIOfrKLtEhVpm/Cp5JnAibAGwTO1Gm7AGA8zQHEKNQiDeACaLwsB1wRo -fkMvCtaL9DQpAn4P+7QgXij2v7dW4n15CeYzZwOmwH4N8KUQJpUfEITlb8L7GWDNDnxLf671glcn -+K/C+JCxBVuYqEcbwGNCZBeDexDQA4A9RxKv2AXiS+lLxEF562BPxxCnSZmHe+/QBzrvOwX32J1k -s6Eexz0M0Nw95z0Jr/HY+k6FPjj0VsTx1arC2OI9QzU7yt/2sL/j1kqxT8YS6Nljv0q8Dh04FXoA -4AnJhuSuYK7W6gieV5tJHpdZgCeklro2AZ7CeC9bWulBcWatruByjSaZnL8de0KCB7e0aCto7YP2 -NV6PAL8qxBGg/z/ki4FqNvtwBVgXJWNRbYp4uOhaI0VeblcBjwnwNWe80ucPrU9kzKPOhk4G73XG -/9lK7DFhFzwN11FBWcuh5yXyTJiPPSa8hjwmhLKHW8FHAmvwI+4vtkH1gHuqEvZzQ3Uq1ihGr7Mp -VSpsWq0qrk9Sm1VgzQR8gMAnj4r8P3zy5v7TJy+9SxX2/ega0kNa5HifQdJ8IexrgL8PWutxFcrC -tCZ1OrxwA9wHiB28JgRePbCWCjU69NIgH6IaSXijljJ5/Oq0+GG1mWHuBxWYC3Toi7WMbbIiaOlD -rQn1El4HPhs8GWOxa9I80Gan01oPQLxrIj6oeVAb+5UaClF+R3ledMppnATyCHiSWtiMAnwXnwnC -+4qFnpFzsb4yrB3B3jLY84PyogC0mQPurxK7ZS6ANSHgv9jXDdYoYX0FjSXsFQPMAX4Afnwia89J -uNd/zHmM0CYK1dFXFwvDHm8C/MPeDeBx7gQeZKh+DcrD2s8Qu6xdAO6rQ99EkthwCPzuBc6Jc6Am -gV4U7PcxuhimaGztNknkEKiANfV/ekLC2JLZzQclD0qPGBe8sWPutPJhnUpHk09AbsL1GvR2wBMy -+O5K8Lml09tVwbeTTmncx0YVbBX63V4h9M5ehD16Yc3fPlIRenTMaa8JeA32XzwmKFS/4nUhr6T5 -4IcO9QQ/vnQb+NRRlp5jyZOXxqEYmct431oC/tLYq94zEdUqMb8I/vKYgDwB+/HCbq6hY55vgZwt -9s5ZAtzvr/4qrmn9s5YyiSX7RElVasLkqoN0Rt0/ffLov3zycpsN/qtPXr0K+OTBPkw8x6B/hGIR -680HX12BvaRQ/od9h+BphH2XvK8tgj0C4EfIOkoVcfwHP10rcEqZA3EBeAC1GZPZos4GXl2GPSG9 -ri0E/2nKNno65RQ5A3otsBeGto+ewTtiMwLWzAQolwOPEmY0aQkQV4TeEyk4Kgf7YYH3YQ9IlOfA -Hw28kqGfyVog7gH9eIhJm6G9argHDl6ioQ/W4D4FwgvwWBU4Rw7t+YA6BTg7qjPwHl3YyxiUtwY8 -DPD+IFhvgHWUwxdGwDoVrO/B2hD0KGCvgsgzRQnvKwc/CFiDA+8xf8SjLoZMoy3PjcJ7ZFA+hLoG -654DhkDNCA+n+DngJQe9WrG7dJ4o4OpK2N/LgCckcGaI1YxqTfBT5Wd27MN7FE55jg== - - - hz2GsEcF9x0TKndCzwQ07TG2Q00M8+vStWV4zx/gPtSzweCFgWoP2LviGjsXz1XwqQy/vxZ8l4Ue -aUPX5J6xgIm4s5ZMr95LJpRuo/2uL6HtomfAnoghfyP0M/Z/erEZexE5hSuCFj/+t8GfB/ozAbdX -ULEvt5CyFxtw3wQ8qU77TYQ+MvatDLy3GvzFxf7XVuI9fbAPHPYuwtzxvbmEyug5KMjq0xF431uG -99eAHxfwMt+cJahm2AC+MFh/HzAY1RVoLm4B/oLnBqyjQk0JdbdDjCI88J7+CMRvgOuCp45L4hxY -94Q1P+aoPc77MMb0yYuj8d5W55S5sEYLtQ91DryUZQq09aUJ4AUOdRJ4lpInEJd2y1YShBZvBt4h -cEqfi3PzaY8JeD1efFIe87BTDuNEKB9ifXm8X8IT93vx34G6FXqpvjeW4XojOG8V9kJxh33gaPz9 -YK8VyrNQ34A3D4oPUcj9DcLAvDUwtrBmDWv12IsC+piwfgn9QtjjC31+z6yFuC8Ea6YIe/FaPvSw -4P9DPIO9eGkKxlHwXIK1ZojRsAfrsf8A9NNhncsrbRH2OwO8Dn+8WRhxbwPUcUP9xPj54CvP5LzX -JNOb94EnpOB8yFTmtPM4eM+Ix+wBH1kB5LTz4dPxtcL1oNoAYhfwBXrbFMJTMrVqH/RV8DW5ovcG -fvKhKH4in2/Gvtoh91aj51ZAzQb7w8Dvhs5sPUhmtx6AXijjdXk+65mhBPusoNdDJpbvEAS/3ID7 -0mhuwH49qLcxzw26vhzWirHfe+K7HYANENtw3gP2i6B/Y7XA9zreLwvrC7DOCz0N2I9DRxdupnN6 -NPhJtTsE54KnUKbH8V5J6CnC2jXMd4HvreVCx6Q52OvFPmom9IrQHFiC14GcIvC5Ebz2fzFiOvaG -Rvgm8r+yAud+XH8kzMWvW3iOY0944wfeo37cbSzsRYE+Gt/oxNCeetPTw6G3xDM6LQ89Y/KU81jy -qN1I8CUH3xPWLXUeE56/kY4p3wZzAfzMUF0vx0MYC7wY9uZiTztYL3MMVQCvKNiXwoa92DB0D6Jn -QU7F7xn2IAU9WUtLK7aBFy2u5xG2QlzDPlEjz5RFuC4F/g8+IqgmFvrdXwVrikP9gMuLwWNLFHB/ -DRtVuBVzVuBhdpGK+IH3yd1bhXkQ9IVRvsS44Jb8C8QLG/5iE3h74f4lint0X5eD3yj49IDHCXiW -0VGPN+I1FLjfQRlLcE8Q1oRg3RF6xt6p8zF/QvmMSi3fS8c+34LXrU77TATvNFjnF4beWQf9NCbi -xSbwaMUe93GFW7EfYFTeesBlKh7hNM51KAf6ZaOcfW0F5rTgWwH+QwG3VuDcn9V5iJ/ZtI+5lLUA -fhf6h/zklt2wJkWHFW6A+oVMqN4hyGrVpbN6DlFJjbtx3Ic+AA+5rVRSxS6Us7YCDsM6KqqPN0PP -W+h9ZTHgD+Qckf/dVWzEg3W4Bwq+1Vcb9anEip20X9ZC7B0BvaoTp0bgfAeeMOld+6m0HmUmonQL -3EfAR9jDykS83URfjJ7OOCTNZH2uLqLT2vcLM5t1wG8d9xvhXBfUILDmCXwY+gUel5VgHZA55jkW -n1Vxu7ZQ5JIxH/aQYS8h8PyAPcmAwSF5iEc8XY85h8c1Jdbz+kImKG8FKUN/FzirXZwCaRMxhXJK -nkm7584npWWbyKufDtHX+3R5V7+q8vN+6FKvvhlR+R8P0/f7WfrKJy0y+9NBKmtAlb3ZzRM9aT4q -flVvLXrddIp52CliMnvU2dh3u4wuJS+RWDqMg74E3ruK7hl4SKJ5ukwQ8nQ9m9p0QHKlnjLJqRAe -Tq8gTdLKDIVxRfuw37FN6HSJcyK+x1BXUkk1u6E/Iwx9vgn2ZVDJNbvBSwjXnIjbs9nvtZmcD1pM -ep8qk9K+H9ZN4AH+Rxjn0lv20eAxmta8l4wtw31pNvTROsBPKqtDFbCFSW5RBt9I8N2BOBP531iJ -e6l4v+jtFYBj8JX1ubaEjniyjpaVbCUz3++n0pv301nNh4Q5zXqCrEZt8I0kUxr2wHuE/g28dzKx -aifECcQ1ldahDHtH6CsfNJkbLYbgPc3ceU/y0nv38hPadpI539WYpz1GwqL3Z9k3nZaipy1HmXtt -jOAGeqDfFd+uNWJvNfOFt5rR/9dGCvOajNl7XQwVXrqBCn+3noxt3G6Y83kffb+LFT+ttRDfrzEF -LiPOrSXprA8a/Ow2FaiVwFsJ9howsqIdosTKg4J7bQL2Vg+fiavaOeRbmr2USWndz5e+XU9Z+02A -uptOadlndLfKzOh2zRE686saHfZmPfjqCgOercWebon1+/Calt+j1ZCPcb/ziN1IqAfZiKKtkEMx -D5GVbhf6P14D+18k6fX6wvQeDehBMZfuLkX100zaLXse7XFlPul9f6F+fP0G/bucKv/pDz718puY -fPO7CV3wzZxf8rfDvArOlG774ijoee/LtH5ypis/WLOFfSfh3kkqyjxElbXOgue95vTjASH9tF8k -et5wUvKkztLoTo2pJLPWUJxQrSpOrj/EpDYfRNizC8aVCnuymkluUxZdbjEwvlxPCZPb1YSBT9ZC -rWjskbhQ7BQ6y/isz1Qjz6wlgkhYO36B/Z/AFxTW6SA/Mtc69Jjr/QZsXjvL5rUK2Kcdh4VP6o8K -XrSbC692UFT2gBqV1LCLn9mlzF7rMGTvtDMMGkPyzoAeefurLnP9owF1e8CAvd1B03e6eezDVqHw -botIfL/WzPhF8VnhgypjJqNDjZ9at5vM6FZBD2WIOSbs9XqIS4gx+nKXmiCzTRPWawU5HRCbupIr -tZTkeqWAyaxVo9KalQH72HSEf8nN+2DNgkx/v4/M+rCflzt4kL7Sp0Ff79Yhbw1oUzc+6lC3Puox -j/ol7NNehAM9LPX8o5h99eGY8H7XYeFNdI232ynB/QaJ6EHLYfZBq4i+02UIPWbeva86/LyvuuTj -zzSb//Eo/83fjcnnXwWCsjYbUVmVo/Grd+eNn7w7Jb5dJWGutOgw2R804L2xkfmbIRfgvIL4EfXi -o1iQ1yNm0/rVWIQFh68WG7PJ7QcMD1vKG5jaDAdPS1gLNSp4Yyt5VmElvNNjJMjrlYhudAjFOW2U -+EoDLUhv0RRm9+iyWT2abMCjVeCRxfrdWUZLi7diX9LI/C3AX4S+aJ6HF28RZnRoCtPfa9BpPQd4 -OV9U+An9Owwzvu0xzPmxT/8NRxo2cxb8D39eFPXXBQv6u/zI2i+nqZYvtkzfR0+675u7eLA41OzD -XemJ9uuxooH6EGHP+0BJZ0OocVe59Fj7i0RxfZU3uo8i+vXXw4L8nhOi4gZ7ycvGM8LbrWLJrVpj -k/vllodf5tuaPCy2Ft2tkZDZX1T5SW07BVe7eJL7tcfYG70kFVezA/p/0DMWZLfqIhzSl1yu4Zvc -rDpidL1GAvUmnd6hykIsZHaq07daDUV5zcbCF3UnxC8aLfm3/9AmH37h00/6JYI37daC/O4TzNNe -Cf2wjxU86zBlC9pPMPmfjtBv+o8ypT3WTEmvFfP283Gq8I8j1OtvRvyXXwRU4ScTprzbStxe5ifu -KPEXVpU7Ms/em9C3P/DpnEENMqV9D5n56SDMB+ZuJ80+6BCJ7jebsHcbWSanTYvM6jwgyG7Tkzys -PArxLXlSbiG41crQN7sN6KudOoJb7bToXpOJ4Gm7CXX9qyZ5+6MOe6OdpPI6eOTDbop60Seh878e -Yd/1WLHlnWeZku7TTOX7c0xV5xnq+YCIud/NQG6invcKqbvv+eTDPr7gbouALmg2YxpabQRdzT5G -/SWRosHGEH4LZ2VYy5lTjZ/PMw2d9szr3iNU7icNOgLlUIeYmVCXwZomxnLESyE/QL/KMKJmjeHV -vx8Q5HWKxW8qLpg/enFBnFCnxoQ+XM278V2dvPlNi//yM0M+HqB5Ob+p8GN7t/KSvu0UpgxqSLJb -SZM71Sckb4rsjMqK3A+XvPE0zi91ED2vPSm+2SwU5nQYYK5yuVcd6jQa5Tk2o18DccKtIsfL8/jx -tdv493/VJ4u/mdK9n11Fn0qCRYOlwYJP7wPYX7v9BZ8aA9ivfb7MQJ+XaKAs9ERbjvR0S7rMpyI4 -PrL8UuyxzhsyauB3N1Ffc+jR9/fijHtKpKIPrcHijuZAuq7zArqfVszrQXP25eARfvb3/WT6gLL4 -RZOVcWG5i+RR6wnBqw9H6XuDFPOkWyQqabI1bi0OEZW1OApet1gKi9vOiouq7MSl1c7G1QWXhCUt -NuKXdVbCt3VWovymM+zLTnP6dddh0YsGFI+VluKCUmtRYZU1wjwjg8zunbzAe0sM42o3Gt76h6rh -E86AKuo7Kmxv8JF0l4dJ+qrDhN1NfoK+Fj9RT1MQ3fbegVf6NxNe6Z/GZOmv5vzKL8fp9x8dBYON -/uJP1eHm3Q9iRZ+aQ+jK92folz0S5lqvHhnxdj0d9modFV23lbr6UQueEz5rNDd6WXFe8qLcSpJX -eUR8u9FIcq/a1Oh2tQnzsF3EPn4vIZ92s+zLVnNhQeNp0Yv6U6LHbceFjzpMydvfdcgHA4YMyr/s -yzZzUWWlo7Cuxk3SXOVn0l0UdeL97STLtqtJx7ruxR/pexkrHKjxF7VW+gjLam3pV33GbEmbNdtS -42bc8zbKrPdFjEX7jUSrlvR4m4ak+PN18bIzTSlxFm05MqOB/DBm8IMXv/bXk4YP/tCB/o/obPg0 -oWvWfCr1/T76yoAme7lfE7ANchff7dl8/dSPW5nCwWPGHW/DTNvzpSZ1hYFHOp/GmHW+ihFUNzvw -i76b6N7jVHjezxYamjmM1NE0ImjaXE7ocn2BKK/e1LTzlcyy/WayTVNGxvHWB0lGDcX+kNfYmy2U -8EqTgTAP3afXJeeN6/MDJK8qz7JXm/XFN1uFgDNsR5PHyfacWBRzsYkl3rKA0sAYiMEjPXeijQYL -IsSf3oSZfnggdayX4pjMKXWLvlPqGp1R4imzakmNEaO4PdKdF328/UasuL8qVNTfEmTW9VLGNA7Y -Gd7ntKmc7+r8pO5djNfjpfTlL4eMn9SeEz/uPE5m/XmQDC1ZaxhVvZb/7BsjaasOMO98Fn+s43GC -UW91pKC10UPU1eB3uOddtLirOogp7rTkF34y4j36Q5//tIdi3rWdZCrbbPi1344x3fVuMCZmXY9l -wpoyR4O839T1Mms26WcP7NC9+2Ofbj6nZdj8xwnL1qy4tAqP2MRKz/igWr9Ez9rQpHMtqUnm3fdi -xV8qI0Sf20IEn9qDhN/agsx6HkSfbUpNONGWKzPpexTJq/lxTP/WHweYa1/0RHltKM8PqAv8H6xi -w4o2AXdlcnq0cM692yoWXEP872oraZRVzxentGuyiZV7qZh3W6krH9VFL9ssjSrLPMRllS6Cxx9M -+Nm/7edHFa8jQ9+sMZSWrCOfDJLiujLPY++fJh7tfpYg6SwLFr6v9TEaLIs635SU5A== - - - XRec7FUXnJRS7R7nUxecJm4t9qXr28+Z9L+TujeGp/o2+MVENnrEZFW7SnNqnSOvV7pEoeuN9q0I -kAWVBEQHVfrJLjbExhz+8CCK/fDBiy7tP808GzARP208KX7ZaCV+U3NB9LTxOHunhWavtRgIPzYF -8AY5O/Zrl69lS27CmZbLKVYtV5ItW26kiDtrAujizxaGpX8T82t/HCer/n5C7y2nr/OCU9NL796i -f/njTuG7tvOHPxTLzHpeyJjWD45McdcpprTDGvHn46LMZn0m97228F6tRPCu4oxx4+uA4+234s06 -HkefaL+XZNOcnuHQJI3zqQmMdmoIjQqp8onKqnCT3qpzisqvsw0va7oQWlRtH1FY6RBRWmsbVlVj -G1aGfq6ososoLXWMvF/mHJVV5h4dUuYfZ9WYHmvU/ypMOFAbaNr9WErW/2nNe8wZUvf+wWNufeMx -D3qFwoedhwVXPuozqV9VRVe6aObuN1pQ1nle3NscIuhq9WG73nuJ++vCRZ8qwumBDx6Czx0Bkv7S -COPeKinT2uXEe/Y7j3z6nhQW1J6UNJf4ivurw4z730o9akNTghr80s61ZF8263omE/cW+R/peRZ7 -rPt2/NHuGzF2rVGxYTVesjvVTtKiOruIwkbb8FdNtuFv0Nf8ervw/Dq78KfVjlF5aN6lVbnLMsrd -ZSkVHjKfqqBYyaeCUL0yTqAfUbqCd4VTEdwdEIru9x8W3+02Fb1pOWNcWuxp3FgUbNJRHCV822TN -zxk4QGb2HRDlNPNFD9uPiN80nRcVopz88oupuLbOO6gyMM21Rppm0lYkFeS3WZDXftfkJTVs41/5 -osY87hUKmps8bJpSUk+23Ug27i1CWJgfY9xXHCX62hBm1pMns2+WJSXWucXF1nkmWbVmp4j7S8LY -znr34523EzybgxO9GgLj4uvcpNernSLhcbvKKeoRGqeX5Y7SF8WucU+LXWS3S12kcWVe0Sc6cqOF -H1uDBB3NPpKa6kuCgnZLUWmdrbCk0VZUUeMIc0NafAnFdaAsoCIgxrMiPM6tOjwuudgrNqgiMInu -+uBm8JrjGTZxJ44hfAop90+IK/KJySjykjnVR6P4Sk4Or/RLPoHeGzUw6KrzltPRe83p8Fu+W8O/ -bdl0Ky2sOjg3uCYk16rtRqZ5V14M21hhL6goP+dZF54F4wSPl1UOUddrnKMyKtyi7tQ6RhU12kak -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 -vyab2UNe13SsMalkwJmvP7eY6/50K9f20UbuxAfrMYsqRmXZgI8pRqfZKOWDC4gPhzMkBSfnyhEs -hkYX2KlpxyeDVaiApc3yUal6kPnQ88tgk6zmGoO9N/gX8KaUuHQ78UiZvZJSPVEu7Gc+qmsG9flY -zUT1BnserhH40j4eWo2fjtMgj0ZtgnoX1x15EvZbJWazUky6Ddk2GNPsmimF3bNwlkeOybJVEc+b -39qAfAU8LdSDOLOllgzMw9kNrCu8D+wXK6knnFA7w38jjyRuelKlA505Ags+tc6RxTFHivPgvTKf -IqU3O4HpTDxhnFfMaSdmt4rcB5xb9GgzKiYSq4l88JtriPOKngnLQ7HGpfrrJn8E9inzccS5AisW -fXa2xpQUdu0KmZ2x+gR5EWyQ1UDrhOZ31uA+IicU2t/ZKNey38E+J/HEwA8Ffxh9HvTJU8sm0F4p -y4nAZ1MGH3thjk5IZfk2ztKWsut29PRCsOiIV4Z9usxKR9RJYNdhbdN1gH+ou7KMzgNXnp2P867g -JoJBiPOCWF+UI7BrC39lyOuaRXGp+tIKYoKzzywd7ZlLdloxPI+vu7GMr76+RExtdkQ+R58N5146 -Pt+K9USMrbA4K3DCtae+3al/4ztv6dR3XtLICw++9twiISzFGvMhyP/YvVsATg+LA0toPYI9GFtm -T++b1vW1Vf98/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14 -/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/Xj9eP14/fj/+bFgwf6Y4H2BiYFjxYNjF7i4bfBn/68N -PJIYkjDWe+wC/1UuCYn7woMSw2NjAhPSnLfiW6KXJ+e2z3mr82LPwLSQBP/V/mtW+y9x3ua82MWN -/Y09g/3zEufl7GdXr1y73nmVNiQwynmx6bc6s3929kkIDwuPYd/UBQVGhZh+dBv7Grti05bVa1au -XbN6g/Pm1WvWrVy/dtMm52h8e+3mletWb9r4L9+OwrdN/4Nvm37gt2//9y/5f/n2f/+Sw2OFsTFj -/cZucV68xFkUxq52dgkZG2+6FgfCo0K2mv66J4S9498uDPvBNc6i69hV+0KSw4NC9npJHs6i91jF -ebUzfWDTf5x/f3ub2AuuXr1y42Zng/Ma9t+Na9m/iof/vz2B/cirJ/32x2bn9ez112xm/1nN/opn -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 -2uKTfrHVJ/0a+Xr5gW/65fu+6WeaArKOknlX3hiWU3k3LKe0PjwnujEpT/3xSqpJXadgmnFnssXO -zmXC4XeidOztRvnwCxvpWrun1Z1bEVYtN5Ktn9zKEq+3eihq361QVr1ZIdW2KaQTj+3ka63bpKsk -Jl/4xUZuvh+V1JBYHnJPU2796IZGuPzIWbnn74YWxQ8XKnb+spo79VoU2lrDvVpLy1we7Suxen2D -+MLLuVZvbmVJvz5Ms315NMevLae46H5oft79iGL3jppS+e3tNP7ZgzDHZwcLI9qSiyIfJuYX3A/V -7G0KzMTjYGNg1kkyThfuBmjO3wrJP3MrOOfgnWBNfl1kttOTXdnih44k4UlbtPpeU4xw5bGrdOe+ -j3i7xUeqvxeAuaG5FUPsOjEnoT4hN6I+PT+0KT2/5FZkXlJ9YjH7/FWo2aVOC/PWTqdNxD+l3I0v -zL8RnVt5IzIn8EE2sa+SkvSGuBIncm6qd+9DjK53Gplc6jRStP/ugfd2bT1QntaUvCv5Xsou90f7 -quyfH83lW+r9hPq7WyPup1djnPC40OiftfdeUFZlfWjWoeaArBstPhnlLUG5Di8P5qn+eBlm+qrT -0ezN/3I1/71zu/L3jyFWb0+lBjVl5Sc1xuUV3onIrr4RmR3QmJ3r8bA02/NhWa5Te61G/epaqs3L -Mxr5VWua/LQ1WW5/lCCc+MNWtfdf64Wzf9jZtNVle7bVlLu11xY5PD2Yt/H1uWzbV2dyhQ9P4pSv -/ubLvX4ZLv7WlOLwbH+OzZsTGrMnnc5m7e8d2Kf3/B2eHc4Pe5i10/LB5RiTi53rjWt+m2+ceGq0 -sW/JIJOgkiHGpW2zzer/IapePw9yfr4zP701Ir/gXniO/Yt9GrO/dW41et5pueFVp7T+bae8/k2n -YPi2kzN632lj9munp9k/O73435qi+N+bopS//BJs1NEpbchum2h6pHON6vo/baVb7X5W95rinToO -FQfdyy7Lro8trr4bnu/Xml8uv2xMEh62hvIPnviLDxrD5NctqZ4tVSUhTVnFfo35RXuvRuScuB6S -5fOwgPjss/nqt/WZNi+v5tq/OJq3rb2kPPFBQnloc2axy+OaPO7vL2LYZ8+ChJetxHfWZ9q/PJbn -+ri2YFt7fn7ew/D86AeJRcLH9gTVi58DVM9+8ze/32ljfKPTeP3h94s2pOcPX5+6a+S6W53LzJ// -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 -/IXvzFg/NMgCtGvMEnrZOAvQbg6grVs1jLqwXVFPqo+8URbgev7kTbMApfEscgDVFdjXzQK0mwPo -cG2TBWg3B9CxVRagXXgSibxxFqDdHECtjbxeFqCJsmh4+maeBSjMZnVVNoryaasA/DlF+dSYbJG1 -tXFRPpVl8acV5dP1wu28KJ9VnffdFOUjN7QXF2rTdOdF+Qy9cDstyqebM7Lzonw7qV9pWZRPc9+4 -2aRMdGd+NpZ3Q21d18+8qt8OMrl2djeUdV0/+3dDbVPXT17aDu6GMqzrZ+4V0urJm9b1M6/qt9Hd -UDp1/czdZUb5levW9TOv6mcHk22FLJpW9dO9pXmDun7bZnLtIlpRyOTaUSKSUVW/9epXGtf1W8Nv -uUVdP/We26zOsHZdv/UjVDep66eXjmgdC7duXT8rTN5NXT9zQeewOFqzW9fPRlbaDur6iflb+lX9 -tH7+Tev6rY9jm9T100tH3EXOu7qun3kv1vX4ti1lK9bj20VdP/PEd+nEasu6fuZhbvq30Kxf18/c -UluNtd6srp8+RYtV/azzXu3V9TMHpXySuF1dP/OAa8eKmbJZXb91stJ2lfegrepnqFuuWddvG9q3 -X9fPNE3Sr8hI3aof81s81qjHt4M6VtyWdf3kXvSOrSQracu6fuZV/Xja376un7mvwOHaTV0/I2Tn -q/qZZgytUdfP/LxZl49tUNdvnSiCzev6KSOoV6v6bV6Pb53immb1+LYgQ0UvSIRb3t4g1fUz8X/J -8sVctbdR12+9G3U2retnblBLHGbLun5S/pZugonSerXrktar62eu5pB4yx3U9TOv6rebenxWWbh2 -6/Ft582S6/FtV9dP7EU/C3etmCudun72kuF1feMb1PUzT4bn6yVtX9fPQHILVf2M+Ni6df3Mq/op -Tt63qutnbrbr78v6df3Mq/pt4bdUQ8xeJOSWdf30cp6McxI3reunOyXJ+ra6bd5uXb9VxVBZ1c8w -V3TNun46G6tgBQ6XYXSdEpSWdf3ME2I1+tjGdf30ctFk97GpR3GNun7W2bW7qOtnfrigvLdnm7p+ -En3qVvUzirdct66fGUYovKOmRV9XryAuwG8D46xunnCliA8Ft9S4dikd1+6TmWvXJPCe91uqExfL -mijhgtKH9e4aqcgeVTYphphnzAIIvDJYiC1Wm8gQ1diimPtWTQSdR8vSff7eCb81pg== - - - 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 -swtx/Q522HaIZRKTqMo9hRt6oAAfwcPXwe5aG2xA7/Go0fPqCIP7i7eUWRxlmLQyHM+FpMvDQouv -7VtUlsO+t5LPtujv7H9+b8v/315FAEgJfiX7cbtgp39/ZQ4DLo9dfADY1H0DCggp+sPf2DsD8ngC -EWg4HcIfXv3qX3/9m+8//e7920/vv/v45vv/OH1lf/RXfwPzOyj+f3369R8+ff/+4zenv/rtb3/z -9u2/ffj9d5/eIPvXp//CP97/yzfvv/rq/P7jO/uH//Tx/dvvvn53+ff+N//n3R/++OZP77766u/e -fPz623ff//c3H96tf2rgKlJnaWYsQOm//v27N9+enj/w1Vev33389O77f/F/DdB6/XxyB/Hzu4/f -fPqjSw+h9j6vzkLaf/yfXRysc9MAYw6InuxFOohfVuU3H7/5dpvPfz1M+R/ffP/mw5/Xf7v9qf3P -D90Vm3Xzmz/Zf/+HY7dFtP03FeCAFKZT7MzR7ITyBM/LVIP5ZlzJhRAw1lHtaNSyzRPPmSkaOuRI -y0kkQ4kO8yh0GKc6tjiZHcFGBftB4u0rkC067oEds56FzryTafWp25KbPUXHr0vshrIQ2U/JvrQQ -gtLUhkfSySawGEuDZC42ALxIbS9mtJN4+2qxLvtfWezA9Uge2CNM3Bs3EeQPO9z5/+om/u23377/ -05//ApcxfH7kt1+1A/3+3d9+/PqzM28X6bfffbcXe/3td2//97+///NFSBRK5p2KLzGn5U//z/df -Xy4rHJM/7FRfil9dVxvF33/8tJP4+4/vP71/8+3/+Lc3X3//5uMnl7w5rT98evP9p88mNqra1Lct -my+M4V8WkzTDZ/kv/u7d+2/++OJQ/pJ6BShMuIjt8aeTlrcCwhd6jiAgcZo2cx8419NMjQ4UPhd0 -ANaYqZia9lRhMKg4CXsyYxjyKvZOBdcQMvjJrnSDqcbMuuEg06Sqs7lL0HdxrwS3Y9o02y+ojVoY -ulS80pRsTsTJLpE9n3QUTLAlGK09teCFwJYAwgCaQu4R9mfLjgUOwcQEG4cSDuymZs9hysjkSSG2 -z3oCXWQveMJohZygmTkWqO2vYnWEhQETbtIeZq8xjq3YCylyqUFEJ/1pFhIQWYWwpisaLdVm0QGZ -nvqmT+hYGzmrbIq1y8oSNHMFqpqAGR+lELD5lH56YJNeUBYwQAX78S9UWdTrd/0XriyoZiHO8OOU -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 -52XYLJMfhtKpk/5MhOaMdD2lpu7vz2Qoe3I9YGaZGSypccs/G0nuPtoW0JZYfJBafT4fGj/ztYQu -8Gergjcyr0WI2ny2sjjm+XogmJAPbNBtTeEN2eML7YUwI3F986/De/V5n249zD+BPZGft8z8oR/r -s/8SuqauWIL+9DM4r2ZnQ8gLQKOz8tDtKGrVqEOO61OEJj9b713AhFCygm8Iv1qI/RQrJF9BTYfF -u7DxU/HFKHuyW40ErE5Asea4/YS5jDOQjayAzixErgdyfmCw7uT9zn6MdGikl3zDwYFRlW5yahaa -g2JEcRILYNGJOJAp1c4zsVTzSkh/0n9JhaarTROg2bSTGMGfA8qSZnTqweLcJAiiJsqpxV8ZBTJh -FhUxUmc+Hryy3VbKFKH5XUiQkRVpl3rVhtkiVHxVuMpZ3/lEn3piqZp3xUGMQT5nVpuiPnN3xg4f -iev7z1+/atux++EAnn/76le/+fv6r6Y+zm/+4933f/M3r371q3988827/+/7N+9NE7365s9v/s+7 -05uPHzn/7/5kf3P65vt3f/703ffvTn/+43f/zp/YP7mI/+pXf/sP/++r/x8YTY+6 - - + diff --git a/iblrig/gui/resources_rc.py b/iblrig/gui/resources_rc.py index 19fe4eec4..f5f3fafb8 100644 --- a/iblrig/gui/resources_rc.py +++ b/iblrig/gui/resources_rc.py @@ -1135,6 +1135,114 @@ \x30\x38\x39\x31\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x7a\ \x20\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\ \x76\x67\x3e\x0a\ +\x00\x00\x06\x95\ +\x00\ +\x00\x1b\x84\x78\x9c\xdd\x19\xc9\x72\x1a\x47\xf4\x6c\x7f\x45\xd7\ +\xe8\x62\x1f\xa6\xe9\x7d\xba\x65\x61\x57\xbc\x28\xc7\x1c\x12\x7f\ +\x00\x96\x46\x40\x65\x04\x2a\x18\x23\xcb\xae\xfc\x7b\xde\xeb\x6d\ +\x1a\x09\x54\x8e\x2c\xa4\xaa\xa0\x2a\x68\x5e\xbf\x7d\x1f\x74\xf2\ +\xee\xdb\x65\x47\x36\xed\x6a\x3d\x5f\x2e\xc6\x15\xa7\xac\x22\xed\ +\xe2\x6c\x79\x3e\x5f\x4c\xc7\xd5\xe7\xbf\x4e\x6b\x5b\xbd\x7b\xfb\ +\xf2\x64\xbd\x99\x92\xeb\xf9\x79\x3f\x1b\x57\x82\x31\xca\x2b\x32\ +\x6b\xe7\xd3\x59\x9f\xbf\x16\x2c\xf0\xdb\xbc\xbd\x7e\xbf\xfc\x36\ +\xae\x18\x61\xc4\x63\x90\x88\x07\xe2\x8e\xd7\x57\x93\xb3\x76\x5c\ +\x5d\xad\xda\x75\xbb\xda\xb4\x1e\xb8\x58\x8f\xab\x59\xdf\x5f\x1d\ +\x8f\x46\xd7\xd7\xd7\xf4\x5a\xd2\xe5\x6a\x3a\x02\x22\x36\x02\xd9\ +\x15\xaa\xd0\xdf\x74\x2d\xe9\x6f\xae\x80\xb4\x6f\xbf\xf5\xa3\xb3\ +\xf5\x1a\xe0\x2f\xe8\xba\x67\x3f\x2e\xe6\x5d\x77\xfc\x75\xd5\xbd\ +\x3a\x9a\xbc\x7e\xf3\x8f\x07\xf2\x00\x3c\x12\x9f\x98\x13\x4d\x04\ +\x8a\x02\xf3\x4b\xc2\x94\x01\xb8\x58\x2e\xda\x37\xeb\x7e\xb5\xfc\ +\xbb\xcd\x54\xe1\x6b\xed\x4d\x3f\xe6\x54\x27\xc0\xe5\xbc\x6f\x57\ +\xdd\x1c\x3e\x8e\x39\x8b\x6c\xd4\x8f\x25\x18\x36\xef\x6f\x8e\x19\ +\x6d\x74\x04\xea\xa4\xc5\xa9\x70\x52\x46\xa0\xd9\x21\x90\xf9\xd7\ +\x6d\x81\xce\x36\xf6\x3e\x99\x4d\x64\xff\xe9\x63\x23\xe5\xfb\x08\ +\xb4\x11\x78\xea\x5f\x11\xe8\x76\xc8\x8c\x08\xff\x51\x26\x8f\xee\ +\x3e\xe2\xc2\x7e\xf8\xa0\x00\x7a\x32\xf2\xc1\x81\x20\x4d\x49\xbf\ +\x9a\x2c\xd6\x17\xcb\xd5\x25\x44\x09\x8f\xdd\xa4\x6f\x5f\xd5\xdc\ +\x51\x4d\x34\x35\x8c\xa9\xd7\x18\x34\x7c\x9d\x74\xf3\x45\x3b\x59\ +\xfd\xbe\x9a\x9c\xcf\xdb\x45\x4f\xe6\xe7\xe3\x6a\x02\xc9\xc0\xc7\ +\x95\x6d\x28\xb7\x98\x2d\x02\x12\x0c\x69\x55\x45\x6e\x00\xee\x24\ +\x15\x06\x8e\x22\x1f\xa7\x91\xfa\xf3\x62\xde\x43\x0a\x7d\x85\x8c\ +\xfa\x13\xd3\xeb\x8f\xc5\xe7\x75\x9b\x24\xbd\x80\xe4\x59\x5e\x11\ +\x7c\xab\xcf\x96\xdd\x72\x35\xae\xc0\xdf\xea\xd4\x7e\xa8\xc8\xf2\ +\xe2\x62\xdd\x42\x1e\xb3\x6a\x74\x2f\xf6\x6f\xfc\xa3\x1b\xb0\xa9\ +\x72\x4a\xdd\x4b\x71\x26\x0b\x74\x9e\x51\x4f\x46\xdb\x56\x27\xf0\ +\xd5\xa4\x9f\x91\xb3\x6e\xb2\x06\x23\x20\xa1\x2b\x02\xce\xb8\xe4\ +\xda\x42\xe5\xf0\x86\x51\xbb\xa9\x39\x35\x33\x4b\xf5\x06\x3e\xbf\ +\x5f\xd6\xbc\xa1\x86\xb0\x00\x35\xd4\x24\xa8\xa3\xaa\x96\x80\xe4\ +\xe1\xc2\xa5\x0b\xa9\xa9\x20\x50\x7f\x09\x1e\xd1\x95\xac\x05\xa0\ +\xe0\xdb\x4c\x40\xe1\x6e\x18\xd5\x33\x1e\xa9\x66\xc8\xad\x41\xd0\ +\xf7\x4b\x25\xa9\xad\x59\xe2\x2b\x15\xa0\x46\x0e\x8a\x36\x40\xde\ +\x44\x1e\x12\x48\x3d\x0f\x03\x1a\x07\x1e\x78\x0a\x3c\x80\xaa\xe0\ +\xd1\x64\x53\x14\xa0\x24\x3d\xf4\x4c\xd8\xc0\x41\x51\x17\x39\xe0\ +\x09\x41\xb5\xb0\xc0\xc5\x0c\x3c\x14\xa3\x2a\xf1\xb0\x83\x25\x0a\ +\xea\x74\x23\x10\xac\x2c\x15\x05\xba\xa1\xc9\x70\x2d\xbc\xda\x89\ +\xc0\x26\x02\xcd\xc1\x7f\x03\x81\x0d\x56\x20\x01\x58\x96\xed\xec\ +\xc0\x94\xe0\xce\x40\x24\xbd\x14\x15\x88\x80\x45\x26\x1a\x48\x50\ +\x78\x42\x37\x54\x27\x19\x7a\x06\xc4\xd1\x4e\x3c\x21\x91\xa5\x85\ +\x2d\x1a\x4f\x9e\xcc\x94\xaa\x75\x00\xb7\x5e\x03\x2f\x89\x51\x07\ +\x51\x8f\xd1\x85\x2b\x19\x15\x30\xc2\x6b\x9d\x78\x19\xb8\x48\xbc\ +\x0a\x37\xa2\x33\x12\x81\xf4\xc2\x9b\x10\x0a\x13\x4d\x9c\xd5\x78\ +\x02\x32\x0d\x5e\x1b\xc8\x06\x77\x1a\x03\xba\x65\x39\x80\x3c\xe8\ +\x8c\x9e\x31\x51\x67\x17\xbd\x96\x95\xc3\xf4\x53\x99\x48\x64\x22\ +\x94\xc2\x03\x9c\xa7\x94\x82\x60\xf0\xe0\x28\x7f\xf2\x29\xc5\x83\ +\xd5\x1e\x4f\x84\x3c\x43\xff\xcb\xe8\x50\x3c\x79\xbc\xda\x40\xee\ +\x61\xb5\x44\x49\x31\x12\x60\x8f\x2a\x38\xf0\x81\x03\xcf\x1c\x78\ +\xe2\xd0\xd0\x26\x73\xc0\x98\x79\x0e\xd0\x2c\x6b\x0b\x17\x46\xd6\ +\x91\x6b\x07\x3e\x24\xc1\x5b\x8a\x64\xeb\x06\x2b\xc0\x07\xd1\x0a\ +\x3c\x79\xde\x12\xfc\x50\xda\xa1\x13\x26\xcf\x98\x59\x0b\xef\xc2\ +\xa8\x85\xce\x76\x34\x5b\x1c\x4c\x2c\x64\xcc\xfe\xec\xb1\x28\x0b\ +\x02\x81\x4e\x13\x59\xad\x20\x4c\x47\x44\x9d\xd0\x20\xa2\x2e\x0b\ +\xca\xa9\x0b\x77\x83\x1c\x90\x6f\x23\xb8\x00\xa6\xc8\x1b\x9f\xad\ +\x49\x25\x1d\x54\xea\x54\x91\x02\x9d\x77\x81\x47\x0a\xc1\x44\x23\ +\x32\x7e\x28\x79\xd5\xa4\x5e\xe4\x4f\x39\x14\x32\xeb\x06\xfd\x27\ +\x07\xd3\xd6\x98\xe1\x81\x83\x4a\x0e\x6f\x12\x7d\xa2\x16\xa1\x71\ +\xc6\x54\x50\x91\x1a\x1b\x42\x19\x04\x95\x82\x60\x72\x10\xb2\x7c\ +\xb9\x95\x0a\xa9\xa6\x54\xe9\x1c\x2e\x03\x3d\xcb\x41\x64\x43\x10\ +\x01\x33\xd3\xf3\x5c\x2b\x9a\x6e\xa7\xb3\x08\x1c\x72\x27\x55\xb9\ +\x93\xa2\x06\x39\x0d\x74\x6e\x5e\xbe\xa0\x34\xf0\x86\x0c\x30\xc9\ +\xaf\x9d\x92\xfe\x8b\x88\x2e\x97\x28\x3b\xf0\xee\xb0\x39\x9b\x90\ +\xac\xe8\x16\xcc\xd7\xe8\x3e\x28\x55\x95\xab\xd1\x6d\xe5\x56\x74\ +\x6b\x6e\x5b\xfe\x14\xd5\xe2\x83\x63\x74\x93\xea\x19\x88\x21\x2e\ +\x22\xf5\xa0\xa4\x6b\xd1\x48\x86\x71\xe2\x1b\x53\xd9\xb0\x9a\x1d\ +\xe8\x32\x77\x7d\x50\x93\xd7\x98\x86\xb1\x57\xc6\x06\x6b\xcb\x41\ +\x03\x35\x2c\x12\x7a\xb3\xc5\x5d\x26\xee\x5a\x97\x5d\xdf\xb7\xdc\ +\x40\x00\xad\xab\xe8\xab\xa9\xab\x42\x35\xa9\xa2\xb1\xdb\x54\x1d\ +\x38\x46\xb6\xe4\x26\x36\xca\x15\xb3\x46\x17\xe8\x6e\x6b\xd6\x88\ +\x8c\x5e\x76\x53\xe9\xb2\x9a\xcc\xab\xcf\x09\xd4\x82\x2e\x42\xda\ +\x84\x90\xa2\x81\x58\xa0\x3c\x4f\xc1\xe8\x6b\x30\xa8\xf0\x07\x28\ +\xa0\x06\x41\xcd\x96\xa0\xe4\xc0\x12\x9d\xe7\x69\x22\x7c\x82\x8b\ +\x08\x1f\xa6\x0c\x8e\xb6\x81\x4d\xee\x29\x22\x4e\x78\x98\xdb\x4d\ +\x00\x81\xcd\x7a\x6b\x20\x0f\x3c\x58\xea\x60\x7e\x37\xd0\x79\x84\ +\x2a\x4c\x4b\x76\x7b\xdc\x23\xb4\x40\x57\xd9\x22\xd8\x2a\x32\x3a\ +\x80\x23\x77\x24\x1c\x34\x17\x2c\x7b\x5a\x9a\x90\xb0\x1e\x6c\x0b\ +\xee\xa2\xc6\xba\xf6\x70\x5f\x89\x11\x5d\x0c\x3b\x17\x98\x19\x74\ +\xac\x08\x2e\xc3\xb0\x79\x86\x87\x8f\xbc\xe8\x3d\xee\xfb\xae\x5d\ +\xf9\x4b\xd8\x95\x85\x83\xb2\x93\x61\x57\x96\x16\x92\xda\xc5\x5d\ +\x19\x12\x5f\xd9\xb8\x2c\xc7\xf3\xff\x64\x5b\x7e\x34\xaf\x6e\x6f\ +\xdd\x3a\x6c\xdd\x4e\x50\xc6\x60\xed\xd6\x54\x3a\x37\xc1\x61\xe3\ +\x07\x0e\xfe\xd5\x70\x62\xcc\x92\xe1\x63\xb8\x23\xf7\xdf\x09\x67\ +\x6d\xbd\xeb\xae\xde\xba\x83\x39\x88\x8b\x9d\x61\x5c\x9b\x7d\xb2\ +\x11\xfd\xb1\x65\xe3\x07\xa6\x38\x3e\xa3\x09\x02\xd9\xef\xac\xba\ +\x23\x3f\x09\xde\x27\xe3\x3e\xbf\xec\x93\x5f\xdc\xf9\x56\xe5\x08\ +\x47\xeb\xef\x1a\x1f\x05\xec\x34\xfe\x17\x85\x47\xe3\x8d\x23\xb0\ +\x9b\x3f\xbd\x60\x8b\x0b\x01\xf4\x16\xe7\xc4\x43\x5c\xbe\x37\x1d\ +\xea\x5d\x77\xb7\x5d\x5e\x3b\x4b\x60\x8c\x3e\x50\xf6\xaf\x85\x9b\ +\x73\x78\xb2\x85\x64\xdb\x19\xef\xc3\x27\x3b\x17\x50\xe5\xd0\x19\ +\x1f\x56\xe5\x7b\xf3\x61\x9f\xdb\xb7\xab\x5c\xe2\x8f\x62\xf0\x1c\ +\xc9\xf8\x5d\xc7\x3f\xd4\xf4\x9f\x4f\x75\x0e\xa3\x4f\x10\x98\x6d\ +\xcd\xb3\x18\x8f\x5b\x05\x18\xbf\xb7\xd6\x0e\x98\xee\x5c\x49\x82\ +\x3b\xca\xd3\x8b\xe6\x7e\xf9\x06\xab\x9d\xdb\xdb\xdd\x0e\x57\x6b\ +\x60\x38\x83\x6d\x07\x4c\x87\x94\x7b\xfa\x62\xc3\x84\xb3\x98\xef\ +\xf0\xed\x39\x8c\xc7\xdf\xc2\x30\xdf\x77\x19\x7f\xf0\x06\x0f\x8d\ +\x06\xf6\x52\x78\x50\x82\x35\xea\x39\x8a\x1d\xda\xac\x22\xf0\x06\ +\x43\xfd\xe9\x7d\xef\xac\xb7\x9d\x3f\x66\x8f\xff\x79\xdb\x2d\xfe\ +\xf2\xd3\x50\xbb\x6b\x9d\x39\xf8\x2a\x67\xfc\x60\x25\x62\x77\x97\ +\x3f\xfc\x42\xa3\xfd\x52\x41\xee\xf6\xba\x83\x97\x3b\xec\x91\x30\ +\x59\x60\x95\x63\x0f\x6c\x76\xbf\xda\xe5\x2d\xae\x91\xcf\xb1\xd4\ +\xa4\xe7\xc1\x23\x71\x81\xff\xf1\x81\xa7\x9a\xf0\x4f\x21\x78\x0a\ +\x6a\x74\x7a\xb0\x39\x19\x4d\xdf\xbe\xc4\x7f\x9b\x6c\xe0\xf3\x5f\ +\x96\xc4\x29\x98\ \x00\x00\x03\x78\ \x3c\ \x73\x76\x67\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\x30\x30\x22\ @@ -3594,6 +3702,10 @@ \x03\xf2\x8a\x00\ \x00\x76\ \x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x73\x00\x6b\x00\x69\x00\x70\ +\x00\x08\ +\x05\xe5\x51\xec\ +\x00\x6c\ +\x00\x6f\x00\x67\x00\x6f\x00\x5f\x00\x69\x00\x62\x00\x6c\ \x00\x06\ \x06\xe0\xaf\xb2\ \x00\x67\ @@ -3639,8 +3751,8 @@ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x03\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x06\x32\ \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0f\ @@ -3659,24 +3771,25 @@ \x00\x00\x01\x28\x00\x00\x00\x00\x00\x01\x00\x00\x32\x9e\ \x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ \x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ -\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x43\xf8\ -\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x47\x74\ -\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x21\ -\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x55\x57\ -\x00\x00\x01\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x58\x25\ -\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x59\x52\ -\x00\x00\x02\x26\x00\x00\x00\x00\x00\x01\x00\x00\x59\xef\ -\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x3c\ -\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x63\ -\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x9c\ +\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x91\ +\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x0d\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xba\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ +\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xbe\ +\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5f\xeb\ +\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x60\x88\ +\x00\x00\x02\x56\x00\x00\x00\x00\x00\x01\x00\x00\x63\xd5\ +\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x64\xfc\ +\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x01\x00\x00\xcb\x35\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1e\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1b\x00\x00\x00\x03\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\x8e\x1f\x05\xcb\x4a\ @@ -3705,34 +3818,36 @@ \x00\x00\x00\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x1f\x4e\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ \x00\x00\x00\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x26\xa6\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc6\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ \x00\x00\x01\x04\x00\x00\x00\x00\x00\x01\x00\x00\x30\x8a\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc5\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ \x00\x00\x01\x28\x00\x00\x00\x00\x00\x01\x00\x00\x32\x9e\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc8\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ \x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc6\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ \x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc7\ -\x00\x00\x01\x94\x00\x00\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ +\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\x8e\xae\x7a\x2d\x9e\ +\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x91\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x01\xa6\x00\x00\x00\x00\x00\x01\x00\x00\x47\x74\ +\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x0d\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x01\xba\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x21\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xba\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ -\x00\x00\x01\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x55\x57\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ -\x00\x00\x01\xe0\x00\x00\x00\x00\x00\x01\x00\x00\x58\x25\ +\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xbe\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x59\x52\ -\x00\x00\x01\x8e\xa9\xd3\x98\xc7\ -\x00\x00\x02\x26\x00\x00\x00\x00\x00\x01\x00\x00\x59\xef\ +\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5f\xeb\ +\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ +\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x60\x88\ \x00\x00\x01\x8e\x1f\x05\xcb\x4a\ -\x00\x00\x02\x40\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x3c\ +\x00\x00\x02\x56\x00\x00\x00\x00\x00\x01\x00\x00\x63\xd5\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x02\x5a\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x63\ +\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x64\xfc\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x02\x76\x00\x00\x00\x00\x00\x01\x00\x00\xc4\x9c\ +\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x01\x00\x00\xcb\x35\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ " diff --git a/iblrig/gui/splash.py b/iblrig/gui/splash.py new file mode 100644 index 000000000..a6a25e3d9 --- /dev/null +++ b/iblrig/gui/splash.py @@ -0,0 +1,93 @@ +import sys + +from PyQt5 import QtCore +from PyQt5.QtCore import QEasingCurve, QPoint, QPropertyAnimation, QSequentialAnimationGroup, QThreadPool, QTimer +from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow +from typing_extensions import override + +from iblrig import __version__ as version +from iblrig.constants import COPYRIGHT_YEAR +from iblrig.gui.tools import Worker +from iblrig.gui.ui_splash import Ui_splash +from iblrig.hardware_validation import Result, get_all_validators +from iblrig.path_helper import load_pydantic_yaml +from iblrig.pydantic_definitions import HardwareSettings, RigSettings + + +class Splash(QDialog, Ui_splash): + validation_results: list[Result] = [] + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self.setupUi(self) + self.setWindowFlags(QtCore.Qt.SplashScreen | QtCore.Qt.FramelessWindowHint) + self.installEventFilter(self) + + # store arguments as members + self.hardware_settings = load_pydantic_yaml(HardwareSettings) + self.rig_settings = load_pydantic_yaml(RigSettings) + + # update a few strings + self.labelVersion.setText(f'v{version}') + self.labelCopyright.setText(f'© {COPYRIGHT_YEAR}, International Brain Laboratory') + + # extremely important animation + self.hat.setProperty('pos', QPoint(0, -250)) + animation_1 = QPropertyAnimation(self, b'windowOpacity') + animation_1.setStartValue(0.0) + animation_1.setEndValue(1.0) + animation_1.setDuration(200) + animation_2 = QPropertyAnimation(self.hat, b'pos') + animation_2.setEasingCurve(QEasingCurve.InQuad) + animation_2.setEndValue(QPoint(0, 40)) + animation_2.setDuration(500) + self.animation_group = QSequentialAnimationGroup() + self.animation_group.addAnimation(animation_1) + self.animation_group.addAnimation(animation_2) + self.animation_group.start() + + # start timer for force close + QTimer.singleShot(20000, self.stop_and_close) + + worker = Worker(self.validation) + worker.signals.finished.connect(self.close) + QThreadPool.globalInstance().tryStart(worker) + + def validation(self): + for validator in get_all_validators(): + validator_instance = validator(hardware_settings=self.hardware_settings, iblrig_settings=self.rig_settings) + self.labelStatus.setText(f'Validating {validator_instance.name} ...') + for result in validator_instance.run(): + self.validation_results.append(result) + + def stop_and_close(self): + self.close() + + @override + def close(self): + print(self.validation_results) + super().close() + + @override + def eventFilter(self, obj, event): + """Disregard all key-presses""" + return obj is self and event.type() == QtCore.QEvent.KeyPress + + +class MainWindow(QMainWindow): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + a = Splash(self) + a.exec() + + +def main(): + app = QApplication(sys.argv) + # app.setStyle('Fusion') + window = MainWindow() + window.show() + app.exec() + + +if __name__ == '__main__': + main() diff --git a/iblrig/gui/ui_splash.py b/iblrig/gui/ui_splash.py new file mode 100644 index 000000000..f760f52cb --- /dev/null +++ b/iblrig/gui/ui_splash.py @@ -0,0 +1,131 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'iblrig\gui\ui_splash.ui' +# +# Created by: PyQt5 UI code generator 5.15.10 +# +# WARNING: Any manual changes made to this file will be lost when pyuic5 is +# run again. Do not edit this file unless you know what you are doing. + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_splash(object): + def setupUi(self, splash): + splash.setObjectName("splash") + splash.setWindowModality(QtCore.Qt.ApplicationModal) + splash.resize(350, 400) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(splash.sizePolicy().hasHeightForWidth()) + splash.setSizePolicy(sizePolicy) + splash.setMinimumSize(QtCore.QSize(350, 400)) + splash.setMaximumSize(QtCore.QSize(350, 400)) + self.verticalLayout = QtWidgets.QVBoxLayout(splash) + self.verticalLayout.setContentsMargins(0, 0, 0, 0) + self.verticalLayout.setSpacing(0) + self.verticalLayout.setObjectName("verticalLayout") + self.containerWidget = QtWidgets.QWidget(splash) + self.containerWidget.setStyleSheet("QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, )) };") + self.containerWidget.setObjectName("containerWidget") + self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.containerWidget) + self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_3.setSpacing(0) + self.verticalLayout_3.setObjectName("verticalLayout_3") + self.horizontalWidget = QtWidgets.QWidget(self.containerWidget) + self.horizontalWidget.setObjectName("horizontalWidget") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalWidget) + self.horizontalLayout.setContentsMargins(0, 0, 0, 0) + self.horizontalLayout.setSpacing(0) + self.horizontalLayout.setObjectName("horizontalLayout") + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.widgetLogo = QtWidgets.QWidget(self.horizontalWidget) + self.widgetLogo.setMinimumSize(QtCore.QSize(250, 240)) + self.widgetLogo.setMaximumSize(QtCore.QSize(250, 16777215)) + self.widgetLogo.setStyleSheet("") + self.widgetLogo.setObjectName("widgetLogo") + self.logo = QtWidgets.QLabel(self.widgetLogo) + self.logo.setGeometry(QtCore.QRect(50, 100, 150, 150)) + self.logo.setStyleSheet("") + self.logo.setPixmap(QtGui.QPixmap(":/images/logo_ibl")) + self.logo.setScaledContents(True) + self.logo.setObjectName("logo") + self.hat = QtWidgets.QLabel(self.widgetLogo) + self.hat.setGeometry(QtCore.QRect(0, 50, 150, 150)) + self.hat.setPixmap(QtGui.QPixmap(":/images/iblrig_logo")) + self.hat.setScaledContents(True) + self.hat.setObjectName("hat") + self.horizontalLayout.addWidget(self.widgetLogo) + spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem1) + self.verticalLayout_3.addWidget(self.horizontalWidget) + spacerItem2 = QtWidgets.QSpacerItem(20, 30, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.verticalLayout_3.addItem(spacerItem2) + self.widgetText = QtWidgets.QWidget(self.containerWidget) + self.widgetText.setObjectName("widgetText") + self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.widgetText) + self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) + self.verticalLayout_4.setSpacing(0) + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.labelRig = QtWidgets.QLabel(self.widgetText) + font = QtGui.QFont() + font.setFamily("Arial") + font.setPointSize(15) + font.setBold(True) + font.setWeight(75) + self.labelRig.setFont(font) + self.labelRig.setAlignment(QtCore.Qt.AlignCenter) + self.labelRig.setObjectName("labelRig") + self.verticalLayout_4.addWidget(self.labelRig) + self.labelVersion = QtWidgets.QLabel(self.widgetText) + self.labelVersion.setAlignment(QtCore.Qt.AlignCenter) + self.labelVersion.setObjectName("labelVersion") + self.verticalLayout_4.addWidget(self.labelVersion) + self.verticalLayout_3.addWidget(self.widgetText) + spacerItem3 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_3.addItem(spacerItem3) + self.horizontalWidget1 = QtWidgets.QWidget(self.containerWidget) + self.horizontalWidget1.setAutoFillBackground(False) + self.horizontalWidget1.setStyleSheet("background-color: rgb(255, 255, 255);") + self.horizontalWidget1.setObjectName("horizontalWidget1") + self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalWidget1) + self.horizontalLayout_2.setContentsMargins(9, 2, 9, 2) + self.horizontalLayout_2.setObjectName("horizontalLayout_2") + self.labelStatus = QtWidgets.QLabel(self.horizontalWidget1) + self.labelStatus.setObjectName("labelStatus") + self.horizontalLayout_2.addWidget(self.labelStatus) + self.verticalLayout_3.addWidget(self.horizontalWidget1) + spacerItem4 = QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.verticalLayout_3.addItem(spacerItem4) + self.labelCopyright = QtWidgets.QLabel(self.containerWidget) + self.labelCopyright.setAlignment(QtCore.Qt.AlignCenter) + self.labelCopyright.setObjectName("labelCopyright") + self.verticalLayout_3.addWidget(self.labelCopyright) + spacerItem5 = QtWidgets.QSpacerItem(20, 5, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) + self.verticalLayout_3.addItem(spacerItem5) + self.verticalLayout.addWidget(self.containerWidget) + + self.retranslateUi(splash) + QtCore.QMetaObject.connectSlotsByName(splash) + + def retranslateUi(self, splash): + _translate = QtCore.QCoreApplication.translate + splash.setWindowTitle(_translate("splash", "Dialog")) + self.labelRig.setText(_translate("splash", "IBLRIG Wizard")) + self.labelVersion.setText(_translate("splash", "v8.13.0")) + self.labelStatus.setText(_translate("splash", "Status")) + self.labelCopyright.setText(_translate("splash", "© 2024, International Brain Laboratory")) +from iblrig.gui import resources_rc + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + splash = QtWidgets.QDialog() + ui = Ui_splash() + ui.setupUi(splash) + splash.show() + sys.exit(app.exec_()) diff --git a/iblrig/gui/ui_splash.ui b/iblrig/gui/ui_splash.ui new file mode 100644 index 000000000..7f30843db --- /dev/null +++ b/iblrig/gui/ui_splash.ui @@ -0,0 +1,335 @@ + + + splash + + + Qt::ApplicationModal + + + + 0 + 0 + 350 + 400 + + + + + 0 + 0 + + + + + 350 + 400 + + + + + 350 + 400 + + + + Dialog + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, )) }; + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 250 + 240 + + + + + 250 + 16777215 + + + + + + + + + 50 + 100 + 150 + 150 + + + + + + + :/images/logo_ibl + + + true + + + + + + 0 + 50 + 150 + 150 + + + + :/images/iblrig_logo + + + true + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 30 + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + Arial + 15 + 75 + true + + + + IBLRIG Wizard + + + Qt::AlignCenter + + + + + + + v8.13.0 + + + Qt::AlignCenter + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + false + + + background-color: rgb(255, 255, 255); + + + + 9 + + + 2 + + + 9 + + + 2 + + + + + Status + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + © 2024, International Brain Laboratory + + + Qt::AlignCenter + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + + + + + diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index a96fd6528..8e023cab9 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -30,7 +30,7 @@ import iblrig_tasks from iblrig.base_tasks import EmptySession, ValveMixin from iblrig.choiceworld import get_subject_training_info, training_phase_from_contrast_set -from iblrig.constants import BASE_DIR +from iblrig.constants import BASE_DIR, COPYRIGHT_YEAR from iblrig.gui.frame2ttl import Frame2TTLCalibrationDialog from iblrig.gui.tools import Worker from iblrig.gui.ui_login import Ui_login @@ -337,7 +337,7 @@ def __init__(self, **kwargs): self.webEngineView.urlChanged.connect(self._on_doc_url_changed) # tab: about - self.uiLabelCopyright.setText(f'**IBLRIG v{iblrig.__version__}**\n\n© 2024, International Brain Laboratory') + self.uiLabelCopyright.setText(f'**IBLRIG v{iblrig.__version__}**\n\n© {COPYRIGHT_YEAR}, International Brain Laboratory') self.commandLinkButtonGitHub.clicked.connect(lambda: webbrowser.open(URL_REPO)) self.commandLinkButtonDoc.clicked.connect(lambda: webbrowser.open(URL_DOC)) self.commandLinkButtonIssues.clicked.connect(lambda: webbrowser.open(URL_ISSUES)) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index b13cba30a..40afdb5f1 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -21,7 +21,7 @@ from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.serial_singleton import SerialSingleton, filter_ports -from iblrig.tools import internet_available, ANSI +from iblrig.tools import ANSI, internet_available from one.webclient import AlyxClient from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine @@ -510,4 +510,4 @@ def run_all_validators_cli(): if warn > 0: print(ANSI.YELLOW + ANSI.BOLD + f'Validations passed with {warn} warning{"s" if warn > 1 else ""}.') if warn == 0 and fail == 0: - print(ANSI.GREEN + ANSI.BOLD + f'All validations were passed - no issues found.') + print(ANSI.GREEN + ANSI.BOLD + 'All validations were passed - no issues found.') From 1185fe7daefe0b5c82d8c1d412e8133f2c7345b5 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 5 Apr 2024 18:17:00 +0100 Subject: [PATCH 27/90] show splash-screen when starting wizard --- iblrig/gui/splash.py | 20 -------------------- iblrig/gui/wizard.py | 7 +++++++ 2 files changed, 7 insertions(+), 20 deletions(-) diff --git a/iblrig/gui/splash.py b/iblrig/gui/splash.py index a6a25e3d9..93960dca8 100644 --- a/iblrig/gui/splash.py +++ b/iblrig/gui/splash.py @@ -65,29 +65,9 @@ def stop_and_close(self): @override def close(self): - print(self.validation_results) super().close() @override def eventFilter(self, obj, event): """Disregard all key-presses""" return obj is self and event.type() == QtCore.QEvent.KeyPress - - -class MainWindow(QMainWindow): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - a = Splash(self) - a.exec() - - -def main(): - app = QApplication(sys.argv) - # app.setStyle('Fusion') - window = MainWindow() - window.show() - app.exec() - - -if __name__ == '__main__': - main() diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index 8e023cab9..bbdf63c09 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -32,6 +32,7 @@ from iblrig.choiceworld import get_subject_training_info, training_phase_from_contrast_set from iblrig.constants import BASE_DIR, COPYRIGHT_YEAR from iblrig.gui.frame2ttl import Frame2TTLCalibrationDialog +from iblrig.gui.splash import Splash from iblrig.gui.tools import Worker from iblrig.gui.ui_login import Ui_login from iblrig.gui.ui_update import Ui_update @@ -247,6 +248,11 @@ def __init__(self, **kwargs): super().__init__() self.setupUi(self) + # show splash-screen and store validation results to member + splash_screen = Splash() + splash_screen.exec() + self.validation_results = splash_screen.validation_results + self.debug = kwargs.get('debug', False) self.settings = QtCore.QSettings() self.move(self.settings.value('pos', self.pos(), QtCore.QPoint)) @@ -389,6 +395,7 @@ def __init__(self, **kwargs): dirty_worker.signals.result.connect(self._on_check_dirty_result) QThreadPool.globalInstance().start(dirty_worker) + def _show_error_dialog( self, title: str, From 343f0f9e1c5ea0409e8d85f7ae5e3b40c5e72fef Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 8 Apr 2024 10:42:38 +0100 Subject: [PATCH 28/90] add icon for status pending --- iblrig/gui/resources.qrc | 1 + .../gui/resources/icon_validation_pending.svg | 4 + iblrig/gui/resources/icon_validation_skip.svg | 47 +--- iblrig/gui/resources_rc.py | 259 ++++++++---------- iblrig/gui/splash.py | 17 +- iblrig/gui/ui_wizard.ui | 2 +- iblrig/gui/validation.py | 15 +- 7 files changed, 145 insertions(+), 200 deletions(-) create mode 100644 iblrig/gui/resources/icon_validation_pending.svg diff --git a/iblrig/gui/resources.qrc b/iblrig/gui/resources.qrc index 42c08419c..dd7d264d9 100644 --- a/iblrig/gui/resources.qrc +++ b/iblrig/gui/resources.qrc @@ -1,5 +1,6 @@ + resources/icon_validation_pending.svg resources/logo_ibl.svg resources/icon_validation_warn.svg resources/icon_validation_suggestion.svg diff --git a/iblrig/gui/resources/icon_validation_pending.svg b/iblrig/gui/resources/icon_validation_pending.svg new file mode 100644 index 000000000..81819ce05 --- /dev/null +++ b/iblrig/gui/resources/icon_validation_pending.svg @@ -0,0 +1,4 @@ + + + + diff --git a/iblrig/gui/resources/icon_validation_skip.svg b/iblrig/gui/resources/icon_validation_skip.svg index 343edaebb..2533fc0b0 100644 --- a/iblrig/gui/resources/icon_validation_skip.svg +++ b/iblrig/gui/resources/icon_validation_skip.svg @@ -1,45 +1,4 @@ - - - - - - - - - + + + diff --git a/iblrig/gui/resources_rc.py b/iblrig/gui/resources_rc.py index f5f3fafb8..7b27b0d5b 100644 --- a/iblrig/gui/resources_rc.py +++ b/iblrig/gui/resources_rc.py @@ -1021,120 +1021,42 @@ \x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x33\x20\ \x30\x20\x7a\x20\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\ \x3c\x2f\x73\x76\x67\x3e\x0a\ -\x00\x00\x06\xf5\ +\x00\x00\x02\x16\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ \x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ -\x2d\x38\x22\x20\x73\x74\x61\x6e\x64\x61\x6c\x6f\x6e\x65\x3d\x22\ -\x6e\x6f\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x43\x72\x65\x61\x74\ -\x65\x64\x20\x77\x69\x74\x68\x20\x49\x6e\x6b\x73\x63\x61\x70\x65\ -\x20\x28\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\ -\x73\x63\x61\x70\x65\x2e\x6f\x72\x67\x2f\x29\x20\x2d\x2d\x3e\x0a\ -\x0a\x3c\x73\x76\x67\x0a\x20\x20\x20\x77\x69\x64\x74\x68\x3d\x22\ -\x38\x30\x30\x22\x0a\x20\x20\x20\x68\x65\x69\x67\x68\x74\x3d\x22\ -\x38\x30\x30\x22\x0a\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\ -\x22\x30\x20\x30\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x32\ -\x31\x31\x2e\x36\x36\x36\x36\x37\x22\x0a\x20\x20\x20\x76\x65\x72\ -\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x0a\x20\x20\x20\x69\x64\ -\x3d\x22\x73\x76\x67\x31\x22\x0a\x20\x20\x20\x69\x6e\x6b\x73\x63\ -\x61\x70\x65\x3a\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x33\ -\x20\x28\x30\x65\x31\x35\x30\x65\x64\x36\x63\x34\x2c\x20\x32\x30\ -\x32\x33\x2d\x30\x37\x2d\x32\x31\x29\x22\x0a\x20\x20\x20\x78\x6d\ -\x6c\x6e\x73\x3a\x69\x6e\x6b\x73\x63\x61\x70\x65\x3d\x22\x68\x74\ -\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\x70\ -\x65\x2e\x6f\x72\x67\x2f\x6e\x61\x6d\x65\x73\x70\x61\x63\x65\x73\ -\x2f\x69\x6e\x6b\x73\x63\x61\x70\x65\x22\x0a\x20\x20\x20\x78\x6d\ -\x6c\x6e\x73\x3a\x73\x6f\x64\x69\x70\x6f\x64\x69\x3d\x22\x68\x74\ -\x74\x70\x3a\x2f\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2e\x73\x6f\ -\x75\x72\x63\x65\x66\x6f\x72\x67\x65\x2e\x6e\x65\x74\x2f\x44\x54\ -\x44\x2f\x73\x6f\x64\x69\x70\x6f\x64\x69\x2d\x30\x2e\x64\x74\x64\ -\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\ -\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\ -\x30\x30\x2f\x73\x76\x67\x22\x0a\x20\x20\x20\x78\x6d\x6c\x6e\x73\ -\x3a\x73\x76\x67\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\ -\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\ -\x22\x3e\x0a\x20\x20\x3c\x73\x6f\x64\x69\x70\x6f\x64\x69\x3a\x6e\ -\x61\x6d\x65\x64\x76\x69\x65\x77\x0a\x20\x20\x20\x20\x20\x69\x64\ -\x3d\x22\x6e\x61\x6d\x65\x64\x76\x69\x65\x77\x31\x22\x0a\x20\x20\ -\x20\x20\x20\x70\x61\x67\x65\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x66\ -\x66\x66\x66\x66\x66\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\ -\x65\x72\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x30\x30\x30\x30\x30\x30\ -\x22\x0a\x20\x20\x20\x20\x20\x62\x6f\x72\x64\x65\x72\x6f\x70\x61\ -\x63\x69\x74\x79\x3d\x22\x30\x2e\x32\x35\x22\x0a\x20\x20\x20\x20\ -\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x73\x68\x6f\x77\x70\x61\ -\x67\x65\x73\x68\x61\x64\x6f\x77\x3d\x22\x32\x22\x0a\x20\x20\x20\ -\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x6f\ -\x70\x61\x63\x69\x74\x79\x3d\x22\x30\x2e\x30\x22\x0a\x20\x20\x20\ -\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x70\x61\x67\x65\x63\ -\x68\x65\x63\x6b\x65\x72\x62\x6f\x61\x72\x64\x3d\x22\x30\x22\x0a\ -\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x64\x65\ -\x73\x6b\x63\x6f\x6c\x6f\x72\x3d\x22\x23\x64\x31\x64\x31\x64\x31\ -\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\ -\x64\x6f\x63\x75\x6d\x65\x6e\x74\x2d\x75\x6e\x69\x74\x73\x3d\x22\ -\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ -\x65\x3a\x7a\x6f\x6f\x6d\x3d\x22\x30\x2e\x33\x36\x32\x31\x33\x31\ -\x37\x33\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ -\x65\x3a\x63\x78\x3d\x22\x35\x35\x37\x2e\x38\x30\x38\x30\x36\x22\ -\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\ -\x79\x3d\x22\x38\x34\x2e\x32\x32\x33\x34\x39\x34\x22\x0a\x20\x20\ -\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\ -\x6f\x77\x2d\x77\x69\x64\x74\x68\x3d\x22\x31\x39\x32\x30\x22\x0a\ -\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\ -\x6e\x64\x6f\x77\x2d\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x30\x30\ -\x39\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\ -\x3a\x77\x69\x6e\x64\x6f\x77\x2d\x78\x3d\x22\x2d\x38\x22\x0a\x20\ -\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\ -\x64\x6f\x77\x2d\x79\x3d\x22\x2d\x38\x22\x0a\x20\x20\x20\x20\x20\ -\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x77\x69\x6e\x64\x6f\x77\x2d\ -\x6d\x61\x78\x69\x6d\x69\x7a\x65\x64\x3d\x22\x31\x22\x0a\x20\x20\ -\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\x65\x3a\x63\x75\x72\x72\ -\x65\x6e\x74\x2d\x6c\x61\x79\x65\x72\x3d\x22\x6c\x61\x79\x65\x72\ -\x31\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x64\x65\x66\x73\x0a\x20\x20\ -\x20\x20\x20\x69\x64\x3d\x22\x64\x65\x66\x73\x31\x22\x20\x2f\x3e\ -\x0a\x20\x20\x3c\x67\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\ -\x61\x70\x65\x3a\x6c\x61\x62\x65\x6c\x3d\x22\x4c\x61\x79\x65\x72\ -\x20\x31\x22\x0a\x20\x20\x20\x20\x20\x69\x6e\x6b\x73\x63\x61\x70\ -\x65\x3a\x67\x72\x6f\x75\x70\x6d\x6f\x64\x65\x3d\x22\x6c\x61\x79\ -\x65\x72\x22\x0a\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x6c\x61\x79\ -\x65\x72\x31\x22\x3e\x0a\x20\x20\x20\x20\x3c\x70\x61\x74\x68\x0a\ -\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3d\x22\x70\x61\x74\x68\x31\ -\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6c\x65\x3d\x22\ -\x66\x69\x6c\x6c\x3a\x23\x38\x30\x38\x30\x38\x30\x3b\x73\x74\x72\ -\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3a\x30\x2e\x33\x31\x34\x37\ -\x38\x38\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x64\x3d\x22\x4d\x20\ -\x31\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x30\x20\x43\x20\x34\x37\ -\x2e\x33\x38\x33\x32\x35\x34\x20\x2d\x33\x2e\x33\x31\x33\x37\x30\ -\x35\x35\x65\x2d\x30\x36\x20\x2d\x33\x2e\x33\x31\x33\x37\x30\x35\ -\x36\x65\x2d\x30\x36\x20\x34\x37\x2e\x33\x38\x33\x32\x35\x34\x20\ -\x30\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x43\x20\x2d\x34\ -\x2e\x32\x39\x33\x36\x31\x33\x65\x2d\x31\x34\x20\x31\x33\x30\x2e\ -\x39\x32\x39\x35\x36\x20\x38\x2e\x37\x35\x33\x32\x30\x38\x34\x20\ -\x31\x35\x33\x2e\x39\x37\x30\x37\x32\x20\x32\x33\x2e\x33\x34\x38\ -\x39\x36\x33\x20\x31\x37\x32\x2e\x31\x31\x31\x39\x38\x20\x43\x20\ -\x35\x37\x2e\x32\x35\x39\x30\x38\x34\x20\x31\x33\x37\x2e\x35\x32\ -\x31\x30\x33\x20\x31\x33\x37\x2e\x36\x38\x37\x39\x38\x20\x35\x37\ -\x2e\x34\x32\x31\x36\x33\x34\x20\x31\x37\x32\x2e\x31\x32\x33\x38\ -\x36\x20\x32\x33\x2e\x33\x35\x38\x32\x36\x35\x20\x43\x20\x31\x35\ -\x33\x2e\x39\x38\x30\x38\x31\x20\x38\x2e\x37\x35\x36\x38\x32\x34\ -\x33\x20\x31\x33\x30\x2e\x39\x33\x34\x39\x38\x20\x2d\x34\x2e\x37\ -\x33\x36\x35\x33\x35\x38\x65\x2d\x31\x34\x20\x31\x30\x35\x2e\x38\ -\x33\x33\x33\x34\x20\x30\x20\x7a\x20\x4d\x20\x31\x38\x38\x2e\x35\ -\x30\x38\x39\x31\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x4c\ -\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x31\x38\x38\x2e\x35\ -\x30\x38\x39\x31\x20\x43\x20\x35\x37\x2e\x39\x30\x31\x38\x30\x39\ -\x20\x32\x30\x32\x2e\x39\x38\x38\x33\x39\x20\x38\x30\x2e\x38\x34\ -\x38\x31\x34\x39\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x31\ -\x30\x35\x2e\x38\x33\x33\x33\x34\x20\x32\x31\x31\x2e\x36\x36\x36\ -\x36\x37\x20\x43\x20\x31\x36\x34\x2e\x32\x38\x33\x34\x31\x20\x32\ -\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x32\x31\x31\x2e\x36\x36\x36\ -\x36\x37\x20\x31\x36\x34\x2e\x32\x38\x33\x34\x31\x20\x32\x31\x31\ -\x2e\x36\x36\x36\x36\x37\x20\x31\x30\x35\x2e\x38\x33\x33\x33\x34\ -\x20\x43\x20\x32\x31\x31\x2e\x36\x36\x36\x36\x37\x20\x38\x30\x2e\ -\x38\x34\x38\x31\x34\x39\x20\x32\x30\x32\x2e\x39\x38\x38\x33\x39\ -\x20\x35\x37\x2e\x39\x30\x31\x38\x30\x39\x20\x31\x38\x38\x2e\x35\ -\x30\x38\x39\x31\x20\x33\x39\x2e\x37\x39\x37\x35\x37\x31\x20\x7a\ -\x20\x22\x20\x2f\x3e\x0a\x20\x20\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\ -\x76\x67\x3e\x0a\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x77\x69\x64\x74\x68\ +\x3d\x22\x38\x30\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\ +\x30\x30\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\ +\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x32\ +\x31\x31\x2e\x36\x37\x20\x32\x31\x31\x2e\x36\x37\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\ +\x3e\x0a\x20\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x6d\x31\x30\x35\ +\x2e\x38\x33\x20\x30\x63\x2d\x35\x38\x2e\x34\x35\x2d\x33\x2e\x33\ +\x31\x33\x37\x65\x2d\x36\x20\x2d\x31\x30\x35\x2e\x38\x33\x20\x34\ +\x37\x2e\x33\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\ +\x2e\x38\x33\x2d\x34\x2e\x32\x39\x33\x36\x65\x2d\x31\x34\x20\x32\ +\x35\x2e\x30\x39\x36\x20\x38\x2e\x37\x35\x33\x32\x20\x34\x38\x2e\ +\x31\x33\x37\x20\x32\x33\x2e\x33\x34\x39\x20\x36\x36\x2e\x32\x37\ +\x39\x20\x33\x33\x2e\x39\x31\x2d\x33\x34\x2e\x35\x39\x31\x20\x31\ +\x31\x34\x2e\x33\x34\x2d\x31\x31\x34\x2e\x36\x39\x20\x31\x34\x38\ +\x2e\x37\x37\x2d\x31\x34\x38\x2e\x37\x35\x2d\x31\x38\x2e\x31\x34\ +\x33\x2d\x31\x34\x2e\x36\x30\x31\x2d\x34\x31\x2e\x31\x38\x39\x2d\ +\x32\x33\x2e\x33\x35\x38\x2d\x36\x36\x2e\x32\x39\x31\x2d\x32\x33\ +\x2e\x33\x35\x38\x7a\x6d\x38\x32\x2e\x36\x37\x36\x20\x33\x39\x2e\ +\x37\x39\x38\x2d\x31\x34\x38\x2e\x37\x31\x20\x31\x34\x38\x2e\x37\ +\x31\x63\x31\x38\x2e\x31\x30\x34\x20\x31\x34\x2e\x34\x37\x39\x20\ +\x34\x31\x2e\x30\x35\x31\x20\x32\x33\x2e\x31\x35\x38\x20\x36\x36\ +\x2e\x30\x33\x36\x20\x32\x33\x2e\x31\x35\x38\x20\x35\x38\x2e\x34\ +\x35\x20\x30\x20\x31\x30\x35\x2e\x38\x33\x2d\x34\x37\x2e\x33\x38\ +\x33\x20\x31\x30\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x20\ +\x30\x2d\x32\x34\x2e\x39\x38\x35\x2d\x38\x2e\x36\x37\x38\x33\x2d\ +\x34\x37\x2e\x39\x33\x32\x2d\x32\x33\x2e\x31\x35\x38\x2d\x36\x36\ +\x2e\x30\x33\x36\x7a\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x62\x66\ +\x62\x66\x62\x66\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\ +\x74\x68\x3d\x22\x2e\x33\x31\x34\x37\x39\x22\x2f\x3e\x0a\x3c\x2f\ +\x73\x76\x67\x3e\x0a\ \x00\x00\x06\x95\ \x00\ \x00\x1b\x84\x78\x9c\xdd\x19\xc9\x72\x1a\x47\xf4\x6c\x7f\x45\xd7\ @@ -1528,6 +1450,59 @@ \x22\x31\x30\x36\x2e\x35\x32\x22\x20\x61\x72\x69\x61\x2d\x6c\x61\ \x62\x65\x6c\x3d\x22\x2a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\ \x0a\ +\x00\x00\x03\x29\ +\x3c\ +\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ +\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x55\x54\x46\ +\x2d\x38\x22\x3f\x3e\x0a\x3c\x73\x76\x67\x20\x77\x69\x64\x74\x68\ +\x3d\x22\x38\x30\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x38\ +\x30\x30\x22\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\ +\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x32\ +\x31\x31\x2e\x36\x37\x20\x32\x31\x31\x2e\x36\x37\x22\x20\x78\x6d\ +\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\ +\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\ +\x3e\x0a\x20\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x6d\x31\x30\x35\ +\x2e\x38\x33\x20\x30\x61\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\ +\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x2d\x31\x30\x35\x2e\x38\x33\ +\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\ +\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x20\x31\x30\x35\x2e\ +\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\x38\x33\ +\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x20\x31\x30\ +\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x20\x31\x30\x35\x2e\ +\x38\x33\x20\x31\x30\x35\x2e\x38\x33\x20\x30\x20\x30\x20\x30\x2d\ +\x31\x30\x35\x2e\x38\x33\x2d\x31\x30\x35\x2e\x38\x33\x7a\x6d\x2d\ +\x35\x39\x2e\x33\x35\x32\x20\x38\x39\x2e\x30\x32\x39\x61\x31\x36\ +\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\x30\x20\x30\x20\ +\x31\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x35\x20\ +\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\x30\x20\ +\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\ +\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\ +\x30\x20\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x35\x2d\x31\x36\x2e\ +\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\ +\x34\x20\x30\x20\x30\x20\x31\x20\x31\x36\x2e\x38\x30\x35\x2d\x31\ +\x36\x2e\x38\x30\x35\x7a\x6d\x35\x39\x2e\x33\x35\x32\x20\x30\x61\ +\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\x30\x20\ +\x30\x20\x31\x20\x31\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\x38\x30\ +\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\ +\x30\x20\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\ +\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\ +\x34\x20\x30\x20\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x35\x2d\x31\ +\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\ +\x38\x30\x34\x20\x30\x20\x30\x20\x31\x20\x31\x36\x2e\x38\x30\x35\ +\x2d\x31\x36\x2e\x38\x30\x35\x7a\x6d\x35\x39\x2e\x33\x35\x32\x20\ +\x30\x61\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\x34\x20\ +\x30\x20\x30\x20\x31\x20\x31\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\ +\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\x38\x30\ +\x34\x20\x30\x20\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x35\x20\x31\ +\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\x36\x2e\ +\x38\x30\x34\x20\x30\x20\x30\x20\x31\x2d\x31\x36\x2e\x38\x30\x34\ +\x2d\x31\x36\x2e\x38\x30\x35\x20\x31\x36\x2e\x38\x30\x34\x20\x31\ +\x36\x2e\x38\x30\x34\x20\x30\x20\x30\x20\x31\x20\x31\x36\x2e\x38\ +\x30\x34\x2d\x31\x36\x2e\x38\x30\x35\x7a\x22\x20\x66\x69\x6c\x6c\ +\x3d\x22\x23\x62\x66\x62\x66\x62\x66\x22\x20\x6f\x70\x61\x63\x69\ +\x74\x79\x3d\x22\x2e\x37\x35\x22\x20\x73\x74\x72\x6f\x6b\x65\x2d\ +\x77\x69\x64\x74\x68\x3d\x22\x2e\x32\x36\x34\x35\x38\x22\x2f\x3e\ +\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\ \x00\x00\x02\xca\ \x3c\ \x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\ @@ -3718,6 +3693,11 @@ \x07\xaa\x79\x25\ \x00\x73\ \x00\x74\x00\x61\x00\x62\x00\x6c\x00\x65\ +\x00\x12\ +\x08\x44\xd2\x07\ +\x00\x76\ +\x00\x61\x00\x6c\x00\x69\x00\x64\x00\x61\x00\x74\x00\x69\x00\x6f\x00\x6e\x00\x5f\x00\x70\x00\x65\x00\x6e\x00\x64\x00\x69\x00\x6e\ +\x00\x67\ \x00\x07\ \x08\xca\xa8\x74\ \x00\x72\ @@ -3751,8 +3731,8 @@ qt_resource_struct_v1 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x03\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1d\x00\x00\x00\x03\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x00\x2e\x00\x00\x00\x00\x00\x01\x00\x00\x06\x32\ \x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x07\x0f\ @@ -3771,25 +3751,26 @@ \x00\x00\x01\x28\x00\x00\x00\x00\x00\x01\x00\x00\x32\x9e\ \x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ \x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ -\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x43\xf8\ -\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x91\ -\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x0d\ -\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xba\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ -\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xbe\ -\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5f\xeb\ -\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x60\x88\ -\x00\x00\x02\x56\x00\x00\x00\x00\x00\x01\x00\x00\x63\xd5\ -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x64\xfc\ -\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x01\x00\x00\xcb\x35\ +\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x3f\x19\ +\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x45\xb2\ +\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x49\x2e\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x50\xdb\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x57\x11\ +\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x3e\ +\x00\x00\x02\x20\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x0c\ +\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x39\ +\x00\x00\x02\x66\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xd6\ +\x00\x00\x02\x80\x00\x00\x00\x00\x00\x01\x00\x00\x62\x23\ +\x00\x00\x02\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x63\x4a\ +\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xc9\x83\ " qt_resource_struct_v2 = b"\ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x01\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x1f\ +\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x20\ \x00\x00\x00\x00\x00\x00\x00\x00\ -\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1c\x00\x00\x00\x03\ +\x00\x00\x00\x10\x00\x02\x00\x00\x00\x1d\x00\x00\x00\x03\ \x00\x00\x00\x00\x00\x00\x00\x00\ \x00\x00\x00\x22\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\ \x00\x00\x01\x8e\x1f\x05\xcb\x4a\ @@ -3826,28 +3807,30 @@ \x00\x00\x01\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x34\x63\ \x00\x00\x01\x8e\xad\xc7\xe0\xa5\ \x00\x00\x01\x70\x00\x00\x00\x00\x00\x01\x00\x00\x3c\xff\ -\x00\x00\x01\x8e\xad\xc7\xe0\xa5\ -\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x43\xf8\ +\x00\x00\x01\x8e\xbc\xfe\xe6\x78\ +\x00\x00\x01\x94\x00\x01\x00\x00\x00\x01\x00\x00\x3f\x19\ \x00\x00\x01\x8e\xae\x7a\x2d\x9e\ -\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x4a\x91\ +\x00\x00\x01\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x45\xb2\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x4e\x0d\ +\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x49\x2e\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x55\xba\ +\x00\x00\x01\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x50\xdb\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ -\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x5b\xf0\ +\x00\x00\x01\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x57\x11\ +\x00\x00\x01\x8e\xbd\x09\x96\xce\ +\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5a\x3e\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ -\x00\x00\x01\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xbe\ +\x00\x00\x02\x20\x00\x00\x00\x00\x00\x01\x00\x00\x5d\x0c\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x02\x0c\x00\x00\x00\x00\x00\x01\x00\x00\x5f\xeb\ +\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x5e\x39\ \x00\x00\x01\x8e\xad\xc7\xe0\xa5\ -\x00\x00\x02\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x60\x88\ +\x00\x00\x02\x66\x00\x00\x00\x00\x00\x01\x00\x00\x5e\xd6\ \x00\x00\x01\x8e\x1f\x05\xcb\x4a\ -\x00\x00\x02\x56\x00\x00\x00\x00\x00\x01\x00\x00\x63\xd5\ +\x00\x00\x02\x80\x00\x00\x00\x00\x00\x01\x00\x00\x62\x23\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x02\x70\x00\x00\x00\x00\x00\x01\x00\x00\x64\xfc\ +\x00\x00\x02\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x63\x4a\ \x00\x00\x01\x8e\x1f\x05\xcb\x51\ -\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x01\x00\x00\xcb\x35\ +\x00\x00\x02\xb6\x00\x00\x00\x00\x00\x01\x00\x00\xc9\x83\ \x00\x00\x01\x8e\x1f\x10\x54\xcc\ " diff --git a/iblrig/gui/splash.py b/iblrig/gui/splash.py index 93960dca8..9380e0528 100644 --- a/iblrig/gui/splash.py +++ b/iblrig/gui/splash.py @@ -33,18 +33,11 @@ def __init__(self, *args, **kwargs): # extremely important animation self.hat.setProperty('pos', QPoint(0, -250)) - animation_1 = QPropertyAnimation(self, b'windowOpacity') - animation_1.setStartValue(0.0) - animation_1.setEndValue(1.0) - animation_1.setDuration(200) - animation_2 = QPropertyAnimation(self.hat, b'pos') - animation_2.setEasingCurve(QEasingCurve.InQuad) - animation_2.setEndValue(QPoint(0, 40)) - animation_2.setDuration(500) - self.animation_group = QSequentialAnimationGroup() - self.animation_group.addAnimation(animation_1) - self.animation_group.addAnimation(animation_2) - self.animation_group.start() + self.animation = QPropertyAnimation(self.hat, b'pos') + self.animation.setEasingCurve(QEasingCurve.InQuad) + self.animation.setEndValue(QPoint(0, 40)) + self.animation.setDuration(500) + self.animation.start() # start timer for force close QTimer.singleShot(20000, self.stop_and_close) diff --git a/iblrig/gui/ui_wizard.ui b/iblrig/gui/ui_wizard.ui index e7c75eb29..3b885954a 100644 --- a/iblrig/gui/ui_wizard.ui +++ b/iblrig/gui/ui_wizard.ui @@ -79,7 +79,7 @@ - 0 + 3 diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index 72df0ed63..1c81712ba 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -15,6 +15,7 @@ Status.FAIL: QIcon(':/images/validation_fail'), Status.INFO: QIcon(':/images/validation_info'), Status.SKIP: QIcon(':/images/validation_skip'), + Status.PEND: QIcon(':/images/validation_pending'), } @@ -55,6 +56,7 @@ class ValidatorItem(QStandardItem): def __init__(self, validator: type[Validator], hardware_settings: HardwareSettings, rig_settings: RigSettings): super().__init__() self.validator = validator(hardware_settings=hardware_settings, iblrig_settings=rig_settings) + self.setIcon(QIcon(STATUS_ICON[Status.PEND])) self.setText(self.validator.name) self.setFont(SECTION_FONT) @@ -87,6 +89,7 @@ def run(self) -> Status: return return_status def clear(self): + self.setIcon(QIcon(STATUS_ICON[Status.PEND])) while self.hasChildren(): self.removeRow(0) @@ -100,6 +103,11 @@ def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: Rig self.setupUi(self) self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowType.WindowContextHelpButtonHint) + self.worker = Worker(self.run_subprocess) + self.worker.setAutoDelete(False) + self.worker.signals.finished.connect(lambda: self.pushButtonRerun.setEnabled(True)) + self.worker.signals.finished.connect(lambda: self.pushButtonOK.setEnabled(True)) + self.treeModel = QStandardItemModel() self.treeModel.setColumnCount(2) @@ -116,15 +124,12 @@ def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: Rig self.pushButtonOK.clicked.connect(self.close) self.pushButtonRerun.clicked.connect(self.run) - self.show() + self.show() self.run() def run(self): - worker = Worker(self.run_subprocess) - worker.signals.finished.connect(lambda: self.pushButtonRerun.setEnabled(True)) - worker.signals.finished.connect(lambda: self.pushButtonOK.setEnabled(True)) - QThreadPool.globalInstance().tryStart(worker) + QThreadPool.globalInstance().tryStart(self.worker) def run_subprocess(self): self.pushButtonOK.setEnabled(False) From 69e93f2af17cb2b86d5f9c339b87ac68df62adbb Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 8 Apr 2024 12:26:17 +0100 Subject: [PATCH 29/90] show validation errors after start-up --- iblrig/gui/splash.py | 9 +++++---- iblrig/gui/validation.py | 3 ++- iblrig/gui/wizard.py | 23 +++++++++++++++++++++-- iblrig/hardware_validation.py | 6 +++--- 4 files changed, 31 insertions(+), 10 deletions(-) diff --git a/iblrig/gui/splash.py b/iblrig/gui/splash.py index 9380e0528..ecdd25e07 100644 --- a/iblrig/gui/splash.py +++ b/iblrig/gui/splash.py @@ -1,8 +1,6 @@ -import sys - from PyQt5 import QtCore -from PyQt5.QtCore import QEasingCurve, QPoint, QPropertyAnimation, QSequentialAnimationGroup, QThreadPool, QTimer -from PyQt5.QtWidgets import QApplication, QDialog, QMainWindow +from PyQt5.QtCore import QEasingCurve, QPoint, QPropertyAnimation, QThreadPool, QTimer +from PyQt5.QtWidgets import QDialog from typing_extensions import override from iblrig import __version__ as version @@ -42,10 +40,13 @@ def __init__(self, *args, **kwargs): # start timer for force close QTimer.singleShot(20000, self.stop_and_close) + # start validation worker worker = Worker(self.validation) worker.signals.finished.connect(self.close) QThreadPool.globalInstance().tryStart(worker) + self.show() + def validation(self): for validator in get_all_validators(): validator_instance = validator(hardware_settings=self.hardware_settings, iblrig_settings=self.rig_settings) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index 1c81712ba..a3baaa8fd 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -1,5 +1,5 @@ from PyQt5 import QtCore, QtWidgets -from PyQt5.QtCore import QThreadPool +from PyQt5.QtCore import QMutex, QThreadPool from PyQt5.QtGui import QFont, QIcon, QStandardItem, QStandardItemModel from PyQt5.QtWidgets import QHeaderView @@ -59,6 +59,7 @@ def __init__(self, validator: type[Validator], hardware_settings: HardwareSettin self.setIcon(QIcon(STATUS_ICON[Status.PEND])) self.setText(self.validator.name) self.setFont(SECTION_FONT) + self.mutex = QMutex() def run(self) -> Status: self.clear() diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index bbdf63c09..2c8fcee18 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -40,6 +40,7 @@ from iblrig.gui.validation import SystemValidationDialog from iblrig.gui.valve import ValveCalibrationDialog from iblrig.hardware import Bpod +from iblrig.hardware_validation import Status from iblrig.misc import _get_task_argument_parser from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings @@ -248,7 +249,7 @@ def __init__(self, **kwargs): super().__init__() self.setupUi(self) - # show splash-screen and store validation results to member + # show splash-screen / store validation results splash_screen = Splash() splash_screen.exec() self.validation_results = splash_screen.validation_results @@ -380,6 +381,25 @@ def __init__(self, **kwargs): except SerialException: pass + self.show() + + # show validation errors / warnings: + if any(results := [r for r in self.validation_results if r.status in (Status.FAIL, Status.WARN)]): + msg_box = QtWidgets.QMessageBox(parent=self) + msg_box.setWindowTitle('IBLRIG System Validation') + msg_box.setIcon(QtWidgets.QMessageBox().Warning) + msg_box.setTextFormat(QtCore.Qt.TextFormat.RichText) + text = f"The following issue{'s were' if len(results) > 1 else ' was'} detected:" + for result in results: + text = ( + text + f"

\n" + f"{'Warning' if result.status == Status.WARN else 'Failure'}: {result.message}
\n" + f"{('Suggestion: ' + result.solution) if result.solution is not None else ''}" + ) + text = text + '

\nPlease refer to the System Validation tool for more details.' + msg_box.setText(text) + msg_box.exec() + # get AnyDesk ID anydesk_worker = Worker(get_anydesk_id, True) anydesk_worker.signals.result.connect(self._on_get_anydesk_result) @@ -395,7 +415,6 @@ def __init__(self, **kwargs): dirty_worker.signals.result.connect(self._on_check_dirty_result) QThreadPool.globalInstance().start(dirty_worker) - def _show_error_dialog( self, title: str, diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 40afdb5f1..558b79f0a 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -110,7 +110,7 @@ def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[R yield Result( Status.FAIL, f"{self.name} is not connected to Bpod's module port", - solution=f"Connect {self.name} to one of Bpod's module ports using an ethernet cable.", + solution=f"Connect {self.name} to one of Bpod's module ports", ) def process(self, results: Result) -> Result: @@ -426,8 +426,8 @@ class ValidatorValve(Validator): def _run(self): calibration_date = self.hardware_settings.device_valve.WATER_CALIBRATION_DATE today = date.today() - delta_warn = relativedelta(weeks=2) - delta_fail = relativedelta(weeks=4) + delta_warn = relativedelta(months=1) + delta_fail = relativedelta(months=3) days_passed = (today - calibration_date).days if calibration_date > date.today(): yield Result(Status.FAIL, 'Date of last valve calibration is in the future', solution='Calibrate valve') From 634b1e9b53521492ee5aebbf95a0ba724aa029ab Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 9 Apr 2024 11:38:33 +0100 Subject: [PATCH 30/90] add validation for harp sound-card --- iblrig/gui/ui_splash.py | 2 +- iblrig/gui/ui_splash.ui | 2 +- iblrig/hardware_validation.py | 114 ++++++++++++++++-- iblrig/serial_singleton.py | 4 +- pyproject.toml | 1 + .../hardware_validation/verify_hardware.py | 67 +--------- 6 files changed, 108 insertions(+), 82 deletions(-) diff --git a/iblrig/gui/ui_splash.py b/iblrig/gui/ui_splash.py index f760f52cb..266c385dd 100644 --- a/iblrig/gui/ui_splash.py +++ b/iblrig/gui/ui_splash.py @@ -28,7 +28,7 @@ def setupUi(self, splash): self.verticalLayout.setSpacing(0) self.verticalLayout.setObjectName("verticalLayout") self.containerWidget = QtWidgets.QWidget(splash) - self.containerWidget.setStyleSheet("QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, )) };") + self.containerWidget.setStyleSheet("QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, 255)) };") self.containerWidget.setObjectName("containerWidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.containerWidget) self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) diff --git a/iblrig/gui/ui_splash.ui b/iblrig/gui/ui_splash.ui index 7f30843db..3b27d83fd 100644 --- a/iblrig/gui/ui_splash.ui +++ b/iblrig/gui/ui_splash.ui @@ -53,7 +53,7 @@ - QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, )) }; + QWidget#containerWidget { background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(255, 255, 255, 0), stop:1 rgba(200, 200, 200, 255)) }; diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 558b79f0a..8aac83978 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -11,6 +11,7 @@ import numpy as np import requests +import usb from dateutil.relativedelta import relativedelta from serial import Serial, SerialException from serial.tools import list_ports @@ -136,19 +137,20 @@ def process(self, results: Result) -> Result: class ValidatorSerial(Validator): - port_properties: None | dict[str, Any] - serial_queries: None | dict[tuple[object, int], bytes] - port_info: ListPortInfo | None + port_properties: None | dict[str, Any] = None + serial_queries: None | dict[tuple[object, int], bytes] = None def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - if self.port is not None: - self.port_info = next(list_ports.grep(self.port), None) @property @abstractmethod def port(self) -> str: ... + @property + def port_info(self) -> ListPortInfo | None: + return next(list_ports.grep(self.port), None) if self.port is not None else None + def _run(self): if self.port is None: yield Result(Status.SKIP, f'No serial port defined for {self.name}') @@ -159,7 +161,6 @@ def _run(self): else: try: Serial(self.port, timeout=1).close() - self.port_info = next(list_ports.grep(self.port), None) yield Result(Status.PASS, f'Serial device on {self.port} can be connected to') yield Result( Status.INFO, @@ -171,10 +172,12 @@ def _run(self): return False # first, test for properties of the serial port without opening the latter (VID, PID, etc) - passed = self.port in filter_ports(**self.port_properties) if self.port_properties is not None else False + passed = ( + self.port in filter_ports(**self.port_properties) if getattr(self, 'port_properties', None) is not None else False + ) # query the devices for characteristic responses - if passed and self.serial_queries is not None: + if passed and getattr(self, 'serial_queries', None) is not None: with SerialSingleton(self.port, timeout=1) as ser: for query, regex_pattern in self.serial_queries.items(): return_string = ser.query(*query) @@ -190,7 +193,7 @@ def _run(self): class ValidatorRotaryEncoderModule(ValidatorSerial): - _name = 'Rotary Encoder Module' + _name = 'Bpod Rotary Encoder Module' port_properties = {'vid': 0x16C0} serial_queries = {(b'Q', 2): b'^..$', (b'P00', 1): b'\x01'} @@ -254,7 +257,7 @@ def _run(self): class ValidatorAmbientModule(Validator): - _name = 'Ambient Module' + _name = 'Bpod Ambient Module' def _run(self): # yield Bpod's connection status @@ -438,7 +441,86 @@ def _run(self): elif days_passed > 1: yield Result(Status.PASS, f'Valve has been calibrated {days_passed} days ago') else: - yield Result(Status.PASS, f'Valve has been calibrated {"yesterday" if days_passed == 1 else "today"}') + yield Result(Status.PASS, f'Valve has been calibrated {"yesterday" if days_passed==1 else "today"}') + + +class ValidatorSound(ValidatorSerial): + _name = 'Sound' + _module_name: str | None = None + + def __init__(self, *args, **kwargs): + output_type = kwargs['hardware_settings'].device_sound.OUTPUT + match output_type: + case 'harp': + self._name = 'HARP Sound Card' + self._module_name = 'SoundCard' + self.port_properties = {'vid': 0x0403, 'pid': 0x6001} + case 'hifi': + self._name = 'Bpod HiFi Module' + self._module_name = 'HiFi' + case 'xonar': + self._name = 'Xonar Sound Card' + if output_type in ['harp', 'hifi']: + super().__init__(*args, **kwargs) # call ValidatorSerial.__init__() + else: + super(ValidatorSerial, self).__init__(*args, **kwargs) # call Validator.__init__() + + @property + def port(self) -> str | None: + match self.hardware_settings.device_sound.OUTPUT: + case 'harp': + return ( + com_port + if (com_port := self.hardware_settings.device_sound.COM_SOUND) is not None + else next(filter_ports(**self.port_properties), None) + ) + case 'hifi': + return self.hardware_settings.device_sound.COM_SOUND + case _: + return None + + def _run(self): + if (success := self.hardware_settings.device_sound.OUTPUT) == 'sysdefault': + yield Result( + Status.FAIL, + "Sound output device 'sysdefault' is intended for testing purposes only", + solution="Set device_sound.OUTPUT to 'hifi', 'harp' or 'xonar'", + ) + return False + + # check serial device + if self.hardware_settings.device_sound.OUTPUT in ['harp', 'hifi']: + success = yield from super()._run() + if not success: + return False + + # device-specific validations + match self.hardware_settings.device_sound.OUTPUT: + case 'harp': + if (dev := usb.core.find(manufacturer='Champalimaud Foundation', product='Harp Sound Card')) is None: + yield Result( + Status.FAIL, + 'Cannot find USB sound device', + solution="Connect both of the sound card's USB ports and make sure that the HARP drivers are " + 'installed', + ) + return False + else: + yield Result(Status.PASS, 'Found USB sound device') + yield Result(Status.INFO, f'USB ID: {dev.idVendor:04X}:{dev.idProduct:04X}') + + # yield Bpod's connection status + bpod = yield from self._get_bpod() + if bpod is None: + return False + + # yield module's connection status + if self._module_name is not None: + module = yield from self._get_module(self._module_name, bpod) + if module is None: + return False + + return True class ValidatorAlyxLabLocation(Validator): @@ -474,7 +556,15 @@ def _run(self, alyx: AlyxClient | None = None): def get_all_validators() -> list[type[Validator]]: # return [x for x in get_inheritors(Validator) if not isabstract(x)] - return [ValidatorRotaryEncoderModule, ValidatorBpod, ValidatorAmbientModule, ValidatorAlyx, ValidatorCamera, ValidatorValve] + return [ + ValidatorRotaryEncoderModule, + ValidatorBpod, + ValidatorAmbientModule, + ValidatorAlyx, + ValidatorCamera, + ValidatorValve, + ValidatorSound, + ] def run_all_validators( diff --git a/iblrig/serial_singleton.py b/iblrig/serial_singleton.py index 3b37454dd..d3123c419 100644 --- a/iblrig/serial_singleton.py +++ b/iblrig/serial_singleton.py @@ -3,7 +3,7 @@ import re import struct import threading -from collections.abc import Iterable +from collections.abc import Generator from typing import Any, overload import numpy as np @@ -243,7 +243,7 @@ def to_bytes(data: Any) -> bytes: return to_bytes(data) # type: ignore[no-any-return] -def filter_ports(**kwargs: dict[str, Any]) -> Iterable[str]: +def filter_ports(**kwargs: dict[str, Any]) -> Generator[str, None, None]: """ Filter serial ports based on specified criteria. diff --git a/pyproject.toml b/pyproject.toml index b0bfd3c24..97af1371e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,6 +30,7 @@ dependencies = [ "pydantic", "pyqtgraph", "python-osc", + "pyusb", "pywin32; sys_platform == 'win32'", "scipy", "sounddevice", diff --git a/scripts/hardware_validation/verify_hardware.py b/scripts/hardware_validation/verify_hardware.py index a4d34b83c..d471ea825 100644 --- a/scripts/hardware_validation/verify_hardware.py +++ b/scripts/hardware_validation/verify_hardware.py @@ -3,17 +3,15 @@ import time from glob import glob from pathlib import Path -from struct import unpack import numpy as np import serial.tools.list_ports -import usb.core from serial import Serial import iblrig.base_tasks # import pandas as pd -from pybpodapi.protocol import Bpod, StateMachine +from pybpodapi.protocol import Bpod # set up logging log = logging.getLogger(__name__) @@ -187,69 +185,6 @@ def log_fun(msg_type: str = 'info', msg: str = '', last: bool = False): log_fun('pass', 'rotary encoder is wired correctly', last=True) s.close() -if 'device_sound' in hw_settings and 'OUTPUT' in hw_settings['device_sound']: - match hw_settings['device_sound']['OUTPUT']: - case 'harp': - log_fun('head', 'Checking Harp Sound Card:') - - dev = usb.core.find(idVendor=0x04D8, idProduct=0xEE6A) - if not dev: - log_fun('fail', 'Cannot find Harp Sound Card') - else: - log_fun('pass', f'found USB device {dev.idVendor:04X}:{dev.idProduct:04X} (Harp Sound Card)') - - dev = next((p for p in serial.tools.list_ports.comports() if (p.vid == 1027 and p.pid == 24577)), None) - if not dev: - log_fun('fail', "cannot find Harp Sound Card's Serial port - did you plug in *both* USB ports of the device?") - else: - log_fun('pass', f'found USB device {dev.vid:04X}:{dev.pid:04X} (FT232 UART), serial port: {dev.name}') - - module = [m for m in modules if m.name.startswith('SoundCard')] - if len(module) == 0: - log_fun('fail', 'Harp Sound Card is not connected to the Bpod', last=True) - elif len(module) > 1: - log_fun('fail', 'more than one Harp Sound Card connected to the Bpod', last=True) - else: - log_fun( - 'pass', - f'module "{module[0].name}" is connected to the Bpod\'s module port #{module[0].serial_port}', - last=True, - ) - case _: - pass - -log_fun('head', 'Checking Ambient Module:') -module = next((m for m in modules if m.name.startswith('AmbientModule')), None) -if module: - log_fun('pass', f'module "{module.name}" is connected to the Bpod\'s module port #{module.serial_port}') - log_fun('info', f'firmware version: {module.firmware_version}') - module.start_module_relay() - bpod.bpod_modules.module_write(module, 'R') - (t, p, h) = unpack('3f', bytes(bpod.bpod_modules.module_read(module, 12))) - module.stop_module_relay() - log_fun('info', f'temperature: {t:.1f} °C') - log_fun('info', f'air pressure: {p / 100:.1f} mbar') - log_fun('info', f'rel. humidity: {h:.1f}%') -else: - log_fun('fail', 'Could not find Ambient Module', last=True) - -if 'device_cameras' in hw_settings and isinstance(hw_settings['device_cameras'], dict): - log_fun('head', 'Checking Camera Trigger:') - sma = StateMachine(bpod) - sma.add_state( - state_name='collect', - state_timer=1, - state_change_conditions={'Tup': 'exit'}, - ) - bpod.send_state_machine(sma) - bpod.run_state_machine(sma) - triggers = [i.host_timestamp for i in bpod.session.current_trial.events_occurrences if i.content == 'Port1In'] - np.mean(np.diff(triggers)) - if len(triggers) == 0: - log_fun('fail', 'could not read camera trigger', last=True) - else: - log_fun('pass', 'successfully read camera trigger') - log_fun('info', f'average frame-rate: {np.mean(np.diff(triggers)) * 1E3:.3f} Hz', last=True) bpod.close() From ff27f4ac921978bd0acdc6c3bd2b0121b6ee97b1 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 9 Apr 2024 16:09:17 +0100 Subject: [PATCH 31/90] validation for microphone + sound TTL --- iblrig/gui/validation.py | 2 +- iblrig/hardware_validation.py | 91 ++++++++++++++++++++++++++++++----- iblrig/validation.py | 21 ++------ 3 files changed, 84 insertions(+), 30 deletions(-) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index a3baaa8fd..acddb1d23 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -55,7 +55,7 @@ class ValidatorItem(QStandardItem): def __init__(self, validator: type[Validator], hardware_settings: HardwareSettings, rig_settings: RigSettings): super().__init__() - self.validator = validator(hardware_settings=hardware_settings, iblrig_settings=rig_settings) + self.validator = validator(hardware_settings=hardware_settings, iblrig_settings=rig_settings, interactive=True) self.setIcon(QIcon(STATUS_ICON[Status.PEND])) self.setText(self.validator.name) self.setFont(SECTION_FONT) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 8aac83978..481e17b88 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -11,13 +11,15 @@ import numpy as np import requests +import sounddevice import usb from dateutil.relativedelta import relativedelta from serial import Serial, SerialException from serial.tools import list_ports from serial.tools.list_ports_common import ListPortInfo -from iblrig.constants import HAS_PYSPIN, HAS_SPINNAKER +from iblrig.base_tasks import BpodMixin, SoundMixin +from iblrig.constants import BASE_PATH, HAS_PYSPIN, HAS_SPINNAKER from iblrig.hardware import Bpod from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings @@ -381,16 +383,16 @@ def _run(self): bpod.run_state_machine(sma) triggers = [i.host_timestamp for i in bpod.session.current_trial.events_occurrences if i.content == 'Port1In'] if len(triggers) == 0: - yield Result(Status.FAIL, 'No triggers detected on Bpod' 's behavior port #1') + yield Result(Status.FAIL, "No TTL detected on Bpod's behavior port #1") return False else: - yield Result(Status.PASS, "Detected camera triggers on Bpod's behavior port #1") + yield Result(Status.PASS, "Detected camera TTL on Bpod's behavior port #1") trigger_rate = np.mean(1 / np.diff(triggers)) target_rate = 30 if isclose(trigger_rate, target_rate, rel_tol=0.1): - yield Result(Status.PASS, f'Measured trigger rate: {trigger_rate:.1f} Hz') + yield Result(Status.PASS, f'Measured TTL rate: {trigger_rate:.1f} Hz') else: - yield Result(Status.WARN, f'Measured trigger rate: {trigger_rate:.1f} Hz') + yield Result(Status.WARN, f'Measured TTL rate: {trigger_rate:.1f} Hz') return True @@ -444,6 +446,51 @@ def _run(self): yield Result(Status.PASS, f'Valve has been calibrated {"yesterday" if days_passed==1 else "today"}') +class ValidatorMic(Validator): + _name = 'Microphone' + + def _run(self): + if self.hardware_settings.device_microphone is None: + yield Result(Status.SKIP, 'No workflow defined for microphone') + return False + + sounddevice._terminate() + sounddevice._initialize() + + devices = [d for d in sounddevice.query_devices() if 'UltraMic 200K' in d.get('name', '')] + if len(devices) > 0: + yield Result(Status.PASS, 'Found UltraMic 200K microphone') + return True + else: + yield Result( + Status.FAIL, 'Could not find UltraMic 200K microphone', solution='Make sure that the microphone is plugged in' + ) + return False + + +class _SoundCheckTask(BpodMixin, SoundMixin): + protocol_name = 'hardware_check_harp' + + def __init__(self, *args, **kwargs): + param_file = BASE_PATH.joinpath('iblrig', 'base_choice_world_params.yaml') + super().__init__(*args, task_parameter_file=param_file, **kwargs) + + def start_hardware(self): + self.start_mixin_bpod() + self.start_mixin_sound() + + def get_state_machine(self): + sma = StateMachine(self.bpod) + sma.add_state('tone', 0.5, {'Tup': 'exit'}, [self.bpod.actions.play_tone]) + return sma + + def _run(self): + pass + + def create_session(self): + pass + + class ValidatorSound(ValidatorSerial): _name = 'Sound' _module_name: str | None = None @@ -458,6 +505,8 @@ def __init__(self, *args, **kwargs): case 'hifi': self._name = 'Bpod HiFi Module' self._module_name = 'HiFi' + self.serial_queries = {(b'\xf3', 1): b'\xf4'} + self.port_properties = {'vid': 0x16C0, 'pid': 0x0483} case 'xonar': self._name = 'Xonar Sound Card' if output_type in ['harp', 'hifi']: @@ -509,18 +558,35 @@ def _run(self): yield Result(Status.PASS, 'Found USB sound device') yield Result(Status.INFO, f'USB ID: {dev.idVendor:04X}:{dev.idProduct:04X}') - # yield Bpod's connection status - bpod = yield from self._get_bpod() - if bpod is None: - return False - # yield module's connection status if self._module_name is not None: - module = yield from self._get_module(self._module_name, bpod) + module = yield from self._get_module(self._module_name) if module is None: return False - return True + # run state machine + if self.interactive: + task = _SoundCheckTask(subject='toto') + task.start_hardware() + sma = task.get_state_machine() + task.bpod.send_state_machine(sma) + yield Result(Status.INFO, 'Playing audible sound - can you hear it?') + task.bpod.run_state_machine(sma) + bpod_data = task.bpod.session.current_trial.export() + if (n_events := len(bpod_data['Events timestamps'].get('BNC2High', []))) == 0: + yield Result( + Status.FAIL, + "No event detected on Bpod's BNC In 2", + solution="Make sure to connect the sound-card to Bpod's TTL Input 2", + ) + elif n_events == 1: + yield Result(Status.PASS, "Detected Event on Bpod's TTL Input 2") + else: + yield Result( + Status.FAIL, + "Multiple events detected on Bpod's BNC Input 2", + solution="Make sure to connect the sound-card to Bpod's TTL Input 2", + ) class ValidatorAlyxLabLocation(Validator): @@ -564,6 +630,7 @@ def get_all_validators() -> list[type[Validator]]: ValidatorCamera, ValidatorValve, ValidatorSound, + ValidatorMic, ] diff --git a/iblrig/validation.py b/iblrig/validation.py index 6db0edfd6..a23f3a05a 100644 --- a/iblrig/validation.py +++ b/iblrig/validation.py @@ -1,7 +1,5 @@ -from pathlib import Path - -import iblrig from iblrig.base_tasks import BpodMixin, SoundMixin +from iblrig.constants import BASE_PATH from pybpodapi.protocol import StateMachine @@ -9,7 +7,7 @@ class _SoundCheckTask(BpodMixin, SoundMixin): protocol_name = 'hardware_check_harp' def __init__(self, *args, **kwargs): - param_file = Path(iblrig.__file__).parent.joinpath('base_choice_world_params.yaml') + param_file = BASE_PATH.joinpath('iblrig', 'base_choice_world_params.yaml') super().__init__(*args, task_parameter_file=param_file, **kwargs) def start_hardware(self): @@ -18,19 +16,8 @@ def start_hardware(self): def get_state_machine(self): sma = StateMachine(self.bpod) - # play tone, move on to next state if sound is detected, with a time-out of 0.1s - sma.add_state( - state_name='play_tone', - state_timer=0.5, - output_actions=[self.bpod.actions.play_tone], - state_change_conditions={'Tup': 'error'}, - ) - sma.add_state( - state_name='error', - state_timer=1, - output_actions=[self.bpod.actions.play_noise], - state_change_conditions={'Tup': 'exit'}, - ) + sma.add_state('tone', 0.5, {'Tup': 'noise'}, [self.bpod.actions.play_tone]) + sma.add_state('noise', 1, {'Tup': 'exit'}, [self.bpod.actions.play_noise]) return sma def play_sounds(self): From 9ed727abceb661951749dab2ef730c74cffab21e Mon Sep 17 00:00:00 2001 From: Miles Wells Date: Fri, 12 Apr 2024 14:22:14 +0300 Subject: [PATCH 32/90] Adaptive reward cli param for trainingPhaseChoiceWorld --- iblrig/base_choice_world.py | 5 +++++ iblrig/test/test_gui.py | 4 +--- .../_iblrig_tasks_trainingPhaseChoiceWorld/task.py | 8 ++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index a973001c1..e437cf0bc 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -442,6 +442,11 @@ def reward_amount(self): return self.task_params.REWARD_AMOUNT_UL def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None): + """Draw next trial variables. + + This is called by the `next_trial` method before updating the Bpod state machine. This also + calls :meth:`send_trial_info_to_bonsai`. + """ if contrast is None: contrast = misc.draw_contrast(self.task_params.CONTRAST_SET, self.task_params.CONTRAST_SET_PROBABILITY_TYPE) assert len(self.task_params.STIM_POSITIONS) == 2, 'Only two positions are supported' diff --git a/iblrig/test/test_gui.py b/iblrig/test/test_gui.py index f3760b1e1..d2d758587 100644 --- a/iblrig/test/test_gui.py +++ b/iblrig/test/test_gui.py @@ -36,9 +36,7 @@ def test_get_task_extra_kwargs(self): match task_name: case '_iblrig_tasks_advancedChoiceWorld': expect = 6 - case '_iblrig_tasks_trainingPhaseChoiceWorld': - expect = 3 - case '_iblrig_tasks_trainingChoiceWorld': + case '_iblrig_tasks_trainingChoiceWorld' | '_iblrig_tasks_trainingPhaseChoiceWorld': expect = 4 case '_iblrig_tasks_ephysChoiceWorld': expect = 2 diff --git a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py index b6ac79bab..5693ddcad 100644 --- a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py @@ -41,6 +41,14 @@ def extra_parser(): type=bool, help='uses the debiasing protocol (only applies to levels 0-4)', ) + parser.add_argument( + '--adaptive_reward', + option_strings=['--adaptive_reward'], + dest='adaptive_reward', + default=-1., + type=float, + help='reward volume in microliters', + ) return parser From c52896925516f67b3ae8ea6f54c70ac4d6813840 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 12:45:18 +0200 Subject: [PATCH 33/90] remove old hardware validation routines --- iblrig/test/test_gui.py | 5 +- scripts/hardware_validation/harp.py | 42 ---- .../hardware_validation/identify_hardware.py | 62 ------ .../hardware_validation/verify_hardware.py | 202 ------------------ 4 files changed, 4 insertions(+), 307 deletions(-) delete mode 100644 scripts/hardware_validation/harp.py delete mode 100644 scripts/hardware_validation/identify_hardware.py delete mode 100644 scripts/hardware_validation/verify_hardware.py diff --git a/iblrig/test/test_gui.py b/iblrig/test/test_gui.py index 0f960fb5a..310aca97e 100644 --- a/iblrig/test/test_gui.py +++ b/iblrig/test/test_gui.py @@ -15,7 +15,10 @@ def setUp(self): file_iblrig_settings=SETTINGS_PATH.joinpath('iblrig_settings_template.yaml'), ) - @patch('iblrig.gui.wizard.iblrig.hardware_validation.ValidateAlyxLabLocation._run', return_value=Result('PASS')) + @patch( + 'iblrig.gui.wizard.iblrig.hardware_validation.ValidateAlyxLabLocation._run', + return_value=Result(status='PASS', message=''), + ) def test_connect(self, mock_validate_alyx): self.wizard.login(username=TEST_DB['username'], alyx_client=AlyxClient(**TEST_DB)) mock_validate_alyx.assert_called_once() diff --git a/scripts/hardware_validation/harp.py b/scripts/hardware_validation/harp.py deleted file mode 100644 index cc2b80782..000000000 --- a/scripts/hardware_validation/harp.py +++ /dev/null @@ -1,42 +0,0 @@ -""" -Validation script intended to aid in troubleshooting harp soundcard issues -""" - -import logging -import sys - -from iblrig import path_helper -from iblrig.base_choice_world import BiasedChoiceWorldSession - -log = logging.getLogger('iblrig') - - -# get hardware settings from 'settings/hardware_settings.yaml' file -hardware_settings = path_helper._load_settings_yaml('hardware_settings.yaml') - -# check if bpod has had a COM port defined -if hardware_settings['device_bpod']['COM_BPOD'] is None: - log.info( - "No COM port assigned for bpod, edit the 'settings/hardware_settings.yaml' file to add a bpod COM port; skipping " - 'harp validation.' - ) - sys.exit() - -# verify harp is set in the 'settings/hardware_settings.yaml' file -if hardware_settings['device_sound']['OUTPUT'] != 'harp': - log.info( - f"The sound device specified in 'settings/hardware_settings.yaml' is not 'harp', edit the settings file to change " - f"this.\nCurrently assigned soundcard: {hardware_settings['device_sound']['OUTPUT']}" - ) - sys.exit() - -# TODO: check device manager for lib-usb32 entries if on Windows system - -# connect to bpod and attempt to produce audio on harp -cw = BiasedChoiceWorldSession(interactive=False, subject='harp_validator_subject') -cw.start_mixin_bpod() -log.info('Successfully initialized to bpod.') -cw.start_mixin_sound() -log.info('Successfully initialized to harp audio device') - -# TODO: produce audio without creating state machine? diff --git a/scripts/hardware_validation/identify_hardware.py b/scripts/hardware_validation/identify_hardware.py deleted file mode 100644 index 9daeeafb2..000000000 --- a/scripts/hardware_validation/identify_hardware.py +++ /dev/null @@ -1,62 +0,0 @@ -import array -import glob -import sys - -from serial import Serial, SerialException - -if sys.platform.startswith('win'): - ports = ['COM%s' % (i + 1) for i in range(256)] -elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'): - # this excludes your current terminal "/dev/tty" - ports = glob.glob('/dev/tty[A-Za-z]*') -elif sys.platform.startswith('darwin'): - ports = glob.glob('/dev/tty.*') -else: - raise OSError('Unsupported platform') - - -def query(s_obj, req, n=1): - s_obj.write(req) - return s.read(n) - - -for port in ports: - try: - s = Serial(port, timeout=0.1) - m = 'unknown' - v = None - - for trial in range(4): - s.flush() - if trial == 0 and query(s, b'6') == b'5': - v = array.array('H', query(s, b'F', 4)) - match v[1]: - case 1: - hw = '0.5' - case 2: - hw = 'r0.7+' - case 3: - hw = 'r2.0-2.5' - case 4: - hw = '2+ r1.0' - case _: - hw = '(unknown version)' - m = f'Bpod {hw}, firmware {v[0]}' - s.write(b'Z') - break - elif trial == 1 and query(s, b'C') == (218).to_bytes(1, 'little'): - v = 2 if len(query(s, b'#')) > 0 else 1 - m = f'frame2ttl, v{v}' - break - elif trial == 2 and len(query(s, b'Q', 2)) > 1 and query(s, b'P00', 1) == (1).to_bytes(1, 'little'): - v = '2+' if query(s, b'I') == (0).to_bytes(1, 'little') else 1 - m = f'rotary encoder module, v{v}' - break - elif trial == 3: - pass - - s.flush() - s.close() - print(f'{s.portstr}: {m}') - except (OSError, SerialException): - pass diff --git a/scripts/hardware_validation/verify_hardware.py b/scripts/hardware_validation/verify_hardware.py deleted file mode 100644 index d471ea825..000000000 --- a/scripts/hardware_validation/verify_hardware.py +++ /dev/null @@ -1,202 +0,0 @@ -import logging -import platform -import time -from glob import glob -from pathlib import Path - -import numpy as np -import serial.tools.list_ports -from serial import Serial - -import iblrig.base_tasks - -# import pandas as pd -from pybpodapi.protocol import Bpod - -# set up logging -log = logging.getLogger(__name__) -log.setLevel(logging.DEBUG) - -issues = 0 - - -# function for querying a serial device -def query(s_obj, req, n=1, end: bool = False): - s_obj.write(req) - return s.read(n) - - -def log_fun(msg_type: str = 'info', msg: str = '', last: bool = False): - global issues - tree = '└' if last else '├' - match msg_type: - case 'head': - pass - case 'pass': - level = 'info' - symbol = '✔' - case 'info': - level = 'info' - symbol = 'i' - case 'warn': - level = 'warning' - symbol = '!' - case 'fail': - level = 'critical' - symbol = '✘' - issues += 1 - case _: - level = 'critical' - symbol = '?' - - if msg_type == 'head': - log.info('\033[1m' + msg) - else: - getattr(log, level)(f' {tree} {symbol} {msg}') - - -# read hardware_settings.yaml -log_fun('head', 'Checking hardware_settings.yaml:') -file_settings = Path(iblrig.__file__).parents[1].joinpath('settings', 'hardware_settings.yaml') -hw_settings = iblrig.path_helper._load_settings_yaml(file_settings) - -# collect all port-strings -ports = [d for d in hw_settings.values() if isinstance(d, dict)] -ports = {k: v for x in ports for k, v in x.items() if k[0:4].startswith('COM_')} - -# check for undefined serial ports (warn only) -tmp = [(k, v) for k, v in ports.items() if v is None] -for p in tmp: - log_fun('fail', f"{p[0]} is undefined (OK if you don't want to use it)") -if not any(tmp): - log_fun('pass', 'no undefined serial ports found') -ports = {k: v for k, v in ports.items() if v is not None} - -# check for duplicate serial ports -seen = set() -for p in [x for x in ports.values() if x in seen or seen.add(x)]: - log_fun('fail', f'duplicate serial port: "{p}"') -log_fun('pass', 'no duplicate serial ports found') - -# collect valid ports -match platform.system(): - case 'Windows': - valid_ports = [f'COM{i + 1}' for i in range(256)] - case 'Linux': - valid_ports = glob('/dev/tty*') - case _: - raise Exception(f'Unsupported platform: "{platform.system()}"') - -# check for invalid port-strings -for p in [(k, v) for k, v in ports.items() if v not in valid_ports]: - log_fun('fail', f'invalid serial port: "{p[1]}"', last=True) -log_fun('pass', 'no invalid port-strings found', last=True) - -# check individual serial ports -port_info = [i for i in serial.tools.list_ports.comports()] -for description, port in ports.items(): - log_fun('head', f'Checking serial port {description} ({port}):') - - # check if serial port exists - try: - info = [i for i in serial.tools.list_ports.comports() if i.device == port][0] - except IndexError: - log_fun('fail', f'{port} ({description}) cannot be found - is the device connected to the computer?', last=True) - continue - else: - log_fun('pass', 'serial port exists') - - # check if serial ports can be connected to - try: - s = Serial(port, timeout=1, writeTimeout=1) - except serial.SerialException: - log_fun('fail', f'cannot connect to {port} ({description}) - is another process using the port?', last=True) - continue - else: - log_fun('pass', 'serial port can be connected to') - - # check correct assignments of serial ports - ok = False - match description: - case 'COM_BPOD': - device_name = 'Bpod Finite State Machine' - ok = query(s, b'6') == b'5' - if ok: - s.write(b'Z') - case 'COM_F2TTL': - device_name = 'Frame2TTL' - try: - s.write(b'C') - except serial.serialutil.SerialTimeoutException: - port_info = serial.tools.list_ports.comports() - port_info = next((p for p in port_info if p.name == s.name), None) - - # SAMD21 mini issue: not recognized by windows after reboot. Confirmed by Josh. - log_fun('fail', f'writing to port {port} timed out. Try to unplug and plug the device.', last=True) - continue - finally: - ok = s.read() == (218).to_bytes(1, 'little') - case 'COM_ROTARY_ENCODER': - device_name = 'Rotary Encoder Module' - ok = len(query(s, b'Q', 2)) > 1 and query(s, b'P00', 1) == (1).to_bytes(1, 'little') - case _: - raise Exception('How did you get here??') - s.close() - - if ok: - log_fun('pass', f'device on port {port} seems to be a {device_name}', last=True) - else: - log_fun('fail', f'device on port {port} does not appear to be a {device_name}', last=True) - - # To Do: Look into this required delay - time.sleep(0.02) - -# check bpod modules -bpod = Bpod(hw_settings['device_bpod']['COM_BPOD']) -modules = [m for m in bpod.bpod_modules.modules if m.connected] - -if 'COM_ROTARY_ENCODER' in ports: - log_fun('head', 'Checking Rotary Encoder Module:') - module = [m for m in modules if m.name.startswith('RotaryEncoder')] - if len(module) == 0: - log_fun('fail', 'Rotary Encoder Module is not connected to the Bpod') - elif len(module) > 1: - log_fun('fail', 'more than one Rotary Encoder Module connected to the Bpod') - else: - log_fun('pass', f'module "{module[0].name}" is connected to the Bpod\'s module port #{module[0].serial_port}') - - s = serial.Serial(ports['COM_ROTARY_ENCODER']) - s.write(b'I') - time.sleep(0.02) - if s.in_waiting == 0: - s.write(b'x') - v = '1.x' if s.read(1) == (1).to_bytes(1, 'little') else '2+' - log_fun('info', f'hardware version: {v}') - log_fun('info', f'firmware version: {bpod.modules[0].firmware_version}') - - s.write(b'Z') - p = np.frombuffer(query(s, b'Q', 2), dtype=np.int16)[0] - log_fun('warn', "please move the wheel to the left (animal's POV) by a quarter turn") - while np.abs(p) < 200: - p = np.frombuffer(query(s, b'Q', 2), dtype=np.int16)[0] - if p > 0: - log_fun('fail', 'Rotary encoder seems to be wired incorrectly - try swapping A and B', last=True) - else: - log_fun('pass', 'rotary encoder is wired correctly', last=True) - s.close() - - -bpod.close() - -# TO DO: bpod -# TO DO: BNC connections -# TO DO: sound output - - -if issues: - msg = f" ✘ {issues} issue{'s' if issues > 1 else ''} found" - log.info(' ' + '═' * (len(msg) - 3)) - log.critical(msg) -else: - log.info(' ══════════════════') - log.info('\033[1m ✔ no issues found') From b23ffbb41fc85234417593317e4b49747c370331 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 13:04:10 +0200 Subject: [PATCH 34/90] Update test_hardware_validation.py --- iblrig/test/test_hardware_validation.py | 70 ++++++++++++------------- 1 file changed, 33 insertions(+), 37 deletions(-) diff --git a/iblrig/test/test_hardware_validation.py b/iblrig/test/test_hardware_validation.py index c38004ae6..04e791457 100644 --- a/iblrig/test/test_hardware_validation.py +++ b/iblrig/test/test_hardware_validation.py @@ -1,58 +1,54 @@ -import copy import unittest -from unittest import mock -import requests - -import iblrig.hardware_validation -from ibllib.tests import TEST_DB # noqa -from iblrig.path_helper import _load_settings_yaml -from one.webclient import AlyxClient +from iblrig.hardware_validation import Result, Status, Validator, get_all_validators +from iblrig.path_helper import load_pydantic_yaml +from iblrig.pydantic_definitions import HardwareSettings, RigSettings VALIDATORS_INIT_KWARGS = dict( - iblrig_settings=_load_settings_yaml('iblrig_settings_template.yaml'), - hardware_settings=_load_settings_yaml('hardware_settings_template.yaml'), + iblrig_settings=load_pydantic_yaml(RigSettings, 'iblrig_settings_template.yaml'), + hardware_settings=load_pydantic_yaml(HardwareSettings, 'hardware_settings_template.yaml'), ) -class DummyValidateHardware(iblrig.hardware_validation.Validator): +class DummyValidateHardware(Validator): def _run(self, passes=True): if passes: - return iblrig.hardware_validation.Result(status='PASS', message='Dummy test passed') + return Result(status=Status.PASS, message='Dummy test passed') else: - return iblrig.hardware_validation.Result(status='FAIL', message='Dummy test failed') + return Result(status=Status.FAIL, message='Dummy test failed') class TestHardwareValidationBase(unittest.TestCase): def test_dummy(self): td = DummyValidateHardware(**VALIDATORS_INIT_KWARGS) - self.assertIsInstance(td.iblrig_settings, dict) - self.assertIsInstance(td.hardware_settings, dict) + self.assertIsInstance(td.iblrig_settings, RigSettings) + self.assertIsInstance(td.hardware_settings, HardwareSettings) td.run(passes=True) td.run(passes=False) class TestInstantiateClasses(unittest.TestCase): def test_hardware_classes(self): - iblrig.hardware_validation.ValidateRotaryEncoder(**VALIDATORS_INIT_KWARGS) - - -class TestAlyxValidation(unittest.TestCase): - def test_lab_location(self): - alyx = AlyxClient(**TEST_DB, cache_rest=None) - - kwargs = copy.deepcopy(VALIDATORS_INIT_KWARGS) - kwargs['hardware_settings']['RIG_NAME'] = '_iblrig_carandinilab_ephys_0' - v = iblrig.hardware_validation.ValidatorAlyxLabLocation(**kwargs) - result = v.run(alyx) - self.assertEqual('PASS', result.status) - - # Test failures - rep = requests.Response() - with mock.patch('one.webclient.requests.get', return_value=rep) as m: - m.__name__ = 'get' - rep.status_code = 404 # When the lab is not found on Alyx the validation should raise - self.assertRaises(iblrig.hardware_validation.ValidateHardwareError, v.run, alyx) - rep.status_code = 500 # When Alyx is down for any reason, the failure should not raise - result = v.run(alyx) - self.assertEqual('FAIL', result.status) + for validator in get_all_validators(): + validator(**VALIDATORS_INIT_KWARGS) + + +# class TestAlyxValidation(unittest.TestCase): +# def test_lab_location(self): +# alyx = AlyxClient(**TEST_DB, cache_rest=None) +# +# kwargs = copy.deepcopy(VALIDATORS_INIT_KWARGS) +# kwargs['hardware_settings']['RIG_NAME'] = '_iblrig_carandinilab_ephys_0' +# v = ValidatorAlyxLabLocation(**kwargs) +# result = v.run(alyx) +# self.assertEqual(Status.PASS, result.status) +# +# # Test failures +# rep = requests.Response() +# with mock.patch('one.webclient.requests.get', return_value=rep) as m: +# m.__name__ = 'get' +# rep.status_code = 404 # When the lab is not found on Alyx the validation should raise +# self.assertRaises(ValidateHardwareError, v.run, alyx) +# rep.status_code = 500 # When Alyx is down for any reason, the failure should not raise +# result = v.run(alyx) +# self.assertEqual(Status.FAIL, result.status) From adac3df7a679bf119f29fec6e2175efda2b4de47 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 13:09:27 +0200 Subject: [PATCH 35/90] Update faq.rst --- docs/source/faq.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/faq.rst b/docs/source/faq.rst index 4ecf6b84f..0e8813418 100644 --- a/docs/source/faq.rst +++ b/docs/source/faq.rst @@ -9,13 +9,13 @@ First Aid If your rig is acting up: -* Employ the **automated test-script** bundled with IBLRIG. This script helps identify common issues. +* Employ the **automated test-script** bundled with IBLRIG. This script helps identify common configuration issues. Execute it using PowerShell: .. code:: powershell C:\iblrigv8\venv\scripts\Activate.ps1 - python C:\iblrigv8\scripts\hardware_validation\verify_hardware.py + validate_iblrig * Check `the comprehensive user manual `__ ("Appendix 3" on GoogleDrive). Verify if all connections are secure, and configurations align with the manual's guidelines. From e57805ca622bf9c924ee51d4f67d451fbf11aab5 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 14:10:42 +0200 Subject: [PATCH 36/90] Update hardware_validation.py --- iblrig/hardware_validation.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 481e17b88..b7a2fbc97 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -91,6 +91,9 @@ def run(self, *args, **kwargs) -> Generator[Result, None, bool]: return success def _get_bpod(self) -> Generator[Result, None, Bpod | None]: + if self.hardware_settings.device_bpod.COM_BPOD is None: + yield Result(Status.INFO, f'Cannot complete validation of {self.name} without Bpod') + return None try: return Bpod(self.hardware_settings.device_bpod.COM_BPOD, skip_initialization=True) except Exception as e: @@ -351,7 +354,7 @@ def _run(self): if HAS_PYSPIN: yield Result(Status.PASS, 'PySpin is installed') else: - yield Result(Status.WARN, 'Spinnaker SDK is not installed', solution='Use install_pyspin command to install PySpin') + yield Result(Status.WARN, 'PySpin is not installed', solution='Use install_pyspin command to install PySpin') if HAS_SPINNAKER and HAS_PYSPIN: from iblrig.video_pyspin import Cameras, enable_camera_trigger @@ -404,16 +407,16 @@ def _run(self): if self.iblrig_settings.ALYX_URL is None: yield Result(Status.SKIP, 'ALYX_URL has not been set in hardware_settings.yaml - skipping validation') raise StopIteration(False) - elif not internet_available(timeout=3, force_update=True): + elif not internet_available(timeout=2, force_update=True): yield Result( Status.FAIL, f'Cannot connect to {self.iblrig_settings.ALYX_URL.host}', solution='Check your Internet connection' ) return False - elif not internet_available(host=self.iblrig_settings.ALYX_URL.host, port=443, timeout=3, force_update=True): + elif not internet_available(host=self.iblrig_settings.ALYX_URL.host, port=443, timeout=2, force_update=True): yield Result( Status.FAIL, f'Cannot connect to {self.iblrig_settings.ALYX_URL.host}', - solution='Check ALYX_URL in hardware_settings.yaml and make sure that your computer is allowed to connect to it', + solution='Check ALYX_URL in hardware_settings.yaml and make sure that your computer is allowed to connect', ) return False else: From 37b167b0166de4a60747171bbeb804f42e3df3f2 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 14:10:45 +0200 Subject: [PATCH 37/90] Update installation.rst --- docs/source/installation.rst | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/source/installation.rst b/docs/source/installation.rst index d22e08020..93bfab880 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -126,7 +126,15 @@ Installing iblrigv8 pip install -e . -4. Install Bonsai in portable mode: +4. Install Spinnaker SDK and PySpin: + + .. code-block:: powershell + + install_spinnaker + install_pyspin + + +5. Install Bonsai in portable mode: .. code-block:: powershell @@ -135,7 +143,7 @@ Installing iblrigv8 cd .. -5. Install additional tasks and extractors for personal projects (optional): +6. Install additional tasks and extractors for personal projects (optional): .. code-block:: powershell @@ -144,7 +152,7 @@ Installing iblrigv8 pip install -e . -6. Continue with :ref:`the next section`. +7. Continue with :ref:`the next section`. Configuration Instructions From b62cb4dde840819e3bd5eba7fe41523467f6db46 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Mon, 15 Apr 2024 16:27:02 +0200 Subject: [PATCH 38/90] fix some threading issues, move validator for alyx lab location to wizard.py --- iblrig/gui/validation.py | 28 +++++-- iblrig/gui/wizard.py | 19 +++-- iblrig/hardware_validation.py | 84 +++++-------------- iblrig/test/test_gui.py | 9 +- .../task.py | 2 +- 5 files changed, 56 insertions(+), 86 deletions(-) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index acddb1d23..9d1463554 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -98,6 +98,8 @@ def clear(self): class SystemValidationDialog(QtWidgets.QDialog, Ui_validation): validator_items: list[ValidatorItem] = [] status_items: list[StatusItem] = [] + item_started = QtCore.pyqtSignal(int) + item_finished = QtCore.pyqtSignal(int, Status) def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: RigSettings, **kwargs) -> None: super().__init__(*args, **kwargs) @@ -125,26 +127,34 @@ def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: Rig self.pushButtonOK.clicked.connect(self.close) self.pushButtonRerun.clicked.connect(self.run) + self.item_started.connect(self.on_item_started) + self.item_finished.connect(self.on_item_finished) self.show() self.run() def run(self): - QThreadPool.globalInstance().tryStart(self.worker) - - def run_subprocess(self): self.pushButtonOK.setEnabled(False) self.pushButtonRerun.setEnabled(False) self.treeView.expandAll() - for idx, validator_item in enumerate(self.validator_items): validator_item.clear() self.status_items[idx].status = Status.PEND self.treeView.scrollToTop() + QThreadPool.globalInstance().tryStart(self.worker) + + def run_subprocess(self): for idx, validator_item in enumerate(self.validator_items): - self.status_items[idx].setText('running') + self.item_started.emit(idx) status = validator_item.run() - self.status_items[idx].status = status - if status == Status.PASS: - self.treeView.collapse(validator_item.index()) - self.treeView.scrollToBottom() + self.item_finished.emit(idx, status) + + def on_item_started(self, idx: int): + self.status_items[idx].setText('running') + + def on_item_finished(self, idx: int, status: Status): + self.status_items[idx].status = status + if status == Status.PASS: + self.treeView.collapse(self.validator_items[idx].index()) + self.treeView.scrollToBottom() + self.update() diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index 2c8fcee18..1b2bf9bf2 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -199,11 +199,20 @@ def login( raise e # since we are connecting to Alyx, validate some parameters to ensure a smooth extraction - result = iblrig.hardware_validation.ValidatorAlyxLabLocation( - iblrig_settings=self.iblrig_settings, hardware_settings=self.hardware_settings - ).run(self.alyx) - if result.status == 'FAIL' and gui: - QtWidgets.QMessageBox().critical(None, 'Error', f'{result.message}\n\n{result.solution}') + try: + self.alyx.rest('locations', 'read', id=self.hardware_settings['RIG_NAME']) + except HTTPError as ex: + if ex.response.status_code not in (404, 400): # file not found; auth error + # Likely Alyx is down or server-side issue + message = 'Failed to determine lab location on Alyx' + solution = 'Check if Alyx is reachable' + else: + message = f'Could not find rig name {self.hardware_settings["RIG_NAME"]} in Alyx' + solution = ( + f"Please check the RIG_NAME key in hardware_settings.yaml and make sure it is created in Alyx here: " + f'{self.iblrig_settings["ALYX_URL"]}/admin/misc/lablocation/' + ) + QtWidgets.QMessageBox().critical(None, 'Error', f'{message}\n\n{solution}') # get subjects from Alyx: this is the set of subjects that are alive and not stock in the lab defined in settings rest_subjects = self.alyx.rest('subjects', 'list', alive=True, stock=False, lab=self.iblrig_settings['ALYX_LAB']) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index b7a2fbc97..84d98406b 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -5,12 +5,12 @@ from dataclasses import dataclass from datetime import date from enum import IntEnum +from inspect import isabstract from math import isclose from struct import unpack from typing import Any import numpy as np -import requests import sounddevice import usb from dateutil.relativedelta import relativedelta @@ -24,8 +24,7 @@ from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.serial_singleton import SerialSingleton, filter_ports -from iblrig.tools import ANSI, internet_available -from one.webclient import AlyxClient +from iblrig.tools import ANSI, get_inheritors, internet_available from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine @@ -241,24 +240,24 @@ def _run(self): # s.close() -class ValidatorScreen(Validator): - device_name = 'Screen' - - def _run(self): - pass - # if os.name == 'nt': - # import ctypes - # - # from win32api import EnumDisplayMonitors, EnumDisplaySettingsEx, GetMonitorInfo - # - # display_idx = self.hardware_settings.device_screen.DISPLAY_IDX - # monitors = EnumDisplayMonitors() - # monitor = monitors[display_idx] - # display_handle = monitor[0] - # scale_factor = ctypes.windll.shcore.GetScaleFactorForDevice(display_idx) - # display_info = GetMonitorInfo(display_handle) - # display_settings = EnumDisplaySettingsEx(display_info['Device']) - # # TODO: Implementation ... +# class ValidatorScreen(Validator): +# device_name = 'Screen' +# +# def _run(self): +# pass +# # if os.name == 'nt': +# # import ctypes +# # +# # from win32api import EnumDisplayMonitors, EnumDisplaySettingsEx, GetMonitorInfo +# # +# # display_idx = self.hardware_settings.device_screen.DISPLAY_IDX +# # monitors = EnumDisplayMonitors() +# # monitor = monitors[display_idx] +# # display_handle = monitor[0] +# # scale_factor = ctypes.windll.shcore.GetScaleFactorForDevice(display_idx) +# # display_info = GetMonitorInfo(display_handle) +# # display_settings = EnumDisplaySettingsEx(display_info['Device']) +# # # TODO: Implementation ... class ValidatorAmbientModule(Validator): @@ -592,49 +591,8 @@ def _run(self): ) -class ValidatorAlyxLabLocation(Validator): - """ - This class validates that the rig name in hardware_settings.yaml does exist in Alyx. - """ - - def _run(self, alyx: AlyxClient | None = None): - try: - if alyx is None: - alyx = AlyxClient() - alyx.rest('locations', 'read', id=self.hardware_settings['RIG_NAME']) - results_kwargs = dict(status=Status.PASS, message='') - except requests.exceptions.HTTPError as ex: - if ex.response.status_code not in (404, 400): # file not found; auth error - # Likely Alyx is down or server-side issue - log.warning('Failed to determine lab location on Alyx') - log.debug('%s', ex.response) - results_kwargs = dict( - status=Status.FAIL, message='Failed to determine lab location on Alyx', solution='Check if Alyx is reachable' - ) - self.raise_fail_as_exception = False - else: - error_message = f'Could not find rig name {self.hardware_settings["RIG_NAME"]} in Alyx' - solution = ( - f"Please check the RIG_NAME key in hardware_settings.yaml and make sure it is created in Alyx here: " - f'{self.iblrig_settings["ALYX_URL"]}/admin/misc/lablocation/' - ) - results_kwargs = dict(status=Status.FAIL, message=error_message, solution=solution) - self.raise_fail_as_exception = True - return Result(**results_kwargs) - - def get_all_validators() -> list[type[Validator]]: - # return [x for x in get_inheritors(Validator) if not isabstract(x)] - return [ - ValidatorRotaryEncoderModule, - ValidatorBpod, - ValidatorAmbientModule, - ValidatorAlyx, - ValidatorCamera, - ValidatorValve, - ValidatorSound, - ValidatorMic, - ] + return [x for x in get_inheritors(Validator) if not isabstract(x)] def run_all_validators( diff --git a/iblrig/test/test_gui.py b/iblrig/test/test_gui.py index 635d5d2a6..ce5bfecd8 100644 --- a/iblrig/test/test_gui.py +++ b/iblrig/test/test_gui.py @@ -1,10 +1,8 @@ import unittest -from unittest.mock import patch from ibllib.tests import TEST_DB from iblrig.constants import SETTINGS_PATH from iblrig.gui.wizard import PROJECTS, RigWizardModel -from iblrig.hardware_validation import Result from one.webclient import AlyxClient @@ -15,13 +13,8 @@ def setUp(self): file_iblrig_settings=SETTINGS_PATH.joinpath('iblrig_settings_template.yaml'), ) - @patch( - 'iblrig.gui.wizard.iblrig.hardware_validation.ValidateAlyxLabLocation._run', - return_value=Result(status='PASS', message=''), - ) - def test_connect(self, mock_validate_alyx): + def test_connect(self): self.wizard.login(username=TEST_DB['username'], alyx_client=AlyxClient(**TEST_DB)) - mock_validate_alyx.assert_called_once() assert len(self.wizard.all_projects) > len(PROJECTS) def test_get_task_extra_kwargs(self): diff --git a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py index 7573fc4cb..6799a5e64 100644 --- a/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_trainingPhaseChoiceWorld/task.py @@ -45,7 +45,7 @@ def extra_parser(): '--adaptive_reward', option_strings=['--adaptive_reward'], dest='adaptive_reward', - default=-1., + default=-1.0, type=float, help='reward volume in microliters', ) From ccf6292eba2fc74ec7cc13d06b090b69f11289a8 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 16 Apr 2024 10:59:05 +0200 Subject: [PATCH 39/90] more work on threading issues --- iblrig/gui/validation.py | 80 ++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index 9d1463554..1deb01dae 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -1,5 +1,5 @@ from PyQt5 import QtCore, QtWidgets -from PyQt5.QtCore import QMutex, QThreadPool +from PyQt5.QtCore import QThreadPool from PyQt5.QtGui import QFont, QIcon, QStandardItem, QStandardItemModel from PyQt5.QtWidgets import QHeaderView @@ -51,46 +51,26 @@ def status(self, status: Status): class ValidatorItem(QStandardItem): validator: Validator - status: Status + _status: Status def __init__(self, validator: type[Validator], hardware_settings: HardwareSettings, rig_settings: RigSettings): super().__init__() + self.status = Status.PEND self.validator = validator(hardware_settings=hardware_settings, iblrig_settings=rig_settings, interactive=True) - self.setIcon(QIcon(STATUS_ICON[Status.PEND])) self.setText(self.validator.name) self.setFont(SECTION_FONT) - self.mutex = QMutex() - - def run(self) -> Status: - self.clear() - results: list[Result] = [] - for result in self.validator.run(): - results.append(result) - result_item = QStandardItem(result.message) - result_item.setToolTip(result.message) - result_item.setIcon(STATUS_ICON[result.status]) - self.appendRow([result_item, QStandardItem('')]) - if result.solution is not None and len(result.solution) > 0: - solution_item = QStandardItem(f'Suggestion: {result.solution}') - solution_item.setIcon(QIcon(':/images/validation_suggestion')) - self.appendRow(solution_item) - - # determine return value - statuses = [r.status for r in results] - if Status.SKIP in statuses: - return_status = Status.SKIP - elif Status.FAIL in statuses: - return_status = Status.FAIL - elif Status.WARN in statuses: - return_status = Status.WARN - else: - return_status = Status.PASS - - self.setIcon(STATUS_ICON[return_status]) - return return_status + + @property + def status(self) -> Status: + return self._status + + @status.setter + def status(self, status: Status): + self._status = status + self.setIcon(QIcon(STATUS_ICON[status])) def clear(self): - self.setIcon(QIcon(STATUS_ICON[Status.PEND])) + self.status = Status.PEND while self.hasChildren(): self.removeRow(0) @@ -99,6 +79,7 @@ class SystemValidationDialog(QtWidgets.QDialog, Ui_validation): validator_items: list[ValidatorItem] = [] status_items: list[StatusItem] = [] item_started = QtCore.pyqtSignal(int) + item_result = QtCore.pyqtSignal(int, Result) item_finished = QtCore.pyqtSignal(int, Status) def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: RigSettings, **kwargs) -> None: @@ -128,6 +109,7 @@ def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: Rig self.pushButtonOK.clicked.connect(self.close) self.pushButtonRerun.clicked.connect(self.run) self.item_started.connect(self.on_item_started) + self.item_result.connect(self.on_item_result) self.item_finished.connect(self.on_item_finished) self.show() @@ -137,22 +119,48 @@ def run(self): self.pushButtonOK.setEnabled(False) self.pushButtonRerun.setEnabled(False) self.treeView.expandAll() - for idx, validator_item in enumerate(self.validator_items): - validator_item.clear() + for idx, _ in enumerate(self.validator_items): + self.validator_items[idx].clear() self.status_items[idx].status = Status.PEND self.treeView.scrollToTop() QThreadPool.globalInstance().tryStart(self.worker) + self.update() def run_subprocess(self): for idx, validator_item in enumerate(self.validator_items): self.item_started.emit(idx) - status = validator_item.run() + results = [] + for result in validator_item.validator.run(): + results.append(result) + self.item_result.emit(idx, result) + + statuses = [r.status for r in results] + if Status.SKIP in statuses: + status = Status.SKIP + elif Status.FAIL in statuses: + status = Status.FAIL + elif Status.WARN in statuses: + status = Status.WARN + else: + status = Status.PASS self.item_finished.emit(idx, status) def on_item_started(self, idx: int): self.status_items[idx].setText('running') + def on_item_result(self, idx: int, result: Result): + result_item = QStandardItem(result.message) + result_item.setToolTip(result.message) + result_item.setIcon(STATUS_ICON[result.status]) + self.validator_items[idx].appendRow([result_item, QStandardItem('')]) + if result.solution is not None and len(result.solution) > 0: + solution_item = QStandardItem(f'Suggestion: {result.solution}') + solution_item.setIcon(QIcon(':/images/validation_suggestion')) + self.validator_items[idx].appendRow(solution_item) + self.update() + def on_item_finished(self, idx: int, status: Status): + self.validator_items[idx].status = status self.status_items[idx].status = status if status == Status.PASS: self.treeView.collapse(self.validator_items[idx].index()) From 5ce301ca3c4380a878882da9f4f68b3d7b043621 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 16 Apr 2024 15:27:34 +0200 Subject: [PATCH 40/90] docstrings and some typing --- iblrig/gui/validation.py | 32 ++++++++++++++++++++++++++++---- iblrig/hardware_validation.py | 11 ++++++----- pyproject.toml | 1 + 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/iblrig/gui/validation.py b/iblrig/gui/validation.py index 1deb01dae..3009b8d74 100644 --- a/iblrig/gui/validation.py +++ b/iblrig/gui/validation.py @@ -1,5 +1,5 @@ from PyQt5 import QtCore, QtWidgets -from PyQt5.QtCore import QThreadPool +from PyQt5.QtCore import QThreadPool, pyqtSlot from PyQt5.QtGui import QFont, QIcon, QStandardItem, QStandardItemModel from PyQt5.QtWidgets import QHeaderView @@ -8,8 +8,8 @@ from iblrig.hardware_validation import Result, Status, Validator, get_all_validators from iblrig.pydantic_definitions import HardwareSettings, RigSettings -SECTION_FONT = QFont(None, -1, QFont.Bold, False) -STATUS_ICON: dict[Status, QIcon()] = { +SECTION_FONT = QFont('', -1, QFont.Bold, False) +STATUS_ICON: dict[Status, QIcon] = { Status.PASS: QIcon(':/images/validation_pass'), Status.WARN: QIcon(':/images/validation_warn'), Status.FAIL: QIcon(':/images/validation_fail'), @@ -83,6 +83,21 @@ class SystemValidationDialog(QtWidgets.QDialog, Ui_validation): item_finished = QtCore.pyqtSignal(int, Status) def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: RigSettings, **kwargs) -> None: + """ + Dialog for system validation. + + Parameters + ---------- + *args + Arguments to pass to the QDialog constructor. + hardware_settings : HardwareSettings + Pydantic model with data parsed from hardware_settings.yaml + rig_settings : RigSettings + Pydantic model with data parsed from iblrig_settings.yaml + **kwargs + Keyword arguments to pass to the QDialog constructor. + + """ super().__init__(*args, **kwargs) self.setupUi(self) self.setWindowFlags(self.windowFlags() & ~QtCore.Qt.WindowType.WindowContextHelpButtonHint) @@ -116,6 +131,9 @@ def __init__(self, *args, hardware_settings: HardwareSettings, rig_settings: Rig self.run() def run(self): + """ + Prepare GUI and start worker thread for running validators + """ self.pushButtonOK.setEnabled(False) self.pushButtonRerun.setEnabled(False) self.treeView.expandAll() @@ -123,10 +141,13 @@ def run(self): self.validator_items[idx].clear() self.status_items[idx].status = Status.PEND self.treeView.scrollToTop() - QThreadPool.globalInstance().tryStart(self.worker) self.update() + QThreadPool.globalInstance().tryStart(self.worker) def run_subprocess(self): + """ + Run all validators in a subprocess + """ for idx, validator_item in enumerate(self.validator_items): self.item_started.emit(idx) results = [] @@ -145,9 +166,11 @@ def run_subprocess(self): status = Status.PASS self.item_finished.emit(idx, status) + @pyqtSlot(int) def on_item_started(self, idx: int): self.status_items[idx].setText('running') + @pyqtSlot(int, Result) def on_item_result(self, idx: int, result: Result): result_item = QStandardItem(result.message) result_item.setToolTip(result.message) @@ -159,6 +182,7 @@ def on_item_result(self, idx: int, result: Result): self.validator_items[idx].appendRow(solution_item) self.update() + @pyqtSlot(int, Status) def on_item_finished(self, idx: int, status: Status): self.validator_items[idx].status = status self.status_items[idx].status = status diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 84d98406b..ba8035313 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -8,7 +8,7 @@ from inspect import isabstract from math import isclose from struct import unpack -from typing import Any +from typing import Any, cast import numpy as np import sounddevice @@ -103,7 +103,7 @@ def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[R if bpod is None: bpod = yield from self._get_bpod() if bpod is None: - return + return None module = None if bpod.modules is None else next((m for m in bpod.modules if m.name.startswith(module_name)), None) @@ -117,6 +117,7 @@ def _get_module(self, module_name: str, bpod: Bpod | None = None) -> Generator[R f"{self.name} is not connected to Bpod's module port", solution=f"Connect {self.name} to one of Bpod's module ports", ) + return None def process(self, results: Result) -> Result: if self.log_results: @@ -141,7 +142,7 @@ def process(self, results: Result) -> Result: class ValidatorSerial(Validator): - port_properties: None | dict[str, Any] = None + port_properties: dict[str, Any] = {} serial_queries: None | dict[tuple[object, int], bytes] = None def __init__(self, *args, **kwargs): @@ -149,7 +150,7 @@ def __init__(self, *args, **kwargs): @property @abstractmethod - def port(self) -> str: ... + def port(self) -> str | None: ... @property def port_info(self) -> ListPortInfo | None: @@ -592,7 +593,7 @@ def _run(self): def get_all_validators() -> list[type[Validator]]: - return [x for x in get_inheritors(Validator) if not isabstract(x)] + return [cast(type[Validator], x) for x in get_inheritors(Validator) if not isabstract(x)] def run_all_validators( diff --git a/pyproject.toml b/pyproject.toml index 97af1371e..d21b59c47 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,6 +51,7 @@ DEV = [ "sphinx_rtd_theme", "types-PyYAML", "types-requests", + "types-python-dateutil", ] [project.scripts] From 6fb399480ffbc508a8d479262524000f9f7ae006 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 13:15:28 +0100 Subject: [PATCH 41/90] Update hardware_validation.py --- iblrig/hardware_validation.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index ba8035313..9ef0bc43b 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -340,7 +340,9 @@ class ValidatorCamera(Validator): _name = 'Camera' def _run(self): - if self.hardware_settings.device_cameras is None: + if self.hardware_settings.device_cameras is None or ( + isinstance(self.hardware_settings.device_cameras, dict) and len(self.hardware_settings.device_cameras) == 0 + ): yield Result(Status.SKIP, 'No cameras defined in hardware_settings.yaml - skipping validation') return False From f32f8d011901b080a083cda875d1fb193be4f94f Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 15:32:04 +0100 Subject: [PATCH 42/90] fix CI --- iblrig/gui/wizard.py | 10 +++++----- iblrig/pydantic_definitions.py | 9 +++------ iblrig/test/test_gui.py | 13 +++++++++++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index 1b2bf9bf2..3bc7c29e5 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -198,19 +198,19 @@ def login( else: raise e - # since we are connecting to Alyx, validate some parameters to ensure a smooth extraction + # validate connection and some parameters now that we're connected try: - self.alyx.rest('locations', 'read', id=self.hardware_settings['RIG_NAME']) + self.alyx.rest('locations', 'read', id=self.hardware_settings.RIG_NAME) except HTTPError as ex: if ex.response.status_code not in (404, 400): # file not found; auth error # Likely Alyx is down or server-side issue message = 'Failed to determine lab location on Alyx' solution = 'Check if Alyx is reachable' else: - message = f'Could not find rig name {self.hardware_settings["RIG_NAME"]} in Alyx' + message = f'Could not find rig name {self.hardware_settings.RIG_NAME} in Alyx' solution = ( - f"Please check the RIG_NAME key in hardware_settings.yaml and make sure it is created in Alyx here: " - f'{self.iblrig_settings["ALYX_URL"]}/admin/misc/lablocation/' + f'Please check the RIG_NAME key in hardware_settings.yaml and make sure it is created in Alyx here: ' + f'{self.iblrig_settings.ALYX_URL}/admin/misc/lablocation/' ) QtWidgets.QMessageBox().critical(None, 'Error', f'{message}\n\n{solution}') diff --git a/iblrig/pydantic_definitions.py b/iblrig/pydantic_definitions.py index 239f7376a..aa9036072 100644 --- a/iblrig/pydantic_definitions.py +++ b/iblrig/pydantic_definitions.py @@ -136,26 +136,23 @@ class HardwareSettingsScale(BunchModel): class HardwareSettingsCamera(BunchModel): INDEX: int - FPS: int | None = Field( + FPS: PositiveInt | None = Field( title='Camera frame rate', omit_default=True, default=None, description='An optional frame rate (for camera QC only)', - ge=0, ) - WIDTH: int | None = Field( + WIDTH: PositiveInt | None = Field( title='Camera frame width', omit_default=True, default=None, description='An optional frame width (for camera QC only)', - ge=0, ) - HEIGHT: int | None = Field( + HEIGHT: PositiveInt | None = Field( title='Camera frame height', omit_default=True, default=None, description='An optional frame hight (for camera QC only)', - ge=0, ) SYNC_LABEL: str | None = Field( title='Camera DAQ sync label', diff --git a/iblrig/test/test_gui.py b/iblrig/test/test_gui.py index ce5bfecd8..873ea0dfb 100644 --- a/iblrig/test/test_gui.py +++ b/iblrig/test/test_gui.py @@ -1,4 +1,5 @@ import unittest +from unittest.mock import patch from ibllib.tests import TEST_DB from iblrig.constants import SETTINGS_PATH @@ -14,8 +15,16 @@ def setUp(self): ) def test_connect(self): - self.wizard.login(username=TEST_DB['username'], alyx_client=AlyxClient(**TEST_DB)) - assert len(self.wizard.all_projects) > len(PROJECTS) + client = AlyxClient(**TEST_DB) + original_rest = client.rest + + def wrapped(*args, **kwargs): + if 'locations' not in args: + return original_rest(*args, **kwargs) + + with patch('iblrig.gui.wizard.AlyxClient.rest', wraps=wrapped): + self.wizard.login(username=TEST_DB['username'], alyx_client=client) + assert len(self.wizard.all_projects) > len(PROJECTS) def test_get_task_extra_kwargs(self): """ From 3ac1ab27a4668b532864af93acce79dafc92588b Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 16:37:44 +0200 Subject: [PATCH 43/90] ruff format/check --- iblrig/base_tasks.py | 10 ++++++---- iblrig/test/test_alyx.py | 40 ++++++++++++++++++++++++---------------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index c48bf5205..cc4c54bb3 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -28,11 +28,11 @@ from pythonosc import udp_client import ibllib.io.session_params as ses_params -from ibllib.oneibl.registration import IBLRegistrationClient import iblrig import iblrig.graphic as graph import iblrig.path_helper import pybpodapi +from ibllib.oneibl.registration import IBLRegistrationClient from iblrig import sound from iblrig.constants import BASE_PATH, BONSAI_EXE from iblrig.frame2ttl import Frame2TTL @@ -420,10 +420,12 @@ def register_to_alyx(self): session=ses['url'][-36:], subject=self.session_info.SUBJECT_NAME, water_type=self.task_params.get('REWARD_TYPE', None), - water_administered=self.session_info['TOTAL_WATER_DELIVERED'] / 1000) + water_administered=self.session_info['TOTAL_WATER_DELIVERED'] / 1000, + ) self.one.alyx.rest('water-administrations', 'create', data=wa_data) - log.info(f"Water administered registered in Alyx database: {ses['subject']}," - f"{wa_data['water_administered']}mL") + log.info( + f"Water administered registered in Alyx database: {ses['subject']}," f"{wa_data['water_administered']}mL" + ) except Exception: log.error(traceback.format_exc()) log.error('Could not register water administration to Alyx') diff --git a/iblrig/test/test_alyx.py b/iblrig/test/test_alyx.py index 47ea03085..db6a5bf09 100644 --- a/iblrig/test/test_alyx.py +++ b/iblrig/test/test_alyx.py @@ -1,19 +1,19 @@ """Test iblrig.alyx module.""" -import unittest -from unittest.mock import patch -import tempfile + +import datetime import random import string -from pathlib import Path -import datetime +import tempfile +import unittest from copy import deepcopy - -from one.tests import TEST_DB_1 -from one.api import ONE +from pathlib import Path +from unittest.mock import patch from iblrig import __version__ from iblrig.test.base import TASK_KWARGS from iblrig_tasks._iblrig_tasks_trainingChoiceWorld.task import Session as TrainingChoiceWorldSession +from one.api import ONE +from one.tests import TEST_DB_1 class TestRegisterSession(unittest.TestCase): @@ -35,8 +35,12 @@ def setUp(self): # Task settings iblrig_settings = {'ALYX_LAB': self.lab, 'iblrig_local_subjects_path': self.tmpdir, 'iblrig_local_data_path': self.tmpdir} hardware_settings = {'RIG_NAME': self.one.alyx.rest('locations', 'list', lab=self.lab)[0]['name']} - self.task_settings = {**TASK_KWARGS, 'subject': self.subject, - 'iblrig_settings': iblrig_settings, 'hardware_settings': hardware_settings} + self.task_settings = { + **TASK_KWARGS, + 'subject': self.subject, + 'iblrig_settings': iblrig_settings, + 'hardware_settings': hardware_settings, + } def test_register_session(self): task = TrainingChoiceWorldSession(**self.task_settings, one=self.one) @@ -44,7 +48,7 @@ def test_register_session(self): task.session_info.SUBJECT_WEIGHT = 31.43 task.create_session() # calls register_to_alyx - ses, = self.one.alyx.rest('sessions', 'list', subject=self.subject) + (ses,) = self.one.alyx.rest('sessions', 'list', subject=self.subject) self.assertEqual(self.lab, ses['lab']) self.assertEqual(task.session_info['SESSION_START_TIME'], ses['start_time']) self.assertCountEqual(task.session_info['PROJECTS'], ses['projects']) @@ -61,7 +65,7 @@ def test_register_session(self): chained = TrainingChoiceWorldSession(**task_settings, one=self.one, append=True) # Add n trials, etc. This simulates the call to register_to_alyx in the run method chained.session_info.SESSION_END_TIME = (datetime.datetime.now() + datetime.timedelta(hours=60)).isoformat() - chained.session_info.SUBJECT_WEIGHT = 28. + chained.session_info.SUBJECT_WEIGHT = 28.0 chained.session_info.POOP_COUNT = 83 chained.session_info['NTRIALS'], chained.session_info['NTRIALS_CORRECT'] = 100, 65 chained.session_info['TOTAL_WATER_DELIVERED'] = 535 @@ -84,15 +88,19 @@ def test_register_session(self): self.assertEqual(1, len(self.one.alyx.rest('weighings', 'list', subject=self.subject))) # Test handling of errors - with patch('iblrig.base_tasks.IBLRegistrationClient.register_session', side_effect=AssertionError), \ - self.assertLogs('iblrig.base_tasks', 'ERROR') as log: + with ( + patch('iblrig.base_tasks.IBLRegistrationClient.register_session', side_effect=AssertionError), + self.assertLogs('iblrig.base_tasks', 'ERROR') as log, + ): self.assertIsNone(chained.register_to_alyx()) self.assertIn('AssertionError', log.output[0]) self.assertIn('Could not register session to Alyx', log.output[1]) # An empty session record should cause an error when attempting to register weight - with patch('iblrig.base_tasks.IBLRegistrationClient.register_session', return_value=({}, None)), \ - self.assertLogs('iblrig.base_tasks', 'ERROR') as log: + with ( + patch('iblrig.base_tasks.IBLRegistrationClient.register_session', return_value=({}, None)), + self.assertLogs('iblrig.base_tasks', 'ERROR') as log, + ): self.assertIsNone(chained.register_to_alyx()) self.assertIn('Could not register water administration to Alyx', log.output[1]) From 0db4cf124e8576577fdd59f748a61ffcc5ca8aa9 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 17:24:03 +0200 Subject: [PATCH 44/90] add validate_video entry-point, prepare for release --- CHANGELOG.md | 6 ++++++ iblrig/__init__.py | 2 +- iblrig/video.py | 22 +++++++++++++++++++++- pyproject.toml | 1 + 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 479fdd392..36ed4044b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Changelog --------- +8.19.0 +------ +* automated validation of rig components +* adaptive reward parameter for trainingPhaseChoiceWorld +* add validate_video entry-point + 8.18.0 ------ * valve calibration routine diff --git a/iblrig/__init__.py b/iblrig/__init__.py index c7c47390d..f55024464 100644 --- a/iblrig/__init__.py +++ b/iblrig/__init__.py @@ -6,7 +6,7 @@ # 5) git tag the release in accordance to the version number below (after merge!) # >>> git tag 8.15.6 # >>> git push origin --tags -__version__ = '8.18.0' +__version__ = '8.19.0' from iblrig.version_management import get_detailed_version_string diff --git a/iblrig/video.py b/iblrig/video.py index 2f1fb1202..e3cf9288d 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -15,7 +15,8 @@ from ibllib.pipes.misc import load_params_dict from iblrig.base_tasks import EmptySession from iblrig.constants import HARDWARE_SETTINGS_YAML, HAS_PYSPIN, HAS_SPINNAKER, RIG_SETTINGS_YAML -from iblrig.path_helper import patch_settings +from iblrig.path_helper import load_pydantic_yaml, patch_settings +from iblrig.pydantic_definitions import HardwareSettings from iblrig.tools import ask_user, call_bonsai from iblrig.transfer_experiments import VideoCopier from iblutil.io import ( @@ -224,6 +225,25 @@ def prepare_video_session_cmd(): prepare_video_session(args.subject_name, args.profile, debug=args.debug) +def validate_video_cmd(): + parser = argparse.ArgumentParser(prog='validate_video', description='Validate video session.') + parser.add_argument('video_path', help='Path to the video file', type=str) + parser.add_argument('configuration', help='name of the configuration', nargs='?', default='default', type=str) + args = parser.parse_args() + + hwsettings: HardwareSettings = load_pydantic_yaml(HardwareSettings) + file_path = Path(args.video_path) + + if not file_path.exists(): + print(f'File not found: {file_path}') + elif not file_path.is_file() or file_path.suffix != '.avi': + print(f'Not a video file: {file_path}') + elif hwsettings.device_cameras.get(args.configuration, None) is None: + print(f'Configuration not found: {args.configuration}') + else: + validate_video(video_path=file_path, config=args.configuration) + + def validate_video(video_path, config): """ Check raw video file saved as expected. diff --git a/pyproject.toml b/pyproject.toml index d21b59c47..f9b32b1e5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -69,6 +69,7 @@ start_video_session = "iblrig.video:prepare_video_session_cmd" start_ephys_session = "iblrig.ephys:prepare_ephys_session_cmd" convert_uis = "iblrig.gui.tools:convert_uis" validate_iblrig = "iblrig.hardware_validation:run_all_validators_cli" +validate_video = "iblrig.video:validate_video_cmd" [tool.setuptools.dynamic] readme = { file = "README.md", content-type = "text/markdown" } From 03da2fad9733fa00506e491a2e06bfc2e4e35cd8 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 16:34:52 +0100 Subject: [PATCH 45/90] Update video.py --- iblrig/video.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/iblrig/video.py b/iblrig/video.py index e3cf9288d..424344e16 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -228,20 +228,25 @@ def prepare_video_session_cmd(): def validate_video_cmd(): parser = argparse.ArgumentParser(prog='validate_video', description='Validate video session.') parser.add_argument('video_path', help='Path to the video file', type=str) - parser.add_argument('configuration', help='name of the configuration', nargs='?', default='default', type=str) + parser.add_argument('configuration', help='name of the configuration (default: default)', nargs='?', default='default', type=str) + parser.add_argument('camera_name', help='name of the camera (default: left)', nargs='?', default='left', type=str) args = parser.parse_args() hwsettings: HardwareSettings = load_pydantic_yaml(HardwareSettings) file_path = Path(args.video_path) + configuration = hwsettings.device_cameras.get(args.configuration, None) + camera = configuration.get(args.camera_name, None) if configuration is not None else None if not file_path.exists(): print(f'File not found: {file_path}') elif not file_path.is_file() or file_path.suffix != '.avi': print(f'Not a video file: {file_path}') - elif hwsettings.device_cameras.get(args.configuration, None) is None: - print(f'Configuration not found: {args.configuration}') + elif configuration is None: + print(f'No such configuration: {configuration}') + elif configuration is None: + print(f'No such camera: {camera}') else: - validate_video(video_path=file_path, config=args.configuration) + validate_video(video_path=file_path, config=camera) def validate_video(video_path, config): From f819923a85dd46f4a8006938f126db0e64e2c8a4 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 17:36:04 +0200 Subject: [PATCH 46/90] Update main.yaml --- .github/workflows/main.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 6b4ea08dc..c521028c7 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -6,7 +6,6 @@ on: paths-ignore: - 'docs/**' pull_request: - branches: [iblrigv8] paths-ignore: - 'docs/**' From 746b7fb0a7b243d8d39d98cee7c5abf34e4d4ba1 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 18 Apr 2024 17:37:04 +0200 Subject: [PATCH 47/90] Update video.py --- iblrig/video.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iblrig/video.py b/iblrig/video.py index 424344e16..28675df46 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -228,7 +228,9 @@ def prepare_video_session_cmd(): def validate_video_cmd(): parser = argparse.ArgumentParser(prog='validate_video', description='Validate video session.') parser.add_argument('video_path', help='Path to the video file', type=str) - parser.add_argument('configuration', help='name of the configuration (default: default)', nargs='?', default='default', type=str) + parser.add_argument( + 'configuration', help='name of the configuration (default: default)', nargs='?', default='default', type=str + ) parser.add_argument('camera_name', help='name of the camera (default: left)', nargs='?', default='left', type=str) args = parser.parse_args() From 147027a9507e9697991f61479e96dd1341870c17 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 19 Apr 2024 11:58:28 +0200 Subject: [PATCH 48/90] add ruff format --check to CI --- .github/workflows/main.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index c521028c7..dd1d6d3c2 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -18,6 +18,9 @@ jobs: name: ruff check with: args: 'check --output-format=github' + - uses: chartboost/ruff-action@v1 + with: + args: 'format --check' tests: name: build (${{ matrix.python-version }}, ${{ matrix.os }}) needs: ruff From b24a0f21af69c1f9a142441b2e86e313203efc1e Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 19 Apr 2024 12:01:45 +0200 Subject: [PATCH 49/90] Update main.yaml --- .github/workflows/main.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index dd1d6d3c2..2d9efd443 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -19,6 +19,7 @@ jobs: with: args: 'check --output-format=github' - uses: chartboost/ruff-action@v1 + name: ruff format with: args: 'format --check' tests: From 157dadd56d337eb6f8924e90ff1c1d07cdf2bd04 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 19 Apr 2024 12:40:54 +0200 Subject: [PATCH 50/90] Update reference_developer_guide.rst --- docs/source/reference_developer_guide.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/source/reference_developer_guide.rst b/docs/source/reference_developer_guide.rst index 74d35eb33..16d9ca630 100644 --- a/docs/source/reference_developer_guide.rst +++ b/docs/source/reference_developer_guide.rst @@ -49,7 +49,8 @@ Running Tests Locally .. code-block:: console - flake8 + ruff check . + ruff format . python -m unittest discover ./iblrig/test From 2fb9ef9ec083774624593343cdfd392b662429b7 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 23 Apr 2024 10:33:00 +0100 Subject: [PATCH 51/90] Update hardware_validation.py --- iblrig/hardware_validation.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 9ef0bc43b..1d60334da 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -28,6 +28,8 @@ from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine +from iblrig.version_management import is_dirty + log = logging.getLogger(__name__) @@ -473,6 +475,24 @@ def _run(self): return False +class IblrigValidator(Validator): + _name = 'IBLRIG' + + def _run(self): + return_status = True + if return_status := not (return_status and not is_dirty()): + yield Result( + Status.WARN, + "Working tree of IBLRIG contains local changes - don't expect things to work as intended!", + solution='To list files that have been changed locally, issue `git diff --name-only`. ' + 'Issue `git reset --hard` to reset the repository to its default state', + ) + else: + yield Result(Status.PASS, 'Working tree of IBLRIG does not contain local changes') + + return return_status + + class _SoundCheckTask(BpodMixin, SoundMixin): protocol_name = 'hardware_check_harp' From 1c95ce79f8a7333f9353f415d9547d502b08eaa5 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 23 Apr 2024 11:50:58 +0200 Subject: [PATCH 52/90] check for dirty repo moved to validation --- iblrig/gui/wizard.py | 31 ------------------------------- iblrig/hardware_validation.py | 27 ++++++++++++++++++++++----- 2 files changed, 22 insertions(+), 36 deletions(-) diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index 3bc7c29e5..e129d2bf4 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -419,11 +419,6 @@ def __init__(self, **kwargs): update_worker.signals.result.connect(self._on_check_update_result) QThreadPool.globalInstance().start(update_worker) - # check dirty state - dirty_worker = Worker(is_dirty) - dirty_worker.signals.result.connect(self._on_check_dirty_result) - QThreadPool.globalInstance().start(dirty_worker) - def _show_error_dialog( self, title: str, @@ -552,32 +547,6 @@ def _on_doc_url_changed(self): self.uiPushWebBack.setEnabled(len(self.webEngineView.history().backItems(1)) > 0) self.uiPushWebForward.setEnabled(len(self.webEngineView.history().forwardItems(1)) > 0) - def _on_check_dirty_result(self, repository_is_dirty: bool) -> None: - """ - Handle the result of checking for local changes in the repository. - - Parameters - ---------- - repository_is_dirty : bool - A boolean flag indicating whether the repository contains local changes. - - Returns - ------- - None - """ - if repository_is_dirty: - msg_box = QtWidgets.QMessageBox(parent=self) - msg_box.setWindowTitle('Warning') - msg_box.setIcon(QtWidgets.QMessageBox().Warning) - msg_box.setText("Your copy of iblrig contains local changes.\nDon't expect things to work as intended!") - msg_box.setDetailedText( - 'To list all files that have been changed locally:\n\n' - ' git diff --name-only\n\n' - 'To reset the repository to its default state:\n\n' - ' git reset --hard' - ) - msg_box.exec() - def _log_in_or_out(self, username: str) -> bool: # Routine for logging out: if self.uiPushButtonLogIn.text() == 'Log Out': diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 1d60334da..00591134c 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -19,7 +19,7 @@ from serial.tools.list_ports_common import ListPortInfo from iblrig.base_tasks import BpodMixin, SoundMixin -from iblrig.constants import BASE_PATH, HAS_PYSPIN, HAS_SPINNAKER +from iblrig.constants import BASE_PATH, HAS_PYSPIN, HAS_SPINNAKER, IS_GIT from iblrig.hardware import Bpod from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings @@ -28,7 +28,7 @@ from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine -from iblrig.version_management import is_dirty +from iblrig.version_management import is_dirty, get_branch log = logging.getLogger(__name__) @@ -475,18 +475,35 @@ def _run(self): return False -class IblrigValidator(Validator): - _name = 'IBLRIG' +class GitValidator(Validator): + _name = 'Git' def _run(self): + if not IS_GIT: + yield Result(Status.SKIP, 'Your copy of IBLRIG is not managed through Git') + return False + return_status = True - if return_status := not (return_status and not is_dirty()): + main_branch = 'iblrigv8' + this_branch = get_branch() + if this_branch != main_branch: + yield Result( + Status.WARN, + f'Working tree of IBLRIG is on Git branch `{this_branch}`', + solution=f'Issue `git checkout {main_branch}` to switch to `{main_branch}` branch' + ) + return_status = False + else: + yield Result(Status.PASS, f'Working tree of IBLRIG is on Git branch `{main_branch}`') + + if is_dirty(): yield Result( Status.WARN, "Working tree of IBLRIG contains local changes - don't expect things to work as intended!", solution='To list files that have been changed locally, issue `git diff --name-only`. ' 'Issue `git reset --hard` to reset the repository to its default state', ) + return_status = False else: yield Result(Status.PASS, 'Working tree of IBLRIG does not contain local changes') From e81dfd23b968348d8774bb32ccc87182d503fbfc Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 23 Apr 2024 14:19:22 +0100 Subject: [PATCH 53/90] cleaning up --- iblrig/gui/wizard.py | 2 +- iblrig/hardware_validation.py | 57 +++++++++++---- iblrig/validation.py | 133 ---------------------------------- 3 files changed, 42 insertions(+), 150 deletions(-) delete mode 100644 iblrig/validation.py diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index e129d2bf4..a466a504a 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -45,7 +45,7 @@ from iblrig.path_helper import load_pydantic_yaml from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.tools import alyx_reachable, get_anydesk_id, internet_available -from iblrig.version_management import check_for_updates, get_changelog, is_dirty +from iblrig.version_management import check_for_updates, get_changelog from iblutil.util import setup_logger from one.webclient import AlyxClient from pybpodapi.exceptions.bpod_error import BpodErrorException diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 00591134c..754630079 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -25,11 +25,10 @@ from iblrig.pydantic_definitions import HardwareSettings, RigSettings from iblrig.serial_singleton import SerialSingleton, filter_ports from iblrig.tools import ANSI, get_inheritors, internet_available +from iblrig.version_management import get_branch, is_dirty from pybpodapi.bpod_modules.bpod_module import BpodModule from pybpodapi.state_machine import StateMachine -from iblrig.version_management import is_dirty, get_branch - log = logging.getLogger(__name__) @@ -163,7 +162,11 @@ def _run(self): yield Result(Status.SKIP, f'No serial port defined for {self.name}') return False elif next((p for p in list_ports.comports() if p.device == self.port), None) is None: - yield Result(Status.FAIL, f'{self.port} is not a valid serial port', solution='Double check!') + yield Result( + Status.FAIL, + f'{self.port} is not a valid serial port', + solution='Check serial port setting in hardware_settings.yaml', + ) return False else: try: @@ -175,7 +178,12 @@ def _run(self): f'Serial Number: {self.port_info.serial_number}', ) except SerialException as e: - yield Result(Status.FAIL, f'Serial device on {self.port} cannot be connected to', exception=e) + yield Result( + Status.FAIL, + f'Serial device on {self.port} cannot be connected to', + solution='Try power-cycling the device', + exception=e, + ) return False # first, test for properties of the serial port without opening the latter (VID, PID, etc) @@ -195,7 +203,11 @@ def _run(self): yield Result(Status.PASS, f'Serial device positively identified as {self.name}') return True else: - yield Result(Status.FAIL, f'Serial device on {self.port} does NOT seem to be a {self.name}') + yield Result( + Status.FAIL, + f'Serial device on {self.port} does NOT seem to be a {self.name}', + solution='Check serial port setting in hardware_settings.yaml', + ) return False @@ -328,7 +340,9 @@ def _run(self): bpod = Bpod(self.hardware_settings.device_bpod.COM_BPOD, skip_initialization=False) yield Result(Status.PASS, 'Successfully connected to Bpod using pybpod') except Exception as e: - yield Result(Status.FAIL, 'Could not connect to Bpod using pybpod', exception=e) + yield Result( + Status.FAIL, 'Could not connect to Bpod using pybpod', solution='Try power-cycling the Bpod', exception=e + ) return False # return connected modules @@ -365,7 +379,11 @@ def _run(self): with Cameras() as cameras: if len(cameras) == 0: - yield Result(Status.FAIL, 'Could not find a camera connected to the computer') + yield Result( + Status.FAIL, + 'Could not find a camera connected to the computer', + solution='Connect a camera on one of the computers USB ports', + ) return False else: yield Result( @@ -390,7 +408,12 @@ def _run(self): bpod.run_state_machine(sma) triggers = [i.host_timestamp for i in bpod.session.current_trial.events_occurrences if i.content == 'Port1In'] if len(triggers) == 0: - yield Result(Status.FAIL, "No TTL detected on Bpod's behavior port #1") + yield Result( + Status.FAIL, + "No TTL detected on Bpod's behavior port #1", + solution='Check the wiring between camera and valve driver board and make sure the latter is connected ' + "to Bpod's behavior port #1", + ) return False else: yield Result(Status.PASS, "Detected camera TTL on Bpod's behavior port #1") @@ -399,7 +422,7 @@ def _run(self): if isclose(trigger_rate, target_rate, rel_tol=0.1): yield Result(Status.PASS, f'Measured TTL rate: {trigger_rate:.1f} Hz') else: - yield Result(Status.WARN, f'Measured TTL rate: {trigger_rate:.1f} Hz') + yield Result(Status.WARN, f'Measured TTL rate: {trigger_rate:.1f} Hz (expecting {target_rate} Hz)') return True @@ -470,12 +493,14 @@ def _run(self): return True else: yield Result( - Status.FAIL, 'Could not find UltraMic 200K microphone', solution='Make sure that the microphone is plugged in' + Status.FAIL, + 'Could not find UltraMic 200K microphone', + solution='Make sure that the microphone is connected to the PC via USB', ) return False -class GitValidator(Validator): +class ValidatorGit(Validator): _name = 'Git' def _run(self): @@ -489,19 +514,19 @@ def _run(self): if this_branch != main_branch: yield Result( Status.WARN, - f'Working tree of IBLRIG is on Git branch `{this_branch}`', - solution=f'Issue `git checkout {main_branch}` to switch to `{main_branch}` branch' + f"Working tree of IBLRIG is on Git branch '{this_branch}'", + solution=f"Issue 'git checkout {main_branch}' to switch to '{main_branch}' branch", ) return_status = False else: - yield Result(Status.PASS, f'Working tree of IBLRIG is on Git branch `{main_branch}`') + yield Result(Status.PASS, f"Working tree of IBLRIG is on Git branch '{main_branch}'") if is_dirty(): yield Result( Status.WARN, "Working tree of IBLRIG contains local changes - don't expect things to work as intended!", - solution='To list files that have been changed locally, issue `git diff --name-only`. ' - 'Issue `git reset --hard` to reset the repository to its default state', + solution="To list files that have been changed locally, issue 'git diff --name-only'. " + "Issue 'git reset --hard' to reset the repository to its default state", ) return_status = False else: diff --git a/iblrig/validation.py b/iblrig/validation.py deleted file mode 100644 index a23f3a05a..000000000 --- a/iblrig/validation.py +++ /dev/null @@ -1,133 +0,0 @@ -from iblrig.base_tasks import BpodMixin, SoundMixin -from iblrig.constants import BASE_PATH -from pybpodapi.protocol import StateMachine - - -class _SoundCheckTask(BpodMixin, SoundMixin): - protocol_name = 'hardware_check_harp' - - def __init__(self, *args, **kwargs): - param_file = BASE_PATH.joinpath('iblrig', 'base_choice_world_params.yaml') - super().__init__(*args, task_parameter_file=param_file, **kwargs) - - def start_hardware(self): - self.start_mixin_bpod() - self.start_mixin_sound() - - def get_state_machine(self): - sma = StateMachine(self.bpod) - sma.add_state('tone', 0.5, {'Tup': 'noise'}, [self.bpod.actions.play_tone]) - sma.add_state('noise', 1, {'Tup': 'exit'}, [self.bpod.actions.play_noise]) - return sma - - def play_sounds(self): - sma = self.get_state_machine() - self.bpod.send_state_machine(sma) - self.bpod.run_state_machine(sma) - - def _run(self): - pass - - -def sound_check(): - """ - # TODO: within the task (and actually with this hardware check), we need to test - for the exact same number of pulses than generated by the state machine. - # if it is more, it means it's noise and potentially disconnected, if it is less, - it means the sound card is not sending the pulses properly - - bpod_data_success: - GPIO -- Bpod OR GPIO X- Bpod - Harp -- Bpod - GPIO -- Harp - - bpod_data_success - {'Bpod start timestamp': 0.620611, - 'Trial start timestamp': 0.620611, - 'Trial end timestamp': 2.120613, - 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, - 'Events timestamps': {'BNC2High': [0.0007, 0.5007], - 'BNC2Low': [0.1107, 1.0007000000000001], - 'Tup': [0.5, 1.5]}} - - bpod_data_failure: - GPIO -- Bpod - Harp -X Bpod - GPIO -X Harp - {'Bpod start timestamp': 0.620611, - 'Trial start timestamp': 232.963811, - 'Trial end timestamp': 234.463814, - 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, - 'Events timestamps': {'BNC2Low': [0.008400000000000001, - 0.0349, - 0.08990000000000001, - 0.1796, - 0.19360000000000002, - 0.2753, - 0.28150000000000003, - 0.29550000000000004, - 0.33140000000000003, - 0.36100000000000004, - 0.5086, - 0.5457000000000001, - 0.6646000000000001, - 0.6959000000000001, - 0.7241000000000001, - 0.8599, - 0.8823000000000001, - 0.9087000000000001, - 0.9398000000000001, - 1.0050000000000001, - 1.1079, - 1.1265, - 1.1955, - 1.2302, - 1.3635000000000002, - 1.4215], - 'BNC2High': [0.0085, - 0.035, - 0.09000000000000001, - 0.1797, - 0.1937, - 0.27540000000000003, - 0.2816, - 0.29560000000000003, - 0.3315, - 0.36110000000000003, - 0.5087, - 0.5458000000000001, - 0.6647000000000001, - 0.6960000000000001, - 0.7242000000000001, - 0.86, - 0.8824000000000001, - 0.9088, - 0.9399000000000001, - 1.0051, - 1.108, - 1.1266, - 1.1956, - 1.2303, - 1.3636000000000001, - 1.4216], - 'Tup': [0.5, 1.5]}} - - bpod data failure: case if sound card is not wired properly (no feedback from sound card) - bpod_data_failure: - GPIO -X Bpod - Harp -X Bpod - GPIO -- Harp - Out[49]: - {'Bpod start timestamp': 0.620611, - 'Trial start timestamp': 405.619411, - 'Trial end timestamp': 407.119414, - 'States timestamps': {'play_tone': [(0, 0.5)], 'error': [(0.5, 1.5)]}, - 'Events timestamps': {'Tup': [0.5, 1.5]}} - """ - - task = _SoundCheckTask(subject='toto') - task.start_hardware() - task.play_sounds() - - bpod_data = task.bpod.session.current_trial.export() - assert len(bpod_data['Events timestamps']['BNC2High']) == 2 From 59ce48b7b8c9abb95b85325c640b9cd9a439d250 Mon Sep 17 00:00:00 2001 From: Miles Wells Date: Tue, 23 Apr 2024 16:59:23 +0300 Subject: [PATCH 54/90] Test db fixture from ONE --- iblrig/test/test_alyx.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/iblrig/test/test_alyx.py b/iblrig/test/test_alyx.py index db6a5bf09..cb6b2db88 100644 --- a/iblrig/test/test_alyx.py +++ b/iblrig/test/test_alyx.py @@ -13,7 +13,14 @@ from iblrig.test.base import TASK_KWARGS from iblrig_tasks._iblrig_tasks_trainingChoiceWorld.task import Session as TrainingChoiceWorldSession from one.api import ONE -from one.tests import TEST_DB_1 + + +TEST_DB = { + 'base_url': 'https://test.alyx.internationalbrainlab.org', + 'username': 'test_user', + 'password': 'TapetesBloc18', + 'silent': True +} class TestRegisterSession(unittest.TestCase): @@ -26,7 +33,7 @@ def setUp(self): self.tmpdir = Path(tmp.name) # Create a random new subject - self.one = ONE(**TEST_DB_1, cache_rest=None) + self.one = ONE(**TEST_DB, cache_rest=None) self.subject = ''.join(random.choices(string.ascii_letters, k=10)) self.lab = 'mainenlab' self.one.alyx.rest('subjects', 'create', data={'lab': self.lab, 'nickname': self.subject}) From 956d6f6a67b0ec1b066268c59b0f29b5a1f8df7a Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 23 Apr 2024 15:25:28 +0100 Subject: [PATCH 55/90] Update test_alyx.py --- iblrig/test/test_alyx.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/iblrig/test/test_alyx.py b/iblrig/test/test_alyx.py index cb6b2db88..da9acfc93 100644 --- a/iblrig/test/test_alyx.py +++ b/iblrig/test/test_alyx.py @@ -14,12 +14,11 @@ from iblrig_tasks._iblrig_tasks_trainingChoiceWorld.task import Session as TrainingChoiceWorldSession from one.api import ONE - TEST_DB = { 'base_url': 'https://test.alyx.internationalbrainlab.org', 'username': 'test_user', 'password': 'TapetesBloc18', - 'silent': True + 'silent': True, } From 198f0422a5e0a49e9512005d48bb9513e04317d1 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Mon, 29 Apr 2024 18:31:50 +0100 Subject: [PATCH 56/90] fixing deprecated pydantic methods --- iblrig/test/test_video.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/iblrig/test/test_video.py b/iblrig/test/test_video.py index e43ecf5ae..102cfe265 100644 --- a/iblrig/test/test_video.py +++ b/iblrig/test/test_video.py @@ -172,7 +172,7 @@ def test_prepare_video_session(self, enable_camera_trigger, call_bonsai, session # Test config validation self.assertRaises(ValueError, video.prepare_video_session, self.subject, 'training') - session().hardware_settings = hws.construct() + session().hardware_settings = hws.model_construct() self.assertRaises(ValueError, video.prepare_video_session, self.subject, 'training') @@ -211,7 +211,7 @@ def test_validate_video(self, load_embedded_frame_data, get_video_meta): } self.assertCountEqual(set(x.getMessage() for x in log.records), expected) # Test video meta warnings - config = self.config.copy() + config = self.config.model_copy() config.HEIGHT = config.WIDTH = 160 config.FPS = 150 with self.assertLogs(video.__name__, 30) as log: From cef4411786331ee64a293be9c7637f0c366b6733 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Tue, 30 Apr 2024 16:15:28 +0100 Subject: [PATCH 57/90] prepare release --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36ed4044b..d53469ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ Changelog * automated validation of rig components * adaptive reward parameter for trainingPhaseChoiceWorld * add validate_video entry-point +* switch from flake8 to ruff for linting & code-checks 8.18.0 ------ From 9053f26dce962c450adfb381fea7bb170817e145 Mon Sep 17 00:00:00 2001 From: owinter Date: Thu, 2 May 2024 08:41:38 +0100 Subject: [PATCH 58/90] advanced cw: lists for flexible parameters --- .../test/tasks/test_advanced_choice_world.py | 8 ++- .../_iblrig_tasks_advancedChoiceWorld/task.py | 68 ++++++++++++------- .../task_parameters.yaml | 9 ++- 3 files changed, 53 insertions(+), 32 deletions(-) diff --git a/iblrig/test/tasks/test_advanced_choice_world.py b/iblrig/test/tasks/test_advanced_choice_world.py index ebe5de405..888f0b419 100644 --- a/iblrig/test/tasks/test_advanced_choice_world.py +++ b/iblrig/test/tasks/test_advanced_choice_world.py @@ -7,7 +7,13 @@ class TestInstantiationAdvanced(BaseTestCases.CommonTestInstantiateTask): def setUp(self) -> None: - self.task = AdvancedChoiceWorldSession(**TASK_KWARGS) + self.task = AdvancedChoiceWorldSession( + probability_set=[1, 1, 1, 1, 1, 1], + contrast_set=[-1, -.5, 0, 0, .5, 1], + reward_set_ul=[1, 1.5, 2, 2, 2.5, 2.6], + position_set=[-35, -35, -35, 35, 35, 35], + **TASK_KWARGS + ) def test_task(self): task = self.task diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index 932e70803..5e7e2db45 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -1,5 +1,7 @@ from pathlib import Path +import numpy as np +import pandas as pd import yaml import iblrig.misc @@ -24,18 +26,31 @@ def __init__( self, *args, contrast_set: list[float] = DEFAULTS['CONTRAST_SET'], - contrast_set_probability_type: str = DEFAULTS['CONTRAST_SET_PROBABILITY_TYPE'], - probability_left: float = DEFAULTS['PROBABILITY_LEFT'], - reward_amount_ul: float = DEFAULTS['REWARD_AMOUNT_UL'], + probability_set: float | list[float] = DEFAULTS['PROBABILITY_SET'], + reward_set_ul: float | list[float] = DEFAULTS['REWARD_SET_UL'], + position_set: list[float] = DEFAULTS['POSITION_SET'], stim_gain: float = DEFAULTS['STIM_GAIN'], **kwargs, ): super().__init__(*args, **kwargs) self.task_params['CONTRAST_SET'] = contrast_set - self.task_params['CONTRAST_SET_PROBABILITY_TYPE'] = contrast_set_probability_type - self.task_params['PROBABILITY_LEFT'] = probability_left - self.task_params['REWARD_AMOUNT_UL'] = reward_amount_ul + self.task_params['PROBABILITY_SET'] = probability_set + self.task_params['REWARD_SET_UL'] = reward_set_ul + self.task_params['POSITION_SET'] = position_set self.task_params['STIM_GAIN'] = stim_gain + nc = len(self.task_params['CONTRAST_SET']) + self.df_contrasts = pd.DataFrame(columns=['contrast', 'probability', 'reward_amount_ul', 'position']) + self.df_contrasts['contrast'] = self.task_params['CONTRAST_SET'] + + def draw_next_trial_info(self, **kwargs): + nc = len(self.task_params['CONTRAST_SET']) + ic = np.random.choice(np.arange(nc), p=self.task_params['PROBABILITY_SET']) + self.task_params['PROBABILITY_SET'] + pleft, contrast, position= (0.5, 0, -35) + super().draw_next_trial_info(pleft=pleft, contrast=contrast, position=position) + @property + def reward_amount(self): + return self.task_params.REWARD_AMOUNTS_UL[0] @staticmethod def extra_parser(): @@ -47,33 +62,34 @@ def extra_parser(): dest='contrast_set', default=DEFAULTS['CONTRAST_SET'], nargs='+', - type=float, + type=list[float], help='set of contrasts to present', ) parser.add_argument( - '--contrast_set_probability_type', - option_strings=['--contrast_set_probability_type'], - dest='contrast_set_probability_type', - default=DEFAULTS['CONTRAST_SET_PROBABILITY_TYPE'], - type=str, - choices=['skew_zero', 'uniform'], - help=f'probability type for contrast set ' f'(default: {DEFAULTS["CONTRAST_SET_PROBABILITY_TYPE"]})', + '--probability_set', + option_strings=['--probability_set'], + dest='probability_set', + default=DEFAULTS['PROBABILITY_SET'], + nargs='+', + type=float | list[float], + help='probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', ) parser.add_argument( - '--probability_left', - option_strings=['--probability_left'], - dest='probability_left', - default=DEFAULTS['PROBABILITY_LEFT'], - type=float, - help=f'probability for stimulus to appear on the left ' f'(default: {DEFAULTS["PROBABILITY_LEFT"]:.1f})', + '--reward_set_ul', + option_strings=['--reward_set_ul'], + dest='reward_set_ul', + default=DEFAULTS['REWARD_SET_UL'], + type=float | list[float], + help=f'reward amount (default: {DEFAULTS["REWARD_SET_UL"]}μl), can be a vector of n contrasts or a scalar', ) parser.add_argument( - '--reward_amount_ul', - option_strings=['--reward_amount_ul'], - dest='reward_amount_ul', - default=DEFAULTS['REWARD_AMOUNT_UL'], - type=float, - help=f'reward amount (default: {DEFAULTS["REWARD_AMOUNT_UL"]}μl)', + '--position_set', + option_strings=['--position_set'], + dest='probability_set', + default=DEFAULTS['PROBABILITY_SET'], + nargs='+', + type=list[float], + help='Position for each contrast in contrast set.', ) parser.add_argument( '--stim_gain', diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml index c639d9d46..ac82b48be 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml @@ -1,7 +1,6 @@ -'CONTRAST_SET': [1.0, 0.5, 0.25, 0.125, 0.0625, 0.0] -'CONTRAST_SET_PROBABILITY_TYPE': skew_zero # uniform, skew_zero -'PROBABILITY_LEFT': 0.5 -'REWARD_AMOUNT_UL': 1.5 +'CONTRAST_SET': [1.0, 0.5, 0.25, 0.125, 0.0625, 0.0, 0.0, 0.0625, 0.125, 0.25, 0.5, 1.0] # signed contrast set +'PROBABILITY_SET': 1 # scalar or list of n signed contrasts values, if scalar all contrasts are equiprobable +'REWARD_SET_UL': [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 3, 3, 3, 3, 3, 3] # scalar or list of Ncontrast values +'POSITION_SET': [-35, -35, -35, -35, -35, -35, 35, 35, 35, 35, 35, 35] # position set 'STIM_GAIN': 4.0 # wheel to stimulus relationship #'DEBIAS': True # Whether to use debiasing rule or not by repeating error trials # todo -#'CONTRAST_SET_PROBABILITIES': [2, 2, 2, 2, 1] # todo From 631a2da910307f02fa863dd726d45b83b9fdcaec Mon Sep 17 00:00:00 2001 From: owinter Date: Thu, 2 May 2024 08:47:10 +0100 Subject: [PATCH 59/90] represent possible contrasts as a dataframe --- .../_iblrig_tasks_advancedChoiceWorld/task.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index 5e7e2db45..a3d8f2385 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -33,14 +33,24 @@ def __init__( **kwargs, ): super().__init__(*args, **kwargs) + nc = len(self.task_params['CONTRAST_SET']) + assert np.isscalar(probability_set) or (self.task_params['PROBABILITY_SET'] == nc), \ + 'probability_set must be a scalar or have the same length as contrast_set' + assert np.isscalar(reward_set_ul) or (self.task_params['REWARD_SET_UL'] == nc), \ + 'reward_set_ul must be a scalar or have the same length as contrast_set' + assert len(position_set) == nc, 'position_set must have the same length as contrast_set' self.task_params['CONTRAST_SET'] = contrast_set self.task_params['PROBABILITY_SET'] = probability_set self.task_params['REWARD_SET_UL'] = reward_set_ul self.task_params['POSITION_SET'] = position_set self.task_params['STIM_GAIN'] = stim_gain - nc = len(self.task_params['CONTRAST_SET']) + # it is easier to work with parameters as a dataframe self.df_contrasts = pd.DataFrame(columns=['contrast', 'probability', 'reward_amount_ul', 'position']) - self.df_contrasts['contrast'] = self.task_params['CONTRAST_SET'] + self.df_contrasts['contrast'] = contrast_set + self.df_contrasts['probability'] = probability_set + self.df_contrasts['reward_amount_ul'] = reward_set_ul + self.df_contrasts['position'] = position_set + def draw_next_trial_info(self, **kwargs): nc = len(self.task_params['CONTRAST_SET']) From 446fce23a58a0c49b3d8b9f4e0ccdc1c3ca21f34 Mon Sep 17 00:00:00 2001 From: olivier Date: Thu, 2 May 2024 11:15:17 +0100 Subject: [PATCH 60/90] add advanced choice world contingency table --- iblrig/base_choice_world.py | 11 ++--- .../test/tasks/test_advanced_choice_world.py | 36 +++++++++++++++- .../_iblrig_tasks_advancedChoiceWorld/task.py | 41 +++++++++++-------- .../task_parameters.yaml | 4 +- 4 files changed, 68 insertions(+), 24 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 0474a3527..3b260c013 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -427,15 +427,15 @@ def next_trial(self): pass @property - def reward_amount(self): + def default_reward_amount(self): return self.task_params.REWARD_AMOUNT_UL - def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None): """Draw next trial variables. - This is called by the `next_trial` method before updating the Bpod state machine. This also calls :meth:`send_trial_info_to_bonsai`. + This is called by the `next_trial` method before updating the Bpod state machine. This also """ + def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None, reward_amount=None): if contrast is None: contrast = misc.draw_contrast(self.task_params.CONTRAST_SET, self.task_params.CONTRAST_SET_PROBABILITY_TYPE) assert len(self.task_params.STIM_POSITIONS) == 2, 'Only two positions are supported' @@ -443,6 +443,7 @@ def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None): quiescent_period = self.task_params.QUIESCENT_PERIOD + misc.truncated_exponential( scale=0.35, min_value=0.2, max_value=0.5 ) + reward_amount = self.default_reward_amount if reward_amount is None else reward_amount self.trials_table.at[self.trial_num, 'quiescent_period'] = quiescent_period self.trials_table.at[self.trial_num, 'contrast'] = contrast self.trials_table.at[self.trial_num, 'stim_phase'] = random.uniform(0, 2 * math.pi) @@ -452,7 +453,7 @@ def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None): self.trials_table.at[self.trial_num, 'stim_freq'] = self.task_params.STIM_FREQ self.trials_table.at[self.trial_num, 'trial_num'] = self.trial_num self.trials_table.at[self.trial_num, 'position'] = position - self.trials_table.at[self.trial_num, 'reward_amount'] = self.reward_amount + self.trials_table.at[self.trial_num, 'reward_amount'] = reward_amount self.trials_table.at[self.trial_num, 'stim_probability_left'] = pleft self.send_trial_info_to_bonsai() @@ -783,7 +784,7 @@ def __init__(self, training_phase=-1, adaptive_reward=-1.0, adaptive_gain=None, self.trials_table['debias_trial'] = np.zeros(NTRIALS_INIT, dtype=bool) @property - def reward_amount(self): + def default_reward_amount(self): return self.session_info.get('ADAPTIVE_REWARD_AMOUNT_UL', self.task_params.REWARD_AMOUNT_UL) def get_subject_training_info(self): diff --git a/iblrig/test/tasks/test_advanced_choice_world.py b/iblrig/test/tasks/test_advanced_choice_world.py index 888f0b419..ba5cbe397 100644 --- a/iblrig/test/tasks/test_advanced_choice_world.py +++ b/iblrig/test/tasks/test_advanced_choice_world.py @@ -1,14 +1,27 @@ +from unittest import TestCase + import numpy as np +import pandas as pd from iblrig.test.base import TASK_KWARGS, BaseTestCases from iblrig.test.tasks.test_biased_choice_world_family import get_fixtures from iblrig_tasks._iblrig_tasks_advancedChoiceWorld.task import Session as AdvancedChoiceWorldSession +class TestDefaultParameters(TestCase): + + def test_params_yaml(self): + # just make sure the parameter file is + task = AdvancedChoiceWorldSession(**TASK_KWARGS) + self.assertEqual(12, task.df_contingencies.shape[0]) + self.assertEqual(task.task_params['PROBABILITY_LEFT'], 0.5) + + class TestInstantiationAdvanced(BaseTestCases.CommonTestInstantiateTask): + def setUp(self) -> None: self.task = AdvancedChoiceWorldSession( - probability_set=[1, 1, 1, 1, 1, 1], + probability_set=[2, 2, 2, 1, 1, 1], contrast_set=[-1, -.5, 0, 0, .5, 1], reward_set_ul=[1, 1.5, 2, 2, 2.5, 2.6], position_set=[-35, -35, -35, 35, 35, 35], @@ -18,8 +31,12 @@ def setUp(self) -> None: def test_task(self): task = self.task task.create_session() + # given the table probabilities above, the left stimulus is twice as likely to be right + self.assertTrue(task.task_params['PROBABILITY_LEFT'] == 2 / 3) + # run a fake task for 800 trials trial_fixtures = get_fixtures() nt = 800 + np.random.seed(65432) for i in np.arange(nt): task.next_trial() # pc = task.psychometric_curve() @@ -33,3 +50,20 @@ def test_task(self): if i == 245: task.show_trial_log() assert not np.isnan(task.reward_time) + + # check the contrasts and positions by aggregating the trials table + df_contrasts = task.trials_table.iloc[:nt, :].groupby(['contrast', 'position']).agg( + count=pd.NamedAgg(column="reward_amount", aggfunc="count"), + n_unique_rewards=pd.NamedAgg(column="reward_amount", aggfunc="nunique"), + max_reward=pd.NamedAgg(column="reward_amount", aggfunc="max"), + min_reward=pd.NamedAgg(column="reward_amount", aggfunc="min"), + ).reset_index() + # the error trials have 0 reward while the correct trials have their assigned reward amount + np.testing.assert_array_equal(df_contrasts['n_unique_rewards'], 2) + np.testing.assert_array_equal(df_contrasts['min_reward'], 0) + np.testing.assert_array_equal(df_contrasts['max_reward'], [1, 1.5, 2, 2, 2.5, 2.6]) + + n_left = np.sum(df_contrasts['count'][df_contrasts['position'] < 0]) + n_right = np.sum(df_contrasts['count'][df_contrasts['position'] > 0]) + # the left stimulus is twice as likely to be shown + self.assertTrue(n_left > (n_right * 1.5)) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index a3d8f2385..943e2f313 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -33,10 +33,10 @@ def __init__( **kwargs, ): super().__init__(*args, **kwargs) - nc = len(self.task_params['CONTRAST_SET']) - assert np.isscalar(probability_set) or (self.task_params['PROBABILITY_SET'] == nc), \ + nc = len(contrast_set) + assert np.isscalar(probability_set) or (len(probability_set) == nc), \ 'probability_set must be a scalar or have the same length as contrast_set' - assert np.isscalar(reward_set_ul) or (self.task_params['REWARD_SET_UL'] == nc), \ + assert np.isscalar(reward_set_ul) or (len(reward_set_ul) == nc), \ 'reward_set_ul must be a scalar or have the same length as contrast_set' assert len(position_set) == nc, 'position_set must have the same length as contrast_set' self.task_params['CONTRAST_SET'] = contrast_set @@ -45,19 +45,28 @@ def __init__( self.task_params['POSITION_SET'] = position_set self.task_params['STIM_GAIN'] = stim_gain # it is easier to work with parameters as a dataframe - self.df_contrasts = pd.DataFrame(columns=['contrast', 'probability', 'reward_amount_ul', 'position']) - self.df_contrasts['contrast'] = contrast_set - self.df_contrasts['probability'] = probability_set - self.df_contrasts['reward_amount_ul'] = reward_set_ul - self.df_contrasts['position'] = position_set - + self.df_contingencies = pd.DataFrame(columns=['contrast', 'probability', 'reward_amount_ul', 'position']) + self.df_contingencies['contrast'] = contrast_set + self.df_contingencies['probability'] = probability_set + self.df_contingencies['reward_amount_ul'] = reward_set_ul + self.df_contingencies['position'] = position_set + # normalize the probabilities + self.df_contingencies.loc[:, 'probability'] = ( + self.df_contingencies.loc[:, 'probability'] / np.sum(self.df_contingencies.loc[:, 'probability'])) + # update the PROBABILITY LEFT field to reflect the probabilities in the parameters above + self.task_params['PROBABILITY_LEFT'] = np.sum(self.df_contingencies['probability'] * (self.df_contingencies['position'] < 0)) def draw_next_trial_info(self, **kwargs): - nc = len(self.task_params['CONTRAST_SET']) - ic = np.random.choice(np.arange(nc), p=self.task_params['PROBABILITY_SET']) - self.task_params['PROBABILITY_SET'] - pleft, contrast, position= (0.5, 0, -35) - super().draw_next_trial_info(pleft=pleft, contrast=contrast, position=position) + nc = self.df_contingencies.shape[0] + ic = np.random.choice(np.arange(nc), p=self.df_contingencies['probability']) + # now calling the super class with the proper parameters + super().draw_next_trial_info( + pleft=self.task_params.PROBABILITY_LEFT, + contrast=self.df_contingencies.at[ic, 'contrast'], + position=self.df_contingencies.at[ic, 'position'], + reward_amount=self.df_contingencies.at[ic, 'reward_amount_ul'], + ) + @property def reward_amount(self): return self.task_params.REWARD_AMOUNTS_UL[0] @@ -81,7 +90,7 @@ def extra_parser(): dest='probability_set', default=DEFAULTS['PROBABILITY_SET'], nargs='+', - type=float | list[float], + # type=float | list[float], help='probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', ) parser.add_argument( @@ -89,7 +98,7 @@ def extra_parser(): option_strings=['--reward_set_ul'], dest='reward_set_ul', default=DEFAULTS['REWARD_SET_UL'], - type=float | list[float], + # type=float | list[float], help=f'reward amount (default: {DEFAULTS["REWARD_SET_UL"]}μl), can be a vector of n contrasts or a scalar', ) parser.add_argument( diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml index ac82b48be..680dc6e96 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml @@ -1,6 +1,6 @@ 'CONTRAST_SET': [1.0, 0.5, 0.25, 0.125, 0.0625, 0.0, 0.0, 0.0625, 0.125, 0.25, 0.5, 1.0] # signed contrast set -'PROBABILITY_SET': 1 # scalar or list of n signed contrasts values, if scalar all contrasts are equiprobable -'REWARD_SET_UL': [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 3, 3, 3, 3, 3, 3] # scalar or list of Ncontrast values +'PROBABILITY_SET': 1 # scalar or list of n signed contrasts values, if scalar all contingencies are equiprobable +'REWARD_SET_UL': 1.5 # scalar or list of Ncontrast values 'POSITION_SET': [-35, -35, -35, -35, -35, -35, 35, 35, 35, 35, 35, 35] # position set 'STIM_GAIN': 4.0 # wheel to stimulus relationship #'DEBIAS': True # Whether to use debiasing rule or not by repeating error trials # todo From 20dd8406174f29f3500f3c2b3395aa1f1467e9c7 Mon Sep 17 00:00:00 2001 From: olivier Date: Thu, 2 May 2024 11:21:51 +0100 Subject: [PATCH 61/90] lint --- .../_iblrig_tasks_advancedChoiceWorld/task.py | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index 943e2f313..c0444e891 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -34,10 +34,12 @@ def __init__( ): super().__init__(*args, **kwargs) nc = len(contrast_set) - assert np.isscalar(probability_set) or (len(probability_set) == nc), \ - 'probability_set must be a scalar or have the same length as contrast_set' - assert np.isscalar(reward_set_ul) or (len(reward_set_ul) == nc), \ - 'reward_set_ul must be a scalar or have the same length as contrast_set' + assert np.isscalar(probability_set) or ( + len(probability_set) == nc + ), 'probability_set must be a scalar or have the same length as contrast_set' + assert np.isscalar(reward_set_ul) or ( + len(reward_set_ul) == nc + ), 'reward_set_ul must be a scalar or have the same length as contrast_set' assert len(position_set) == nc, 'position_set must have the same length as contrast_set' self.task_params['CONTRAST_SET'] = contrast_set self.task_params['PROBABILITY_SET'] = probability_set @@ -51,10 +53,13 @@ def __init__( self.df_contingencies['reward_amount_ul'] = reward_set_ul self.df_contingencies['position'] = position_set # normalize the probabilities - self.df_contingencies.loc[:, 'probability'] = ( - self.df_contingencies.loc[:, 'probability'] / np.sum(self.df_contingencies.loc[:, 'probability'])) + self.df_contingencies.loc[:, 'probability'] = self.df_contingencies.loc[:, 'probability'] / np.sum( + self.df_contingencies.loc[:, 'probability'] + ) # update the PROBABILITY LEFT field to reflect the probabilities in the parameters above - self.task_params['PROBABILITY_LEFT'] = np.sum(self.df_contingencies['probability'] * (self.df_contingencies['position'] < 0)) + self.task_params['PROBABILITY_LEFT'] = np.sum( + self.df_contingencies['probability'] * (self.df_contingencies['position'] < 0) + ) def draw_next_trial_info(self, **kwargs): nc = self.df_contingencies.shape[0] @@ -90,7 +95,6 @@ def extra_parser(): dest='probability_set', default=DEFAULTS['PROBABILITY_SET'], nargs='+', - # type=float | list[float], help='probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', ) parser.add_argument( @@ -98,7 +102,6 @@ def extra_parser(): option_strings=['--reward_set_ul'], dest='reward_set_ul', default=DEFAULTS['REWARD_SET_UL'], - # type=float | list[float], help=f'reward amount (default: {DEFAULTS["REWARD_SET_UL"]}μl), can be a vector of n contrasts or a scalar', ) parser.add_argument( From 8eddea4f6fadb3be122771484bf7991a5d3f1579 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 11:29:42 +0100 Subject: [PATCH 62/90] trust in ruff @oliche ;-) --- iblrig/base_choice_world.py | 1 + .../test/tasks/test_advanced_choice_world.py | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 3b260c013..1db8ad360 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -435,6 +435,7 @@ def default_reward_amount(self): calls :meth:`send_trial_info_to_bonsai`. This is called by the `next_trial` method before updating the Bpod state machine. This also """ + def draw_next_trial_info(self, pleft=0.5, contrast=None, position=None, reward_amount=None): if contrast is None: contrast = misc.draw_contrast(self.task_params.CONTRAST_SET, self.task_params.CONTRAST_SET_PROBABILITY_TYPE) diff --git a/iblrig/test/tasks/test_advanced_choice_world.py b/iblrig/test/tasks/test_advanced_choice_world.py index ba5cbe397..eb06764ed 100644 --- a/iblrig/test/tasks/test_advanced_choice_world.py +++ b/iblrig/test/tasks/test_advanced_choice_world.py @@ -9,7 +9,6 @@ class TestDefaultParameters(TestCase): - def test_params_yaml(self): # just make sure the parameter file is task = AdvancedChoiceWorldSession(**TASK_KWARGS) @@ -18,14 +17,13 @@ def test_params_yaml(self): class TestInstantiationAdvanced(BaseTestCases.CommonTestInstantiateTask): - def setUp(self) -> None: self.task = AdvancedChoiceWorldSession( probability_set=[2, 2, 2, 1, 1, 1], - contrast_set=[-1, -.5, 0, 0, .5, 1], + contrast_set=[-1, -0.5, 0, 0, 0.5, 1], reward_set_ul=[1, 1.5, 2, 2, 2.5, 2.6], position_set=[-35, -35, -35, 35, 35, 35], - **TASK_KWARGS + **TASK_KWARGS, ) def test_task(self): @@ -52,12 +50,17 @@ def test_task(self): assert not np.isnan(task.reward_time) # check the contrasts and positions by aggregating the trials table - df_contrasts = task.trials_table.iloc[:nt, :].groupby(['contrast', 'position']).agg( - count=pd.NamedAgg(column="reward_amount", aggfunc="count"), - n_unique_rewards=pd.NamedAgg(column="reward_amount", aggfunc="nunique"), - max_reward=pd.NamedAgg(column="reward_amount", aggfunc="max"), - min_reward=pd.NamedAgg(column="reward_amount", aggfunc="min"), - ).reset_index() + df_contrasts = ( + task.trials_table.iloc[:nt, :] + .groupby(['contrast', 'position']) + .agg( + count=pd.NamedAgg(column='reward_amount', aggfunc='count'), + n_unique_rewards=pd.NamedAgg(column='reward_amount', aggfunc='nunique'), + max_reward=pd.NamedAgg(column='reward_amount', aggfunc='max'), + min_reward=pd.NamedAgg(column='reward_amount', aggfunc='min'), + ) + .reset_index() + ) # the error trials have 0 reward while the correct trials have their assigned reward amount np.testing.assert_array_equal(df_contrasts['n_unique_rewards'], 2) np.testing.assert_array_equal(df_contrasts['min_reward'], 0) From 558c2e498972b78e510777396658243379e2f601 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 11:44:41 +0100 Subject: [PATCH 63/90] fix for parsing list --- .../_iblrig_tasks_advancedChoiceWorld/task.py | 27 +++++++++---------- .../task_parameters.yaml | 4 +-- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index c0444e891..1794ea9ed 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -26,20 +26,16 @@ def __init__( self, *args, contrast_set: list[float] = DEFAULTS['CONTRAST_SET'], - probability_set: float | list[float] = DEFAULTS['PROBABILITY_SET'], - reward_set_ul: float | list[float] = DEFAULTS['REWARD_SET_UL'], + probability_set: list[float] = DEFAULTS['PROBABILITY_SET'], + reward_set_ul: list[float] = DEFAULTS['REWARD_SET_UL'], position_set: list[float] = DEFAULTS['POSITION_SET'], stim_gain: float = DEFAULTS['STIM_GAIN'], **kwargs, ): super().__init__(*args, **kwargs) nc = len(contrast_set) - assert np.isscalar(probability_set) or ( - len(probability_set) == nc - ), 'probability_set must be a scalar or have the same length as contrast_set' - assert np.isscalar(reward_set_ul) or ( - len(reward_set_ul) == nc - ), 'reward_set_ul must be a scalar or have the same length as contrast_set' + assert len(probability_set) in [nc, 1], 'probability_set must be a scalar or have the same length as contrast_set' + assert len(reward_set_ul) in [nc, 1], 'reward_set_ul must be a scalar or have the same length as contrast_set' assert len(position_set) == nc, 'position_set must have the same length as contrast_set' self.task_params['CONTRAST_SET'] = contrast_set self.task_params['PROBABILITY_SET'] = probability_set @@ -49,8 +45,8 @@ def __init__( # it is easier to work with parameters as a dataframe self.df_contingencies = pd.DataFrame(columns=['contrast', 'probability', 'reward_amount_ul', 'position']) self.df_contingencies['contrast'] = contrast_set - self.df_contingencies['probability'] = probability_set - self.df_contingencies['reward_amount_ul'] = reward_set_ul + self.df_contingencies['probability'] = probability_set if len(probability_set) == nc else probability_set[0] + self.df_contingencies['reward_amount_ul'] = reward_set_ul if len(reward_set_ul) == nc else reward_set_ul[0] self.df_contingencies['position'] = position_set # normalize the probabilities self.df_contingencies.loc[:, 'probability'] = self.df_contingencies.loc[:, 'probability'] / np.sum( @@ -86,7 +82,7 @@ def extra_parser(): dest='contrast_set', default=DEFAULTS['CONTRAST_SET'], nargs='+', - type=list[float], + type=float, help='set of contrasts to present', ) parser.add_argument( @@ -95,6 +91,7 @@ def extra_parser(): dest='probability_set', default=DEFAULTS['PROBABILITY_SET'], nargs='+', + type=float, help='probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', ) parser.add_argument( @@ -102,15 +99,17 @@ def extra_parser(): option_strings=['--reward_set_ul'], dest='reward_set_ul', default=DEFAULTS['REWARD_SET_UL'], + nargs='+', + type=float, help=f'reward amount (default: {DEFAULTS["REWARD_SET_UL"]}μl), can be a vector of n contrasts or a scalar', ) parser.add_argument( '--position_set', option_strings=['--position_set'], - dest='probability_set', - default=DEFAULTS['PROBABILITY_SET'], + dest='position_set', + default=DEFAULTS['POSITION_SET'], nargs='+', - type=list[float], + type=float, help='Position for each contrast in contrast set.', ) parser.add_argument( diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml index 680dc6e96..48349d982 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task_parameters.yaml @@ -1,6 +1,6 @@ 'CONTRAST_SET': [1.0, 0.5, 0.25, 0.125, 0.0625, 0.0, 0.0, 0.0625, 0.125, 0.25, 0.5, 1.0] # signed contrast set -'PROBABILITY_SET': 1 # scalar or list of n signed contrasts values, if scalar all contingencies are equiprobable -'REWARD_SET_UL': 1.5 # scalar or list of Ncontrast values +'PROBABILITY_SET': [1] # scalar or list of n signed contrasts values, if scalar all contingencies are equiprobable +'REWARD_SET_UL': [1.5] # scalar or list of Ncontrast values 'POSITION_SET': [-35, -35, -35, -35, -35, -35, 35, 35, 35, 35, 35, 35] # position set 'STIM_GAIN': 4.0 # wheel to stimulus relationship #'DEBIAS': True # Whether to use debiasing rule or not by repeating error trials # todo From 59474f0131b799a24bdd4f46d517f489a338101c Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 12:04:28 +0100 Subject: [PATCH 64/90] some cosmetic changes --- iblrig/gui/wizard.py | 3 +++ iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index a466a504a..17a054b97 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -825,6 +825,9 @@ def controls_for_extra_parameters(self): ) widget.valueChanged.emit(widget.value()) + case 'reward_set_ul': + label = 'Reward Set, μl' + case 'adaptive_gain': label = 'Stimulus Gain' minimum = 0 diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index 1794ea9ed..5f02eff44 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -83,7 +83,7 @@ def extra_parser(): default=DEFAULTS['CONTRAST_SET'], nargs='+', type=float, - help='set of contrasts to present', + help='Set of contrasts to present', ) parser.add_argument( '--probability_set', @@ -92,7 +92,7 @@ def extra_parser(): default=DEFAULTS['PROBABILITY_SET'], nargs='+', type=float, - help='probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', + help='Probabilities of each contrast in contrast_set. If scalar all contrasts are equiprobable', ) parser.add_argument( '--reward_set_ul', @@ -101,7 +101,7 @@ def extra_parser(): default=DEFAULTS['REWARD_SET_UL'], nargs='+', type=float, - help=f'reward amount (default: {DEFAULTS["REWARD_SET_UL"]}μl), can be a vector of n contrasts or a scalar', + help=f'Reward for contrast in contrast set.', ) parser.add_argument( '--position_set', @@ -118,7 +118,7 @@ def extra_parser(): dest='stim_gain', default=DEFAULTS['STIM_GAIN'], type=float, - help=f'visual angle/wheel displacement ' f'(deg/mm, default: {DEFAULTS["STIM_GAIN"]})', + help=f'Visual angle/wheel displacement ' f'(deg/mm, default: {DEFAULTS["STIM_GAIN"]})', ) return parser From ce03f33d6ebe10ec588045e5bb937ecad3592554 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Thu, 2 May 2024 16:40:15 +0100 Subject: [PATCH 65/90] cleaning up --- iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index 5f02eff44..e0ff15a26 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -101,7 +101,7 @@ def extra_parser(): default=DEFAULTS['REWARD_SET_UL'], nargs='+', type=float, - help=f'Reward for contrast in contrast set.', + help='Reward for contrast in contrast set.', ) parser.add_argument( '--position_set', From f9a533e5f0609ba04605d1413d72d8ed6fc6d03a Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 19:14:16 +0100 Subject: [PATCH 66/90] rotary encoder on arbitrary module port, some runtime type validations --- iblrig/base_tasks.py | 7 ++---- iblrig/hardware.py | 57 ++++++++++++++++++++------------------------ 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index cc4c54bb3..23ff19ff8 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -971,16 +971,15 @@ def start_mixin_sound(self): match self.hardware_settings.device_sound['OUTPUT']: case 'harp': assert self.bpod.sound_card is not None, 'No harp sound-card connected to Bpod' - module_port = f'Serial{self.bpod.sound_card.serial_port}' sound.configure_sound_card( sounds=[self.sound.GO_TONE, self.sound.WHITE_NOISE], indexes=[self.task_params.GO_TONE_IDX, self.task_params.WHITE_NOISE_IDX], sample_rate=self.sound['samplerate'], ) self.bpod.define_harp_sounds_actions( + module=self.bpod.sound_card, go_tone_index=self.task_params.GO_TONE_IDX, noise_index=self.task_params.WHITE_NOISE_IDX, - sound_port=module_port, ) case 'hifi': module = self.bpod.get_module('^HiFi') @@ -991,12 +990,10 @@ def start_mixin_sound(self): hifi.load(index=self.task_params.WHITE_NOISE_IDX, data=self.sound.WHITE_NOISE) hifi.push() hifi.close() - module_port = f'Serial{module.serial_port}' self.bpod.define_harp_sounds_actions( + module=module, go_tone_index=self.task_params.GO_TONE_IDX, noise_index=self.task_params.WHITE_NOISE_IDX, - sound_port=module_port, - module=module, ) case _: self.bpod.define_xonar_sounds_actions() diff --git a/iblrig/hardware.py b/iblrig/hardware.py index 072479545..3e63ec620 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -13,11 +13,12 @@ from collections.abc import Callable from enum import IntEnum from pathlib import Path -from typing import Literal +from typing import Literal, Annotated import numpy as np import serial import sounddevice as sd +from annotated_types import Ge, Le from pydantic import validate_call from serial.tools import list_ports @@ -31,6 +32,10 @@ SOFTCODE = IntEnum('SOFTCODE', ['STOP_SOUND', 'PLAY_TONE', 'PLAY_NOISE', 'TRIGGER_CAMERA']) +# some annotated types +Uint8 = Annotated[int, Ge(0), Le(255)] +ActionIdx = Annotated[int, Ge(1), Le(255)] + log = logging.getLogger(__name__) @@ -124,7 +129,8 @@ def get_module(self, module_name: str) -> BpodModule | None: if len(modules) > 0: return modules[0] - def _define_message(self, module: BpodModule | int, message: list[int]) -> int: + @validate_call(config={'arbitrary_types_allowed': True}) + def _define_message(self, module: BpodModule | int, message: list[Uint8]) -> ActionIdx: """Define a serial message to be sent to a Bpod module as an output action within a state Parameters @@ -150,17 +156,14 @@ def _define_message(self, module: BpodModule | int, message: list[int]) -> int: will then be used as such in StateMachine: >>> output_actions=[("Serial1", id_msg_bonsai_show_stim)] """ - if isinstance(module, int): - pass - elif isinstance(module, BpodModule): + if isinstance(module, BpodModule): module = module.serial_port - else: - raise TypeError message_id = len(self.serial_messages) + 1 self.load_serial_message(module, message_id, message) self.serial_messages.update({message_id: {'target_module': module, 'message': message}}) return message_id + @validate_call(config={'arbitrary_types_allowed': True}) def define_xonar_sounds_actions(self): self.actions.update( { @@ -170,39 +173,31 @@ def define_xonar_sounds_actions(self): } ) - def define_harp_sounds_actions( - self, go_tone_index: int = 2, noise_index: int = 3, sound_port: str = 'Serial3', module: BpodModule | None = None - ): - if module is None: - module = self.sound_card + def define_harp_sounds_actions(self, module: BpodModule, go_tone_index: int = 2, noise_index: int = 3) -> None: + module_port = f'Serial{module.serial_port}' self.actions.update( { - 'play_tone': (sound_port, self._define_message(module, [ord('P'), go_tone_index])), - 'play_noise': (sound_port, self._define_message(module, [ord('P'), noise_index])), - 'stop_sound': (sound_port, ord('X')), + 'play_tone': (module_port, self._define_message(module, [ord('P'), go_tone_index])), + 'play_noise': (module_port, self._define_message(module, [ord('P'), noise_index])), + 'stop_sound': (module_port, ord('X')), } ) - def define_rotary_encoder_actions(self, re_port='Serial1'): - """ - Each output action is a tuple with the port and the message id - :param go_tone_index: - :param noise_index: - :return: - """ + def define_rotary_encoder_actions(self, module: BpodModule | None = None) -> None: + if module is None: + module = self.rotary_encoder + module_port = f'Serial{module.serial_port}' self.actions.update( { 'rotary_encoder_reset': ( - re_port, - self._define_message( - self.rotary_encoder, [RotaryEncoder.COM_SETZEROPOS, RotaryEncoder.COM_ENABLE_ALLTHRESHOLDS] - ), + module_port, + self._define_message(module, [RotaryEncoder.COM_SETZEROPOS, RotaryEncoder.COM_ENABLE_ALLTHRESHOLDS]), ), - 'bonsai_hide_stim': (re_port, self._define_message(self.rotary_encoder, [ord('#'), 1])), - 'bonsai_show_stim': (re_port, self._define_message(self.rotary_encoder, [ord('#'), 8])), - 'bonsai_closed_loop': (re_port, self._define_message(self.rotary_encoder, [ord('#'), 3])), - 'bonsai_freeze_stim': (re_port, self._define_message(self.rotary_encoder, [ord('#'), 4])), - 'bonsai_show_center': (re_port, self._define_message(self.rotary_encoder, [ord('#'), 5])), + 'bonsai_hide_stim': (module_port, self._define_message(module, [ord('#'), 1])), + 'bonsai_show_stim': (module_port, self._define_message(module, [ord('#'), 8])), + 'bonsai_closed_loop': (module_port, self._define_message(module, [ord('#'), 3])), + 'bonsai_freeze_stim': (module_port, self._define_message(module, [ord('#'), 4])), + 'bonsai_show_center': (module_port, self._define_message(module, [ord('#'), 5])), } ) From 170356dd38be89edb12ad0767e17f48be2d97c56 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 19:14:37 +0100 Subject: [PATCH 67/90] Update hardware.py --- iblrig/hardware.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iblrig/hardware.py b/iblrig/hardware.py index 3e63ec620..11cc0abde 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -13,7 +13,7 @@ from collections.abc import Callable from enum import IntEnum from pathlib import Path -from typing import Literal, Annotated +from typing import Annotated, Literal import numpy as np import serial From 1b009121a2116c9e1ec2c2ba97b27b072ee1d1ba Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 19:24:26 +0100 Subject: [PATCH 68/90] automatically set correct trigger mode for camera setup --- iblrig/base_tasks.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index 23ff19ff8..e78d5e8da 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -34,7 +34,7 @@ import pybpodapi from ibllib.oneibl.registration import IBLRegistrationClient from iblrig import sound -from iblrig.constants import BASE_PATH, BONSAI_EXE +from iblrig.constants import BASE_PATH, BONSAI_EXE, PYSPIN_AVAILABLE from iblrig.frame2ttl import Frame2TTL from iblrig.hardware import SOFTCODE, Bpod, MyRotaryEncoder, sound_device_factory from iblrig.hifi import HiFi @@ -651,10 +651,13 @@ def start_mixin_bonsai_cameras(self): configuration = self.hardware_settings.device_cameras[self.config] if (workflow_file := self._camera_mixin_bonsai_get_workflow_file(configuration, 'setup')) is None: return - # TODO: Disable Trigger in Bonsai workflow - PySpin won't help here - # if PYSPIN_AVAILABLE: - # from iblrig.video_pyspin import enable_camera_trigger - # enable_camera_trigger(True) + + # enable trigger of cameras (so Bonsai can disable it again ... sigh) + if PYSPIN_AVAILABLE: + from iblrig.video_pyspin import enable_camera_trigger + + enable_camera_trigger(True) + call_bonsai(workflow_file, wait=True) # TODO Parameterize using configuration cameras log.info('Bonsai cameras setup module loaded: OK') From 4777857e3b3e8c0e22fb04f86e0c02b7b052541a Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 2 May 2024 19:27:49 +0100 Subject: [PATCH 69/90] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d53469ea4..1b9807343 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ Changelog * adaptive reward parameter for trainingPhaseChoiceWorld * add validate_video entry-point * switch from flake8 to ruff for linting & code-checks +* automatically set correct trigger-mode for setting up the cameras +* support rotary encoder on arbitrary module port 8.18.0 ------ From e3a819952286f85bd55257a4dec32f7a91bbde7d Mon Sep 17 00:00:00 2001 From: Miles Wells Date: Tue, 7 May 2024 13:15:47 +0300 Subject: [PATCH 70/90] Deactivate AlyxClient REST cache --- iblrig/base_tasks.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index e78d5e8da..50ce864fa 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -368,7 +368,10 @@ def one(self): ) try: self._one = ONE( - base_url=str(self.iblrig_settings['ALYX_URL']), username=self.iblrig_settings['ALYX_USER'], mode='remote' + base_url=str(self.iblrig_settings['ALYX_URL']), + username=self.iblrig_settings['ALYX_USER'], + mode='remote', + cache_rest=None, ) log.info('instantiated ' + info_str) except Exception: From 52187368338608f8c3e520b3b1e0657202d65ca5 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 7 May 2024 11:45:56 +0100 Subject: [PATCH 71/90] disable line-ending settings for ruff --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index f9b32b1e5..e91950d0e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -119,7 +119,6 @@ ignore = [ ] [tool.ruff.format] -line-ending = "lf" quote-style = "single" [tool.ruff.lint.pydocstyle] From 70657ef312ac79c597efcc09a4b71b538cd30abe Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 7 May 2024 12:28:31 +0100 Subject: [PATCH 72/90] change handling of settings file --- iblrig/base_choice_world.py | 4 ++- iblrig/base_tasks.py | 16 ++++++---- iblrig/commands.py | 10 ++++--- iblrig/online_plots.py | 59 +++++++++++++++++++++---------------- pyproject.toml | 2 +- 5 files changed, 53 insertions(+), 38 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 1db8ad360..5e6a65e3a 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -630,7 +630,9 @@ def _run(self): # starts online plotting if self.interactive: subprocess.Popen( - ['viewsession', str(self.paths['DATA_FILE_PATH'])], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT + ['view_session', str(self.paths['DATA_FILE_PATH']), str(self.paths['SETTINGS_FILE_PATH'])], + stdout=subprocess.DEVNULL, + stderr=subprocess.STDOUT, ) super()._run() diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index 50ce864fa..d124bef37 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -191,6 +191,8 @@ def _init_paths(self, append: bool = False): >>> C:\iblrigv8_data\mainenlab\Subjects\SWC_043\2019-01-01\001\raw_task_data_00 # noqa DATA_FILE_PATH: contains the bpod trials >>> C:\iblrigv8_data\mainenlab\Subjects\SWC_043\2019-01-01\001\raw_task_data_00\_iblrig_taskData.raw.jsonable # noqa + SETTINGS_FILE_PATH: contains the task settings + >>>C:\iblrigv8_data\mainenlab\Subjects\SWC_043\2019-01-01\001\raw_task_data_00\_iblrig_taskSettings.raw.json # noqa """ rig_computer_paths = iblrig.path_helper.get_local_and_remote_paths( local_path=self.iblrig_settings['iblrig_local_data_path'], @@ -230,6 +232,7 @@ def _init_paths(self, append: bool = False): self.session_info.SESSION_NUMBER = int(paths.SESSION_FOLDER.name) paths.SESSION_RAW_DATA_FOLDER = paths.SESSION_FOLDER.joinpath(paths.TASK_COLLECTION) paths.DATA_FILE_PATH = paths.SESSION_RAW_DATA_FOLDER.joinpath('_iblrig_taskData.raw.jsonable') + paths.SETTINGS_FILE_PATH = paths.SESSION_RAW_DATA_FOLDER.joinpath('_iblrig_taskSettings.raw.json') return paths def _setup_loggers(self, level='INFO', level_bpod='WARNING', file=None): @@ -336,18 +339,19 @@ def _make_task_parameters_dict(self): output_dict.update(patch_dict) return output_dict - def save_task_parameters_to_json_file(self, destination_folder=None) -> Path: + def save_task_parameters_to_json_file(self, destination_folder: Path | None = None) -> Path: """ - Given a session object, collects the various settings and parameters of the session and outputs them to a JSON file + Collects the various settings and parameters of the session and outputs them to a JSON file Returns ------- Path to the resultant JSON file """ output_dict = self._make_task_parameters_dict() - destination_folder = destination_folder or self.paths.SESSION_RAW_DATA_FOLDER - # Output dict to json file - json_file = destination_folder.joinpath('_iblrig_taskSettings.raw.json') + if destination_folder: + json_file = destination_folder.joinpath('_iblrig_taskSettings.raw.json') + else: + json_file = self.paths['SETTINGS_FILE_PATH'] json_file.parent.mkdir(parents=True, exist_ok=True) with open(json_file, 'w') as outfile: json.dump(output_dict, outfile, indent=4, sort_keys=True, default=str) # converts datetime objects to string @@ -456,7 +460,7 @@ def mock(self): def create_session(self): # create the session path and save json parameters in the task collection folder # this will also create the protocol folder - self.save_task_parameters_to_json_file() + self.paths['TASK_PARAMETERS_FILE'] = self.save_task_parameters_to_json_file() # enable file logging logfile = self.paths.SESSION_RAW_DATA_FOLDER.joinpath('_ibl_log.info-acquisition.log') self._setup_loggers(level=self._logger.level, file=logfile) diff --git a/iblrig/commands.py b/iblrig/commands.py index 2cba5fa95..0249f6d9b 100644 --- a/iblrig/commands.py +++ b/iblrig/commands.py @@ -338,17 +338,19 @@ def remove_local_sessions(weeks=2, local_path=None, remote_path=None, dry=False, return removed -def viewsession(): +def view_session(): """ Entry point for command line: usage as below - >>> viewsession /full/path/to/jsonable/_iblrig_taskData.raw.jsonable + >>> view_session /full/path/to/jsonable/_iblrig_taskData.raw.jsonable :return: None """ parser = argparse.ArgumentParser() parser.add_argument('file_jsonable', help='full file path to jsonable file') + parser.add_argument('file_settings', help='full file path to settings file', nargs='?', default=None) args = parser.parse_args() - self = OnlinePlots() - self.run(Path(args.file_jsonable)) + + online_plots = OnlinePlots(task_file=args.file_jsonable, settings_file=args.file_settings) + online_plots.run(task_file=args.file_jsonable) def flush(): diff --git a/iblrig/online_plots.py b/iblrig/online_plots.py index 82185f4b5..4d7424167 100644 --- a/iblrig/online_plots.py +++ b/iblrig/online_plots.py @@ -1,5 +1,6 @@ import datetime import json +import logging import time from pathlib import Path @@ -18,9 +19,10 @@ NTRIALS_INIT = 2000 NTRIALS_PLOT = 20 # do not edit - this is used also to enforce the completion criteria CONTRAST_SET = np.array([0, 1 / 16, 1 / 8, 1 / 4, 1 / 2, 1]) -PROBABILITY_SET = np.array([0.2, 0.5, 0.8]) # if the mouse does less than 400 trials in the first 45mins it's disengaged ENGAGED_CRITIERION = {'secs': 45 * 60, 'trial_count': 400} + +log = logging.getLogger(__name__) sns.set_style('darkgrid') @@ -35,8 +37,17 @@ class DataModel: """ task_settings = None + probability_set = np.array([0.2, 0.5, 0.8]) + ntrials = 0 + ntrials_correct = 0 + ntrials_nan = np.nan + ntrials_engaged = 0 # trials happening within the first 400s + percent_correct = np.nan + percent_error = np.nan + water_delivered = 0.0 + time_elapsed = 0.0 - def __init__(self, task_file): + def __init__(self, task_file: Path | None, settings_file: Path | None): """ Can be instantiated empty or from an existing jsonable file from any rig version :param task_file: @@ -47,23 +58,25 @@ def __init__(self, task_file): index=np.arange(NTRIALS_PLOT), ) - if task_file is None or not Path(task_file).exists(): + if settings_file is None and task_file is not None and task_file.exists(): + settings_file = task_file.parent.joinpath('_iblrig_taskSettings.raw.json') + + if settings_file is not None and settings_file.exists(): + with open(settings_file) as fid: + self.task_settings = json.load(fid) + self.probability_set = np.unique(self.task_settings.get('PROBABILITY_SET', self.probability_set)) + else: + log.warning('Settings file not found - using default settings') + + if task_file is None or not task_file.exists(): self.psychometrics = pd.DataFrame( columns=['count', 'response_time', 'choice', 'response_time_std', 'choice_std'], - index=pd.MultiIndex.from_product([PROBABILITY_SET, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), + index=pd.MultiIndex.from_product([self.probability_set, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), ) self.psychometrics['count'] = 0 self.trials_table = pd.DataFrame(columns=['response_time'], index=np.arange(NTRIALS_INIT)) - self.ntrials = 0 - self.ntrials_correct = 0 - self.ntrials_nan = np.nan - self.percent_correct = np.nan - self.percent_error = np.nan - self.water_delivered = 0 - self.time_elapsed = 0 - self.ntrials_engaged = 0 # those are the trials happening within the first 400s + else: - self.get_task_settings(Path(task_file).parent) trials_table, bpod_data = load_task_jsonable(task_file) # here we take the end time of the first trial as reference to avoid factoring in the delay self.time_elapsed = bpod_data[-1]['Trial end timestamp'] - bpod_data[0]['Trial end timestamp'] @@ -74,7 +87,7 @@ def __init__(self, task_file): CategoricalDtype(categories=np.unique(np.r_[-CONTRAST_SET, CONTRAST_SET]), ordered=True) ) trials_table['stim_probability_left'] = trials_table['stim_probability_left'].astype( - CategoricalDtype(categories=PROBABILITY_SET, ordered=True) + CategoricalDtype(categories=self.probability_set, ordered=True) ) self.psychometrics = trials_table.groupby(['stim_probability_left', 'signed_contrast']).agg( count=pd.NamedAgg(column='signed_contrast', aggfunc='count'), @@ -119,13 +132,6 @@ def __init__(self, task_file): self.last_contrasts[ileft, 0] = np.abs(self.last_trials.signed_contrast[ileft]) self.last_contrasts[iright, 1] = np.abs(self.last_trials.signed_contrast[iright]) - def get_task_settings(self, session_directory: str | Path) -> None: - task_settings_file = Path(session_directory).joinpath('_iblrig_taskSettings.raw.json') - if not task_settings_file.exists(): - return - with open(task_settings_file) as fid: - self.task_settings = json.load(fid) - def update_trial(self, trial_data, bpod_data) -> None: # update counters self.time_elapsed = bpod_data['Trial end timestamp'] - bpod_data['Bpod start timestamp'] @@ -208,8 +214,10 @@ class OnlinePlots: >>> OnlinePlots().run(task_file) """ - def __init__(self, task_file=None): - self.data = DataModel(task_file=task_file) + def __init__(self, task_file=None, settings_file=None): + task_file = Path(task_file) if task_file is not None else None + settings_file = Path(settings_file) if settings_file is not None else None + self.data = DataModel(task_file=task_file, settings_file=settings_file) # create figure and axes h = Bunch({}) @@ -241,7 +249,7 @@ def __init__(self, task_file=None): # create psych curves h.curve_psych = {} h.curve_reaction = {} - for p in PROBABILITY_SET: + for p in self.data.probability_set: h.curve_psych[p] = h.ax_psych.plot( self.data.psychometrics.loc[p].index, self.data.psychometrics.loc[p]['choice'], @@ -322,7 +330,7 @@ def update_graphics(self, pupdate: float | None = None): h = self.h h.fig.set_facecolor(background_color) self.update_titles() - for p in PROBABILITY_SET: + for p in self.data.probability_set: if pupdate is not None and p != pupdate: continue # update psychometric curves @@ -363,7 +371,6 @@ def run(self, task_file: Path | str) -> None: :return: """ task_file = Path(task_file) - self.data.get_task_settings(task_file.parent) self._set_session_string() self.update_titles() self.h.fig.canvas.flush_events() diff --git a/pyproject.toml b/pyproject.toml index e91950d0e..a3875720b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -55,7 +55,7 @@ DEV = [ ] [project.scripts] -viewsession = "iblrig.commands:viewsession" +view_session = "iblrig.commands:view_session" transfer_data = "iblrig.commands:transfer_data_cli" transfer_video_data = "iblrig.commands:transfer_video_data_cli" transfer_ephys_data = "iblrig.commands:transfer_ephys_data_cli" From d79acd2a7c4693a740f64136ebbd2398c961612e Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Wed, 8 May 2024 17:04:08 +0100 Subject: [PATCH 73/90] read ambient sensor with each trial --- iblrig/base_choice_world.py | 1 + 1 file changed, 1 insertion(+) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 5e6a65e3a..2b833e77c 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -186,6 +186,7 @@ def _run(self): self.bpod.run_state_machine(sma) # Locks until state machine 'exit' is reached time_last_trial_end = time.time() self.trial_completed(self.bpod.session.current_trial.export()) + self.ambient_sensor_table.loc[i] = self.bpod.get_ambient_sensor_reading() self.show_trial_log() # handle pause and stop events From 7dbc6f2aac54c2c1dc332df9f304764cbcff8b72 Mon Sep 17 00:00:00 2001 From: owinter Date: Wed, 8 May 2024 16:26:01 -0400 Subject: [PATCH 74/90] bugfix: online plots support non-dtandard left probabilities --- iblrig/online_plots.py | 26 ++++++++++++------- .../test/tasks/test_advanced_choice_world.py | 8 +++--- iblrig/test/test_online_plots.py | 1 + .../_iblrig_tasks_ephysChoiceWorld/task.py | 19 ++++++++++---- 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/iblrig/online_plots.py b/iblrig/online_plots.py index 4d7424167..feb0606fb 100644 --- a/iblrig/online_plots.py +++ b/iblrig/online_plots.py @@ -47,10 +47,11 @@ class DataModel: water_delivered = 0.0 time_elapsed = 0.0 - def __init__(self, task_file: Path | None, settings_file: Path | None): + def __init__(self, settings_file: Path | str, task_file: Path | str, ): """ - Can be instantiated empty or from an existing jsonable file from any rig version - :param task_file: + + :param task_file: full path to the _iblrig_taskData.raw.jsonable file + :param settings_file:full path to the _iblrig_taskSettings.raw.json file """ self.session_path = one.alf.files.get_session_path(task_file) or '' self.last_trials = pd.DataFrame( @@ -62,20 +63,22 @@ def __init__(self, task_file: Path | None, settings_file: Path | None): settings_file = task_file.parent.joinpath('_iblrig_taskSettings.raw.json') if settings_file is not None and settings_file.exists(): + # most of the IBL tasks have a predefined set of probabilities (0.2, 0.5, 0.8), but in the + # case of the advanced choice world task, the probabilities are defined in the task settings with open(settings_file) as fid: self.task_settings = json.load(fid) - self.probability_set = np.unique(self.task_settings.get('PROBABILITY_SET', self.probability_set)) + self.probability_set = [self.task_settings['PROBABILITY_LEFT']] + self.task_settings.get('BLOCK_PROBABILITY_SET', []) else: log.warning('Settings file not found - using default settings') if task_file is None or not task_file.exists(): self.psychometrics = pd.DataFrame( columns=['count', 'response_time', 'choice', 'response_time_std', 'choice_std'], - index=pd.MultiIndex.from_product([self.probability_set, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), + index=pd.MultiIndex.from_product( + [self.probability_set, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), ) self.psychometrics['count'] = 0 self.trials_table = pd.DataFrame(columns=['response_time'], index=np.arange(NTRIALS_INIT)) - else: trials_table, bpod_data = load_task_jsonable(task_file) # here we take the end time of the first trial as reference to avoid factoring in the delay @@ -146,6 +149,9 @@ def update_trial(self, trial_data, bpod_data) -> None: # update psychometrics using online statistics method indexer = (trial_data.stim_probability_left, signed_contrast) + if indexer not in self.psychometrics.index: + self.psychometrics.loc[indexer, :] = np.NaN + self.psychometrics.loc[indexer, ('count')] = 0 self.psychometrics.loc[indexer, ('count')] += 1 self.psychometrics.loc[indexer, ('response_time')], self.psychometrics.loc[indexer, ('response_time_std')] = online_std( new_sample=trial_data.response_time, @@ -164,10 +170,10 @@ def update_trial(self, trial_data, bpod_data) -> None: i = NTRIALS_PLOT - 1 self.last_trials.at[i, 'correct'] = trial_data.trial_correct self.last_trials.at[i, 'signed_contrast'] = signed_contrast - self.last_trials.at[i, 'stim_on'] = bpod_data['States timestamps']['stim_on'][0][0] - self.last_trials.at[i, 'play_tone'] = bpod_data['States timestamps']['play_tone'][0][0] - self.last_trials.at[i, 'reward_time'] = bpod_data['States timestamps']['reward'][0][0] - self.last_trials.at[i, 'error_time'] = bpod_data['States timestamps']['error'][0][0] + self.last_trials.at[i, 'stim_on'] = bpod_data['States timestamps'].get('stim_on', [[np.nan]])[0][0] + self.last_trials.at[i, 'play_tone'] = bpod_data['States timestamps'].get('play_tone', [[np.nan]])[0][0] + self.last_trials.at[i, 'reward_time'] = bpod_data['States timestamps'].get('reward', [[np.nan]])[0][0] + self.last_trials.at[i, 'error_time'] = bpod_data['States timestamps'].get('error', [[np.nan]])[0][0] self.last_trials.at[i, 'response_time'] = trial_data.response_time # update rgb image self.rgb_background = np.roll(self.rgb_background, -1, axis=0) diff --git a/iblrig/test/tasks/test_advanced_choice_world.py b/iblrig/test/tasks/test_advanced_choice_world.py index eb06764ed..a80d882d9 100644 --- a/iblrig/test/tasks/test_advanced_choice_world.py +++ b/iblrig/test/tasks/test_advanced_choice_world.py @@ -20,7 +20,7 @@ class TestInstantiationAdvanced(BaseTestCases.CommonTestInstantiateTask): def setUp(self) -> None: self.task = AdvancedChoiceWorldSession( probability_set=[2, 2, 2, 1, 1, 1], - contrast_set=[-1, -0.5, 0, 0, 0.5, 1], + contrast_set=[1, 0.5, 0, 0, 0.5, 1], reward_set_ul=[1, 1.5, 2, 2, 2.5, 2.6], position_set=[-35, -35, -35, 35, 35, 35], **TASK_KWARGS, @@ -35,16 +35,16 @@ def test_task(self): trial_fixtures = get_fixtures() nt = 800 np.random.seed(65432) + for i in np.arange(nt): task.next_trial() # pc = task.psychometric_curve() trial_type = np.random.choice(['correct', 'error', 'no_go'], p=[0.9, 0.05, 0.05]) - task.trial_completed(trial_fixtures[trial_type]) + task.trial_completed(bpod_data=trial_fixtures[trial_type]) if trial_type == 'correct': assert task.trials_table['trial_correct'][task.trial_num] else: assert not task.trials_table['trial_correct'][task.trial_num] - if i == 245: task.show_trial_log() assert not np.isnan(task.reward_time) @@ -64,7 +64,7 @@ def test_task(self): # the error trials have 0 reward while the correct trials have their assigned reward amount np.testing.assert_array_equal(df_contrasts['n_unique_rewards'], 2) np.testing.assert_array_equal(df_contrasts['min_reward'], 0) - np.testing.assert_array_equal(df_contrasts['max_reward'], [1, 1.5, 2, 2, 2.5, 2.6]) + np.testing.assert_array_equal(df_contrasts['max_reward'], [2, 2, 1.5, 2.5, 1, 2.6]) n_left = np.sum(df_contrasts['count'][df_contrasts['position'] < 0]) n_right = np.sum(df_contrasts['count'][df_contrasts['position'] > 0]) diff --git a/iblrig/test/test_online_plots.py b/iblrig/test/test_online_plots.py index 7f849b829..6e313c867 100644 --- a/iblrig/test/test_online_plots.py +++ b/iblrig/test/test_online_plots.py @@ -19,6 +19,7 @@ def setUpClass(cls) -> None: cls.task_file = Path(zip.extract('online_plots.jsonable', path=zip_jsonable.parent)) def test_during_task(self): + import time myop = op.OnlinePlots() trials_table, bpod_data = load_task_jsonable(self.task_file) for i in np.arange(trials_table.shape[0]): diff --git a/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py index ce292a124..3e5ecdf1e 100644 --- a/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_ephysChoiceWorld/task.py @@ -17,17 +17,26 @@ class Session(BiasedChoiceWorldSession): def __init__(self, *args, session_template_id=0, **kwargs): super().__init__(*args, **kwargs) self.task_params.SESSION_TEMPLATE_ID = session_template_id - trials_table = pd.read_parquet(Path(__file__).parent.joinpath('trials_fixtures.pqt')) - self.trials_table = ( - trials_table.loc[trials_table['session_id'] == session_template_id].reindex().drop(columns=['session_id']) - ) - self.trials_table = self.trials_table.reset_index() + self.trials_table = self.get_session_template(session_template_id) # reconstruct the block dataframe from the trials table self.blocks_table = self.trials_table.groupby('block_num').agg( probability_left=pd.NamedAgg(column='stim_probability_left', aggfunc='first'), block_length=pd.NamedAgg(column='stim_probability_left', aggfunc='count'), ) + @staticmethod + def get_session_template(session_template_id: int) -> pd.DataFrame: + """ + Returns the pre-generated trials dataframe from the 12 fixtures according to the template iD + :param session_template_id: int 0-11 + :return: + """ + trials_table = pd.read_parquet(Path(__file__).parent.joinpath('trials_fixtures.pqt')) + trials_table = ( + trials_table.loc[trials_table['session_id'] == session_template_id].reindex().drop(columns=['session_id']) + ).reset_index() + return trials_table + @staticmethod def extra_parser(): """:return: argparse.parser()""" From e092f9e92ca5e21024dfef636124c4138bf22b98 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 9 May 2024 14:11:11 +0100 Subject: [PATCH 75/90] fix CI for missing ambient sensor --- CHANGELOG.md | 5 +++-- iblrig/hardware.py | 19 ++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b9807343..b53443cd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,9 @@ Changelog * adaptive reward parameter for trainingPhaseChoiceWorld * add validate_video entry-point * switch from flake8 to ruff for linting & code-checks -* automatically set correct trigger-mode for setting up the cameras -* support rotary encoder on arbitrary module port +* automatically set correct trigger-mode when setting up the cameras +* support rotary encoder on arbitrary module port +* add ambient sensor reading back to trial log 8.18.0 ------ diff --git a/iblrig/hardware.py b/iblrig/hardware.py index 11cc0abde..251e29e88 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -104,6 +104,10 @@ def rotary_encoder(self): def sound_card(self): return self.get_module('sound_card') + @property + def ambient_module(self): + return self.get_module('^AmbientModule') + def get_module(self, module_name: str) -> BpodModule | None: """Get module by name @@ -202,11 +206,16 @@ def define_rotary_encoder_actions(self, module: BpodModule | None = None) -> Non ) def get_ambient_sensor_reading(self): - ambient_module = [x for x in self.modules if x.name == 'AmbientModule1'][0] - ambient_module.start_module_relay() - self.bpod_modules.module_write(ambient_module, 'R') - reply = self.bpod_modules.module_read(ambient_module, 12) - ambient_module.stop_module_relay() + if self.ambient_module is None: + return { + 'Temperature_C': np.NaN, + 'AirPressure_mb': np.NaN, + 'RelativeHumidity': np.NaN, + } + self.ambient_module.start_module_relay() + self.bpod_modules.module_write(self.ambient_module, 'R') + reply = self.bpod_modules.module_read(self.ambient_module, 12) + self.ambient_module.stop_module_relay() return { 'Temperature_C': np.frombuffer(bytes(reply[:4]), np.float32)[0], From 9ffe28cc6736f4e750cf30fcb3d2d58b717118fb Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 9 May 2024 14:12:34 +0100 Subject: [PATCH 76/90] ruff --- iblrig/online_plots.py | 9 ++++++--- iblrig/test/test_online_plots.py | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/iblrig/online_plots.py b/iblrig/online_plots.py index feb0606fb..9faf4ee46 100644 --- a/iblrig/online_plots.py +++ b/iblrig/online_plots.py @@ -47,7 +47,11 @@ class DataModel: water_delivered = 0.0 time_elapsed = 0.0 - def __init__(self, settings_file: Path | str, task_file: Path | str, ): + def __init__( + self, + settings_file: Path | str, + task_file: Path | str, + ): """ :param task_file: full path to the _iblrig_taskData.raw.jsonable file @@ -74,8 +78,7 @@ def __init__(self, settings_file: Path | str, task_file: Path | str, ): if task_file is None or not task_file.exists(): self.psychometrics = pd.DataFrame( columns=['count', 'response_time', 'choice', 'response_time_std', 'choice_std'], - index=pd.MultiIndex.from_product( - [self.probability_set, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), + index=pd.MultiIndex.from_product([self.probability_set, np.r_[-np.flipud(CONTRAST_SET[1:]), CONTRAST_SET]]), ) self.psychometrics['count'] = 0 self.trials_table = pd.DataFrame(columns=['response_time'], index=np.arange(NTRIALS_INIT)) diff --git a/iblrig/test/test_online_plots.py b/iblrig/test/test_online_plots.py index 6e313c867..173195e0b 100644 --- a/iblrig/test/test_online_plots.py +++ b/iblrig/test/test_online_plots.py @@ -19,7 +19,7 @@ def setUpClass(cls) -> None: cls.task_file = Path(zip.extract('online_plots.jsonable', path=zip_jsonable.parent)) def test_during_task(self): - import time + myop = op.OnlinePlots() trials_table, bpod_data = load_task_jsonable(self.task_file) for i in np.arange(trials_table.shape[0]): From 2d30ea581d71584bb0b75f174ce9c931a535a06c Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 9 May 2024 14:13:52 +0100 Subject: [PATCH 77/90] ruff --- iblrig/online_plots.py | 6 +----- iblrig/test/test_online_plots.py | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/iblrig/online_plots.py b/iblrig/online_plots.py index 9faf4ee46..0a51cfb4d 100644 --- a/iblrig/online_plots.py +++ b/iblrig/online_plots.py @@ -47,11 +47,7 @@ class DataModel: water_delivered = 0.0 time_elapsed = 0.0 - def __init__( - self, - settings_file: Path | str, - task_file: Path | str, - ): + def __init__(self, settings_file: Path | str, task_file: Path | str): """ :param task_file: full path to the _iblrig_taskData.raw.jsonable file diff --git a/iblrig/test/test_online_plots.py b/iblrig/test/test_online_plots.py index 173195e0b..7f849b829 100644 --- a/iblrig/test/test_online_plots.py +++ b/iblrig/test/test_online_plots.py @@ -19,7 +19,6 @@ def setUpClass(cls) -> None: cls.task_file = Path(zip.extract('online_plots.jsonable', path=zip_jsonable.parent)) def test_during_task(self): - myop = op.OnlinePlots() trials_table, bpod_data = load_task_jsonable(self.task_file) for i in np.arange(trials_table.shape[0]): From 78157b483223142e5f1980831be5db993a05ed8a Mon Sep 17 00:00:00 2001 From: pdesanex Date: Thu, 9 May 2024 15:18:04 +0100 Subject: [PATCH 78/90] partial revert of f823e31: move sending of spacers back to bpod mixin --- iblrig/base_choice_world.py | 2 -- iblrig/base_tasks.py | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 2b833e77c..0c06e2e72 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -159,8 +159,6 @@ def _run(self): This is the method that runs the task with the actual state machine :return: """ - # make the bpod send spacer signals to the main sync clock for protocol discovery - self.send_spacers() time_last_trial_end = time.time() for i in range(self.task_params.NTRIALS): # Main loop # t_overhead = time.time() diff --git a/iblrig/base_tasks.py b/iblrig/base_tasks.py index d124bef37..6bfa28535 100644 --- a/iblrig/base_tasks.py +++ b/iblrig/base_tasks.py @@ -803,7 +803,8 @@ def start_mixin_bpod(self): self.bpod.set_status_led(False) assert self.bpod.is_connected log.info('Bpod hardware module loaded: OK') - # self.send_spacers() + # make the bpod send spacer signals to the main sync clock for protocol discovery + self.send_spacers() def send_spacers(self): log.info('Starting task by sending a spacer signal on BNC1') From 377b95255832ba94e55b32b332a8827a330e3295 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Thu, 9 May 2024 16:33:11 +0100 Subject: [PATCH 79/90] use ONE default params --- iblrig/video.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/iblrig/video.py b/iblrig/video.py index 28675df46..2c97abdaf 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -25,6 +25,7 @@ ) from iblutil.util import setup_logger from one.converters import ConversionMixin +from one.params import default as one_params_default from one.webclient import AlyxClient, http_download_file # type: ignore with contextlib.suppress(ImportError): @@ -63,7 +64,8 @@ def _download_from_alyx_or_flir(asset: int, filename: str, target_md5: str) -> P if out_file.exists() and hashfile.md5(out_file) == target_md5: return out_file try: - tmp_file, md5_sum = AlyxClient().download_file(f'resources/spinnaker/{filename}', **options) + base_url = one_params_default().ALYX_URL + tmp_file, md5_sum = AlyxClient(base_url=base_url, silent=True).download_file(f'resources/spinnaker/{filename}', **options) except (OSError, AttributeError, URLError) as e1: try: url = f'https://flir.netx.net/file/asset/{asset}/original/attachment' From f0f72ccd059d51e868d038cdacecd259e478a982 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Thu, 9 May 2024 17:00:19 +0100 Subject: [PATCH 80/90] Revert "use ONE default params" This reverts commit 377b95255832ba94e55b32b332a8827a330e3295. --- iblrig/video.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/iblrig/video.py b/iblrig/video.py index 2c97abdaf..28675df46 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -25,7 +25,6 @@ ) from iblutil.util import setup_logger from one.converters import ConversionMixin -from one.params import default as one_params_default from one.webclient import AlyxClient, http_download_file # type: ignore with contextlib.suppress(ImportError): @@ -64,8 +63,7 @@ def _download_from_alyx_or_flir(asset: int, filename: str, target_md5: str) -> P if out_file.exists() and hashfile.md5(out_file) == target_md5: return out_file try: - base_url = one_params_default().ALYX_URL - tmp_file, md5_sum = AlyxClient(base_url=base_url, silent=True).download_file(f'resources/spinnaker/{filename}', **options) + tmp_file, md5_sum = AlyxClient().download_file(f'resources/spinnaker/{filename}', **options) except (OSError, AttributeError, URLError) as e1: try: url = f'https://flir.netx.net/file/asset/{asset}/original/attachment' From 401ef0d592863cc269cca6bfb3a879cdf208f646 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 10 May 2024 11:44:31 +0100 Subject: [PATCH 81/90] move download details to constants for sake of overview --- iblrig/video.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/iblrig/video.py b/iblrig/video.py index 28675df46..862828d22 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -30,6 +30,14 @@ with contextlib.suppress(ImportError): from iblrig import video_pyspin +SPINNAKER_ASSET = 54386 +SPINNAKER_FILENAME = 'SpinnakerSDK_FULL_3.1.0.79_x64.exe' +SPINNAKER_MD5 = 'd9d83772f852e5369da2fbcc248c9c81' + +PYSPIN_ASSET = 54396 +PYSPIN_FILENAME = 'spinnaker_python-3.1.0.79-cp310-cp310-win_amd64.zip' +PYSPIN_MD5 = 'e00148800757d0ed7171348d850947ac' + log = logging.getLogger(__name__) @@ -99,7 +107,7 @@ def install_spinnaker(): return # Download & install Spinnaker SDK - file_winsdk = _download_from_alyx_or_flir(54386, 'SpinnakerSDK_FULL_3.1.0.79_x64.exe', 'd9d83772f852e5369da2fbcc248c9c81') + file_winsdk = _download_from_alyx_or_flir(SPINNAKER_ASSET, SPINNAKER_FILENAME, SPINNAKER_MD5) print('Installing Spinnaker SDK for Windows ...') input( 'Please select the "Application Development" Installation Profile. Everything else can be left at ' @@ -136,9 +144,7 @@ def install_pyspin(): if HAS_PYSPIN: print('PySpin is already installed.') else: - file_zip = _download_from_alyx_or_flir( - 54396, 'spinnaker_python-3.1.0.79-cp310-cp310-win_amd64.zip', 'e00148800757d0ed7171348d850947ac' - ) + file_zip = _download_from_alyx_or_flir(PYSPIN_ASSET, PYSPIN_FILENAME, PYSPIN_MD5) print('Installing PySpin ...') with zipfile.ZipFile(file_zip, 'r') as f: file_whl = f.extract(file_zip.stem + '.whl', file_zip.parent) From 88a136be6d72c7bbd9f268f9828ed26eeba78790 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Fri, 10 May 2024 13:02:58 +0100 Subject: [PATCH 82/90] add debias_trial to trials_table --- iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py | 1 + 1 file changed, 1 insertion(+) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index e0ff15a26..e51c0bf58 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -56,6 +56,7 @@ def __init__( self.task_params['PROBABILITY_LEFT'] = np.sum( self.df_contingencies['probability'] * (self.df_contingencies['position'] < 0) ) + self.trials_table['debias_trial'] = np.zeros(NTRIALS_INIT, dtype=bool) def draw_next_trial_info(self, **kwargs): nc = self.df_contingencies.shape[0] From 3c8214f7883fc9f03daf2410ae2af413a2991b64 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Fri, 10 May 2024 13:05:29 +0100 Subject: [PATCH 83/90] Update task.py --- iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py index e51c0bf58..9418d2ee2 100644 --- a/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py +++ b/iblrig_tasks/_iblrig_tasks_advancedChoiceWorld/task.py @@ -5,7 +5,7 @@ import yaml import iblrig.misc -from iblrig.base_choice_world import ActiveChoiceWorldSession +from iblrig.base_choice_world import NTRIALS_INIT, ActiveChoiceWorldSession # read defaults from task_parameters.yaml with open(Path(__file__).parent.joinpath('task_parameters.yaml')) as f: From aebf2c9afbe357f5d971e5060b3bb60aeeca8db7 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Fri, 10 May 2024 14:25:51 +0100 Subject: [PATCH 84/90] use newer release of spinnaker --- iblrig/hardware.py | 4 ++-- iblrig/video.py | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/iblrig/hardware.py b/iblrig/hardware.py index 251e29e88..7c7f93956 100644 --- a/iblrig/hardware.py +++ b/iblrig/hardware.py @@ -178,7 +178,7 @@ def define_xonar_sounds_actions(self): ) def define_harp_sounds_actions(self, module: BpodModule, go_tone_index: int = 2, noise_index: int = 3) -> None: - module_port = f'Serial{module.serial_port}' + module_port = f"Serial{module.serial_port if module is not None else ''}" self.actions.update( { 'play_tone': (module_port, self._define_message(module, [ord('P'), go_tone_index])), @@ -190,7 +190,7 @@ def define_harp_sounds_actions(self, module: BpodModule, go_tone_index: int = 2, def define_rotary_encoder_actions(self, module: BpodModule | None = None) -> None: if module is None: module = self.rotary_encoder - module_port = f'Serial{module.serial_port}' + module_port = f"Serial{module.serial_port if module is not None else ''}" self.actions.update( { 'rotary_encoder_reset': ( diff --git a/iblrig/video.py b/iblrig/video.py index 862828d22..a8812ae9f 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -30,13 +30,13 @@ with contextlib.suppress(ImportError): from iblrig import video_pyspin -SPINNAKER_ASSET = 54386 -SPINNAKER_FILENAME = 'SpinnakerSDK_FULL_3.1.0.79_x64.exe' -SPINNAKER_MD5 = 'd9d83772f852e5369da2fbcc248c9c81' +SPINNAKER_ASSET = 59586 +SPINNAKER_FILENAME = 'SpinnakerSDK_FULL_3.2.0.57_x64.exe' +SPINNAKER_MD5 = 'aafc07c858dc2ab2e2a7d6ef900ca9a7' -PYSPIN_ASSET = 54396 -PYSPIN_FILENAME = 'spinnaker_python-3.1.0.79-cp310-cp310-win_amd64.zip' -PYSPIN_MD5 = 'e00148800757d0ed7171348d850947ac' +PYSPIN_ASSET = 59584111 +PYSPIN_FILENAME = 'spinnaker_python-3.2.0.57-cp310-cp310-win_amd64.zip' +PYSPIN_MD5 = 'f93294208e0ecec042adb2f75cb72609' log = logging.getLogger(__name__) @@ -80,7 +80,7 @@ def _download_from_alyx_or_flir(asset: int, filename: str, target_md5: str) -> P raise e2 from e1 os.rename(tmp_file, out_file) if md5_sum != target_md5: - raise Exception(f'`{filename}` does not match the expected MD5 - please try running the script again or') + raise Exception(f'`{filename}` does not match the expected MD5') return out_file From 8fbc47bab840ad680f7bcf3d043f9d908a87063a Mon Sep 17 00:00:00 2001 From: pdesanex Date: Fri, 10 May 2024 17:09:48 +0100 Subject: [PATCH 85/90] Update video.py --- iblrig/video.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iblrig/video.py b/iblrig/video.py index a8812ae9f..f0e455aad 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -34,7 +34,7 @@ SPINNAKER_FILENAME = 'SpinnakerSDK_FULL_3.2.0.57_x64.exe' SPINNAKER_MD5 = 'aafc07c858dc2ab2e2a7d6ef900ca9a7' -PYSPIN_ASSET = 59584111 +PYSPIN_ASSET = 59584 PYSPIN_FILENAME = 'spinnaker_python-3.2.0.57-cp310-cp310-win_amd64.zip' PYSPIN_MD5 = 'f93294208e0ecec042adb2f75cb72609' From 4c488e9bb3b9a1e724b17de7f74913ef5ed5c71d Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 21 May 2024 09:18:50 +0100 Subject: [PATCH 86/90] Update hardware_validation.py --- iblrig/hardware_validation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iblrig/hardware_validation.py b/iblrig/hardware_validation.py index 754630079..5551527b4 100644 --- a/iblrig/hardware_validation.py +++ b/iblrig/hardware_validation.py @@ -180,7 +180,7 @@ def _run(self): except SerialException as e: yield Result( Status.FAIL, - f'Serial device on {self.port} cannot be connected to', + f'{self.name} on {self.port} cannot be connected to', solution='Try power-cycling the device', exception=e, ) From 4815fc78d75a6a0622d053405b9e567843e1af63 Mon Sep 17 00:00:00 2001 From: Florian Rau Date: Tue, 21 May 2024 11:19:24 +0100 Subject: [PATCH 87/90] reverse wheel contingency --- CHANGELOG.md | 1 + iblrig/base_choice_world.py | 8 ++++++-- iblrig/gui/wizard.py | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b53443cd6..4eeef9ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ Changelog * automatically set correct trigger-mode when setting up the cameras * support rotary encoder on arbitrary module port * add ambient sensor reading back to trial log +* allow negative stimulus gain (reverse wheel contingency) 8.18.0 ------ diff --git a/iblrig/base_choice_world.py b/iblrig/base_choice_world.py index 0c06e2e72..3da2422db 100644 --- a/iblrig/base_choice_world.py +++ b/iblrig/base_choice_world.py @@ -528,13 +528,17 @@ def quiescent_period(self): def position(self): return self.trials_table.at[self.trial_num, 'position'] + @property + def reverse_wheel(self): + return self.task_params.STIM_GAIN < 0 + @property def event_error(self): - return self.device_rotary_encoder.THRESHOLD_EVENTS[self.position] + return self.device_rotary_encoder.THRESHOLD_EVENTS[-self.position if self.reverse_wheel else self.position] @property def event_reward(self): - return self.device_rotary_encoder.THRESHOLD_EVENTS[-self.position] + return self.device_rotary_encoder.THRESHOLD_EVENTS[self.position if self.reverse_wheel else -self.position] class HabituationChoiceWorldSession(ChoiceWorldSession): diff --git a/iblrig/gui/wizard.py b/iblrig/gui/wizard.py index 17a054b97..5bcf57815 100644 --- a/iblrig/gui/wizard.py +++ b/iblrig/gui/wizard.py @@ -15,6 +15,7 @@ from dataclasses import dataclass from pathlib import Path +import numpy as np import pyqtgraph as pg from pydantic import ValidationError from PyQt5 import QtCore, QtGui, QtWidgets @@ -847,6 +848,7 @@ def controls_for_extra_parameters(self): case 'stim_gain': label = 'Stimulus Gain' + widget.setMinimum(-np.inf) widget.wheelEvent = lambda event: None layout.addRow(self.tr(label), widget) From e96170862ec6a456cac2d883f6e1d29b9580dd3b Mon Sep 17 00:00:00 2001 From: pdesanex Date: Tue, 21 May 2024 12:23:16 +0100 Subject: [PATCH 88/90] prepare abstract class RigComponent --- iblrig/rig_component.py | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 iblrig/rig_component.py diff --git a/iblrig/rig_component.py b/iblrig/rig_component.py new file mode 100644 index 000000000..05a039da1 --- /dev/null +++ b/iblrig/rig_component.py @@ -0,0 +1,45 @@ +from abc import abstractmethod + +from iblrig.hardware_validation import Validator +from iblrig.pydantic_definitions import BunchModel + + +class RigComponent: + @abstractmethod + @property + def pretty_name(self) -> str: + """ + Get the pretty name of the component. + + Returns + ------- + str + A user-friendly name of the component. + """ + ... + + @abstractmethod + @property + def validator(self) -> Validator: + """ + Get the validator for the component. + + Returns + ------- + Validator + The validator instance associated with the component. + """ + ... + + @abstractmethod + @property + def settings(self) -> BunchModel: + """ + Get the settings for the component. + + Returns + ------- + BunchModel + The pydantic model for the component's settings. + """ + ... From 19a6ea90b2b2ebc029803c930b327f644ef2e45b Mon Sep 17 00:00:00 2001 From: pdesanex Date: Tue, 21 May 2024 13:00:03 +0100 Subject: [PATCH 89/90] move downloads to s3 bucket --- iblrig/video.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/iblrig/video.py b/iblrig/video.py index f0e455aad..5b5ec90d8 100644 --- a/iblrig/video.py +++ b/iblrig/video.py @@ -6,7 +6,6 @@ import sys import zipfile from pathlib import Path -from urllib.error import URLError import yaml @@ -25,7 +24,8 @@ ) from iblutil.util import setup_logger from one.converters import ConversionMixin -from one.webclient import AlyxClient, http_download_file # type: ignore +from one.remote import aws +from one.webclient import http_download_file # type: ignore with contextlib.suppress(ImportError): from iblrig import video_pyspin @@ -68,19 +68,28 @@ def _download_from_alyx_or_flir(asset: int, filename: str, target_md5: str) -> P out_dir = Path.home().joinpath('Downloads') out_file = out_dir.joinpath(filename) options = {'target_dir': out_dir, 'clobber': True, 'return_md5': True} + + # if the file already exists skip all downloads if out_file.exists() and hashfile.md5(out_file) == target_md5: return out_file - try: - tmp_file, md5_sum = AlyxClient().download_file(f'resources/spinnaker/{filename}', **options) - except (OSError, AttributeError, URLError) as e1: + + # first try to download from public s3 bucket + tmp_file = aws.s3_download_file(source=f'resources/{filename}', destination=out_file) + if tmp_file is not None: + md5_sum = hashfile.md5(tmp_file) + + # if that fails try to download from flir server + else: try: url = f'https://flir.netx.net/file/asset/{asset}/original/attachment' tmp_file, md5_sum = http_download_file(url, **options) - except OSError as e2: - raise e2 from e1 + except OSError as e: + raise Exception(f'`{filename}` could not be downloaded - manual intervention is necessary') from e + + # finally os.rename(tmp_file, out_file) if md5_sum != target_md5: - raise Exception(f'`{filename}` does not match the expected MD5') + raise Exception(f'`{filename}` does not match the expected MD5 - manual intervention is necessary') return out_file From d4cd09471922c500be2f11ad5745e07723ea3769 Mon Sep 17 00:00:00 2001 From: pdesanex Date: Tue, 21 May 2024 13:33:55 +0100 Subject: [PATCH 90/90] Update test_video.py --- iblrig/test/test_video.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/iblrig/test/test_video.py b/iblrig/test/test_video.py index 102cfe265..dcebeab26 100644 --- a/iblrig/test/test_video.py +++ b/iblrig/test/test_video.py @@ -19,9 +19,10 @@ class TestDownloadFunction(unittest.TestCase): - @patch('one.webclient.AlyxClient.download_file', return_value=('mocked_tmp_file', 'mocked_md5_checksum')) + @patch('iblrig.video.aws.s3_download_file', return_value=Path('mocked_tmp_file')) + @patch('iblrig.video.hashfile.md5', return_value='mocked_md5_checksum') @patch('os.rename', return_value=None) - def test_download_from_alyx_or_flir(self, mock_os_rename, mock_alyx_download): + def test_download_from_alyx_or_flir(self, mock_os_rename, mock_hashfile, mock_aws_download): asset = 123 filename = 'test_file.txt' @@ -31,10 +32,9 @@ def test_download_from_alyx_or_flir(self, mock_os_rename, mock_alyx_download): # Assertions expected_out_file = Path.home().joinpath('Downloads', filename) self.assertEqual(result, expected_out_file) - mock_alyx_download.assert_called_once_with( - f'resources/spinnaker/{filename}', target_dir=Path(expected_out_file.parent), clobber=True, return_md5=True - ) - mock_os_rename.assert_called_once_with('mocked_tmp_file', expected_out_file) + mock_hashfile.assert_called() + mock_aws_download.assert_called_once_with(source=f'resources/{filename}', destination=Path(expected_out_file)) + mock_os_rename.assert_called_once_with(Path('mocked_tmp_file'), expected_out_file) class TestSettings(unittest.TestCase):