MENG21 commited on
Commit
d8b90be
·
1 Parent(s): 8cb5f04

Remove CSV decryption function and related imports; refactor app.py to retrieve student grades directly from a database connection, enhancing data management and security.

Browse files
Files changed (3) hide show
  1. app.py +75 -109
  2. app copy.py → app_new.py +109 -75
  3. encrypted_grades.csv +1 -1
app.py CHANGED
@@ -14,7 +14,6 @@ import logging
14
  from oauthlib.oauth2.rfc6749.errors import InvalidGrantError
15
  import secrets
16
  import time
17
- import mysql.connector # Add new import
18
 
19
  # Load environment variables from .env file
20
  load_dotenv()
@@ -93,15 +92,23 @@ def get_user_info(credentials):
93
  user_info = service.userinfo().get().execute()
94
  return user_info
95
 
96
- # Remove the load_data function and replace with database connection
97
- def get_db_connection():
98
- return mysql.connector.connect(
99
- host=st.secrets.host,
100
- port=int(st.secrets.port),
101
- user=st.secrets.user,
102
- password=st.secrets.password,
103
- database=st.secrets.database
104
- )
 
 
 
 
 
 
 
 
105
 
106
  # Main function to run the Streamlit app
107
  def main():
@@ -119,101 +126,69 @@ def main():
119
  credentials = Credentials.from_authorized_user_info(json.loads(st.session_state['credentials']))
120
  user_info = get_user_info(credentials)
121
  st.markdown(f"<p class='welcome-message'>Welcome, {user_info['name']}!</p>", unsafe_allow_html=True)
 
 
 
122
 
123
- try:
124
- conn = get_db_connection()
125
- cursor = conn.cursor(dictionary=True)
126
 
127
- # Get student ID from email
128
- cursor.execute("""
129
- SELECT s.student_id, s.name
130
- FROM students s
131
- WHERE s.email = %s
132
- """, (user_info['email'],))
133
-
134
- student = cursor.fetchone()
135
 
136
- if student:
137
- # Get student's courses and grades
138
- cursor.execute("""
139
- SELECT c.course_name AS COURSE, e.grade AS GRADE, e.remarks AS REMARKS
140
- FROM enrollments e
141
- JOIN courses c ON e.course_code = c.course_code
142
- WHERE e.student_id = %s
143
- """, (student['student_id'],))
144
 
145
- student_records = cursor.fetchall()
146
-
147
- if not student_records:
148
- st.error('Your email is not found in our records. Please contact the administrator.')
149
- else:
150
- st.markdown("---")
151
- st.subheader('Your Grade Information:')
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
152
 
153
- for record in student_records:
154
- st.markdown(f"### Course: {record['COURSE']}")
155
-
156
- col1, col2, col3 = st.columns(3)
157
-
158
- with col1:
159
- st.markdown("<p class='big-font'>ID</p>", unsafe_allow_html=True)
160
- st.write(f"{student['student_id']}")
161
-
162
- with col2:
163
- st.markdown("<p class='big-font'>Grade</p>", unsafe_allow_html=True)
164
- grade = record['GRADE']
165
- if pd.isna(grade):
166
- grade_display = "N/A"
167
- else:
168
- grade_display = f"{grade:.2f}"
169
- st.write(grade_display)
170
-
171
- with col3:
172
- st.markdown("<p class='big-font'>Remarks</p>", unsafe_allow_html=True)
173
- remarks = record['REMARKS']
174
- if remarks == "Passed":
175
- st.success(remarks)
176
- elif remarks == "Conditional":
177
- st.warning(remarks)
178
- else:
179
- st.write(remarks)
180
-
181
- if not pd.isna(grade):
182
- if grade >= 1.9 and grade <= 3.0:
183
- message = f"Keep up the good work! Your grade of {grade:.2f} shows dedication. Consider seeking additional support to further improve your performance."
184
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
185
-
186
- elif grade > 3.00:
187
- message = f"Your grade of {grade:.2f} indicates that you did not meet the passing requirements. Please consult with your instructor to discuss options for improvement and potential remediation."
188
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
189
- else:
190
- message = f"Congratulations! Your outstanding grade of {grade:.2f} demonstrates exceptional performance. Keep up the excellent work!"
191
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
192
-
193
- if remarks == "Conditional":
194
- warning_message = "Warning: Your current status is Conditional. You need to pass or achieve a higher grade in the final term to improve your standing."
195
- st.markdown(f"<p class='warning-message'>{warning_message}</p>", unsafe_allow_html=True)
196
-
197
- st.markdown("---")
198
- else:
199
- st.error('Your email is not found in our records. Please contact the administrator.')
200
-
201
- conn.close()
202
- except mysql.connector.Error as err:
203
- st.error(f"Database error: {err}")
204
-
205
- # Add refresh button above logout
206
- col1, col2 = st.columns(2)
207
- with col1:
208
- if st.button("🔄 Refresh Grades"):
209
- st.success("Grades refreshed!")
210
- time.sleep(0.5)
211
- st.rerun()
212
- with col2:
213
- if st.button("🚪 Logout"):
214
- for key in list(st.session_state.keys()):
215
- del st.session_state[key]
216
- st.rerun()
217
 
218
  # Function to handle OAuth callback
219
  def handle_callback():
@@ -231,15 +206,6 @@ def handle_callback():
231
  # logging.error(f"Error during authentication: {str(e)}")
232
  # st.error(f"Authentication failed: {str(e)}")
233
 
234
- # Database configuration
235
- DB_CONFIG = {
236
- 'host': st.secrets.host,
237
- 'port': int(st.secrets.port),
238
- 'user': st.secrets.user,
239
- 'password': st.secrets.password,
240
- 'database': st.secrets.database
241
- }
242
-
243
  if __name__ == '__main__':
244
  logging.debug("Starting the application")
245
  if 'code' in st.query_params:
 
14
  from oauthlib.oauth2.rfc6749.errors import InvalidGrantError
15
  import secrets
16
  import time
 
17
 
18
  # Load environment variables from .env file
19
  load_dotenv()
 
92
  user_info = service.userinfo().get().execute()
93
  return user_info
94
 
95
+ # Load and decrypt the CSV file
96
+ @st.cache_data
97
+ def load_data():
98
+ encryption_key = os.getenv('ENCRYPTION_KEY')
99
+ if not encryption_key:
100
+ st.error("Encryption key not found in environment variables.")
101
+ return pd.DataFrame()
102
+
103
+ f = Fernet(encryption_key.encode())
104
+ try:
105
+ with open('encrypted_grades.csv', 'rb') as file:
106
+ encrypted_data = file.read()
107
+ decrypted_data = f.decrypt(encrypted_data)
108
+ return pd.read_csv(io.StringIO(decrypted_data.decode()))
109
+ except Exception as e:
110
+ st.error(f"Error decrypting file: {str(e)}")
111
+ return pd.DataFrame()
112
 
113
  # Main function to run the Streamlit app
114
  def main():
 
126
  credentials = Credentials.from_authorized_user_info(json.loads(st.session_state['credentials']))
127
  user_info = get_user_info(credentials)
128
  st.markdown(f"<p class='welcome-message'>Welcome, {user_info['name']}!</p>", unsafe_allow_html=True)
129
+
130
+ # Load the data
131
+ df = load_data()
132
 
133
+ # Look up the student's information using their email
134
+ student_records = df[df['EMAIL'].str.lower() == user_info['email'].lower()]
 
135
 
136
+ if not student_records.empty:
137
+ st.markdown("---")
138
+ st.subheader('Your Grade Information:')
 
 
 
 
 
139
 
140
+ for index, record in student_records.iterrows():
141
+ st.markdown(f"### Course: {record['COURSE']}")
 
 
 
 
 
 
142
 
143
+ col1, col2, col3 = st.columns(3)
144
+
145
+ with col1:
146
+ st.markdown("<p class='big-font'>ID</p>", unsafe_allow_html=True)
147
+ st.write(f"{record['ID']}")
148
+
149
+ with col2:
150
+ st.markdown("<p class='big-font'>Grade</p>", unsafe_allow_html=True)
151
+ grade = record['GRADE']
152
+ if pd.isna(grade):
153
+ grade_display = "N/A"
154
+ else:
155
+ grade_display = f"{grade:.2f}"
156
+ st.write(grade_display)
157
+
158
+ with col3:
159
+ st.markdown("<p class='big-font'>Remarks</p>", unsafe_allow_html=True)
160
+ remarks = record['REMARKS']
161
+ if remarks == "Passed":
162
+ st.success(remarks)
163
+ elif remarks == "Conditional":
164
+ st.warning(remarks)
165
+ else:
166
+ st.write(remarks)
167
+
168
+ if not pd.isna(grade):
169
+ if grade >= 1.9 and grade <= 3.0:
170
+ message = f"Keep up the good work! Your grade of {grade:.2f} shows dedication. Consider seeking additional support to further improve your performance."
171
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
172
 
173
+ elif grade > 3.00:
174
+ message = f"Your grade of {grade:.2f} indicates that you did not meet the passing requirements. Please consult with your instructor to discuss options for improvement and potential remediation."
175
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
176
+ else:
177
+ message = f"Congratulations! Your outstanding grade of {grade:.2f} demonstrates exceptional performance. Keep up the excellent work!"
178
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
179
+
180
+ if remarks == "Conditional":
181
+ warning_message = "Warning: Your current status is Conditional. You need to pass or achieve a higher grade in the final term to improve your standing."
182
+ st.markdown(f"<p class='warning-message'>{warning_message}</p>", unsafe_allow_html=True)
183
+
184
+ st.markdown("---")
185
+ else:
186
+ st.error('Your email is not found in our records. Please contact the administrator.')
187
+
188
+ if st.button("Logout"):
189
+ for key in list(st.session_state.keys()):
190
+ del st.session_state[key]
191
+ st.rerun()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
 
193
  # Function to handle OAuth callback
194
  def handle_callback():
 
206
  # logging.error(f"Error during authentication: {str(e)}")
207
  # st.error(f"Authentication failed: {str(e)}")
208
 
 
 
 
 
 
 
 
 
 
209
  if __name__ == '__main__':
210
  logging.debug("Starting the application")
211
  if 'code' in st.query_params:
app copy.py → app_new.py RENAMED
@@ -14,6 +14,7 @@ import logging
14
  from oauthlib.oauth2.rfc6749.errors import InvalidGrantError
15
  import secrets
16
  import time
 
17
 
18
  # Load environment variables from .env file
19
  load_dotenv()
@@ -92,23 +93,15 @@ def get_user_info(credentials):
92
  user_info = service.userinfo().get().execute()
93
  return user_info
94
 
95
- # Load and decrypt the CSV file
96
- @st.cache_data
97
- def load_data():
98
- encryption_key = os.getenv('ENCRYPTION_KEY')
99
- if not encryption_key:
100
- st.error("Encryption key not found in environment variables.")
101
- return pd.DataFrame()
102
-
103
- f = Fernet(encryption_key.encode())
104
- try:
105
- with open('encrypted_grades.csv', 'rb') as file:
106
- encrypted_data = file.read()
107
- decrypted_data = f.decrypt(encrypted_data)
108
- return pd.read_csv(io.StringIO(decrypted_data.decode()))
109
- except Exception as e:
110
- st.error(f"Error decrypting file: {str(e)}")
111
- return pd.DataFrame()
112
 
113
  # Main function to run the Streamlit app
114
  def main():
@@ -126,69 +119,101 @@ def main():
126
  credentials = Credentials.from_authorized_user_info(json.loads(st.session_state['credentials']))
127
  user_info = get_user_info(credentials)
128
  st.markdown(f"<p class='welcome-message'>Welcome, {user_info['name']}!</p>", unsafe_allow_html=True)
129
-
130
- # Load the data
131
- df = load_data()
132
 
133
- # Look up the student's information using their email
134
- student_records = df[df['EMAIL'].str.lower() == user_info['email'].lower()]
 
135
 
136
- if not student_records.empty:
137
- st.markdown("---")
138
- st.subheader('Your Grade Information:')
 
 
 
139
 
140
- for index, record in student_records.iterrows():
141
- st.markdown(f"### Course: {record['COURSE']}")
142
-
143
- col1, col2, col3 = st.columns(3)
144
-
145
- with col1:
146
- st.markdown("<p class='big-font'>ID</p>", unsafe_allow_html=True)
147
- st.write(f"{record['ID']}")
148
-
149
- with col2:
150
- st.markdown("<p class='big-font'>Grade</p>", unsafe_allow_html=True)
151
- grade = record['GRADE']
152
- if pd.isna(grade):
153
- grade_display = "N/A"
154
- else:
155
- grade_display = f"{grade:.2f}"
156
- st.write(grade_display)
157
-
158
- with col3:
159
- st.markdown("<p class='big-font'>Remarks</p>", unsafe_allow_html=True)
160
- remarks = record['REMARKS']
161
- if remarks == "Passed":
162
- st.success(remarks)
163
- elif remarks == "Conditional":
164
- st.warning(remarks)
165
- else:
166
- st.write(remarks)
167
-
168
- if not pd.isna(grade):
169
- if grade >= 1.9 and grade <= 3.0:
170
- message = f"Keep up the good work! Your grade of {grade:.2f} shows dedication. Consider seeking additional support to further improve your performance."
171
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
172
-
173
- elif grade > 3.00:
174
- message = f"Your grade of {grade:.2f} indicates that you did not meet the passing requirements. Please consult with your instructor to discuss options for improvement and potential remediation."
175
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
176
- else:
177
- message = f"Congratulations! Your outstanding grade of {grade:.2f} demonstrates exceptional performance. Keep up the excellent work!"
178
- st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
179
-
180
- if remarks == "Conditional":
181
- warning_message = "Warning: Your current status is Conditional. You need to pass or achieve a higher grade in the final term to improve your standing."
182
- st.markdown(f"<p class='warning-message'>{warning_message}</p>", unsafe_allow_html=True)
183
 
184
- st.markdown("---")
185
- else:
186
- st.error('Your email is not found in our records. Please contact the administrator.')
187
 
188
- if st.button("Logout"):
189
- for key in list(st.session_state.keys()):
190
- del st.session_state[key]
191
- st.rerun()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
 
193
  # Function to handle OAuth callback
194
  def handle_callback():
@@ -206,6 +231,15 @@ def handle_callback():
206
  # logging.error(f"Error during authentication: {str(e)}")
207
  # st.error(f"Authentication failed: {str(e)}")
208
 
 
 
 
 
 
 
 
 
 
209
  if __name__ == '__main__':
210
  logging.debug("Starting the application")
211
  if 'code' in st.query_params:
 
14
  from oauthlib.oauth2.rfc6749.errors import InvalidGrantError
15
  import secrets
16
  import time
17
+ import mysql.connector # Add new import
18
 
19
  # Load environment variables from .env file
20
  load_dotenv()
 
93
  user_info = service.userinfo().get().execute()
94
  return user_info
95
 
96
+ # Remove the load_data function and replace with database connection
97
+ def get_db_connection():
98
+ return mysql.connector.connect(
99
+ host=st.secrets.host,
100
+ port=int(st.secrets.port),
101
+ user=st.secrets.user,
102
+ password=st.secrets.password,
103
+ database=st.secrets.database
104
+ )
 
 
 
 
 
 
 
 
105
 
106
  # Main function to run the Streamlit app
107
  def main():
 
119
  credentials = Credentials.from_authorized_user_info(json.loads(st.session_state['credentials']))
120
  user_info = get_user_info(credentials)
121
  st.markdown(f"<p class='welcome-message'>Welcome, {user_info['name']}!</p>", unsafe_allow_html=True)
 
 
 
122
 
123
+ try:
124
+ conn = get_db_connection()
125
+ cursor = conn.cursor(dictionary=True)
126
 
127
+ # Get student ID from email
128
+ cursor.execute("""
129
+ SELECT s.student_id, s.name
130
+ FROM students s
131
+ WHERE s.email = %s
132
+ """, (user_info['email'],))
133
 
134
+ student = cursor.fetchone()
135
+
136
+ if student:
137
+ # Get student's courses and grades
138
+ cursor.execute("""
139
+ SELECT c.course_name AS COURSE, e.grade AS GRADE, e.remarks AS REMARKS
140
+ FROM enrollments e
141
+ JOIN courses c ON e.course_code = c.course_code
142
+ WHERE e.student_id = %s
143
+ """, (student['student_id'],))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
+ student_records = cursor.fetchall()
 
 
146
 
147
+ if not student_records:
148
+ st.error('Your email is not found in our records. Please contact the administrator.')
149
+ else:
150
+ st.markdown("---")
151
+ st.subheader('Your Grade Information:')
152
+
153
+ for record in student_records:
154
+ st.markdown(f"### Course: {record['COURSE']}")
155
+
156
+ col1, col2, col3 = st.columns(3)
157
+
158
+ with col1:
159
+ st.markdown("<p class='big-font'>ID</p>", unsafe_allow_html=True)
160
+ st.write(f"{student['student_id']}")
161
+
162
+ with col2:
163
+ st.markdown("<p class='big-font'>Grade</p>", unsafe_allow_html=True)
164
+ grade = record['GRADE']
165
+ if pd.isna(grade):
166
+ grade_display = "N/A"
167
+ else:
168
+ grade_display = f"{grade:.2f}"
169
+ st.write(grade_display)
170
+
171
+ with col3:
172
+ st.markdown("<p class='big-font'>Remarks</p>", unsafe_allow_html=True)
173
+ remarks = record['REMARKS']
174
+ if remarks == "Passed":
175
+ st.success(remarks)
176
+ elif remarks == "Conditional":
177
+ st.warning(remarks)
178
+ else:
179
+ st.write(remarks)
180
+
181
+ if not pd.isna(grade):
182
+ if grade >= 1.9 and grade <= 3.0:
183
+ message = f"Keep up the good work! Your grade of {grade:.2f} shows dedication. Consider seeking additional support to further improve your performance."
184
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
185
+
186
+ elif grade > 3.00:
187
+ message = f"Your grade of {grade:.2f} indicates that you did not meet the passing requirements. Please consult with your instructor to discuss options for improvement and potential remediation."
188
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
189
+ else:
190
+ message = f"Congratulations! Your outstanding grade of {grade:.2f} demonstrates exceptional performance. Keep up the excellent work!"
191
+ st.markdown(f"<p class='message'>{message}</p>", unsafe_allow_html=True)
192
+
193
+ if remarks == "Conditional":
194
+ warning_message = "Warning: Your current status is Conditional. You need to pass or achieve a higher grade in the final term to improve your standing."
195
+ st.markdown(f"<p class='warning-message'>{warning_message}</p>", unsafe_allow_html=True)
196
+
197
+ st.markdown("---")
198
+ else:
199
+ st.error('Your email is not found in our records. Please contact the administrator.')
200
+
201
+ conn.close()
202
+ except mysql.connector.Error as err:
203
+ st.error(f"Database error: {err}")
204
+
205
+ # Add refresh button above logout
206
+ col1, col2 = st.columns(2)
207
+ with col1:
208
+ if st.button("🔄 Refresh Grades"):
209
+ st.success("Grades refreshed!")
210
+ time.sleep(0.5)
211
+ st.rerun()
212
+ with col2:
213
+ if st.button("🚪 Logout"):
214
+ for key in list(st.session_state.keys()):
215
+ del st.session_state[key]
216
+ st.rerun()
217
 
218
  # Function to handle OAuth callback
219
  def handle_callback():
 
231
  # logging.error(f"Error during authentication: {str(e)}")
232
  # st.error(f"Authentication failed: {str(e)}")
233
 
234
+ # Database configuration
235
+ DB_CONFIG = {
236
+ 'host': st.secrets.host,
237
+ 'port': int(st.secrets.port),
238
+ 'user': st.secrets.user,
239
+ 'password': st.secrets.password,
240
+ 'database': st.secrets.database
241
+ }
242
+
243
  if __name__ == '__main__':
244
  logging.debug("Starting the application")
245
  if 'code' in st.query_params:
encrypted_grades.csv CHANGED
@@ -1 +1 @@
1
- gAAAAABn4Xci6FHUlPEP-XsOegKinOsCaBWnFJZKaHJeZPi7w1YTxz-vbnA2YrcutwmtchXUyMcg-z01kk6hgBFAuMXHZ1JEz3mQDUifNk_vj6oLc57xP_rr9SScK-eihyDbiaLj4rSYL9qHs9zpMMepHvCRwjW0DdJY0vMkJtYUY3llpunmu_3rZD9cwxoWF0ezXekTlDg5qrMYU7OLjGHPZkyJHMuW46tqCLKL3d9iRiGUjCpEYgnzUJWysVhBvXkiFYVlKBAJyUlvVmiTc1ATaH9PWsRcJzY8rK7f7zo2a3tmABWT06p99JRaVeU8fLpMJLw2o4ukzGT-6ON3vQ0VnP5-AwnKu3wUd3UF_NkpugDxHC8GWPh-UbulcHdB2YJBqABjiYOhuVs60nvOOD-eOTMvXZU72CDbUYui2aF96Mba6fhsmBYKG8WgmMhGN-U_0QvAR_FKdN5XvZM0HVJmmwqgclp80L_2BzdmpnbQcvRZEBU1XIXZs2ZZfcJ5AgYiRK_beV_a_zsXCGhBTVQVSnWCKZgjoFgv5vBAoBFszMhnV6lZ3kgiwfF1kc0mrBvHpRrlcQ_NVU1sT4cFVn0Ni1LsTGz8WMrrTWMyIKdsFzoHQtau6tNtppQ1zZtWbFfx2RFD7fBBRtiiSQlcKodO_Tx284rZVTVj30j9hCnKOAQbI-n4VC8BMQQObjHaBl3nDWn5ZtpNU02k5Y62uFWXN-r_3QtuLgJ-jXmvcNp3wojl94RfRvgkqAAsmbXXs82kVkJbLoQoc7sBCnKy_aqM-xe4GFa3-5tzE4AAQjamewgywRJVeUbmuUfISHtLnqCaoIVlu-mfBMu6QDn_-uP2eMmM4uzXwGJlmJDxXrpdabPHXOTZMQsGiqzhEIpWM2AGxIHVH_WwlOTikKLlK6k-U3HIHI5t1nxVttaADaJQKIG8a1CQtocKSxFURsB2OlaxZqbF7TexBmpEuWaJqbxdh2_0tCjWPMTrbzSFcbLb67diMoelyNEFhytMY3KSDocfAB5XdfklwJZFmNsgkUn2c2COXWfdIs2peu80ZkdpIPFbO1k_yG3UJz8Y3CuFvStFzn1ZVX_fsEmV4aKVTLcYiPKJr7Ja9W3K7gYvNjMtqRHgZWQro2fwTod82KY3Cqv2mH8KIw_jl5vOw0WdQzHTGlYhGbrn3Its7yTKa6Y6u9NI-6tWafh_WFr6WDmyaZZao1clqmT-Zq8a6JhQFewOgy5wmFuJXQMOIORyny3_rDzdj6n1BT7rpmmmzt31l7K-axIAD0lccxiumOpUmGMAjzif9-ZsDG0BS2dKEsuCdngTOqNUXtTBf-pJHck3cf9Xq4mar4CsLhtA9qPFCC1U3-3-jqjupePdMVAnayG-GLHXebHaifhmJ4rsVwC9zoSheVYdfzfASvhSMdK__Z3gSlog82ldJ_K-e3Ea9Ai1HE6GK8m1YaRP1T2dfR7kPcRqOs5HlnSZXYuTRHUhQfiAu9iziHM4OpVnsCP4fyVK6wwRwSTC39MuPzgkcoN-04JZYd-ZKlle0KebjBV849ga6zbWgc_mv2FRQrQSf3W12Od10T6SARJ2WnBrLkqphTBfrkqsttt60Yapf_mVNO1Miroo1-hHVbjhXTEVe7Bj0cGS33RTh7NGEmGTTjClapKO-G2gU2o9HUL-woUc0wxe0VjPcUPZjViZ7OZiLcnxiY4Aj1vwPcNQvi56S7ru5Ku26Oo_CQyH2zvEm6ExMleq8j2I8jSPpWoXc5_Ldp-ccCBiQGR-VUDeoc-rtelmZDNAu0NRk3wMLAZ91PWuFhKKsFoMrqdf46MDDlTh25YTxf7tVaB7Bq9w-Ck1ZxdMDHzP8SjKaKB8tTtZvi8bsdEiETF9d-e6eVs_qVtpVbM7tc4ZOUfWlHgRqg9rp0Zz6yStdExjInpeZ5ci4H3L7-9tAtrs3jBuWaZYH33cSldKiN2FmowVs21bWK0H2H5pJ3q93jci8ud2pe3fLdU8vvdefhq86lcdM8DAgqc2kH337UxuBLbhqcbOB58YWs97avpX9nemKTpUjvx4o9-YmoSyWSdi2NqfYdu4rsS-OwiUxVaNTsmsi4CpZ-EG5idfRi-zeBaUvuLzY-a4KIPnEurAkjeRVrfOUUWYEHLfuJegUby-T9RXoylstiBIFpP-GEdyYxpDbxXSh3lGqArQ4JYe98B0mawq15bO3eoD0-INs_GmTtFzOT4qURHmDFxJ1izir80m1YlRnMGYqAKkswbIwrC8bIWkKyQCAkMTlzLco64HfAvdX20q3RJXzXiOODVjqlG1DbfKiEd98UQbnWG9qfoMHoAWCHlaqD304jmUdMauY8SHbCdpy6ak05CptSbRxVR7OviRoeeLljgnxG08K9-EikHcCSEogoe1NoQTZ_VRR07RADRcdUXsnYeFUI4TaGU93CoGfKkLL_JVz4HClTV4rMEftp9ZyBx4OklyMPnmHCIhFpnl6Q4-RVY2sZJaXgdqpfIVYq_W6829WbEHdgPg1YAeURwRcLAxKA3lESXOWR1-QN9S0dgcW3OG8T_Cru9fhC5zPd7PiFxJrirukKQIxY8cGGlRsj5UEphkexhyd8PY7ekTv5rBJanfKGMmCNZyuXd9z_8sLGqLS4kZFXvYNGvJ-gz6jakqxLRtHwiDQ3czwEAanWS-K52j93dmT1qD6mz40IsBincJxqqL7F4TLzTncluN5h_0NnyFh8AkLYBjEpv7hkaxA4IkqzebXg77VK0PrQkAuMkvh3qnFK95mlAcZgI-qVRNLKeGeoEDHhsdG9peBptjddXxonuZlcLmm16bUGeAzf-x0brzZvAVE1XCeRjid4VtS4MhCr4gRkqqL-1FAIdI015LloQgbiGCk5_IChfLghc0w8ex6No7V0vKYdvvS2cDrvqGEyYgWbc0bhAJoa7GxB84rb4vs6eTQnch7VQcx6HjRz27f_zoddYl9sZqN1yMwPYtxBo9h7NnQ4ra8j4Doq687OVapMjQvSbmbRX8EE0evqXEWMprr0ISOiBpxmr3rTp_yekuceOgsfXlL4AOwEJ5Jah_YTutzKp415e4lmFVLmYk3gUE-OJIQJ-S7CNdIWQfLpLM_lzR6o3PhsLWwHaXJ6LjE5OP7GcjB9_APFhuswbxPNKJDyvPN6UfonuNOli0gEboB5Fm7-br0QfvKEZfnNLkXIc2u-YnbCX_3_NTXX6TG15IkSBYuy5E4qlO6osIwK9MZw26YFcvUgRLAfc9K0KU9pXg8X1pn22n5XvADwjJgFsfQ7C0Bma73B-0jfv1WY4obYfucpF7LcZy5Dc3qDdVb_YO1B2plbJzsy6U2ETyjrYkmHzcvTM2X6tjuXVsqtzsVy7vgJJXeQ-F1gwgUKOOwkzmnZbaup1IiaUYLVrZRE3tIXe7C-JUeHZ-HdjjK79DUHt8kMC40lH2dTaOnO9r0OSKWyDrDltE4PI4cC7Zh8bImOomFvomRHliNoMd4vK2LvxrcCr1xS5t_ERkN4CR1mYLKYHubwObaylO1wAhfEpz2KgpOBEDNZASVmhtWXvcVvqWC6DRAlheYKstE_AxCDXxJvyaUaSnS_PH4_LBQQYbz2pSL5ahK5QAsSd_7Y2qA711HZ6UVCLRCwC71edcF2rSlXlYs1m90q0WMDInck4Fjn1XqacqV_-u7lnJfph7iccBt5iFniNFxWqsR2eWzihmvE-_ma6_jOyJxf5oN18aGAyuqPdK6JQzgmru-k9sO9a-litSOEiqBAh0evZkmllv6NZuS4mbf2QpDg4SLYXkRd9UHvG1siaFN_484AgH9JsjfRO8i9Ebyu9Nl1xcx9z1rJtdwE3yHnFHPgoeSBdrQTdwjCQbYIv8mxBzIVMyxvTMNUrqy5ARb2Zqrgm4NtpR4DagRtW5Fxbuj2ocpUMx2TVa533UD8M3P8wlPXbD2_CoD9b82-koLE1AiUI6IHQ16vlc1efB-5fsEs7fKVPyqd9zhkAoQyGwugCOHaJ-r7I2ZdOzkIfHYmZzV2tJYZiFV_9m1aKfIMxEGjjQ3gd4pes1adI6ThCl5ek2x-iLJSBOxeaz3Z51cyiBotTOZOZBucmrTOMOLx5YSRbBrY9wCDMXdLy9FB6YkDzurYA_Kh0MhbENsBat77O_4SrdvTCCoArBpEh5As4evZrxxdUtIBv1-AWlGHTGsEKKlZc1yoTN1NwO8mtnOHtVyVwQ9NTnW1GvEcIgSkCNe4SRe3dOOho1n2cyd5LFnAYsPnE9LShS58IPwtVLPseoq7X529f1ouCFqdiLcbgHIqUnTBRhux7HVPoFWUOMMTq5irqF_b02449SekcJQ716WByZEV_KOrYCcQJjeMMxOjC7eZ5fxn1wAI22oTh6yzmlwWlIKQRNr5Zo4myjwpL9zODN-A-v9ErQvb_6x6SyqJBK0LTMPY3bSbS2iWhL-rj-4RVjAnVIbt1l_lM6kBkXpozl-BGROQ4PgCI9zQlp7IabVqG0DQwnY1EnXr73ok13wfb_hagcJUIonWnUyTkUQ3PQ8PtpTEEsDB9hPPD-Xe_8jANbuuo_Fws4MdsiHLa1IVoYjhxQVc7QX10Ji3Gtflhy5XOVhwoJc0TPXLBriHcpqYLFI-Bl-rmVuPYWYjv1MP8ByJFuJqKeM4kLXPCINFAY_SsoYfZ6I7wnMgTW9gZ6Lu3WR-MSrqEBFNDmWl7gpjma5Kk6aWSl1L8wpMHc599n3y9bCmKGJfnWhga34dwWq5t925LPuI8vkldBjbLFFiRfMX5Wd-6GMpVZ4qIZnoyTsuPZWez8Ek3LZn7oWBhF288C8FLizDWV9U8ypdJn8QL-5DbIcTlzhojhlwytIU66WPFmW_Q3YRUovbLrRm7MdY0HKEbK0Lw_9WZpPvk6EGutR4lTqZ8EamGrot3Sd2nou7vJ-gwiEXiwUhtdw-vN3p7xEYHsfqO6JEdHouagPxe8TV8yfLXNCUtjzhlg6YcUnHRZW8oId8bRub00Kq7_5xXvmiZ3QNIgA9CLrybZLH9XsXo015EnJPuPZbitwDCGWGnCypDyWV9qcuA-XazVOFq3y6NrClNjsvKhA7mOKoGGoP08qISLUHywt9KVuKgpe71lBNzSKmi1mLv2b-KU_efRwmcCyGVZU_2D56ovygUZyE9Suy0L6HnPLTUyMqGKtf3ZgkS_eRJMvAS9KJbIavh59Fg_2g2Tj3N_Sbqq64BXDKFzOqVjQFh1S9P0L543vCHvNKOVnRQ_jFR67qQO0yquyvQJUR2PRc60doeG7-n8jNphrQ7J_LChwuSiDyaX5T24sOBGFWxDxuHWqqzQVW3dpypQfVRVuT0qXCpyY6FPmMpmsfafgi_2PhFc7_c-K4FgzJrGU-VuB-wrzAJaWU8bSNbS99yMB5XY4xEVXf_hAUX-d_WukoYyb9eYquPpKaKu8gIyBst4lmTuHY06A6zp6jQ-9q6Lqcv9XL3bXGJMliyl2bZHiYO6sLwhQ99LnRo1IR9KV3goZO6PjEDArj0rmjlZw7dvbhdqDc1NCbZMhB5QQ53nEMPVYa9_Th5EA7T1u4hfVpExyakF_N969GX2fPHtaVfP4nbMdKxHBpGKbHRd6q42-mKDgS4R65tHptsHC3z41NWz9IKI2kVp7T73YAtdbzEKXR3W3l7QNxyGJixb2oRPypAY3sCA7c1rj7LbqcStrwb3dvVbRGLtV-aIOtFAglwXVHmJ-fVv4qHG5D9rYfLgRHF7RJg8hNd56kwxYJh_7DxMHIqzmo8m18KhshOE7qeA57BRSv-J3nI99L9FzMyJeRVeCK8WxkK_AvdVQZU9ZyWUYkjy5vNOfbfggJr-ZAb6UVSEp2o5VJJEP4ObJdfUNUNtagGPK0g-Y6BtjY33XPHj_Bc2gdqZkkYfDlUmn8tVTASeKkPDj3C9Rkt7BrP-N2XrxOAGWjlvjgR4Ofk8BqYit9ONGEKI1a-NZ9Gcob2STTv548m_M9CeHXEGndAcBl6sQ795IV23sx7soUZpjkdyJINyaO1NqIbJgDqy8mnhARAnTD4EHrQb7MpXDLSIWFvQ2Yv0kB-D_-nZe_TiDRc3Lj7d2PVuKP6nq_ANXkEkbyn2nocqDTCUMOOIyRO2uPHxuxtp4sNPT_4hRaXad3cYTCbaVfECNLYaJIbasZe4gzOFv8CVIN9B92rQeKXtQBxboe-bfDSbon3z-bJ0q7pGTt-V6F_ErbhfmTj57HKwbM4rnBHXFsJ5J5kFlomGXcKFU6w8qAvpGGApaN8dXbqWQbUjV1UFlcD3dcwXVNWcRdqyvwI9eMkKcHZlq4nr4GburaAMJd6matzwi6xyTFZ8l5S60avaDJNgc8BmKPIpJ7PnqxAR4lQVF2iGfwubYj-xQM33y_lLK0AWjtYzWFYD1w-1wg-xhS3a3PRAPpvX6JsA6YunO8a_DA-6jTrT09uPu3ocgDr9DAj6FcoTsT0VMW89vxUONOX30wXTXlzWV85CO898qr-D0cNeb48bHQbxPnMLFgAJRdjZMvBF336oXo4u1jYVL7w_Xok4YZpVM6ZId-oz9HQCxQoTUF6CVV2XEUHmT9la4E-tGiqO4gJb-ebm6PsKkznJlNIqqQXBGMQhaFePIghj7NsqozZ4EFoQiKzrrYBoqHkJ5lxatUHEr-U6SdWsBiCuhV1ND3AGP_NQ9aXcXgYGoVTSBeadaEXYp62BCmED8XEZmnszj2bLi43TwY4yC5JK-_2dSAY-zIHGJKU9FhHfWzfGrdb0WcP6lCqJpw2i1lZw6oqCAHgftGb6nF0N84W-opri7MIPZsKc8JNLPvjM3MGe7b3TfsxrtlzTzUYS0hzaqiAX1h3o85WmKnRauMmyMwPl-ZyOKGFdLeonrGCsBlSaDjWXQ3-9zNvpPbiJWlrlQHe3tKsjpegN0Nn5QQj5ALIkHvEvHt58TphcWtbbEy3C6L-z3fPrgxIXORROQZyxEqmEv30WsNEWLTo0xvVcXGrBqfXa5MZe0P4Ic4Q1sl6YBPuAwfwFmc9k3W6NhA43tQHPQKWioYTq8Ah-1bIyNgjdDNaGWUECCio-8xhJVtPK6rap-94TEHLdfiIsZRG-IKXSewTkvFXwT3zhJQyU2NzYyessNansEuRdjTDlG8mnNz2oQLiyCRf48McBZqjYL37YBr1e746DlTq0ucD4Z6zOjJw61KfI1NzV7Pe0PyKCuzyImDv9w0B-mJo4Gcy6aESI809vVrfnEsbVkIeqSFEdA49siPWjTiMxUmBYb4iD7gJIODJFX23DtZNNDV7Bz4t0zTDhz8zhTJSDDOPoA1Fite0GnDwXkK6qTq59TcUGcKXTh1fijybr1if3zhXlw8FDblABwoUUhuVp17Bwn7OEZ_CQa8F2CRgFBMdFwK4NsV4EczFadGrnrcyT_nD2zUH8v8QS4_kms707ilZ0vKde6T9m5nMgaku7fjKR2pbyQ6AxmRi2nGqld5dNCoGQT5Wc9kFIW6ws2Rtcgi1XZTJAWnMX_bBYXLDMpBobfu0pYzlOXbsqbWzQ27OayT_QoPipV786q5cHDHbLcRA2WUV_k8r0j062Al_oiu0lm2ddouT1ldljvvNVIVdguE8W__xTDnqXtggccWTnJLSqbm-nzsIlx7V78FJ-UljkoVvX1jX9-q0vgQTSbtJF_V6Y1-JflloMW7kJMZnEpa0YwG5_g6fj0p9LqeNxP4aWWpP8vJpiQ-fKVLS27oPPzjN9znOLl1KHuR1amCZmuOSHE0on2TCWcYtcckMevoqjPjlUOw8gilKh-lSopBu8FYrhKpn4ZqL0htBHKPDt1v4JluTu8QVpQrFNX5_bNd5WXkwWF3zIoAPpwSREz77Ycxum3J2H9-ZbkdeQ-310FfBXFO7dJJfRqPLS5CGrj5zzHFh9brnCMOTTRaJsUYX3XA09uFOjemzvHmqRUCa11tfySj38SBBkSRBm2FeA3zRroY3u6Z2HmH_6FSwga0iNmPXY24xXg5Ngm0OfpKMQAVQqXMhQser728_QzcCR9lOLo1HIwaoaLSsOnP9_XIAUM-i8yNO-3Eth65F9ZsBpvZaNvbn9YeoWHsRXgxSo95sM5AyAu94TQEjlnooZHTASgLHSHRfQh0UQ7yvv1jnKiY_k8jKw7qYCn52bnmWeh4i5pabGrr76YIwaQzEOCtbGy-utAZMR7GLVsOA4_tSmexHN0n-NXvLUQALv1cZ10GC1Up2pHGiCA32NC6xGeZ0n6Q1c44yMirwafGh3z41KX6via25d__V2-5u7mWrjXaskbUVgU_SoysNUhitrhxNzYKvvVXYWjRa6tUof4GxKWeXpANvUtCiw9XmBfxpg408UHu4191VrDDFjvQM551BfTUn9CCUqHC0BGIC6cg9GM4P6_37wUTHleg8f2wLhn39EBP5DMdvdRQLB6nzL7ARsYyFkcvWUq-aicf05teItMB29hIYltff5xYb6hLPwzddnKsdX5URmASIONDpvvuKTvLtWb2YT6kBtOhP6HHlwy2R3V2MCeg5d11c1Qo3m7phyBadLVqNWQz7aLoAmgJhDdUZlsFP8axFaQElJ56kXzeNeUhWQFpkQ5jX6kC19WZKevB-Eu5UuQJJ6Aeyeo7oeQvI8H3nfVal_3WbDVEV3jcu2Vhz9P2ntVrSd5QkxSybAkaqAO1gG0-5OZgJ8jF4yJek8_CIlwcXKDy3g7sldy3U-10B6CqdJlvb6px_82xDyfzpFUCx-ybPIhG741uQgXWN7f8eTmj9g4JdtJifxUuBJ1nT3b1W74r4PstdNX1_CmomDOoe48a2gF_LLIoPlGneSfSvM0wZa9xgilyW4Zu-55LTcccm6d_oIrcNfDjGyunpUKEn-n8fWxfi-ugv6tft9NGCv45tADg-pCPe2YOepVjACigKfAokTsAjHPnTj4h8a7JZeTN_S-kD1VM5ZOXQBGI5aRFnTAitPcYxEA56QYjr8cO1KP-j4G0JvYEBlXXS5lCaVsSuC9_PfsLYkJ4ihCmGpuBp2NyeanfQ6AupRrI3Cj2bJXq8Gl_0pYznap9cD9JxxKx0Ulvm57Yz11tDIyJsJKY02r01_eIu847SXHXEO2x5liLdvLxB0kPnkn1ZuqYGE-iMuixVjrP-LnMnBZZnUbfYDgPkKiAM3-Nvo_YCCMaVTb-WfRGc-1WUzMgMjdvkfKpJRdLzbURC-OT8XJWBA5IoO3SJUnNLZ3POe1jzqJW_XU5iMuradeisNk93woZ70i2OLXMzMro4Tej8DtQaYNE5Z4tYwgDfKVkPdTbhCJrZcDKqIP1d3dB02yx7SxACmD8Vw_9J5sD-ktrUMbAB9OoWapMvXo0Rcz02TqwarnQ==
 
1
+ gAAAAABn6-Ca-Ct13YLoV6VIehhGbDzGz2XQctyNR3hx4JzH0bRTczLVClsFfoVHigeRKSKSiCBjwMCCm_Lu98Vfs2ShxF47oFsY72O4Yb4RZUAmc8rjeAPnauJpGQWiTi19A2M1AG4n3CI8_CIwLPf1xBz7zCB-TrqCJyyrP2HsVxfd0j-qE61T3DcD_3xP_6Vp90wrcIkbf0MmMdCiYRy_juhl0s9FaZ603XzZpYKnhqMN4xR73NfbxcjnbZCRIYz9EEibE237x1ZchJ5RR9A8oo1QGpLXH2awrkSnb8RTc5ZUv3Im-eVQ9TmBR06gF8BxFA4KmQKjCQs6nTDicDHmE5681S26Fj7G4jEsSVYgjqnxzTkOZ_JF4JQBYEk5SVNDTLJiC99GczYTG60MmmunyoGeTjcZHC2cD68kOxPiLdivjOpLYHyCHSpON6diFd0Ej1A-NIo2rZRsdgZ8gx4dv2_jTEfqcE53yYX5_vqTj3lZKxTq-_UQEI_NngHp6ht3W9duOy7NPoumdDw5Uq6GFUumbr2zTI0pzCew2SYGJpEDMywLZNOiwtuNvVWXCn9zbVdfz5CisB7xVepvaPDpX_9i4S_KaRo2EbhAHygTL8866Tx4iL2FtZ9X3ZWOpUPaMO7Sc8mBrD8OI7ANGF8Ep99PPCXS1jk43XKxGNdaZVRGWs5DSVC8OyqYUkPvRCLZyHNKx23_bGELZbVXoMGGiHEz4_tp4r00JD_wMdEoPaqPhWRQfGA95PeLNGFxAdq7VRPrXkM5bHWgkXIyiu67HTGMQjvpgzPX4txZI1pHm0ABr_kTCff97G0rwofQd4fusLshfASZmH9JT5ZjTps5BN6tO0DRoHk1B_qNZIl1hAgXvufTV5VuDIvk0Jp_H-GIZHFOIf1pJZ4vzALuN-1L4MJ9LevPafgUww1V83E5hyhw832Yz7hXyUs5FbVhM6YulPfr4_BWBiWnizcnrDqJCDUEhtCQo9ucG37am6lEnBwaoNe5-Pec9VVS6A-z_Qa3k-2CAzA0AwrCJX0oNqEcgtskC5Nz8LPEf2xG1rh4JSsXwEmw0UNpQY6TxS7vqhV3sodsMi2l6AXVdCOd-AlaYFjcV06nkEt0MfAht2NjsLoc_F-wKi2_gDwNG2UXJ-b7IeA6HuTEgC1vAMrVJ6b08CNB-4MTkLZLdaHHnjwseIOaIy7awAuMfkXDhdVLmRPkcj_WRL_oZ_das9sok7EugvUT4BTDrdWt5CXH-kbYmcuXPlJTyksieQUNXSZUmllg9t5_BR-tmTCAAO4JfAPNwITWZFcNOSprYncABm910i_i0QdvvWeV0zFdVMw9vnbGUfnVxFolx6n0Msh1Q2m__Vwjn_PYE5GxU6_K1f40F5d6OpGQZJMvSw9pCQow-lTYfDNDfUsuX9zDkD2-OBBVo-4kzLZa-MLL11cRRkCCgQCVgXlJbzde0ZrZHNrdoumgN2Lm7f_9soO8IrgNzgUBRlSBR6WHz0iG0UJZ-urm1-hTAVXoqRac1do4WCT8QAjTXLYeuNM3IMTyhHJI3Dk5A-qLyaVRKwWQ0KdGG6LXNWAdMW41xE_mXGIkuKsxssXLlw31OaH9dFJd3_HZLKNXyZU9hsAA366KGsaDKN9qXLQZHGb5DHxkf4qLGolTqQqUFVSkAX8Y9cQNhvpALBuvf0ADaMQkapMaYKUpVQKqrBJ6titjQyRepcofXZasvuwPT3K9hOnfZsC1RzaW8giNw2423zzscQhpX8zQmVN9ao1V6TjVRJJhfg2F-Y8TWG2NNGTCN-ovv0Kyfaal-029-LCNhYcOMtDOxudCSyx75_TeuIOzv2-IOmZOzNGt0FyPQ1kf0oGPVXrC7ZUKbN5-Sq2emnSytrTTMiakKvzRqBFuLcbI1yIKl7OLQSv5dOE9eGFeFmKpHnZ-U8FEp4RPqS-S5Q5U_zPP8Q35xdCVNCngXR5KhmZGE92LogFSj2T_N9R-rIKHgDJMOKIX7vP0p5L3b5TUbgSY_GASrm_q7HtHeFzIgbAcnWiDUw9bLI7L15T9WLd0z5bJrWGcy6GfVNahG2MYVT-irrk6-PJSVfLMB8gFU90qgSzRwewvXs87QnFsyoaGHcH_LmYiBDi5x8_u09lImG225Kq_OTjDukpJmXf8eOisIPDz9LByg8AdtgP2TkBnMbRKjuR6vMPKMByCNqb-C4dso2fynA1h46UWaS2jnu4f1rC9zsQeVLWpMeN_-W0aogQFpLa6fuv1VKBoAGiQTFizppbXg-CNVka6r9DVu_99ZL7T-RFpAxY254jEKvrew5hl4QA0LP_gmt4VmneWhtx9A8_aJzl8xl8qC72SsnDkJidsu3LFDqZ-G7TAqVwZnuNoaLhIcK08yJW1Gdnbv8lnCoImlwKQl9g0_VGveOkTLgnKaQzEj81bc0bHfq2poZApDsxYsoY_80X8fyPmCvb8WWGLFra2u1CyCCRQgv4W7j9RqYDOovwdHDHHykYJaf5A5ijmzslssAMv1Vd_uL0JrSCJbGIF8pKfrZtwtSY3In74GuXS0oIR4IIwrr_s1Pld6cQYgKfjAv6WCd2AM2PSglnLlrA0hIqygd9q_-yBc4ABAEqoBYqSB0_7jmP5Q5eCWAbeGAlmK46ibJ7PtiXgXctEClp1tR0Px6naA7pVJ63RuHyhd-S5rMCWQqkngm8wu0T18wpdYPXSEQ_vq4ktwxqurvkri49iTFNX6RlsiyJzJ9akPZyNI_RSM8lS8tx6MMxwivAx2M91lbAksyr_w0tlNmUypp4NnQFx4CkjbH97Urz629--NhqG4FoGaNUOYvIu5p2DLQ3w8SkslfCuYCeU4s6JM2xDgQiAG55-k_V3q9DpyBRm0tAjg90AxnldiOlgnSOz1nBUEDKoRsetdADh3YdDpcaGe1-BaRAH6IUuLpurdlbSYBaWTgHiu9Z7O5ILTQJVX5gAwLTPu8__lXePQIrR_LVyDsnOCH2FeR_Fyd6bI4Nh4oySqrIXbSnl7CsZzkO7YzRH6PaZd76UYJMQoCawwTZYL9o65YmcvRBAIuEvc-NwTaGgbPETkTcFg44Pdqt1T8Ns2ioy-bGlAaZmme0DUqNV1VTeHgwcf18XPpBXjfLDGh86Ju7EzP1qRla27jbo8WHR4dou9IHpCgTuqp-9sXkr4pMDQ9i7JikSV7c8IhDOhxVwYgNAJ8WGpWuDnKaGT0_qWuPINKQasAF0RrI2MxJsW5VWoTTd22szyPNCIq3CbSvlZqQV638YqulS0s4Dz-o64M1zsi86YoOpZcVwN8oHiDJ6uz0BAo3hbT8w7biCD14H8b0UCk6kbaITtssZTWQVtW2892fApes5ChGLatZX6CMX2tch5ENEzMS_FlHd8-fk9FJi7_69MiGbW_gBXnaGaiyXXlVmw5qoJ1-CsSl2esbExdcpfXiyq1efl49lzt8BIZWyfapdlWNFXe4iE3Y7tZd-9_sKO8yXxiihDuVM0jBJCf7xd9_RPyTvfRrESMXuQt1xYU1LB7PD2EXqALbLvKrEsCsm7FB3EPO-ELUoIqfLLsd8yhzgsK7hRqyDst3GLUMBw3XAIz0U7--JlU_2LbzF2hzFgFnEK8pQYVuXV47CF-GgqUXaP7mvY1GuPBGSdSjaXsBxLmMz-vLKPmq1YrrjqSHq1ni1T8BmfKbWM-0ANZj9Prlb8GaACv-2ldZDkHFQAJ7TvaWG7FuyiBa1hmF6KJDZAcU3YCF7u-pafCU0kuY8kiyhfj7eh-1sUud4H6YClJC0y3ZsUlA99eoZU3Mg_QYidz4Aj5OAas6TDGYqFnRM7-R2Cps8QReTMXrskOG_wDf5Ui-0uEsDPBLed3NHjQZMzFq169Y3jPQ3wFzX2xm_N3ov1d7ShilhYcLWxhjLGWQt1vMD9ZmIR1xgPdKfn0gkGbvX6k0Fz1uMY1pmg_47Trq3Z24wyD2WX2H9P1KslA9mzmiBvfFzWss4kxMyRrckbOOvj7cpEZxSDjK6W1iwfaFBrEU94_B6N9J4iF6xT564FgqP6fn52xmboC8KDX1cJxrlDlDsC0cTOXlAlK4YllCP8YoStuxAaO9pZHekuFBKK05WU0rmqrnD8pGwZEMoWSgbYK84QcWnOFSDP1IR3g_mvdv2htrP0yAcycIwzmz02HDe_GqGtedc9Z47YOSlOPPWNEIjxgtJ1ilsPkbysEIWWCzR3AbTueWNTWarY75M7UM1fmddmoq-9TAYRuX13n7dJbn9UpRhLJGnouyYgEAa_GkIwtCDwX1pKQjK31eVWKDIoxNk1B2nhAFPF7q0SO8H5y_LJB8bTx-uHsH-3fJLmXv7yC4mTenQwwof2ub1lk52PgL4XuLb_B4p6kXZZmJWzLQMqI63r9KO6ipBAJFDjqbLFU-Mzdn9WNBaklJWFb8ys2xzhqQu8Zr8CJTst2RKmiq11PlPRqYsn0b88UF-h4Y6yRvH7ZOn6y43EXpJb4KTFeN6vdWzXCGt6izEEDTCgdM3h2eJze_ZfDv8_NaZGwS3pgIXgAnlpgKtC9V2qponK8FcU2VaZaSFvyA381FAta2BREVDRzHNwi2I8Bw92BPkSPdn_3DvxBwEHQLOgZ5BE12qI6nji1Qll8MJyJmJaPzx65gFSfErGJNgqY1dJpOJ31ST4cdJZjKA5r34SaTm7q8kssefEWL3TJCH-Pq67j9u4xyjcPi5t0TtwF8aBkg83_wHO0mvxpuRvh7IOtVvxh2iNcOQqXc-A7jbFJhm1Ymhbr8mXVbEJhjfgIF1XAzwW9L2SJNSoYP_YUT5Tn7leyDPdZRL92tAygBf2J-J77wmmSFmOUZW2yD4tpCqKY2BD9PwwUWY-0TdnNVJODLUJfFm1sdtM2Jk8WxrWfi_Ph0HtgOE9OEtjNrWswDdPnqbDXPiPDq8c3Ljhe04CCo3ca6x0zIOaJNRqb5XVA02CUDCCD9DGib0QsgWjnbyTX5iOUvELzl5cnyBu4x8TSvhMAtdR6X-EswvKQD0vo6RUH3cWqKdcqOyQfgNfp72d1qltxqIIkAhjJCXxm6DUubEK7m7S0iiUcmOHmb9czWLwZP3DOSxL8f4xFDNRutOYXQQCc7PwCfKB2yKzqbbWdzaVJ9vpD6gTKBTHJXlc2tTJHB_POJxg5nUslEuuecXqPdZgpd3GePdDkdGo2fqHWDCvIg0qfE4xk2Oy5I-WXjOuRQUO9S-Jbp-M65yfYNkNoMf99AWE_Gc9vMrV3bF0oa9tU7sndpvjHinQb_Avnvi-YaPGQsZXdger9lwJseNzdwrbpSm37zpL3LOU3Pgw2W8xzPCJxv6MtlfVJOruOMpG545xYoPSrDFhSYBG7mf1Y_pwHEeZN4b5LKw5ruG-a8Wrh0K-HQxghvxI7QJuyIuyvFcEZTXFzo65BpPPv9nu3AygOAV6yLOegsw0RkkbbvhY2xLwhZ_CYCw57xx6AB_0PxlbroqRGTu2NcI5jvOY-LmLsUm6qX3gFYnpEalvYSO--BNXgT1-FMs6mVvhc38td4EzTVbvDyyrqJkXv90AB37_5S3PyLwiuQeL0ve9_kZ_9RrwTacGdBMBgL-mi4L54UVbRr8e3vIb4eTX2FNuzWt-q_rAp0-jwxI4xIGrfmPXbTHMHJ_inCBjC-ySY7AkijJmAp5Y51Xn4YlEgGC-W9lR9Hor_ZF6LPWcsukxWNezd6NqItWTJNk8d_Hvjt8Qffb8H-C0EQ67hMbRk-pb_EfgT6OSnT7F3lZGKvry5drUYiJ2i5_sz5AZu0NLqqDQTPApd1wG1m5qu-pUUtDGwGWHHmSygB5wykSHPMdf3WQzTMI6gYlSChBMqwaKtjPxusYTZF7x1rBqa7LgrAIAyfFfgM706SBkRR3vVi_mSyHP5ekUt_CeKsm4z-QJbfJYPx2XmhCRMwwVMlVxZGKnUDUYdd4jk4cNppQA5aTNaLidcFKNcLj1m-_7QvDhJeSyD-M9966szsepbg3N1Xdy5nEI5lIOa5LVx1Kkd8oeB-yVIPGn7r74HViIssB-Lzqbmkt3ziofy-IJNTO8LNOEPzx49UEOC7OB-2JdxBRRc5tNKWBpEuDR8maw_NFZ_SeOI8OIzoRpsuqC8LHmI5kX73-fe58pJMWSLza0Qqc1CvbjLA-BBNiqH4fl9Nu-GhlE-O-Fj9z7WDcaTeDMPxb1PesGdVWXHRfXhC50veenIBV5SVaKn1IPQscDih5LG08WDkLo75160G0_Wal5vGemCXGmBJYi3KS_LZYLokVImG-pRB6MhOxac83iWG2ScVZ9uFo8JbD1l2e3djSYor2Px7U7LV0CylIqUNvZVecxmLjINkIqVf3Hr7nwNQ1CokMGH7G5s8VBNTJr2DuaEGztbvDtEigTS49zXmp_eve-BOveAIn2gBkzydIAZsMA6HbAB4MrhmPSY7rW6hYY9ro5A65foiKnucuV9Ov4tzt8TjHt3btIu6weZr3xOd0NuEM41dXBnhSkaWUGQxXrk3n9DZ92hx5KpN9uhUv8MmrccVUqb580zOqHx5l0UjVKDxo2hHPmwWhQKwXdbwIFDnGI5OMmxlaU_rmQBNn_dAWmuNBsBSRUOjB9JgN85y3coVzPWFddS8RbYilTcPktCF_cYUMd9RYOvut174ykBLHNmAAa1yfU9Apigji0CtGP836RzlOtFfLd4zhUaDe9XiVTKUgR3Quj8QUt_lrb8Pp8E968dNm80nAj7iyQ0S_4tgXRjiw8X-Bs9I-6N7RpDsMro6WDWRSxUahC1dRQhHNWY_n1baboFNIdeh-PS59rfmU4Be6NepPOIuqLT6JGCS_p4UqV1p8ldXsiM9Q_KX9jpDBmB5ClkRSGSsarCrZAAoosFlIJMgwBcF5xjHNaZZK8NvFTOLxj72kuG5nsrUqJYzOeBCDboBQpDAcu6al8A6HKulYNzPrvCgMoQwCAJtpPMU6acOzn4D_y5epISm8mkMiB211nYUW0w_TsOPmndGHlhAqLMm6IRqgj2JDVfMpFOSGn7eiLd_mqsl1DzFk-7AFOgMXKsS1vKX-JAQu6nYEMIwjZMoxRPMpn9g5beOI_bq3MNJeMWe2rXTIYvOoRb6LzDVmCpl_Hm8SZmIA4sGEeQJKAoH9d0Q_HFZppif1hqzHQFFDaXi3hCLiGDKHeyI-hvfQT46sLT5n6zLPw-VTjh1hI7ZCwwb5lwgcPcMLwOmqsY3HF6fbb2LyEA1ZBpnDiHjFZKNNOgIONl4zv0H95FUk0d_TMu9XNh4WUJtpVoR4uFsw0jRyF8BgTW_lX7Y8BxpIytxwDdRospuR3OoqsAEreoTbMVuooFX9EArLjtwOhAjrAG_BWmoCu79bcVw3Is0rf4S1ETt5w6Yf3C4kwVyLapUpFUkZ6B0zLiJKKHOioGXdgEpTOb98CkD2eUE--I6E86WVF3Id_krSoAZCjTeZOYRsH-syq1c5HI0v9NPGD8-wnWMkIbS2Qt4Fh628V0RPwBEoj4bExPq-_WioFaG1j_BtojbiN63ac8UIEdMkJmgy0Mkzh1SFjeW2xeZyZQVftAdJw_cZhDPfKULZRJ6HGhtaZkYfHS7KBV9yjNxtsLEfNOuXykYrVh66wuo5Cnkt45BzVUY5A2rjvigm8cSbc7_pcTmS8yIdHZkjbXzLdMdlmmvDZzUx_QZLMN_GB6vI-0Ym3Xj1c7vmgzMJrND5kOPg-dnvi9W7Tby0gUpJmDGlR1NzQ6TiNSyylezZRExmAD3fqhDEzF-hF4-K1QTupNZm1BduI41qhL3SCz2RCIUABwMHJu2Kpetbm7kE5pD9EP2g1N_lXjhl7kOBOlRig-SQe6YHx2-dvICA-kuHrxEiHUhBPWkSGltkY7T3uJCOJfcYxl4uyCAB1e_XKUmF03UUEa1ylC-Wfn4LwC_WZvbYX8uFt7rbKRvOYd8qjTfD-0ByjfnV_KWF6LjA_2797fVkGsHOwE8SSNxUeKBdSGLWWcrbVcyvNG9JldM0ALpcFPCyKvBPFJvV7wJHH_Rw1tF2-ezpHR92fz-OZq028JivP6PXlDAwy8V9aPxxogdWpWpjq7lKU6LFTc4rKtroUsnkW7K4qh5EQFVFrxpmhnoyMO29Qb1rvdXMv7YO14vY7yYzr-akChf0oFW-X2Oezl74uNPd_wPS40cDe9QoFLEm_lGK0H6aJXN4G5owiAgGVQetXYsDIo6CKBXeO5WCmPMFcx_lJLT3AHaDkX672B32JtMYp8xy8B9wcA9AtrQ8FFVVzoL0nGsdAmI7pQ0H31TbG2oq1oyVGrSweYk1YAXZj5jGfJly5Rrv3CZiPyKlHcHp96RgJmh5MjeSHnD0iuTwVa78_YYODH6_1DqmhI2DDRjRxAWQ1LKvFHwh207w5Yd6Pe5e4-tEXtXGHoMAYaJSjTF88Lo1Zz9VYM0NZ_T1Q5g7us5uxpz7ckyNbwSp3_cC-1WGd6YQdejKromGnbgtSGkVc4t4SUZ7_JUcuViFNRWSQj7CwaapQzxRDeFqAPLjbo2Q1VycIaTMNnvnFBwL2dmhiILWZfWttL8ygcCed9C34HdSBz5rIhq7WVX51InUjeodqrzGS1t6fdBl7LetqCg_A9znhVm3iCrllZzuwUYp9oQp-siJv9zAEP-EnyiMesoTjVwILSAhYtp5KlHWbagL9Qv9f-C7mMvYVldE5OIg2hFzbfd_JRpu747HG2Y3pZ5aeNKqp6AT4NGRsqmsVViCsNxzMxLAmJgQErnTZsw15TrL4d0gKh3Vp3tL7iNpNR0IueCW1cvCBujgfUshLP7MmnKV-WIEOUvCO9F-MDwQB4Uk2gzYqMeJO7LNXaQ4F5_n5ZrQyyKPNmSJEcDbWK_6zZAom5_q2tuaC72P9l9L16SnaPLIWiudWPX24HbcrxIOTrAdXk2LJecjC5d9t5EPTfHn969j4ck_p9WTZGetfHfHPNjvC6a226XRzuNj1kSJ0zh0meWou-SbE6vQiw0NUOHs2rKNCrLL8fnHPO01SxDGU1k3S9blmODIUlYj-kVq0uAPvzmte7y0pg7TsKfw7B52lq82o-g7-q0kW9tsaqb_WgSPAo0lkyu0REz2RSw0Kb5syEiu0_-HjW3aknd6tU9bcmOmv6XHfRdhPNM-eVAcn1Dm2_h6tT1NXl0SiSfzHP2ta9tdDEYg9dE7_M46_IwfT3oQ7dHmOWvtFe2IJ57gU272Eq6cnP9wGN1VzsiITrm1pCLwxc9UDKf8nkHOIC22iy5WVJoRw58EJKCTdCRjKLW9rAADi7_PbV_5-IL-HV--MY5kgXO3Gpl1LWXw88Ib5_pC-iWQ7hLQe8Ci9zHsO056UGtqRoSToLRffOmc8cjW1SQyjqyWo1oec-nq-0W_gNXWMmWYFXO4WahEKDCsM7ET8iinits90jI9TK4wlQJ4w3RdbJyOnMM2fpBo_HsKddyc23nyz0fKKJh3f-OaUIqJDZPiuoo0EuxtI2VwSv7OlmCd4S8R1oAKDa3d4NIMiaj30X-PS5URPRsVsul-4redqbPUFOp-_GitSiAvEZcIf0ILykYJQN_4W5lH7cxaRPCqiv3H9I53Xji3_gTOXIfQ0gCQLVQeSktbJUjljZrLIcY2eFGpQu4NEN1pNfUs2SElnBC2KJAfxxkjacRUEKDaj402lWBy1jf4IaWg99qpJja0og0_NGo47uulzoLE1gPFhTCfCzTCZC6I-euYtbPy2I_1plEu70eAeKRFSJdFdBeWQOypfg7kg126NzA6vp2hL1x2wCwd_HDSqy62m8p_g2Mfjy-dbDhZu4iJB5cItPNUQrOyDsgGj-JjqqoA4o_CRPgqdknuRBnYGDNW8E46AurLvPlZZC3e1GSPk3dPMn6dIt4Vv72BbXGtGFmzP7IrIuh_nZX_FUoxUMhJBuGL0Xeg9J3YYzeVzjcySNlrV8FhZ7bZ_tESu4kI98TQNK-_7m0U6bPMS_iN0EaAl3aCxOs9XN4OZlQBnb4w6MEY5poFuyHiHguae1QQ2IHlUHsqSdKDbRaLoV1xlnGsLqyXSuiNYS2aEKSmJlWxAy3drh8-6GFZw5myv-DihSXOvpGDjt_wjGJsoiwTivDHyI6SH2Vw75UOR18Mh98tgqb_54Umj0i04EalOa1SnU-O8ljhOKzY07O7iVuCyurKLHHHbLTYs0TGmuBSY4yG0-g1iFs8Put0zlhKSBTd8pM9N6gJ2D6IUgMFkDVBxaQ3HxI3Fu4zDxuslsqko_BbuKuhIk1_JfENp_nvXrcCznFUd0pJWuTS-T6LVnAbA_Ndz1x7T2lxlAksvJaE-tBvMh9ncgIGTzBb7vmsFnWkLJ050l-TbsJaj-9g4jTYkRXm5fop55juwOHAbQwTUgYnouwbEQhrOpifGwHvIUkL-asIOiogzfaBnA-2KPcjSKK4ZcDwyC99KN4sZcAtNjjm-8RL5yE0DTLE18TJShgb4DxNeFOypoWpD9Kd9SmndzYmvYH_cPS-lbqrEF67nIBlAj6iY1C5TtAIVbg7gbB8MLVApfGGTV6LSGj4mO6jY7VRsQJPOdaZ6bjqqHqu5t5R_6myVo-ICIFMXRA2h92N3xp8Alofhi1PJBApx3ff02rDaYkJ-AkszDvNcPsW-k8PNvme41IfUsGJZCdIqKjt4rjGVNqgv1XRuoHGFGpRBhhSmwSNP3_QKDa-SK-AsIToVgRJXUXRaB3a_0ugV7hAMg01mF53HZkcnEnDn3iArCjkJXVw9-Chu6Qpm1JoNnlNosbhbzkDtOEECndnILBvN4-0JOq00cf0ZrPh75-VGXs4JCibE1f6bGWtECSWONHJxIW8mOwGuVA1csaZTxQ9SvBc6Mh8LXGeVzWwLxQj6M0pDCBflyUFLeBIaywqsZwtz9hgolk2ddpwcwRZOsmcVqjZ42UscRVzkoCNr7WPf1e8SPpyZdGYbgRN58BsEfLd66jneQsRlGwKBPK-OdxEnaxI0nbAYou9-_o1qxRKXrNTO32lx3VuvfiC0tq0pA_G-QobrpYJH6pjp_YY-NsjHjB91Q5gZW36r1-1WTLUJl2EyZ-9eXEFTbhf5CBl8Pdem6ZT5XesIqmSi7JQr3LlOXV_T3FJU2oEO4eDl6HrAVycPBNDpJiSoMvYm3ulOBmu3RAlgkZAnBPn1okOoJ9WPWoyniQnEY1OmhNPn_-LnBRJiU4iE2BEY-y1UtOtgDyY5YNFKhkm6fIi725LQM2_I_yxwcFFyXDFRqfolyQpnJCAf8IFw528Dsns4gZV-ZSEGwVUN82HwSixX-0PpOXQdGd14gCOfD1FDT3Q21LST-PB3fjSmEppfw-lI0P0piwkh0xANnY6ldzWjvC4d9zuc__UBSKbpGkJiGzOm9G7hn34kWKVKsxD5OTd_upegafEZI1_BLcjtIBWeOtuwOQ11zRtsqVfnleuel93I1-HLzLwDArbvO1QRh5bjgk0wArQCOAVoKfchddG4PuLKRcJAM62n1JwwQ-j5BKkzfkLZlePxLumbmlPFNoLa-nGZ4hDRD57FjIq57RtZn8j62uIF42fmHJ-RWycZunFUhGeNfHxYzuORXzvWQ20RbPJJiBDw2M61KHJcXtl70ItqRQ2gwxAfY46OUa6qWA42o1eHaRwrj8ROD3pdX02YL39Hb9cfzbNxZxQQtxe5dMkv-xAnebExMfhfoqsXm7XVXKp11l-SSPy52ymjGRdk-W02bpHKCxEgIsz2kA8WTAHUgkhyyF3m-upAsWqf9OE0Y2P7R6s3AP-VaYa3zJWfOM-MxV-jEbLTvlnt6-pvz1pI-E29vGCwpaXUH0JdZKYbamgzi0EfEQqEmMJCG-bu2cMHJ6HBp7xO0xoy64gR72tfvn9RwM_SSu_DM2surC6kxr8JYtxe2ktFXY0g1-OA8dw8_YIJZlBhuiXfKucWQ2NRqDAt4DQW7qSqIhXcBfu-fNzOmkc7vcurOtM9zBpmWkyEsdLJQwpYe2DrHj4UhpbYlJ-2as7rdDcmbTnbuLEzXR3zrqjBq8Z0ao3s4BvPDNUnzLLUOQFzPrbP8dvlgiKkbdcdSFHV-jLDj5qPW97AaY_WfJRaLQaZTMCSAUFCSFl_NXpB1JQrFvcWbm577yh353xBjkAY17QKnQJWBT54xKO1gXoC0EWvbvnl-RbCf9zcKsYU_uMoPlquhNxA2BYPI5l-aueVmfpRPRFDqLT7PtsDl3p0DGvBTETu4ZQTJ6mdKHVQ0_qVjJu083-29knPx-3IJSRuYx0QfDvCBFBChm9-qhsJa-11tfqvlnQo8PvTu6WY49PhNSov1TYCEZQx4dNgyU96OfHcP_WadGrjzXpavdG3N3EXAkoQIOf0_ynLoWwO045zhGNiXPbEbAln8UohB_M-PZ91iCdhyrSdJnAQ7vqkuxZAHrio0rJe978wcBRbxENthkPZ72aiTEj-5R0OgeCa-6X13d6NGIVR-aMU76QuU2Iyd73-tOx0u6MdpdDGiJLhVr0dqBgFbp6kVhAwdpx4fk0YGf3uBWVAcT0GP_okpuhys58ycNngqs-sFa0goDgqrB54WQLdH7GP-tWvGw8fmeD8eA4Z0g1sP4eAJpmY04GNk20WW8cH_LiHBVtMA6C8D3IBDKgH8ezVWESO02fBhQuA2ppsoHj3nnZ1T7TRP3ii0IVuIgtM923O1rbkPAbG96AW0fa5sfO-wHFv27U0agcwtu1J6B2nM-xcYGAXVJ4oIBPvEVIK6xABI-Jp5xgrHvopphAmjgm4t4cMpkZAZcvASltjjKbE1Xm_LjE6qsEHWf3fgvibPL8RcTuCbazAqXSCxuG7mPXV84cG2k-OoAEo4PIFd1KRNZH8qKaCxSqMUUpDaX_V0rXImMWEDD-OqVuzhvDOvyTm3wV80BTOkdjd2gMKwV128bStBeIsd5YlnaIzIZXtrV0F6E903cFS8le3_Bqwz-u10bmFMbovQ_W8Sbw57CmfChWzmXnaIAon6IpCzv8eA-DRUWNpra7jW0ybG5MIqtGNwR3I0mVhqG4xZ3qs0QxBHxzPDTZ88oL5MTGU5kICM9O2VX3a1ipY6fQcjHNvxalzwWqltyFvt2ORSU87J82Qsthlu5Z728TzSx3qPGOb6YA1WqpFlj--lmrlqnfqRjH4uQqPqOiBA0MYl4mXJ6QYCdydft6Q8YrL7mYk3pO-_-P8DcaM8V_xwBmzNXFJatMfzyJpZhIXEt1pgbutnlA8x8I_sTjIIa9pm4465binn7KkaHoy8bUKRBOctgZIZgdlrbDoEiXgNfLL-qquItYKZXrSI2Yjy8G63pgPW6fzL0ffiXBksHiKryXOrLOoKfu3nHOfT_wtSLaozYwfErSqTl4prlXQksb1lJkEC9nWyuxTfF4_P8yOgfUIyNmo_SePm7xuuKuRCDeWU86r1QY0R8zQR8HAXYEzC5XA3UzSPd91dvuXt_TV4x75waUAsVRhRGpanVOr8bAd4dqmv3smYsHVWHZjVmRRA-dwYeR5s5v40c8w_PQgwbudY_aYfWru8uhCXozDX1yfMIb4ss_0RPwm8oilFMzeuTyLv3W2kS1WrfnoObalK_MDAnhUomzP1O9ifSRlbnEu-x8ite1MQ3uhS1zMboSPz_dpyovZ9szY-CpNbYSGIi2NWoviL6J4QNxZkXPWFDdxCx_wvEGvsu3WiJ6ef4Vlw6lftYQtYPMkzuy95E2QPA0mtVxHluot08XgxR-zDZbiba93HJLioY0xxwIRxfLpWYn7EhRZCm7IYBKPsJ2FsaBbz_CvWV940txMN19g6F2GGt7JZvL2IYR6rG00HaD5bD4_fiMDeb4vmTLlo7QCzXA-M0ooYkOW4qaiii6Qx3PvGXwqsJe4FHEBDOYaqwWOrLPW6MUx1wfdNa8hRCMGoc93UOcgyne2C_muBJc9OdRNIwnYRUCuSwjbgGpr7durOp72aTj7v8Wzgh-jNyUZPHKXxCN5Lq4z0gKlcaxtYSjAGBjgHc4m5YzLa6hXU-aUGKeWXqOC4na2TCQhjflgYUySZvRTUqmK85ljTZlPNWmwiJMqvZEMv9uIgcFcIz40-9S9MXGJNlcUjhXyJgZpnQ2T2vQPHkprDPDNsSeaG--Ub6YvAoSdNxmqAf_A824hwqUxBmtQVQPxCGnErIGmyi-AMoa9mLDz0-_EQa7cMZZIPxW0xCcCLDdQ0PJnFAxoi0o80qgudFg9CAN8gLFKa93YICTeuqFxA925dMtFE741E_G4zVCEaF_68W6OIfI2pbR7fjSvxKjpx8eMQ6k9-jtoaFWIsA4AsEo2F1d_-P3NfPJSvRxY2rPvz96jfzmbKJRR-v0nULsFKpz2CmgaQA3dwdiRxYyX89GPSFv0-VtuzKDCXqk5goIq05eXfpaMwWlqE5jbxmpkUyfWPEYeBvPUwzj_ZENSwJ8Ons5mveagVjo9LrWqxXrgB274zDkdqVbAyWBWhsuhoRCxn-xn10ZcpnHT6XdgUH_gi0JRU8-VKYuBOeARfpEiuYd2MEo3rg6wLmbJDErW52O17xsfW1umNzDBN7hVl_qXda06fQF_8htAXP9CFx_xigz1r7WmG_iiB0tXtY6iZVvjag8ESgPy0O65nPpkR_dybQJIURZOqQ5RoGJxEIRpDtce9aVZSIo5W2VO_WFR8VvbHZh6CuKi3HkNiOtwcuoL_pCkZATxy2xpyljRsU-TJ8Ox_f2Zda8Ers_PxOAkj_FWhIkrOzlukMonX_-nVl5rU5K2Qz3m-fAUGxuixA78SbolMA0_HGHPNO6OGzsARV6e7s64kyfT9PuBHyuadUO01ybfePIozSm2QMtGo6MM4c6GOkp4tcOCqutJmWuYImph4TkUQiC3beFK37dJozldm_QjFuiW6FGO4GEfYF5Wcd1hnskfPeeFHNHLuDSSlU_rZGsMmrhIOIzFg8uOVWlw6LAJwSSQ4StFn6FLosFm-9f_TjmFwlBOLH1ZPN7nGFMNZyJbWA5w7b4Kf-HBp5qeVTqKRYrGa6hOVJQFHPsOAuK5NbFXAOJY2wNtLDBLrvemKuCOdx0V749ypvy4EkV2UOl0KY9I9E1UtqXDalC0zL_AlLt6QVVwSmK6vvXZLuG0PZoUBNAml88EEHm5VtVFUboYtJue0TaYNZG21tC5kaXn3NP1D9OB71tV1EvDFJMND8USJeGGPKZyA9RPDk2ZWaA_Ko8-1XbA0notZ5d2yX4Y35oqWKeUtPSJMlt9sSI4E2f4SWNnHo1hlc6spYt0th7D8BLLsElilMe3Iv5ErrYKHcyLDCiHefMg8kU7CIUC33sxiKGPFJwfphidl61MM13VxOR0pQOYpsN7cA17ImsMFqtIOWHS-yzDZnX8AAOb7qObWlm2AjxtIGHv6HhjEcewSmaoi-RE-Egf4HM7Dne2a2jIwF1da3yYmQGS4LSZaSoFD9PMWU_vP2rnfuafCyAvsF2sZKc4perWfSTpoJrBuJ4S9mdoeMRusSItAHWbe6CIeOlg83566BzuNbo7WN5iKSkEYgq49IxBNr9-pPljtZc2p2x65A7EwNyTSk_sgw3g1DsrNZc19ZcnD0Zv4IKwthAe3nprrVHmwW4Y4G73B8YWDPDvVkp03LS6mal1OMWdBcDsiz_jlRIIkp5XVME8G3kzPnmq6mqzABXv3cqwqIdk2Dws8HuivigNiDDJpELwShG_iqKPCK-JlwfcQh0saFdv69VKNshJoMitMImlK4GCOR_Upp1paD289oMenjkzOHbBFnDv-dL1gOQsQHkpvXn3c1z5UtQj2PyxtktBotAdfqDNScBYLOYuW91bGvgUFxs7zCk2W8B8Pog5NLgJM_1XoZfViYWnqU16y9Q643p7KievldRTm77n1fUM8HPQmVTgAeM18tKFQkzhnaMx_d-wacFxT3vjg5UHpdZpuJ5ZeNjimIlCRjntOLYEMHKyMai4viOSlQm0GbdjL9CeisTdfanW8xcpaZhoSgP5kRSUHNDYBGeQTBb9RVVOh1_2M4GsC6cUQ2JeQ1P36R7QMfyP3JxYk8PE_r93pNcvlQZWTZYskJiugaUgvFt23jY_B6G35pjlvVpX6SHJVqv52iDACC0tyadwh-nCk1n909mNHag7tCILqhwiHkbub6cXhGJ6Efc1rYkJOo9-lcnjI9x5N5W6ueLxWDKCqMcdemIro_5i-Sah4Hxl3shT80Qaiok0W9pf0XhxwOG6wtsbPm_oa4swmVHJmw-wmXzDm0xA0RuXNFc9NtzHiwGpkTDS025SyqdtXW6CQPPQ8EGyOmL_vkNPCetCEOZL8BIp9Yk6Lo2JSRds-mTPPsCNE8kSwpB9m0JHNZW880XWaPerP1TDIsATkQdkL68Febmc9z00QSCfLtMyyTumRn1gtR4fV8c36MD2ShcD4WR0SGP_vzwzTu5EdbIJt78wABE5LDI0Z6Zps1i6ReBke9_45jkiW5aZ5az72I02YNtqxA9Wk9nASvfoifqxwKAgQ9PGSBZG1sfO8fjy5syvKji9hmAKIzyTDeSH9RN0rmxHCjl5awKIGubJZihngvBDydMMyu8Guxgd6tdm36avOHj6t23YWK14D6Z3Gnuxp4Kz7WmfObKo1Dzy2SsVs_zPb9FtiWLBgS3-DsUE8kPdQwwaDLb9HUzC-Ye07ovnbrBgF_2srlV_7oLKxgNG0oxI1i1_XTg5WpXdLxAUJ94ty1flzykyEGWts7TVVLDnICvE7GhDs-1UE6lZBIPmbNoLhi1O_RDJiBlIr6gjrfYHet875m6TpnKUvAtjvrlOzgxdXwP0qcDEyUZZ-vjqVfhzHexEG-tj4c__ttOA2lLs6k8ylO2CqUPQt4vFps8FLr1TrN1PnUyrhQ9MwugEvAb_4vN_5tT-oE6BNwazIFBVWOQRPA0iHYs5FJSCYk1bpwBjKkp84UwSnEodbtPEGFI5-pEw8RtmctJfHbgGTueZKnMEV3auaIAbJGfh-pH9Jq7lt87rctX5kmyEKjIS1KFMR1merSFlWiIKOJjEuqB5cv977oCzKbpwievCwCw22YyURQcqTzry1iNJ1MiUbeHAGaJMv14jIMVSWTFvkthQ7k-Z8qvU6mdQUMToBy4OfkDEmLkKlNCYhekLCOoLz80coJoKivtUm67G3T0KmZ-1AUaars3PLJLF-a_N2kWLNO9MMebwOHkLe1vAFLts6xSt5cqfhveKYVe_Z9dbuplWawcsHiSpX--FqzYcP5Y-Np8x5Lou8kD5yIebAbVOYiCiZ4x_MlHUcoNEJo2qedKJfd3ufW2v8uhj3t_58SLg3tG5REUSpbssfJ9LNsR0vqP1DL-PL_AjlkgLA2zu4eUVRZpY7YhJF7w8iEBD3PdmSFpZa_2mu2Ss8A3ySSY-JT9GPGTTKu5aySHuZ9JhWAdlscwlzHiS17zCHqPQOXLR7WJYKkMlGeUG1IdClLX0a1It5wwNtdq6intgKlTsOMtaCtSo6XA0cut1l4PF4pQJ5hQ3C7uF1sg8xny3op080obK32iaVkKB7cHQ3U1L1KfxMd_oQeNzJCoDNCJ1L1XHwMwz-CHnfiwOxiZtQL9wsd9nQnhDHYH2NbcCohTM6QCW5fm9I4C-rttfFvJElYIGG5zsb6XHMIpAV9azaTZv_VzqypaPMbfil_NvSJispN_pKNmodvxakG5I50MUXPBfYytwPhKQZ_JwWOybH3zJ_IG5RhPwfC8TqQAZ2FK12Dg7FlmmrGjQi4_2EMbQhJycMyLbRM6ePcys794179MPLVlNRDu_BBVlEdQx_z7vZfdjLVLI6PzJ3v1-NOiAeVBG3syMkreZ1ltnnVv6SA9d-agmiaqE08UpARV-GXLeSxVAuGAqDhbLGqsZ9YJmKHoW3Qo_5L6oVIakmXvLhnrRaCKtd14iSBTvQJkNBZUIhjpwAdawFYfrg2dFfwyQ1CEMmKIdETn7E0vyP0PftiFjDQgRggjZpzOn3MMOfeZElQ7FvM0809rUgnWCNud_bk-wvF0Y5ADNyesTnWYhkXEY5pGH_54OgGC_Vt8DZN9PGqvB52g9oIm9zMWnlCO83uvngHOm759OkqsdUOTuGlDEpCOw2BQdYPlNrZNUJsz64GaFarKvDUogVV7IjWC8uhl1aWNKIJbpg-2sqmm4XMDfakWk8EeoG3AgTbKFwYA_Wmci6omNpibw-djjoKYY6EYUJCxYWkGQWEHnG48mTSVLaAinKitIpwngd402PAWbj14hldvLrqypubksQxkhnSgqK1nlu74A-jk9CzBV-xennbZSLht-_Pzl5inUzsbydjuq1t7bDSjc8tKbj_Imgx93NwHWBrGXfxtau7zWH7alLFU5xfOJpE_rw2FRvzeY2yY5sXoRMpjDolae4w19u1qV-jzdA5m_OiRR_eLYulicUMMOOeTePZMxk3sU8tapJh6gT9kmYbHm7LLThRyd4VvLbEY-uNadyTb_C2SooXhhoNjjBDNJ0mrn-t-vIL0gUJIjeNlP614L2rE9B6v-m9RzUX3OVauXAPao4qz0Aj_j4wKMaAdWIjAMgxaRCnIqtD6JvP6fx_48jZD_2Jrb7-mp5mGih1qYf07Geg-MguQo5xojggeKA7IR1mGHtGO-MzwfmV9Mj7MxA4xbP3Ufm32VZIoOvs9TM1r9poDvtGJdomrLTknuMtCY1q93QtmInSNpzthfyW4GqVdHhpi0Q9ISbvpT-ffPD4vfF4ctvh2bKu2umtpYTuwQU3b3n4TB74vK0M_dcTcQb15EMxEgvB-d96Fp_jrxMQolwUexJayed7YtL9tnZvJH-arCZG62tk8MPHL_l9atHOCX-umfT9gGzZ-0Ra2hgR3rQ93GyNjf1M9V6NENiv13ux1zmQuh1ljelvPGqgEBKg_9_TltuePM9k8hWTtqv9lqR7bsQUAQGSIL9BTKYfl1iz_ZHYsLXwIHJsxCbjivkrpLtNM1Ec_uvSYXYeEDzkTGGZhOZIdldWpH2DVFWv3oKamYlkkBpTIaF7RXQk52LME7p0Fod_TmwnMa3go-NpYyrlO_PPIhmHo_k-D6vdalE08ypxXH6io7jhHv2VRDc9gIQzyDe0dLzualvUHIAORJ9TfNJATUrwsBrWDSgti5FYMjkF1gtbp6Q6GcXDpiE98nbboKp0lYR1dTHzPRTAZBifzL_wxqTznMMgJCRFNd7--3-QQO0R26ZrRW8-q-gkBbv7oGsAsLayHOWETLiVMRiyi5MVoPWQiJd5ycO2dPH2TdpyqPiqkv2U-kcgBqQFuWM-31FAuOPjucqKquwxq8OI0KvC4lhMrnMOOJy3gjn03JwJ29ADFepE8UhArFZgDhxkgAL0YEyJdZ4MFP01S7VxdGdkqeyw8TxmYuP4gUdVtimjZmoOjrtsAAJatqIQE_6bRdLIcwxt6DMAFldcd3Y7Kf63J91H5Un47r_ncXPTaMYCOHHigUIcdYDKDnZ7eLs6x4NFrV8snHWvQKxyfsIsg_BqsMR4z5zeeLimU8phTWLq_fS711Pp1tLaF8Lnla7-z9imbqayUBA21ceIlJXk1pHA34BFDNG49CTw1HVDUPUVYvPnivjOPrrwDr5uMpuaeuuxi64wmi_NZbQ4LNmV0fpCI8BM2pc2NV8Yr8FTEul-SQeT1zFd01Pp0_n10sz3rkTufE0YQbrlrtAJgYgw9xJm55tfCF8tsoAulWlIFOE09JyKo76cvr71WPiGGB6pQPTztKxcFiuRlrVCEXXV2hgDecdTuMzz66ZMfqUQEgBCSJBcvY7Xyy-VBTbf46qaj6vALhS3o9K7Lm9LA04nRxXDOmjAGbMZK5EZOyDvEotNnqjzgMG44Os00BsBa1rZsk_ot1EELQ7Eeyg8B2hlqvL4QGz81kDJXQ1Af0Ni9kZSaXUyHOXCcosL0QH_rKsH64gELhCjYsLUbPsgjOPv_Zj8NV5nXqzkgoDJLh9JASgGB_yXw0Xhs83ds1M11JH-10FcZiBKI6klzrXQkAJuP5h1wTqmfHKQgvhcMKUT2zqNs3odi6aFpEAKlJPzYLgI0Lju7WEVmU_tKAHRZ-uosxRMvNQsOy5GmRIPDefn0-CTy_n0mKpY7jqT9L2aCgnP3BbSYdOW1dlJQ3_V-T0CRWUIO3c4uJgGKiVGTWRdJn13WAJ_lNwNvDuJkuPm3tkvnoe-LfrhW-TUgyRvuiH8FpR3Tu-0TKbanrknio02YW3wKjHr36UQluvOlf3UGYdcUaHvz5NzcqWn_V5RjvXWdoD62Zru8eiY1Wqv6yePWAa2-BjDDyeit3HB6I_vzvKtHflXok4OyFMCA3X06w_f3UnQ9rvQ-psFNPFnJK-B76LnnR_CktaDgo0ZcvX_t4lP05AQkuULgnq6OWxTRSPhIJXun3eO-Bb-FvCmdIQd7YjQlQoM2STSVh9MalqdZUx7aarco6YS74_0SJfafMGpMFFwpVCeYAylRmZXUAmgH_5jeKcI54m9wNYjcJWuTvgp2E1JNUoJSg7mwbzB1MjWL2Hu7x4krxmJP2W-LHEW9f0wVoa_1DfAV5FbpytHrGKvei7Wrq0mXBcPcCiNONCWL5QRELD9sGylrjuVvahjNAGJzF9R1jbTW5cKczkkE8DDT4R0wmowpN2t6-9pFPUfZY0Ws0YLXD6esL5Z3Dnumpd0aDS91rrLGQ8oZOUX2-GsJS3eMOx7BJStkK4w272zeCsqFnk3eI05J-8IQuSlOHAPZzIGq1-1j-DG9lyWMsTSftExiJGK9JbykUzb9lKG64FHCCO78U5GoXgFEK5ZkEihGTuHaT7phFXmKKDRguYhw2luZ7fZXZ2ewmMnGfEZiZ7vHOdL9vxlheGC9cQXOTjm0IQ02AX1j7B-idhEqy-JNCCQ_iIuhKvOVQRiOxus3DWLFnjhtb4g-KFKkj1DrC3ShJMzvpy9A0LhJeGhCuKbgmjXOcus9M7NI6b5DkAMO-Wv8jDm__ZFIL6Xj99QB3awyxox4AYf0KALYOV476QrDpLKfsnZyKqEA-uccH-tyk1CQqmr4DybREU9OqT5bYPgTYnP_rO1bK2JqDcRgYom35kOMLPVG3LZJOjO9HWv-zv_kAPI-4Z-DNASlLpgtzBGTv1sb7AVL1bwZXNlXRI5cvINXqZ8iqzyT1eshMYXt-crWj1sVLVOn4IpxJehvdhF2mHjr-PNP8NVTKyZ_BcQUTMVrdTMmqE0ur_2rxmsEzEVBtfpgKBzPKwFZ4DstwMytBmFAZgN-gGdrk_ZGHohagqpm4_gdsd-hc3704FwvCIpNN9ZdvqFLkoyfpRBI8uQSNFcW6a1s_KVO8H_T_Iq2Br_W9v4TzIVj4t-nTGOPDebyVqIGyLVA51QwJWVZO2OR-HSS7VWnr5W9og7RqP0WU1ulNuT814d-qkJCTGXNOAEYQkm8wIyL0dQlZRM9J7TXopBXtPRZi_qIZ8c70ErrKMl14nTET5-0eCI-tLc78LNDQq-9qb839x7NJvlT8P0bM0OoohNR-RNUHmAeMRhLHySAEOI5-KVuMNQ0nro2HYPZksKsMPOVEA3BDMSXw24r_GA1fdzLe-f0_CjCYyGTQse-ZvoWurMNvCE33CEv3TPCPuDhDRDUcO_4qKvBacFqThJMV1_5VtskT1PHx3uDl2_N-QV2j7DHNciMsOnb70x9QLm7-la0kpmn2GEuGLMXrBpg17cQc4x7qHOvXWLur3fMQg1LsLcy9AvfvsB7fHfMzry9BdGb21XIX4EWzibaOgPclro8wNm47bMj10wmVKLgkY-gce4iR9fUqHH48WGR53p8XNlZ7m12WhnP-mzJJTOp3ISJXQoAr5syxZ0TW4LMWbw1Zvr9SJj9uzerv_NYx0LIoYdNJvJmMvj-2vW7Aau9WCulOTCdUFqTGomqzh2ZOl7jK7H6lXfl18qLIpoSG8tb7kGITgaesW5XQWcx10kVj-_GFx_NR38QlQ78FZj_Js9_tYDktT1BtKSZ-Ys0FhhKb13g5NiB2098Aj5PW9FfWN8kz0cVEkSuyb6ndG5VbO3JlkO-SeiqQIiAJ_0JpR6vMAb6-e8DKekL00f6KrOqDSzcnGNnVSB-xleu4MuU016HC1mOVy4kC-gM0uXqHu5_WRyF_4M66rXM2hTx1otvCkJdLTv0lsFma78oKwKNLExB1eu3ldxubMSTZDhvA8QUc7gFaW327L62I9BalU1jZGCAiZL28dQz6lx4KhtSQ_xbU_HaAurEugzeGEQDj9hw-c73bkGf5XK6J3NecN2zUXuLsadJISA7J2TaO42cewlSo16Fw7YeXx8BiPKduulDLu2K_skybXvDuREvefTxgpCEp6-SWH4IhzcjIF_duwLiimf6s_SWbthT6hDA0DtuchW3HdvZ0-wRpZLOMAzU0gyTuHYqDlsECBROZj5AQLzRbr0nFD-6Y_6zNDqnwqpxd43Iyhj4PrvDBvGi59ClTqON3CNwf9m1RqSSRkQCSL2e-M_geWReF9SDEmS07ug0j-A5OPsUttMWk45ImG0sFnF8sjs-IbOcWRaS3Alln4xzbx4YcDCi3YZop4vpnu47zx1co000ZfL1cXgBWWIqEkMLocLBBpMfK0T3FjYlFaHQf9NoPRTJGwEKzuYJ-KiZxSrl9nCJR2mttaQFqWRsUSCiKOCFP1voIrp1z6sM5RXNAdQZFFza-UJHPHVwiRwVaXfAfkYaqxqnVFteAOtSgovPPzmyheCKzVHoxRVAiyAFrVyP8wotBnloxIENkA5O-v1CPSfTauDQHSRos9Uuh9VBjeSedPkJrd82PoLm5Txyhy_xnwBl_WgIK0wXNbZwC6EvxrZoO8Mjeq4ZnPRzAF_TVj6q1Os5-rE8WDd_xEfHGYHzSjL9U1DPcdMMxLNGXlxQyzIMTZDW90FdRBQQ-3iimgVJgPSn-N3GQ5somLe5dyEXs5O8iPi0g6Sq0VaYAMV22QX0mIOqE04BOwje032nHybx2dY4iGHdbNTf5vMxwOlWDE3haHau8D_XOgC1udkb01uBS-QEiIj-MXWQ3HlnGuUytMsMhw3BEnaFEu4kk1o9fbu5zdeuEiHj0q2CcOwMQgJg7UA5JCInL-ynm2qGcWm6DQIIjOB36j2kUVTHrdRDYDKmGSJBXteFwAv5ZLWS6P1Uz5OdSeIOwZUSWPLgr6krxiKcEfOd07xAHznT7FvZtjjk3GcQ6wkItH42Gk8DJl_Ao8U0BplgwFzN28-9kacr8Nkb6cunQ6b_De5QDIvUFmI_1pT8t9m7pIePNU5yoOM-BP65CGcK60qg3vYFHFh_3FzikfVAqyLoc4wF2pIXwGmxiBNlYmx01vTSglBzmvCjGjuxbZaOW6ecGD63QLnEJTkTmEyWN7B63OPkiuqSz5Jgn6LpywoUakUTSwRhrEhW6cPA-kpKlGaFYR6jfBL0gHfhDWbtkFX-eqDVEv_cLXnU6iOqm7vzWCzGAvqoD9uNydjd7KWkfdAxL5zSKDIodopsyoXJ-xCvRDz0UbwWeIbS9VoqKjZrsej2F7z6MlQQhfQ-H5yYaEwRcDklCsY68VxpPv7FtfXz7EFWuMrfxKfh_-wld6lPe-UNNfXgjeC-HfEveaquJAElBaTXbVxofJyJBCsaMt0TrX6lcBLzfw7mImSViTdN10qyiBGmUw3PB6mqBWbL9xJSRkVBDpSTBgWavQwFUm7ELi2vAG2It1Sz2285WqgXSC9kR1q8Oa_ru4wLrItW7TKaD1yR95BbzsjrfxDJzSnhpNM99WSMhBbFpolNmADxX4Cvh2OltTXXwkC7hMNpmn26UDquNuB-mjojGZOD6pDrPUZTACXO-tUgYMGFNx_D-3seLN1Lv1IzEq26My-LL0XLEuSPWM8xNjZbmWMquHefDXtQMjmtBbH56WOUtMzW0lTWdV8b_HOUR6tIeOA6LxGXYG1n41It12e3eMeVvKKiQXOl3L1gO1gMUGNDcYgpOIOOFHdxABLpdRpQsM2rHnFshzKaj7r6AnVrtNr2ToQ4Ui9bjlPxLbnNGL5gqJxEsS6wlVmOVA2_UpMj4kuZ3QuvdtcPxTG3l6_h9_lB8Klxxl4wUauu5UOpPdgLBbEZyJzBk7_SCvNU7RxB0xSnUdFWAT5mcswV6-xaZ-I4E88WF6LXNu2OC3R6DqYxypRVGqRrVL3kwcumF8-dL4BvKgz_abxr0K3_2Umcc83JXNSq8gg63WUDSLugUJZFz6cgqbV_wa_mgVS5iVu_Stomq75P-jpI9zA7bltxLTEa1isROlmgKK5F1GsLp9ADmgoSJZAVIdQr4Z4xBqFzzDaaN8iNbMSQLxRN4xP3DxkLDffBZ0BSDFjpiYTtwbItfwJJWDSHJvMLH0izu99RoaSZUhD-w36f2U-lbiMDdfTebg8MibHc8Q9o8T8baMbHwLxKlONuzgv0o87_aWnnHzRZNX_kfqkPwcnXGQ-UoaPuRTuvJuqifvh-qABIUA3DkNtK6YicmuJcuccVJqeT3LiUs10bKJaxxgy1n3H3-8rDmh_z-HYVyBJLz141vF7G6XdpmvGVAYaaxuctFcaBiXpA6ZIWXbFjVP7Vvu4p2b99I9GacxIiYB4p2teY9CQpnCHTZ7U4kfysKOMpqXhhF5Q0WLS_hayEH2l8yi1ZxmrOPMK0-nY-GZH4bFfVfKbbu-7cgUNZh_PLqO8gSfne9cAtIsaj0eSEurmHc-h4ZctNLYrGK2bRBTGFT5hytQm3fspw0xfIsBYb0J8F4M_a9OVKq5FiQx8pv9-5hTQ0M1S3xjOeDbIjtm-9qM_p6JzKLLKTw_qSJKMNlZHYH1oRB4fSGgQ_-To9v-So2EwEobiG6KvIQ7J66NbiQKhGN-C_0-RswHsp1PqzW4nu9YfyAKF9RJHxRQEtvOMNFpVSwGjVk7JhKKtCSGC4Oaeldnfe_tpoza0190cXpXQ2epb68HS4DSVSB7ftOWVSbhHZIiUzUoRctapX8xRQ2v6iadFChsnWlUqxf8xCSKuQYvcnac_r8JCjdaiorkUx6BHoAUN-L0Tg_iygaj-0UykdHzoMlAebm9OOvGz2mIEBVvp06wjinEj_krKRu-4Ps6-tgf83m0tyxad5HwpAPys2Xb0kAGjyRlOYGgiQZPxbPRk2dy9Ih5gUe0aAu8luuCmVv493TEXSZDKeG2rJy8b5TtNxLZjXMhVhfeMiiUGJGwiqBxoxKT-OrgkPeyOr7mEDOFoQoCdHkW8cpCp_cyn817rq8tM4nDXE-NMeH9kIQPNZ7AlXxoiPldGGxBdpSxDfBvloStFQsisMLPu9EvPF5W8zQr8eP2-HXogwoCV-3_nltKiC8k5R9BnaIKBeRXpPDfUYa-_Qz7dKhyJdzzGvaTdO5wRokyhKJpIllROkkNCtKeEW-9InAOIoOO4ZSEmBLmtBI6cj5UuJsTvQPldvnLT2CQubGioa9IF3ROayQG618F5i2HyZS_kQqUPtoDHiGwueXnzX7JjY88R2X3gHaRT-81FtLbRDW_2iJaP_3QUH4qTNQiNHxucZqPtsnO0R-LGQLp6lwv8_QtHPl0OLTkHQ3E_b2jCgCkcVeRe6v0OL-CiYBDSNU4N1V-47OT3loL7PnG7G8JU5ym4nswpBvX-Q1IonnE6At0A-Ttm8z9AcNZaJIAgH5khzfhe2VXWSVBKj4N5po4Fct8-bNRhWCS_jDwNn348pFbyiASR3rpOY772IYwLcb7stNKl-qnc8-5n6aQYPTEVeYTx7JY0TUDZQ6uoSqIBeCmUorbTBuFOUBNxbjXHMYgPNrrbQ7bSNQH1_lofNL41Q4Oi5lTpTCnsJ1rsa9_RAmt53kPIO80CQcVicrFrmAwIex4t7EooTOkVTJSlWWPHGmHlbYvYkIJ2pry2ogOveimaeTC-J_IXKCU2TD-T7LRCtKZrmeCg8yoK4_UMxBnAr3OwE98j-cUzqb-DnXzIFLdbPiPTPCm-K-6DsFKS3EUy1vD1kIly9trPYNCi5ZBAgb-DLIS9al7Y5Nm_xKChyEBv6MW04fAcCggqTaZ2qgbBmf_Ic0yVQL7-9GeTlBWbW5_oWR2Kssl01Abnl3XhAiGQUcSCyvbo9WoFCyr064N80ZBvqksRIZEPvceuHv77K1PjLwCPoNbt1Aj7LaD8WcuAt2EVltf3CLQLOAkRtIteh7b_olyr11MJhe2HxFZPNMJA4v0rTdjo5pA-ajpucMfyAt6GztRxBKZSjJBMJYEsxHkr6vTaIY947Tr6oPqf6CLYo2BVTxdbuE70nQjDVCu9wJ5t1Vj2hqHtoWOCFbSFa8AMhhjT1KLWHj35iDX3ecfL73iHvRt61SDGD1o_PXxmM7vlcR3WEvjpPPVkiXcwQ5HNlN3c7iaZhNQBlJ6r9lysmydzB1Ty5boJCrsouyq80-WT0s_48dtqamejnPDuAGEqAKbjL7RrMkSaNngIMXEeT3Bu8PHuS5FBgZc9LRNX-3o1aqiaPHZxm2_R5UVhverJ-8IW1CZaGtvZrr0-90XTKuOzBs1ucW1C_nB6qmaiCFLKBIaJ1dsSazqQaiGBM07B7rtDAuPtmm39LJY-PPiGXlpTjpL8qSbEp4KRdfC-j4LJoQ72RL6saBV5Wwk8PjW1QAEoHrNYK4Xb3HBBKeHNsYgwpPvoQp0YKZqvMYaUM55FZUA-qyQSzjzlv8T8H2-QCj6Vy1T4gz_N9qM3xkUlDlC1S2TzwfHrYjVkoFBF-UL4-eDy9YU1mtbJFElKXDvufCHPbZBsmMEKRsw6YmTbb0mtkTJgpYOHed6GJNu4GlTaNc0Eh0GXB-EtLFVY8FYxFey5FXGm4sc4xMoGwkc0W_c7gSDMAzmMsJgwZCSu0NS30DERD05dyGLPSSB6m4rDUFaVe3p-18_vqZuboNB_7ebO04tG76l8RNl_xU-H3uCRO2c8JW1V_JpJCbG841M8vWxCrQ5ZSWDz0brSBA9sHAkPoCVg4Lmnq7tBENCNBnH-y9rwnlEhcNrDX4LgtF9kftlWq2GJJ4K72PpGZto29jCGcf8rP4loBi3lQtY0l6JOg6ebC3U5-ZAkotMSTQC5ZshhgOGlHyZncmiezlzhAkRfF3gg2XA84DONADB35iK_ldA8gMPD81fff-ndoc4qs6Oa16VAdLW9nlo-5kRQIRY7pMX9W04ZYbsU8h4ajIcnhECOR3GjEzwDP2tSMgyNt6_A18118AXdNyly7m9iiEYn8vcniapjmau0LoEYCCuN1WSlOYtnfdFmXIh38_wCrVJIUW4VlN9uM3eRXrlPc0GtuGVsu73O33wsH_yXOJKsnyG-6gdxkWQwD5w95StTp-p7c8F76QJyNEMHwh0xsldTUzgwDepbCYoCf0ocJ5G9NBcO1owscV53tuUhwyS5IQkFagp7KWNmvU3mo3ulLSJV-jp9bUcfalP-xKhEU90oxElu0gzE5yFmb5T4kYIeTznJG2XIqBllsCsT6RoC2-0gHH1khZbmeL9n6Yk9pTlsk-mAMxk4rRjUS_VJVQr0DOzsvVNC4amWXprg5USwJ_85EE_4_837Uu0zA-4zmwiTN_fdD6TBYw3X8YSN-DNq_xJ7KwOXI8F3Ke1eqsayzT9d-b5gglmUsyMuT2pU-SAaWmJdk8GKyvMwEOng-Hcpjfyu42wYZWnLXQxslgxSgj6N9cwjakY_PLa9SLZ7sBewJbFs9jQuyteL-qGS7Z_HK6mAwjYozfHxuoxWa0-nrA3lgsiwo8KRshS1tZrWFKH01Je7inyjy8NKEqItarpLBNZe8vMQhFsSMeJ4GLrjS1i24ZGy8J-IAHYn4CmI6qF178Ic23WfaLpSKXr8fCMCrR7ayZbrqwlEKvgdW9xok02dfwK72qx1P2RR4diM0Ll8D8SuksxGJK2Ssav4BxrJQP56sdxMXtudc-NrWdJTpSYs3wwKS7AB13EG4H1aciebGgo1k1H_OYNDmVz9ZdFHYzj-Y5CXdAyqM5kLq3ewpbILbQuh5vOLySpVe4VQb_qcWIJNMN7QRnvJeFEoBBQ==