devicely 2.2.1 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/server.js.bak CHANGED
@@ -104,7 +104,7 @@ function findScriptFile(filename) {
104
104
 
105
105
  for (const { path: scriptPath, encrypted } of pathsToTry) {
106
106
  if (fsSync.existsSync(scriptPath)) {
107
- console.log(`✅ Found script: ${filename} at ${scriptPath}${encrypted ? ' (encrypted)' : ''}`);
107
+ logger.debug(`✅ Found script: ${filename} at ${scriptPath}${encrypted ? ' (encrypted)' : ''}`);
108
108
 
109
109
  // If encrypted, decrypt to temp directory and return temp path
110
110
  if (encrypted && scriptLoader) {
@@ -120,7 +120,7 @@ function findScriptFile(filename) {
120
120
  try {
121
121
  const content = scriptLoader.decryptScript(scriptPath);
122
122
  fsSync.writeFileSync(tmpScript, content, { mode: 0o755 });
123
- console.log(`🔓 Decrypted ${filename} to temp directory`);
123
+ logger.debug(`🔓 Decrypted ${filename} to temp directory`);
124
124
  } catch (error) {
125
125
  console.error(`❌ Failed to decrypt ${filename}: ${error.message}`);
126
126
  continue;
@@ -538,10 +538,10 @@ function resolveAppPreset(command, platform) {
538
538
  // Execute command on device(s)
539
539
  function executeCommand(deviceNames, command, wsClient) {
540
540
  return new Promise(async (resolve, reject) => {
541
- console.log(`\n${'#'.repeat(60)}`);
542
- console.log(`Device names received: [${deviceNames.join(', ')}]`);
541
+ // separator removed
542
+ logger.debug(`Device names received: [${deviceNames.join(', ')}]`);
543
543
  console.log(`Command: "${command}"`);
544
- console.log(`${'#'.repeat(60)}\n`);
544
+ // separator removed
545
545
 
546
546
  // Get full device objects from connectedDevices cache
547
547
  // Match by name, udid, or serial
@@ -551,7 +551,7 @@ function executeCommand(deviceNames, command, wsClient) {
551
551
  deviceNames.includes(d.serial)
552
552
  );
553
553
 
554
- console.log(`Cache contents:`, connectedDevices.map(d => `${d.name}(${d.status})`).join(', '));
554
+ logger.debug(`Cache contents:`, connectedDevices.map(d => `${d.name}(${d.status})`).join(', '));
555
555
 
556
556
  if (devices.length === 0) {
557
557
  console.error(`❌ No devices found for: [${deviceNames.join(', ')}]`);
@@ -595,7 +595,7 @@ function executeCommand(deviceNames, command, wsClient) {
595
595
  if (iosUSBDevices.length > 0) {
596
596
  const names = iosUSBDevices.map(d => d.name);
597
597
  const iosCommand = resolveAppPreset(command, 'ios');
598
- console.log(`Using iOS USB script for: ${names.join(', ')}`);
598
+ logger.debug(`Using iOS USB script for: ${names.join(', ')}`);
599
599
  promises.push(executeWithScript(USB_SCRIPT_PATH, names, iosCommand, wsClient));
600
600
  }
601
601
 
@@ -610,14 +610,14 @@ function executeCommand(deviceNames, command, wsClient) {
610
610
  // Execute for Android USB devices
611
611
  if (androidUSBDevices.length > 0) {
612
612
  const androidCommand = resolveAppPreset(command, 'android');
613
- console.log(`Using Android control script for USB devices: ${androidUSBDevices.map(d => d.name).join(', ')}`);
613
+ logger.debug(`Using Android control script for USB devices: ${androidUSBDevices.map(d => d.name).join(', ')}`);
614
614
  promises.push(executeAndroidDevices(ANDROID_USB_SCRIPT_PATH, androidUSBDevices, androidCommand, wsClient));
615
615
  }
616
616
 
617
617
  // Execute for Android wireless devices
618
618
  if (androidWirelessDevices.length > 0) {
619
619
  const androidCommand = resolveAppPreset(command, 'android');
620
- console.log(`Using Android control script for wireless devices: ${androidWirelessDevices.map(d => d.name).join(', ')}`);
620
+ logger.debug(`Using Android control script for wireless devices: ${androidWirelessDevices.map(d => d.name).join(', ')}`);
621
621
  promises.push(executeAndroidDevices(ANDROID_WIRELESS_SCRIPT_PATH, androidWirelessDevices, androidCommand, wsClient));
622
622
  }
623
623
 
@@ -631,7 +631,7 @@ function executeCommand(deviceNames, command, wsClient) {
631
631
  const successCount = results.filter(r => r.status === 'fulfilled').length;
632
632
  const failCount = results.filter(r => r.status === 'rejected').length;
633
633
 
634
- console.log(`\nExecuteCommand summary: ${successCount} succeeded, ${failCount} failed`);
634
+ logger.debug(`ExecuteCommand summary: ${successCount} succeeded, ${failCount} failed`);
635
635
 
636
636
  resolve({
637
637
  success: true,
@@ -713,9 +713,9 @@ function executeWithScript(scriptPath, deviceNames, command, wsClient) {
713
713
  const successful = results.filter(r => r.status === 'fulfilled').length;
714
714
  const failed = results.filter(r => r.status === 'rejected').length;
715
715
 
716
- console.log(`\n${'='.repeat(60)}`);
716
+ // separator removed
717
717
 
718
- console.log(`${'='.repeat(60)}\n`);
718
+ // separator removed
719
719
 
720
720
  resolve({
721
721
  success: true,
@@ -772,7 +772,7 @@ function executeAndroidDevices(scriptPath, devices, command, wsClient) {
772
772
  child.stderr.on('data', (data) => {
773
773
  const text = data.toString();
774
774
  error += text;
775
- console.log(`[${device.name}] STDERR: ${text.trim()}`);
775
+ logger.debug(`[${device.name}] STDERR: ${text.trim()}`);
776
776
  });
777
777
 
778
778
  child.on('close', (code) => {
@@ -793,12 +793,12 @@ function executeAndroidDevices(scriptPath, devices, command, wsClient) {
793
793
 
794
794
  Promise.allSettled(devicePromises)
795
795
  .then(results => {
796
- console.log(`\n${'='.repeat(60)}`);
796
+ // separator removed
797
797
 
798
798
  const successCount = results.filter(r => r.status === 'fulfilled' && r.value.success).length;
799
799
  const failCount = results.length - successCount;
800
800
 
801
- console.log(`${'='.repeat(60)}\n`);
801
+ // separator removed
802
802
 
803
803
  resolve({ success: true, results });
804
804
  })
@@ -836,11 +836,11 @@ async function convertNaturalLanguageToCommand(text, devices, provider = null) {
836
836
  async function executeCommandsSequentially(devices, commandsText, wsClient) {
837
837
  const lines = commandsText.split('\n').map(line => line.trim()).filter(line => line);
838
838
 
839
- console.log(`\n${'~'.repeat(60)}`);
839
+ // separator removed
840
840
 
841
841
  console.log(`Total commands: ${lines.length}`);
842
842
  console.log(`Commands:`, lines);
843
- console.log(`${'~'.repeat(60)}\n`);
843
+ // separator removed
844
844
 
845
845
  const results = [];
846
846
 
@@ -899,10 +899,10 @@ async function executeCommandsSequentially(devices, commandsText, wsClient) {
899
899
  }
900
900
  }
901
901
 
902
- console.log(`\n${'~'.repeat(60)}`);
902
+ // separator removed
903
903
 
904
904
  console.log(`Total: ${results.length}, Success: ${results.filter(r => r.success).length}, Failed: ${results.filter(r => !r.success).length}`);
905
- console.log(`${'~'.repeat(60)}\n`);
905
+ // separator removed
906
906
 
907
907
  return {
908
908
  success: true,
@@ -2063,12 +2063,12 @@ async function replayRecording(filename, targetDevices, wsClient) {
2063
2063
  ? recording.devices
2064
2064
  : targetDevices;
2065
2065
 
2066
- console.log(`\n${'▶'.repeat(60)}`);
2066
+ // separator removed
2067
2067
  console.log(`REPLAYING: ${recording.name}`);
2068
2068
  console.log(`Original devices: ${devices.join(', ')}`);
2069
2069
  console.log(`Target devices: ${targetDevices.join(', ')}`);
2070
2070
  console.log(`Commands to replay: ${commands.length}`);
2071
- console.log(`${'▶'.repeat(60)}\n`);
2071
+ // separator removed
2072
2072
 
2073
2073
  // Reset abort flag at start
2074
2074
  replayAborted = false;
@@ -2149,10 +2149,10 @@ async function replayRecording(filename, targetDevices, wsClient) {
2149
2149
 
2150
2150
  isReplaying = false;
2151
2151
 
2152
- console.log(`\n${'▶'.repeat(60)}`);
2152
+ // separator removed
2153
2153
  console.log(`REPLAY COMPLETE`);
2154
2154
  console.log(`Total: ${results.length}, Success: ${results.filter(r => r.success).length}, Failed: ${results.filter(r => !r.success).length}`);
2155
- console.log(`${'▶'.repeat(60)}\n`);
2155
+ // separator removed
2156
2156
 
2157
2157
  return {
2158
2158
  success: true,
@@ -2555,7 +2555,7 @@ app.post('/api/locators', async (req, res) => {
2555
2555
  return res.status(400).json({ success: false, error: 'Device name required' });
2556
2556
  }
2557
2557
 
2558
- console.log(`\n🔍 API: Getting locators for device: ${deviceName}`);
2558
+ logger.debug(`Getting locators for device: ${deviceName}`);
2559
2559
 
2560
2560
  // Find the device info
2561
2561
  const device = connectedDevices.find(d => d.name === deviceName);
@@ -2592,8 +2592,8 @@ app.post('/api/locators', async (req, res) => {
2592
2592
  // Execute getLocators command - this uses the fast shell script implementation
2593
2593
  const result = await executeCommand([deviceName], 'getLocators', null);
2594
2594
 
2595
- console.log(`Result success: ${result.success}`);
2596
- console.log(`Results array length: ${result.results?.length || 0}`);
2595
+ logger.debug(`Result success: ${result.success}`);
2596
+ logger.debug(`Results array length: ${result.results?.length || 0}`);
2597
2597
 
2598
2598
  if (result.success && result.results) {
2599
2599
  let output = '';
@@ -2604,18 +2604,18 @@ app.post('/api/locators', async (req, res) => {
2604
2604
  // allSettledResults contains: { status: 'fulfilled', value: { success, output, device } }
2605
2605
 
2606
2606
  for (const scriptResult of result.results) {
2607
- console.log(`Script result:`, scriptResult);
2607
+ logger.debug(`Script result:`, scriptResult);
2608
2608
 
2609
2609
  // Check if scriptResult has value.results (fulfilled promise)
2610
2610
  if (scriptResult.status === 'fulfilled' && scriptResult.value && scriptResult.value.results) {
2611
2611
  // This is the result from executeAndroidDevices/executeWithScript
2612
2612
  for (const r of scriptResult.value.results) {
2613
- console.log(`Result status: ${r.status}`);
2613
+ logger.debug(`Result status: ${r.status}`);
2614
2614
  if (r.status === 'fulfilled' && r.value) {
2615
2615
  // Check if it's a successful execution
2616
2616
  if (r.value.success && r.value.output) {
2617
2617
  output = r.value.output;
2618
- console.log(`✅ Found output: ${output.length} characters`);
2618
+ logger.debug(`Found output: ${output.length} characters`);
2619
2619
  break;
2620
2620
  } else if (r.value.error) {
2621
2621
  // Script executed but returned an error
@@ -2693,11 +2693,11 @@ app.post('/api/locators/click', async (req, res) => {
2693
2693
 
2694
2694
  // Helper function to parse locators output
2695
2695
  function parseLocatorsOutput(output) {
2696
- console.log('🔍 Parsing locators output...');
2697
- console.log('Output length:', output?.length || 0);
2696
+ logger.debug('🔍 Parsing locators output...');
2697
+ logger.debug('Output length:', output?.length || 0);
2698
2698
 
2699
2699
  if (!output) {
2700
- console.log('❌ No output to parse');
2700
+ logger.error('❌ No output to parse');
2701
2701
  return [];
2702
2702
  }
2703
2703
 
@@ -2708,19 +2708,19 @@ function parseLocatorsOutput(output) {
2708
2708
  if (trimmed.startsWith('[') || trimmed.startsWith('{')) {
2709
2709
  try {
2710
2710
  const jsonData = JSON.parse(trimmed);
2711
- console.log('✅ Parsed as JSON, elements:', Array.isArray(jsonData) ? jsonData.length : 'not array');
2711
+ logger.debug('✅ Parsed as JSON, elements:', Array.isArray(jsonData) ? jsonData.length : 'not array');
2712
2712
  return Array.isArray(jsonData) ? jsonData : [];
2713
2713
  } catch (err) {
2714
- console.log('⚠️ JSON parse failed:', err.message);
2714
+ logger.debug('⚠️ JSON parse failed:', err.message);
2715
2715
  }
2716
2716
  }
2717
2717
  }
2718
2718
 
2719
- console.log('📝 Fallback to text parsing...');
2719
+ logger.debug('📝 Fallback to text parsing...');
2720
2720
 
2721
2721
  // Fallback to old text parsing
2722
2722
  const locators = [];
2723
- console.log('Total lines:', lines.length);
2723
+ logger.debug('Total lines:', lines.length);
2724
2724
 
2725
2725
  for (const line of lines) {
2726
2726
  // New format: " 1. 📍 ButtonName │ [Button] │ Label:LabelText │ Val:ValueText │ @ (x,y) WxH │ ✓Vis ✓En"
@@ -2848,13 +2848,13 @@ wss.on('connection', (ws) => {
2848
2848
  case 'execute_command':
2849
2849
  const { devices, command, useAI, aiProvider } = data;
2850
2850
 
2851
- console.log(`\n${'*'.repeat(60)}`);
2851
+ // separator removed
2852
2852
  console.log(`WEBSOCKET: Received execute_command`);
2853
2853
  console.log(`Devices received: [${devices.join(', ')}]`);
2854
2854
  console.log(`Command: "${command}"`);
2855
2855
  console.log(`Use AI: ${useAI}`);
2856
2856
  if (aiProvider) console.log(`AI Provider: ${aiProvider}`);
2857
- console.log(`${'*'.repeat(60)}\n`);
2857
+ // separator removed
2858
2858
 
2859
2859
  let finalCommand = command;
2860
2860
 
@@ -3469,12 +3469,12 @@ function startServer(options = {}) {
3469
3469
 
3470
3470
  return new Promise((resolve, reject) => {
3471
3471
  server = app.listen(port, () => {
3472
- console.log(`Server running on port ${port}`);
3473
- console.log(`WebSocket server ready`);
3472
+ console.log(`✅ Server running on port ${port}`);
3473
+ console.log(`✅ WebSocket server ready`);
3474
3474
 
3475
3475
  // Initial device discovery
3476
3476
  discoverDevices().then(devices => {
3477
- console.log(`Discovered ${devices.length} devices`);
3477
+ console.log(`✅ Discovered ${devices.length} devices`);
3478
3478
 
3479
3479
  // Open browser if not disabled
3480
3480
  if (shouldOpenBrowser) {
@@ -3485,17 +3485,30 @@ function startServer(options = {}) {
3485
3485
  });
3486
3486
  }
3487
3487
 
3488
- resolve({ port, devices });
3489
- }).catch(reject);
3488
+ resolve();
3489
+ }).catch(err => {
3490
+ logger.error('Device discovery failed:', err.message);
3491
+ resolve();
3492
+ });
3490
3493
  });
3491
3494
 
3495
+ // Handle WebSocket upgrades
3492
3496
  server.on('upgrade', (request, socket, head) => {
3493
3497
  wss.handleUpgrade(request, socket, head, (ws) => {
3494
3498
  wss.emit('connection', ws, request);
3495
3499
  });
3496
3500
  });
3497
3501
 
3498
- server.on('error', reject);
3502
+ server.on('error', (err) => {
3503
+ if (err.code === 'EADDRINUSE') {
3504
+ logger.error(`\n❌ Port ${port} is already in use!`);
3505
+ logger.error(`\nTry one of these solutions:`);
3506
+ logger.error(` 1. Kill the process using port ${port}: lsof -ti:${port} | xargs kill -9`);
3507
+ logger.error(` 2. Use a different port: PORT=3002 devicely`);
3508
+ logger.error(` 3. Set PORT in .env file\n`);
3509
+ }
3510
+ reject(err);
3511
+ });
3499
3512
  });
3500
3513
  }
3501
3514
 
@@ -3518,7 +3531,16 @@ module.exports = {
3518
3531
  // Start server if run directly (not imported as module)
3519
3532
  if (require.main === module) {
3520
3533
  startServer().catch(err => {
3521
- console.error('Failed to start server:', err);
3534
+ if (err.code === 'EADDRINUSE') {
3535
+ logger.error(`\n❌ Port 3001 is already in use!`);
3536
+ logger.error(`\nTry one of these solutions:`);
3537
+ logger.error(` 1. Kill the process using port 3001: lsof -ti:3001 | xargs kill -9`);
3538
+ logger.error(` 2. Use a different port: PORT=3002 devicely`);
3539
+ logger.error(` Note: Vercel frontend connects to port 3001 by default`);
3540
+ logger.error(` 3. Use local frontend at http://localhost:3001\n`);
3541
+ } else {
3542
+ console.error('Failed to start server:', err.message);
3543
+ }
3522
3544
  process.exit(1);
3523
3545
  });
3524
3546
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devicely",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "Devicely - One Command, All Devices. AI Powered Mobile Automation for iOS and Android",
5
5
  "main": "lib/index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"iv":"ecdf5ed4009983fa1c34210a973b237d","content":"64f66014010533738ffbf233282027eac8d7df65eb2a5962bdc1c8b169deeb9b93b791e7b3927d240affbb70767f7c53102e5db3124d786e1cb4ef10ae851c95d40b61db2450d73517ce51d74681efa72823f74af95d5ddd071446274d46e110b729228d41f853f3c3b445aeecd9476e37cb0d993105476ea071ebc82bdd22024ca25343d229475bbefda2db4c95d9d4d2b7baf952f2af7ec6ccaed615b821f6006e32bdac89e7cd35203cca07c21554a0cbacf19861fd4342da660053c6bad45535980b4518dbc0a2661872cc0810c62467932e89ceb4f70a07b9440014790edaf5154e39aa1dcfbc02fbda36b802ab8841f4f32b83585923706ff90b14e30ad5e8abfde1b6f2f39832f10c7105ff86856e1203d1bcca2c097f645e50c6c6584e599ec20b2ba134c839de50f71f4b337a11836b596cae71ceb046c0a3edc70b5ced7e4887c7108c4730dcd357098fbee2aa53bceca700054d32db109795750e13ca3404ef237cb6805f74ff470e66e7257c2f819fbf335aeee4e40cadc403d9b870dc6864c5def7965b026db7442701a21fa2381999f5174e710a739327529c1a073cc06e44422f029b30fae41898937c7906c1447acdb7be1bf0a22f81ffdd733258f0c4c7f5b5d8adf944b95a3dee31117be01aa4a602f3ee6dd629b11b5468dcfa31ffb5f425530fb1faca6a8322bbe45851b2de7af80852f0325d38dc6ad35cc476ab3f24f3dd10b6ad7187b7e53d9a880228c4f513ff674df17a4f7f786f25ec73ef6a307fa0f8ad8268babf1ae94606c82b28c19e297fafe48442ec82a01d479cc0ab0313e1f5c90c21adf1983cd15b4e8690fc18dc68e21e7a9b09beed4d1b792615fe9f048cbf370e7140f8baf68fcdc458f7a1254f2c004e4205d1544c91094ea6d9dfd8a76d3abf01050bd6d4edc5109cb8297dce2e85fbb2ec12fdc12cb5b36f66e2fd45dc171b6b01cb0823c937223da6cec0f9be10afaf98295aaa371c3353e9c2c2da0a146a31b7ef63f8692297548fc04483bcf766ec28dd44915ee1c374952c257fa6368f8d79250ab8d1a6552056a87a859b131303ea4abe471f7151a8bdb808d358a437518604f650d52b5a4b577945b6d8c3e96c00169d6b87656c59aebf580d2fa61b4709961a657ed9fed5009d116b8736a0f9f857237ae2582a4b0962945dbe4ff94060a817c6a9895a7e33b89c172fd6549bfc849439b04497473b1b715b2c8af98b41aa146ab856eabca4633a4125327559a505ef577982dbb1455b8a744a6ea52061d615248728b31728d0b5155c092a534701a147aed4e8c42191373254ca2ab59689a066190e27fb46db9008336d4a9a2241c530206ca2784325b60ce9dca80cd212a7e26024d920ba3aed06c71ef2fb03e169c48b305450934fe95de704d994c88088b25a1a93fc9483a5b9107c83b6cc5e714be2ce0ca13041c4487e47733d7263122cfc7acb1765c63b8a1bff5aaaa47b991c962dcf040d67e5330b7bbd79a0da7193156621198d29666811c3f3195c9a5c37d88047ca8ef384763c0ac20ee910940093eccc11efb3ad87f43e6e409cb2b897f7bb320469cd43b06996e28e5483f207931f8f44574a85db0641e6c2efb16ff219402fcd9c146b2d336120997cfee1023962021db3f5ef3d70a8392e8d6290b3a4c0d8a8d5f00c2a966c226cdf816b40ec8e2cdaa0cbe3d645b827c9ccb2d29f2d22e722cf9f3c377f4245408544aee77bc150b077a838194a37a44cb4f451e21586c7125abcca78e34b2815e39aee2c3e8aadc22328d5de09633a5083e29eff6cbf6753a5eb767968dca796844d4c248447458ce405b193d92ed5bd336d39eb374d90b6bab38db97594d4b8d38657ac82d48c6c888e99815a0fbf66eb076cdfd694f802a0c8719bf690414b74bb94fa317ce1f814b3344b9af4041e3b80cd964a2e390c5776bbac5cf1d4baea31f6e809bffae90699131ef67d34d6dd2df670cdbdb82c516a1b738ac9c61783996ab5a178ad83613c9dbe805afd8810a39e56da61a578f69f2dda3ad3d0aead163ab965c32ebf339555d53aae2b2fbd6fabb46f16a29ee8edb852075e14cb53941c70bb14cfd2b4f1f05c793d06d4770a6c517196a73087aab87fc4a03c2b11f2f7ebf0fa53fa3fba79dc9d540c9c89920f3b996a20927eab9e3745e3378397c36e8ce31398b65c4418568d346de7368f1f4ba517a758f4a115ce6bcba4fdb9c2ec557a455552d3d23b4a9a51d98057bf34aeb5ae62df8d3b0b67db9705dd20f9fd54dcd16330dc7298a92fa6f08c9daa4d5b96ebb0d46c2aa752172b3b3d786cb57f3984ac60562c346593dcef0180be4499c2221c87b25ae2a9a02e4414811056a93f08275f9b98e01d3ba0b79917c52d5c06de9d116cd46d706e114a96c5b2d7ee94e82ec8fe77af37cafc817d03de92b43a43777cf4746f70206d89b04a01db80ed065d09862261105dc4dbcdc48b59590f527c2a4d32544b981834c02759662212e6f2e82bd247d4990d2cd7862e7a0bb892d6720781170e39963b0a45705bd2af6ee8cd4923e506d5a4ad7e19e6db36338b674619128f6c7dc839916fc6e534aa6c42d1f8469eed4d42df8838f13a7cdbdb808d1abfedff734f6a17458c48eeae8592d6a412a249082021b75520415c2308d4ec56ae21b4f8db6e05597c37d29df6340e5b4cd4f1c705ca1bfb12f963f20ef0d8361a86156ea76908676b48ddc50f061cb5473807f4ae3a5f1d64363dd10e3f8251f0a049ab51584306da91cd79ec9dc8304413bef04569e65081377d1625e594711563edba21ea926c13918baa73dd4798be79551429011fd268daed109afe3370e11811ea1bef4aba912db3d4ee6bcae141012408133a806efadf812d6230433835488bec48cd4e8272f58a3c03e8c85703917c73c43c01febc6a3f780f5a88fe8bead8826d62f27a81f8b79ea7d0082ca52663c9273bbb55b3e24a46493af56f6b67707e39bcb876285a5f4e8cc98fed7bb6a150a8f80601fc8f463f1b3fd7b02bafc74bd670243129a8fab4146400a569bb31bf55c274bccc5016288566591cc8e96e83c607a979ba0368ec4dac48be455664699f150b59ed4f01a9462ce632c0a778f8100b8a666409adaeffb622c36c52eba82bd130411cd37a6893180c5bc14303eb5b2cbca95f52f44790ea0599bc0162ec58e22caa7c4df94052828eda45ed6383dc354f70113fb43dff827ca0f947b75223b49e7ac2f23eb452cb67df5502daf2610fc07b0b179af0848129205d1d6dc278467a29a892f39d5aa5eb682913f90e0acc65a5e101a1b7bc2b1d1ca66cd61ef037d9029b102b2f55d59da146d6fad6eda2179d17a8a1b67ab9b9adb52648431f9b1723968d09619790ebfe973811bc5b26f37cbf585191c745727a2954eda6ab6cd0406637fb90b18325348ae6c1dabb516da4cd68605e5f8754ed345547c36fa8c38646ff2dab3f1c091667cb084dfd603a989df3dba23fe185f5be92c67f084708dfa479f922f523fa0b287789cc12cb11de69cb9493bdaf5921c3f7b28c7c3d808c524e8e0c7315097008ef977c9eef7b1cafb9ea223d2637ebd2f225aa39164d0092513da536cfd81ac930a2c8c758f84db44504f4ec854a80ffc5d7cad910e18e8d618e78138efaf6c874e7f64e86590fce7a182f5268661ef8f573fc4c025cb715dff08fe5218639856e89385010c3b446af23df451c3c0709db5d76df613b08ae473e2a504b8679bbf3b3c8eea20bc798ffcbdf46e0206231ad358d96269899989290e347463db6cb6a2f86875ccf3be77d50eec3ddce4ae0d361777ebb7d42443835870710f559a6427df84f485170ce32f1d804eb2cbe9d6ee53022d3bcd82a9e674cbecb129d396a210f6219e6afe6d4b0a9d7ec23939fdff1802e0889686a026f3a2e93d0fcc4a0ba9e93bd739bf913a8f7639bfc926ef1d0bd016eacb60a6cc484ef401818e0b0d7129279b9be3e67afe6745dd0f0e8fab457d151081a4c0505a9abdb88ea7d2896293f9bfafcf7b753c7acb84b3dd7d0baaebef2d3b80469dd03425d6dc2d8beef79185c39eae4302c5019db37574f6a2a9cabdc4bbdcd057b2da8f84fe8909939651c5e7ab899ccc19d67b35ed9cab9761251240348c825882e1a79aac784a6a1088ab0981cb9fc03c7bf1c4c124550ea99320e45418ccbb0bf9d2dd6454c914c6ed780b9bb2220759b0ea339e361fbc56b59ccddef063f16ed35af396c0a494812024b61491a460e82789b50b47611843d1cc4a3bf77ecd27a31630090ebb92e2096ae386494caee7a9dd3fa5701a720118533be1d0f2a7e525c47df6a78e1d33a6bd15909b1ee3631d313e8ca219706c481515f80f8b53abf4e62a2001d79e3ebcaa980e47697edae9f58c0c96fcfce199c8eb8b0026c83fdf429491e4bd8a83880a2e238ff113e8523a6af6acebe3d41eddb8099eb4fae8e0464e56640ded7e8f71fe7e4bbf8fa6759e74324283249db5ea9986d09e70a99b11112960cc4c4e3c53106b77d40a39f49caf0206452409e99ce4b3d736a3deb3fdd9506ccb442e3bc23ca4473374ba663b1546ffc2de3f16ba454eca893b1bc1ed99a9f493bc3cf25775373cc4220e65d3e7fbf29ade6f507f82806fe49ce0cc5786bf2eafe9691dc8266bbaacd17c89e7b29fe31f39dd22034a3819cf3f975fed74981baef9c6c2ccb143f080280d02753dfb86517f55c38b2243d8a0c421be812e2bf3fee7a1275dd111b31e31bc8877e7050ce54b47d1e4e6edd24bf302dfa02146dcfcd91b5604c261f8fead3520ba924437113f56203bf114a3c251b7bb7e1a1554e3985d241414e158c3fa1aaafea009ce4e6685ea79d73ee11051ddf330bc94a543dd64038a99818ace7d18da6deeaeb08097bc3f253dae3a372c1f3197f03306e9d3bfca8fd8adfa56fa94a95f41c1adf161abaa0ca1432aea3c2106a6323bbb88c5836e4aecf9ec06c39291efc4b4e1f83b43b2db99e9d8a33c7a2309f45be723a752db68af5ec6665a52e6cb35b3eb0bb5e4227c6f6613c103bfc5b958ac3977fcfdaaf223b69ca32a75a1a23d7b2ee90b520d1a741d9d0b52a36f8981e05d23a1323ac299259561970210e9fdacdf5f661b2af495d7ca08d1e8cd08ba5c7006f406f433b3c02e46c45ef3c967ec699f0b639345d368ff938a6250a8238ce9ac05276481de167d821aa5da0d326b310c14d79de2f624fc6a327301a59d186d3c570b6a5b66e21a3f94d1e86f8380b942d77598e101e8d401b86fe5ca737ca5a6bb0fff99fedad36ba7fdd4b47fec1f831f0de3b453353ce29719f534248691ab35261b3cd4e8b3dadc29a3191a243e52bc0e88796f4d26bbc0426790316e315c53d4cbd076b91a115d8de75af1fe161e6033474060bb7ff5998b747a8af9ca5a6c7690c659776ae8c941d762ed3f4873a26d5d54619426b151e929456554d2be9edbafe66d2867883f865005f52f490515e5e58efc32f9e51aca9ed75a30107490e57e2aee53852b1f6b969b32577e8a383a90b7d44c6be7158f4ae9d59f9a10569a4919af79fd011d3122c33efa9a938157de6342e5f6a92c0a738cbbe24082e58480a7ec5e7995963cdaaa23fa094286aaa0f2718963a35805493cb63c6b70f3d7c9424d8f07475f1e321fba0b711b153167744ac46cbdd4e86de518ea191c0d0414d7cede0b0e80aa78ea8af7f252c7517a8b535747be2089a88ab7eec1fe885e4f78a621a4e41b0986284406f155c5b9d330bfee0ff63d807b3c5e96d5b3fed111e23ef21c32f6137a263e7ec99b8ddc27ebda44ac2e6a0e759d9b9952ae5eea2c03f9b92d2686926e6856f957aa8714cefebd34ed727502085f1483186104273c65a162f189a6103e3c0af1dae77d4c1320d03e367dd57463219edb2aea59ce4f689bb9a91288945b5e5caef046d2acf7eb8c835ebb6e508871795ef15559eaeb06e080de78429e99e8a53b1b73dff64fe0f61eadb2c584f2190e713979cbb5ea0c210637284086f3cd84761919c0abef661a18eca2f680a1abf547d60a9b5309fde80883abdea824bbe8325a5fa27e5611284ab0ad0c5a248e122ce9772c18632bcc9f4f8538e34d28247f0bfa01a358268fa61fc3b6102cb4640d77be150884c75fb8f707cf4fbc25259f4ec0fce4d0a7635e72658979ecf3662bf98ab24416e804b1f071907aa7938b84af731a4ebe4f40b25a05535f8d5e5cd93a2c6c7829d920dabafac02d69a1df78d6be5cf4baec3dfba8e52065c44a2664b7a7d30c979cb5d14fe9a5dbaee91071146dac2ac723770c151bc19ac2fde1eb99b7abd0dabc00601e6cc7fb974e4fb3832048b7705a12d99dedf0ddd3e7e82f94637e868cebcfb481319ed0b23e9cfcc36c2b1a1ee146473a2bff0d37eff7c95cf0f6e8382cfb96669ee44e5564d42d2543647d3edb36af697fb528e35de649f0b2f4c2f07abfb103fd72591a9a97c0abb4f42e461a4497036e86059fe84c230930307ca7a508c46f2dd91b4a5c9ffbc39f80c77c8e75d84f5766673bd12a7bb3050feb3bf7801561571bed38e07199e1235132cee211ea47e910d4f2f42d3ea18c4ee561dcd943a3a7b39fc3947f2ffd85cea5bd56ed8ef6efd8d165314a9abf0bdc7bdfe54bf4938c0f18064e6b8d8da7ca6c5b854af36a3cb571093f0979d176b10189657dc25545fa7d998a1fe87703033b68d44e796505f5ae7c5bf837556a3c7475ffcf5fe5c723814e460f1881b9cfbec81c8219d3ff07c77e9d00f07f2c072d75de31f355c9c83f93cf25580be06b9db3429acfbf75f04ba9c1bb1b4e03d76b23810c00ec982319828a42a4e296d3a95e16a85adb7e909145fd9dacb9e76472204fe70272221835f1914cdd95f95f5ec949f8ea8b3f03c66ce01651979ce8d12bc58c77f5cdf7624a0c7e3b22d9698bdb5c3aff93cd99c5956bb1c1607387ef7c39843db29173153d99707695c41a2406e2f43a38ab15791510cf06e0681299939deacac74fa3a80c10887be424506af66a0467a7c4dc2cc23c54cc17e70c93ff46358512c3c20a77986146657fd4e6f413355cab1a6e9915b23684b5ce92c8cad7adeb9a0d77efb90fe1ccafc2651ddb822502dc73e6a617e20c25e522b13e98cd264e873edc95e98b29b008d71660a9aa4d2a5bb6ba8bde3398a4b5cde54fb8e9e896e5c9b151539bd87322f56302d1ff581976b90aed65aafe1a6ec2458d155b30bfd5bb08564ebe82bcf53fc42417b4f61958b58218f13d4f148ef5c5d4f427edd9fe71f38bda79bb8832c4ba5d41b54a9498351a66274a33df418f536e2583fbe6b2e67de6a1afceafb9f26600909fb75934468523d20cb731f21444d97c5244f63f5887b84e5bf6b8cba90ce169546d336017ec79de49531980890c30ad98ab663a1a9ec671fa6dd7b2ea871024a54a58bb0e04d67e6aa2ade37780bbf9e1f6ab779f7e3a4c7728adacf5f8820a354c8fa2ecba195dc4427f4be843505cc9e4d8e335afb64d7c8fc816ca7c776f27dac795a5585b91bdb06c87add3e1ab30683734e23fc80919d8960c6ab975f7f3ec2b716163119c3d820c6146262205e172d4f3faa77a462f012a488dbb2d66890c570132e0e83d3815f97b3743dcdf9635ae8c17eb0f45be2ff5bb6c1e49faf2f0e15e177bb080696a77a13408b429fe1310cf0713189eae6bc22ff06811c77bb287cb07d097f7590d443053243eafa7b8f6e977f2278a974084e4267b9682d0013da250817a0c7daa942942606e5325cbbe3a36171ac87dca56ba87a0b6990ff5c2e7312b696e4c80d648197c356a712ba93fdd95b579b5fa8a353b16ad21856e79c3cea7883ed1ce1aa0e8f3d17bcf57fb5fcf03eb87c5fcdaace312f15b5ecaa2c2a3d096771c2175e022813b92b9d461ede877ea1945c00a1bac93d549d4990026fddb3ca0ef0d0c814b7a21426f9799a5c75295026812cdfe13d8d5e998b6236fb2e0fd1e8530748a43612bf8d035762dba3ffb15ed1994d84853fd79b1318e846c72c5bc77471b62a2f126f3e104bc57e14a75f1a93439a8addb0a728c03a4cc466d369d1a26b4153c5c6c9fbd09e3fb21de0a6eda74c5997c596d467864389460fc990e64511cf26b3341d7f9e3bdb2cd641286d4d18c8b9d5c1bc1bf94f1b90adc80e536424ff9d6bea233cc5233f1b608af007a67840a0d8ff02a084ee4b0ffbb2ae6488b233d3bf8ddbd6c57e6ed7ac97a0f4e91d2109de3cc4f044f023e03940ac1f887969e626d60d829667b65c60f05583127ab933076fac9b8b856519040c967b4c5489131241b8fdea31ba30c9da5b351a3033abba03abd8cedb2bae1c9c38a6272d8b5fbd132ceb49512979947c98d5249a5da47ae9604d37b6725452c97b2967a6d6d345876de36d84892a145f5b79eea1d6cac234378faeaaba69c2f028ab88f79fdc653304e9396d9678edf035c86ea2c70aec1bb86e81abf494ccaa751ade3ddb368cc82ae4f867507592c7348ac5c646cd4883c84e12e7d77142d9c03ba0a5dd2784cd5800315bbcb8972823c7f588e076c3b02380003c64d8e2be63600672ed36a1f31bdfbc5d832348b57cb080a1dcb6dfdf5c15d41967100b59a349b190d95548cc585763a1ec6ed2a28b1f7532118db5105830bec1250c2e8c5d34374d6c85867c019ea48565a880c8d3d5e5879ec4dddbb646def559758befaa39206e63aa88b598e2bcdbcde204dbdae17e1a2fce0f11675a9eadae63453adf6a6b723f923c24d51e14aa2953359094847da860131ee045983f57194997b11eb91abfb2832410c85fd52547647422b310b9bb38981e7179f162735fe19c694f526cadb1b8b3a57e69c2dd33252753dcc0d0fd2cd92f910548ffde730ae152519719847f6f0f3310b03f93385a87b75df2ed6d99082b9dffea1c7897b867c338415f978723d8ca99d78083046d712e7e09012784339d4e148ab5f06e71bd40c41bfe6f13560727c6607abe7775f5fcda98775fd8afce4559fcc057de33e15ad187d91489456ea8c034346dcf2d10d0bb9bd7cc6dd0025db292946579aa0a84375a965ba9b5f42c9e8ef39e3ba855882eac9ad6a9ca1e49aaffd980d7a7127c3c4a26bd47cf036ce655d87264be9e2dba022c931fc221283d1a9b04572d2120605ddfb2cf4a6153826854e2ab70fdcf97261f25eee359a0f099f50c25ef5e76c01b521d22df2df7018cbcee5db65a517bdd7940a54f4eab243f0ef73bf65a776e665862e90d35ed1be6089e0104ac89a61d1af331ca9964b56f4496ab6516163273151df5b3f278c3be7dc65727eaa55eb6caa8b909cbe2fd11302737ecce04f5b8687690794b5a3801e6391943ca1882ae98bccde8592e35893bd52b8f026e9c3098b2943d5aaa806c2f8f58c150e30740919998ea49a82a6a0654c0341ae727e27c31f27b7c14304afc6d62965ef287cdcb4fd26ec2773f89d173a7e9c57ad6d04a2f25d7aed153e89553af30400c6fbf79705fc8b304cdfaf7dde95ff5ca1f364656a5e1803f34a45fc18a30ab4024807498a101e7578986b3a53c0b7937442bfa38a1c26edbef9b146422969dd252c60c1299e58624dbf8d50a90869e9ab0a3e34ffecb1ba314e1698b1a0d30e34a9c52b251bfcd27920e0e3af488533102232cbed606b3dfd30427a4ba38662077f117f1dcd0960929de5a0d1fb81ecd78f07bcc4a9905365e68a6f8ec62099cf391f276c75b9c7abb43f3e4bb95b4da18b58845892f0edb75ba181751f85d03f82fd8d52a4e4d65d3c8b789e5da5a055d343c8f3c2c1ed77f6e34982bd9cc46563d8e0c0e3dfd103cb4c6a9db54b60e8a0efdcc6ef1a29fb86656f3c3b5706bf57f2f34a6d756e21f1d5974b7142d5696f933f55896c0d6f1057abe719f669014289d03e2baed2479313c8f496343b6c62a3f2efa9172b9f22294eaed334ea39ab71348f10a0d4821c0c26f4ea1cc8dc2416735a04c891155269f28073c2fe7369dd55718383b7367b83a19a4e23da904215504fc535a8fe8d5b94ef18b8f156e803b9c23c55b76219276ac49203ae3ea0c00f7d9d3d1c7196411d53359ccb86753a6725f2ab2f7fe65c24560192e948a696913d30af1834a273fd63b2d3d9c27c44dacb0dd3e5619be7804e71822b1c62639473eba8a4b8347b6af91afbc1a9f4aa085252993f6717060bbff7e5217aa0020e3655f140d0b439a7b04477efdc70ce124b6ad12aa1cb6ce7e04a07449eaadb18b6940f7f8a2995917d728e8ff3d7c0c0946e6c947e1d717b6c072ff7b9a68889f34f3c97e47562cde68c0d5ef30a4ffcc8dad26b3655be975efc3de4210feed474626756059daacd3ff14b7689d721cc3466bfdd300d50278f75e90cf5acd814854216f7f059e6ae25d8b5e7f2e31d25284af5e94f190453da2c63837c8466337d62eca720dbbf369c3be2d6867d619088cf1939c08cdf48460728aad97119f15c22612f1248a07909e55b552f2117f28acf8cbf615f99b0e2b940a01201a3103155849324010e521fd7df3441bbc9cfe6d91229f3fe5c744034f49b8d738787f14a11fc51072aed05c312c2b05dba12e55bc547c577a0e8858e6267f346751c85c5194c6816b1596f36973ef214574e66d56b22e7f0bab05b9aba824672a94c2d1d8e5e9f80b122765d05db17615b21eacc7e3eca078db0878f96ee47f8bca38d8a620577bcae6eb4f52cd2d3919f5216ad3de778e4d29631e2d5aed3104e005aae6a38bc82d3cca295f35f1b15947bf84f0ebebf36d2669278ba600924596ff0fc03392d04894a48e7319c34b6e3c7aef1637ed8ee02c989b62a3ec127320fdb2a769e8140d50a391d4f29915de845f2857e463d202f34c6b776d5c23a45a61e2802cd4581fa22aa08feb2460056f402cf4d44bfc1fc36bf57892c642ba50d5da5f871b52f9130a74ffe8d0e0a3f3c5187d6e3711c5e9840bd3941467c8d4a1d06815fa4c65a14a90dc1f9c45ffbfd11f67120d1745da92f3a6a8725044523d59b0cc8d2267a5f9fcfd12c8fed674bef41b123dba990b17da8829139c5cf09c3d179d03fbe95acff14b254f4cf2a8e97c507b47932f0e19cda916afb8ac2922c1bf7ded04713e946284dbd0da16d02f223cbf19e35a2bce31a7cbbc08414cfe53ce90b1d0053ddb975495b6a66242c5e862481c850bb655e03c1e7e4004188ba36ca74c9a5354d1534c48f076e01ee98269663f199b1a1fb10094f26440b2dd5a2001a4b3cce27930416bf89e63ca8ef847d19122d9cab6b4e7aafa78381ad92ac251923a2e25beef2328e2c25f2f9385c40ad42623a2f2436e7e5cab9a5a414ef14a261d4c4603b47b9a493f928e5885f3098f8fd257382e41734bbd8d5c41e317e40df46efe224c2bff5c99423a91f4b4ed8f1629c8117c9e06544311ab8bbe3889f5e91bc190912dfdf0a402d030e2cbac7ea69f7169f4ccf88da0824a44212c4833e2253907aa76c41affb6a47e5b24c53385d3057d609dd93b7824d9271ca4652c6e4d1e439c75cac9b1b5b12a71f7a026561763ba6135d731dce998e469b75ae499a323c0ad2fe1e808985b5d9eb1258706559c3780c8c341ec9b6609b74b0bfc85412c591a8d04ee89f74ec3349e5ae9e58d63312a607d27470db70f2ad33bfd3b2553d237e26ce290f8c41c675aa9643bb08b45d418b42f4b0a76e284ab96cec7a707e177a7199142d8307f86dd9160d6ba8a835f26f7e801849d6e01eddbb2a7191f51b709d835d7840f48670809acbe9d881dafd9f2addbf6199d4af1ea93e031f392a1090f1eb5f722e9bd67aa40c01958f747695de8ec063d304b69e0fc63e3d0d31dd1bd08635d887003bbd9a0423a01114890883012543107473a590a4753581386ab67408ae825820f11dd4f7a86e47e7dcfca54a370e667bc37f394dea2a3ffdc84e9d9dd8152b9f50528542769a8c9c988e335b95226135167707ab69c9a5dfdd67f68ef918f53a1439341ba750f0f90a8e2fa617d53f8ac0257487b91312b899566ef58fb75d239d67510813fd05f5ee72c284b17fc81cb49752444be653ae7134c2b02e69df766482bc763e36d3ac602fa7c9645fc550683bcff3e7c3e39948efb107daa5441fc2c019cfdfe890a9cf521bdfbdf60612f987650530a056cb2a0b2dceabfe777e85ddda98988c3eaae437e73679a3252626d60750e872992635e0f3f4f43f5b34d5de6a8f78740ba6b4a017832bfd4b74e327d86acab9ae366e30d1923f0cd97576f73111f94f6aaaa0cd8c0250cb090d50f775458cfff4a71cccbae5b95f6c42dde74f0cc40653535ba98f1f3b4a9dfe1521e1b8d38c3c63595d499d8d4377f709ec91337c6044e4c0275a4c4f476e50eec7f7d30dc37e43ae07ba987b6746ee46f1162aa3c8d54e1392b193c84a4d001b299fd058a142391c224293fd89b71208f17e75391fe83d9de402f57d5ca1d12a6ae656f5074148f26b843f4a51235a6774c7ac87b8d5f46bd78460a91deb08ed3c2b9067df8a87fd69923eb46534c57bf8bcde13331ce5839f3cfdd2cc0ce0d0f1287b712a02259e2f8450b17b948fab1ebf3df30f87429c2f0852cbf6092d81662493d43cfaf85bb50615259423afea1d23d74e61320f0e039fdf3ddf5f83a27691ca74f9e55868794712778582e512e9980f6c4fe371810ee008a9532bf6b10dcb38d1107da03215dc4b45f557db043ebb7766ddd14cc2f5690972bec5c59fd629a854c4727d77998e81570b15f072f512c61b88fb0e28a72bd24fedfc515399bff8e7a7bc57538c7f4e0ea91a596ed56b85cf86d05253bafd2f6e97a7245dc2e199e54622f1819203f45c6212f9e32d0866fb1d394c2803080a8a01f0b980d9cf0467fcf01b63ba89091c2afc7383014c861d4eff4f56467f84a8cc34d39990212dcb358bfe9d98ae1c11e0c5993271ba3d704837cb75c211967880e16d740b18ed8647b4d58c72ac1f28c194ef519f04e0c3b470a6ed065a822301e60fd390f002ae1a7130711571d3d4d088c3b6b57dec780ad3a7c9b020366339c3f6d97b5c3873a424eebda8abfd93aa3df05b50b41186e91fbd4adba9d29494b6fc2aa35310a4f36fc25bd8557c5860907e3d845602ce6eb59715f0c43038f2553a8c72182c91fdda3fba4f9fa186d677254b5e16fa2ae10134c40ea6a87399a42fb82a6cb97e4607965b7af021c84ca3490195782ebc135b825640427508f6159b68ad9f8f85b1baf087731ea9b549b4daec1b570971ecbb433a0d41f88d237ae78509398ae4f3573a55244f41556c2d4d8a446d8230633d2138b7c9b925221cdc4e039e4f79ae1dbca84777c91b49c1dc1df68595cbe0dfe9cb7fb1c9ce7bad6922595941436663d0c2df99b9c950380f8283ab3358870175c3658dd84c9c18d16be0182551178c3c83e1c06a1df39ff7236a0ac7fd97dd21d8117e80ef0e4b025fa382f603a90ad80d5655d8ab916299377d66defe0129ae87fdfd2e10f2e341354b6e4356ccc496d9db00e8da45b4f80152dd5a337460694b6d55b4d15f3b41ebca1e41485ed8c051839b6effea8df07af084ddc270894e956009f6454b3c6ecc54eaa8b8ab723afd53cf216ba0b0298ed38e2f38cfd0bcdd588e126fce06fba78c87cf06a73ac9718739c65a6ded19bdf62de4bb0b707d76aa8c46963024b83875c5c0551c4e7ad4527fc783c17a2335c1825acd44538fc78be5d3d92d2c60865fd794116bc19e7d7aca448b5436594d5ff4c09ac626bf0b57ab1aa115135679964ed5db72534c15d6d5103b275233fc1711dc261652175945da7fb70757393618d6d39f24c4dddc268ab0832fb26e33b011448d2309c1a77ea513f2311c29a0ebda9dd1afad538a87c16d36a330eaac22339e7c8140e521cfaada41613f77fec3d243c9e3c456fa7c34ee225a91b8698fbc82112ccb9e6649d3d0a186c3cb0dd142fa0c819f0d7376d951e1d342459afac4b33d4f195428d06840391b6b4cead1fc43cf8bebe49e55e70533a75d106504e1a0a90c5ff8da22b3ea0244e686e9338a7fd3adea346d1a010e94d58a1e5b8caaabed44b5d4b047ff9df37671b6e56ca4f0616a17661e3222369e7c063745960fc3b31f5eaf3deaf6a11e202ede34f1dd43f33fb9cddf8d4cc85eed33d99addd0f30a317b7ff81ae79cb304df20c583a82030226ebff901fba8ab52b476a69a7e12379e7d0bff458460c1b9f497d1cc0a20e9c0d5f99e8bc63259c779c90c7d55299eb1072b3322e54e9c0c3323d3a76853b5e4adc6fd8ce2ef4d0fa1545e40761f9b7cb2072e93034cf61221c48940cf0e321b7a5e079f8f2a2b9e6405bb8d8b2e270a4689370417a4137d91483d546b3b8e5e5c0a4ba8e68b269b2ff79c49c131a54687cc625dc588bebe1a42345c7533b3e84cb529d67e4e6d6aa5e7beab5e45d5841779da0f20ee634aa2e6fcda21fce708972a0f5a0fae6c096908b0e4569c970e651d9b826064f9f728eee9ff5490361506f5fec30a6e4c06c6ad8d5b6a99083f1136f3b67de3530a7b74081a6154e5b7ed871ea58f8587c42b7e71add8531c9590703a310fabde875a30933d21f6f80984c4409032d92e7e1b480ae55f0321f2042dd3b242df5469e747f480ad1a99bb815fbb33d62610b9a4bd3528987587c8f1eed5e0c691f7f1977dc0c7da43479a54a72f205e8f618ac6e0e83a853753f059bd1880b5fc7134b4aa202ad3a6f9151b8442c5906dfaa5157c24b21bdc93004d75333aae7cf9a82d0ffb71937320200324cfc0ec526abadfa76cbc18a732da790857571b3c81455a896f9985d8a321ef605ec11d2f7900c810c02367dd043fa559ae29903b5c1eee520729cd603316c17f7d4fedcc8f4999a6ef9c4a7bcc455c8b8ce5e811fa2b086804f1c082a8b2ea713259223384b67faa5f62d252c7ad58c3692bd75ea2f1666d20a3bd80ab492c4171d7a5d438a1cc014de2bfb0c4086b4d5f90add3e390cba6e8eae0881a0484903562e3bf0de6111155c927bae7eae9b0bb420f7dcafe1be2a0c29688b71adb67014085d54fd3fb32b93e8c8fa2cf9ba5537de92851868cbe4fca731c7733ff2f7fb869b076653236481274342d72d929bfc49a1d39863bb96f88fb9a0e4908ce26f1ea8da3bf42adeb2e74df454c07df49af54c430e61396a5dfd3c05dde6f04c08541ca9225c9dd5b92c9c74c684d4b52dad482e27d26aada9516f798b2fdfbd8fd665a4ffd7060560d7334ce11c43a9b7d783033624d199513cd697d1761523a266909583ef105742a8519113e39b0ee22ba5efa20344bb4c511f9f44613c05ed8248f63af09541f51947951fdbd8f5f55f01a7d64bf8c4a4c446cbd0760ad6356552dbb2dfbbf97d4ab251e084dbeb09346189555275476b88e691bb7ebd5b343ab6d9594ec28681582a4de05813ce6869b1bcca506966b05ee9f4921f6e88b0eff0d9cdbfa88f79b3dbd9665d5cd74eba36eab5ed0432b74d20a644e30f2ccf634ac66e2487c64e892572f2710b6dbcdf6c6c08a1e3095a3decb825d5aa0c296e78010e0c878a83acc7b622d3e7599d247329fc8d965d1775a34236d9331314545c7877aa4d9ace7900740397a044cb8f47c20a52177bb40497251e68bf5db8d740217019ed9f389b5347a1055a9da7ed80db850114553ba9af51610a6c87809e88b1569a905d03af13af886ec854602375ba9fad96ec456adfd166c7e38a3909260e4f66433747119bd4b5a57f1a09e3be00a49e47d8ed4d108e59eaca079d7b7da895c787e243167d189e6a8e59849f54d50b54dafb3d7d6e80bfc9be110f506c14b62068004a363622cb83659c573228bdb9ebf86e83daa762f48a3b207a40a8dfaffae5f63d778d852b4343eb54d0520ac8c4b9f6867987871e773472a816757d976015a32ab691218710d32ec5f7a02455741e933c2d1c6c868a4fbdd5a5e55c2abe9d38d3a9a96b1d42e8fbe1a8eb3e769f512f7904eba2044debfc9d2e70ff437c8b9c128ab7a7bf4e884094af206c62153ca298d86574ff5259f83576a9b6e54d5d9b9a3a2ff6dda7909e78963ca4f1b36aa7b9d6ea298f285cdd6785539501aa5245add4e537d849f30d82f49a66238229423c4af3cc79a22bdc2d110f7b1f11873ef6eb5e25cc3f3c5fd9cbf0defc60506e4f35dafdced9411cf9e10f4ed45efaf22806eb563a737a535161e8fe39813ec7944bf745cc79b515335dc54443cbe94e0c0cdeaef2b33e4f565b9d5a53d6b0c4fdfd84e9f4c3fa32cf4a7519e23e9d8a53a762b47a6950b4e007df360f9741d8f069f6c06a0963981a49961db816a81c0dceaa3156bb18fef88bfdb332991213a3c23b198a563311545fde30929aa93218cc35a58675256509cf8f558887068783ad6f1ebc46450189083f7583ef56f7d224c0cd49bcc142d8aa99b2d57e26d67b3fd05bc7681113e7c904a6f8f0b4cb4fe09317446a5c4d7c083474912a6d899bb249b082f84a5b5c79f74d8a9910900f7a3df9435278ddc9e74478834f8b2375c9214c20f4d00049bc1416b743433c2af4dc566d68aa07bb1607ea88cf4db4a3510296f49c3429e9c16764b87a6a3060857e0d9db4148ea9fb8d7a09a1b80aae786bf309376a351d38cac73b5860b853eeb36a32ec911a60a02ad7d3bc3a4f1d2d4d7410d7126ce281c20263113eccec9b76d68eb4181d0704621cafe3e86f2ccd77ad795df9725b3f48f168e3949b2fc0f8e5657cab879b3e7b86d1d09ce42f7e78ee8511e4f17a014622c8ad8cc170273d31e8f4d25c27f684ce0f3f9e9131512a3ef9814ebd122034b203f49447d0f53ddc6ee64e006819279610097a9086491279f022bb05607f5c353c69ef2c05ef86d72080d0574c329eeedfe8a409540f4ab5290173699ab0110f8e43e7484217ea12e7a2167112a7318ed810b4d20e83242a189177c2d93dcf2cde4c5a33227a64c92a8208b53da8d61b0ea8059d6e29c34cb12618db86d3f03a6db62843ec43564f1b385e0216555a79475dfc7d67aba5488cadd72b4073a37c67e04bb338a2d90ab9d451082f4efc539eb9121c0e117be1fdd1bb86961316bfdfc7e62bdb549e8b4f4d24fbb77a7febe92490b5caac249e9591490b2d714bc231f78bf0ed36423afbbd1de56ffcaa1e52b1cd21e5d3bf918d5cb3038578dd5653a0b15ed5b7f92874a638b26747605ac6bfb9e9f69658508a27aa021eff4c0a89b0b0f803d2f26015f518b81dad800de3792578535be5aad2c65a31ddb5a453ef2ccbc5928ba576aa1126f9ad183908be79c7d0920def8782a92f2d75e1f6d514a55894966afcefc46fae6d57ce8e5c85285adc028d2501abbb5b564158ff02459711ea41603190db6617fb9b984405d2a76a69b9288b6b8cf5352c508c69c0192967ca2c2978720a4c5a73ebcc32591d34a0f5f20d6100802041212f993ca669311616fc4e3b0f0db05fa95f2f7a5b2ca2235b31c3d9ae57eaafcd97086039798739950f676e51b23cb316287523dbdea9f4ff961315b95aa22d44a284bda27e24bc8d5a889e65d2c6c2539deffb219f28621a0ee0ec29c1c525109ef2886abe67b20e33bba9a037f40ac92ca48589d6d259e3eaf53307556e694b8681058d4a26cdd3071892345cb1e60a830e3264315a6f1dfea37c108716584c5d6e11995e1d8917a314beffe08cb50e735b6a923add57d4229d4e8bf3fa9fc13fbd8b082349a6e322386dfcd80f61ec013bf3b3387f9541f23ad8acac4594f4b19552bc4ad54ccf13b22433272ac0b0510f84846470f7af18ec99dd34df6b608a7f3fab81c2391a54cdea041c1b966a2691e2c3c056afeb6ae9bad305968a2cfda19eb67707a7d6ff6a83f6d630ff0ea5c4bff7f2f2cff1987b136375627c111529ad810fa859e53f72a6ad7ad78676ffedd69f5ded25fafefa537fe84b82facc14700cd1eb68c1ba661d2a573c858ad18175d75e42dc9da9e72999f3f72f2878e9fda73d8734e4a6801ee0813cf6b094f893725c1546575c30b6a60537a9dad85e5b34d7845730dc0fb76cfc3d90158c6a13ce7972ea8866043573ece771256b500de15a12ed3968eee0ab043e38310ab7556989c55ca56e07cc1dac70e284dccb41d3a5cc4fe1ba6cc095f8d16866381edb5a0d2f44f134cf0a153681021216f035be8b4ef213386a6ba5d285866ddeb086b12d8f31e199ed14e05a91f6fa146fec6424889048350d4e1b0424b968d9b703f14b8b00794364b7c50fd70b449d342b8bc9977d964540b2f4fb3484f50be2497366f0af4b4631a860aa28972630181be6db6966e426cb95a91d0c2c40fb7fbb16d6ce36c9ca146e65edae21ebebdc20a8103928507154de6e6c0e6986a2366c5a3e26c4ba26eff877cd6209abb9475415886c05ef4ec9310ddb5631c7ffe7f7f292ed4f531952114b7af1ada1c527c6612c2be893b17861c336ee7bfb93faaa2312ffcf9283ff511ffb74a1b2a1ade16a7bacd6c0616f14bf2a65fdf8d9f36c8355e22ee5590ec2a84d1d5bd9b6498231b4949f7dc746dc863046890def66ef3b9bb80e24d20d27f540ab0ea00c83f15119a8fa8dc44d1a47b133d0eeb9d4a03d9fb3cbd5cddce6c6756749cd679507946433ca820275441561c73f8f8d26d8feb353cadb538e64eb51ec081a3e55fef33bd58c74f9d2d6a08407cc1eaaab5c8728a29b2958234c7de8d4e69a3d0286bb695ea4cddb08a3ba435b83889c460bc5ff6570c2233e1af320472d82879ce692eeea13b21db6e880f5a27048fb4b4f9d81ded41c3ae3f02f4145ac804eef8e422e939f42b642ba80e0e8e1caaaf77bf424f65d01efb96956529412746c6dca3dd71826032aa8c0e9e902313227d8202373d918433274dcbd1d0a1749629c406d5a6a8bfe983bc37fa74a7ffd5a40ddee57585baf55ac44bda970c8516530346d2d3cb8bc7ac0aa2150d491694093df2d1e8e3f75f5125515e298fbe297dadabcb0f2a4276eddaad125a664392e8c77d918e637b38d127b318eaa429b30d74883a1c6a028486eaa0860d50a5e81c61291f279bd1ae541b9d43ba4e6e811db1fc8b1405022f095ed601c61cf2a92817d589e5f313df9787b5c4e23d77899b632fc5bbc326f3052cc9984bd78c3fb5fae5586ed21de1344dcdf51b34ff9170ed9f51322f9a308ec1496abdafbd3ea8ec63e5361a6a2c1e32072f4a8c56d797a25ffcc5859cede1915810f60627d2f5678cdfe372863fa1229270e8aae78f66e4910b663ac778c8133f5c1411cfe54730bdd72ab7a18651683ff195ccb69bda56980354a9277bb10dba4d3c384621132b1c0530dea8516475e56d090ad81fcc753f5161b6ccb0a97f25249449a2a72db8a4a4b65d731cc9c267a6b25f6cc0f6b54f98e594efaafb6f26a0dfe4b0268feab0925f2ce433eb15affbb1b8badadff1f49ec8ff49d2ad20dfad2009fe46c8289c72bd6f4caef152a69dd63bf4ff3a0e2ebb3ddfea4a4e0cf673002904648f41e2af4fb8846c43affbc3ec131a2b915a3c7c46f100ac4488d65196379c3de69a6a1535bc3f628c6b4e9335fba11d5489393a0998f4e1d6dffec68b463b14c9a259d9c4fcdabfb01155828a2c5cccb70b6100db0033711122b9437c957fb786e69a20bb8e8bef53f65698687b1f10fff2113d5bb31b1ec2727f7afeafc312c3de390bc756868fab397afd493ff48e75831182cac73531fd4c7b83b70fed629090c943f4f26d03773c7e6952117b4e892f87acc2bf577b397932918f106cdeb34213b092fec67fc9073edcad9fee16f6a427ed825e4d023e01de23afd3a2c63e6eead6e01062e34e57c61585b48469f02f7dd2b49f71dca69fad62e066638ce8967a501854ccbcec72a1e2e4927264a3d92072ed8c185b17221a8a9ee240c661cc0f10e1200f30ca58bf918ebab99b09567032abc1454e4cb2f043a5127ae654b76eef42b2b71abb996580d197f571f0b2d2b94be676a5ac1494c4200a02be28ffbcf1923532a2cfaed9541effe38aaee4cb640852728c0c9fd77ab4d849997f2ab1a7baebcdb0535fe38271f8400060881972599d8c6b4ac60c8b71beea666ec3170cd98ceb57d25d10a097490daf0db3b5fb40a21ee4b226ed746d00e7898cb39311d2f10aa7fdedcbbaa3df564533c8d8a55ac99ebc95058090d3847bd033cac3fd02a829bbbeb5f902fe933f4ebaf2b473bef9f4174420e7b542617f5c1bfd3fc77dd46fe9cabc6e3ea352e2dfce0e96592b275c3cdad3bb966e5f570639a2ea1d3826240b155807bb9e86e5b15376f9f57610fa7214832a58d44be9fd5f97d36e7ebc0674dbb46f79a9394a4c419623d695b6af68455a384631d51701149370e1ed9a7decee061d1c28884b58959e7fc601ef9acf9529256bf402d31d2ff23fc35fe592f4b722fa73421c6fa6efe0318e811a0e6f1eecb5f2c4c354b0413e7466ab8b20030b24f85034b9a2a67348a0dc3dd03cb6dfa76530b5a1ac0337c4b4967f28bf93e325b8b3885b53e8954d005823352dc592742b033df0919c88dc0848dc61b3b70d99c33a4567fd7e1e558ad3f53052089895320fbca2fc6cb9efa0598d2db288ab77bae4d447f432d47eb02a1c83b5c2e6526e403b553344c7b146c542a583c690b6f688ad192d27dc6015ff95958529a203eb49fcf163fd8a50ca9112156c3c73a53c46157d0418d97a84fd1ee24632c98093cce5d0f787442b798211e6a6e8db2c8d08b280c267611dcf1e8564386b48addeeef39d26713d724e3e409682c44adb3db49e46b5b298874c4d0649e8d7acd7f54bedf7fd1b8ca28c920cbd842bbe258e8c7a8d432e474b4e2dd4471f65780df45c5f0bdb14d4ea6bcde748ffa64048b29288f6216f7173b8c5a949534a892efc89039064fc1e99823d38e9161bfc97e6e58b811c4d91452c5c896bf86c17196d456d8d45a1f00376664f5c8f624211675917440fbacb67d14ab436ad6b6807706603b858fc606f8a6479fac26a3e5093e441ec46189b42361796de4d3802799f7af3dd4b143011398eaa8ff8ef0400695bd8961db26de67b8cc28138a08e964cd8784900c30f15af1e26356e0e8be3014f6631c570c02d44ba1661015608343663e92d24f3236ecbef0d1b542714692b80eb3d104905c7811d7f3355ac8773e903ea4295e6e76b1139e1218e22be794ba58bd4472af2b29a0c51ca0c6e6de8245c71db6c8f522dc4cc4d1bbb4d5f26036381f431264944ac41118ca124177422bac1424c6f081f348449fe2f8f28ea4184ae91495a7feb3010ef6dcc00af1849074a1b2a64713265cc6856fe76cdc8da3a95e6e46cb90b0eef70083a76bda2efa820104a41a3a0df7f6b05016233e7fa5655f8ac630836085c0b235ab8d4ef85183267daab5c7c11c979564857ff08a5630720ed8339b197cb4059988a7c3b40bddd1547b22f8038183b35250974bb45b897084d113f66530de84840649e8b588b87e6636cfb9c97a9941cbfc694c83a1ca8e09851d7bf5c8c364122da1920079d98da92311d1d51c6c0a457ff7f21e9e8aa6f4c23a909f8d896d98b6d6ed7f865fae88a564982c6c9989fa609b0e5ab06a5fb2096c9d5cce6e28c7486ae10654f581c1af611cd8bb94475ac5a8de8e169de21abc1a50081e1224d9dee022410edbd495a963c5788485123ad98846b946e81992a78abdead10a9ff6a2f93e872096a88b4748bc7bdcc755f57111b87d0e7ed82614f607450cd34e34507ea096e3162d7bf27413d67584585a4ba35fe4be287f7752d359b9c66e68938f6f38a8a60231a0e4f7ebb06f4a753f8c0ad28d038db44e668deec0142b64247dac8c202f0d2056999fc40b003c1a200bedab03e73e22732f97c797b550c0969eea1753ad2bdb2875584e616675b52074d2953657e4f16c92e59cf5232c5139a7917a730ae32870e45cef895ea09b8b8579f9065690f758f3b6d40f151dc644b0dd45eb0821bb16e3581789b973b522f495b6249b77296ba4eaa15006e1bb1af0c33119b4bf71c59ed8843c0e56704c6ea4e958284fb8bd66b90dcc35bedb11902d7a6598a03c022bb26801e45c3546cf9ed50e45dd444da8461d3c6ae67ef7e24edd5b208fd5a52991eb9c494199a09dfe76496f7b914dfafe4401d80ff34b32127a299b553238906dcf0780117f164d945c9b5dc6ce29448d121baa08ecc28e46b0a5fcc6615dcc93f8db0bb523f49bcca8e33cd988088e071b8fe5b548a177418662b4bdb7ea734b6e1039cd8fee44a26972bdfffc71d9d8825c3e18e7c6fdd1f43d536480d2b3a493da15bbeaf124672ad42b28f03724ce314190ac9478f8e5d42137369d4852d7dea56ac96588021ef8e1e06d629ce88e2fa741eec06ac8cf55ce6ec80bea819f0eaad6b07c4c1f49d8a18e76046903480f38aac941a1ff7c556072334615b413c84d874aac3a96a74d8de75078efed1e7757c8441b8358fc1d4f24add4dd8e95c18634710abc90624c647bd0cc8f5e1e3c07d82f8d6b2d9eca6fc3a2c9252ff97735e1aee8913fdf994793590323ca152d72eb938ab6f62e8a949461557956c4f56832a03f46791a048dfed3b14b6e2cc2197d0d2beb587a8e33450b7db2a35305c469d8c274762731b18974a5b543993feb94ee0f5cc038c84f1cc3f38dfab59dd13a06e21cc7f4a6cff687326e1d337acb561540a16b8f90990478584879dbb35530638b82033654a2662b2d8ba723b3587c1a704ef8a0214171dbe642cce7d4a844ddef6d5b7a712c8e60110e6de780814e021d7fc3e31cf44d012cac6a0b26f29d99b8486baadf4de3715a44f258a7e8c46cb3ebbffc4541994fb4556697ffc04d0440851b6ba33b0a8bb886cf1b483701da62a2f4a57d61b3e7bceb24480e9108c0c97c97719b541cb3aac70a3c7a1890497bd50557a2c6ce595736758d2fb895c76fbc583618d832fa2a85754fe92660b0763474123052c884a768dfc5b06b07d2efa90f8af4804e183f6394b2e9958639e89af9adcb6149f3cf9a125af25587f618a7af809dfb39b1d30fab127b61ab81fe4b6fe13484405248feb231d5a6c90cab3e23ca80bed15a6b60d3712d52e059149319ebaec150a1d9b60e4ea765e32b1b5501fc787fcd003abdcfa2b3f386d9e26faadaa30ff55356fb9a8e645f0523cd734507a4469967ea7f3e8d436a929c5a09a919c3184d77bf07b438cea634e57d4a8192fcb346cd44bb8cb5aff9ff01b5d4950918bea69f428235f02f566670fe0117290a94c70381db7dcb33f9857037e430c93007d30be3d726b4d4ba163f4092fe77a31edd6280c03ea9cc071fbf56da95ed55435a041517750c0c1cc94edf7cdfa27a975e268b5011e4652ba8f2ca126daa3c665b0ca98623c8981473f93c0e20c8efd696c2de8c03293b57e421f0dc4f5c3a2346ca96ad90f0a23d233125d4b4283bf3721b7f3c6ebd9a657231974d273211562b2b697c1d50753e7134810bd405049d2d71614b40d52726a4fc04f84ec1ba70ac65dcc3d1af1343995323d4899ed6ff76884f9b32bedad743c99d32c54fb60d0140478942454172192354eb89ad3658d954466ab5cf82276d6bce893156aee6c82d3995846605c6f39e4a970dfc26b2d4baba1bd06fc8bf7600571684f80737a3b11cf4b4311a12157e6fc548b282aa246179fad068bb658a384803992679361c7e9cd04c97e3a0357357e73ecdaed4dbcd0cb7416de8f41526f154bcbfd46534faea3c7e9a2f2be4a7fe48ac310d9c550b82abe1d7227b28cd33cf5b78771925c47035900a4a471cb90f93423b3d23cbed899d58efd52a0c77a8cab67817698ea1945fb3100b7ab4c142fdee31041eca5db8c0f0c96ed1241ed033ae2120f3dd12d4081ed55db185db8b074b36fb2ff7c7b8a970ea9cc250fc66eb59a1f47326d836c901821281a6981c2721968b82935698b5767cd12fbe4e9c6cd93673b5a8fabdeb42cd0c543ecc0a60385d0a3b5a308f6cce79c93ab686a1f20264a3926ac68ba10f44f6733d10534b39c7200b01fcd283fa1a200d6bb2491bdcb62f58884fa09a0236454e7f3440f2f44a3ec352806e777458dedb52ed64cd81662191fcbfd84fc1ab3ac29d7bee9250ac64569ad63e8f52252906b07639d94004f78f3f970189eb748b78764da503b58b455230a297465473e5c8215f4e44f9ce953b738e5c742245a60d74487a3caa75a3d3d4acfba8d5887bf477f58fa1c26c3b0c9ab61cff50b526d6b4a3fd28e528918851e9d7f8d10064ee1078d51e89fb1d93e61a544e0cd8da87b7606e797a53692c7e4d8206ec35fe8f7734e4760e068c3e074193d3952f87cc196f349d368fc3b1a5e31eeb1f9bf3ebc5f5030f931223f2373840b03ecd9e2fe63a6392a9b59c71f2a7562221f2db8c727be155a043c50a1215d575b6a580680fa0a7ae80d65d618fe77c4764ab6fc1257c0d222e74e928e014592d02ab4569157edef8725e1a7b8b4c5651431e9ed27851245f8e7453c99b703833905edb0d3a24e2ed5238e7effa776b6181318c43c8b8a08af9a028cac45441b023790650caccfb2f48920c510f5fa317da8bc0be1b54178379fe777d130bbb54960cccb720ba989da4c0a879282a9c80e89d3b3667bfa6aa2ad872fddcb08d61a7f4e69f5d2117a3eeb1d457bf1a5115d4d59745ddb349de6a95d6532fc597d13e6c826fd0a7e086eec358a4eee985eac7939007146b791906cbc4586b49444934f79e098990a47aa4ed1ae35e2dda57ede49e2f817a8e1bb949107fa63f91fe2bd1618d8a5d72d379bd859e673db11e149d2de60d2d18376ac7e5d353e3c211b2225b5131a26d5af659adf77a83fd7cbfad66e1a6804041d35f45a933fc42e910bf421cd21f05ec3420e96a83b1949545bea87c663f241345759abd30e1e03920f96d36cbb06f2252fd42253dbe5a3f758229f8558461b71790691e34d548675276ec2659607220312d3df10589a622a45ce49432841eff946727c0ece747469e4ccb1a7663441761ebaf55addb9804da98723c8843c318c60393a8aeb5fb9ae6d440927bc0629ae8f07b0f6d588cb1e6f576a6e24101440a4c087556ea25f1e27d09f58d89f2a8682ba536b508c002b75144aa78df683f7c8e1d6ebf0a51080b191ef2c628d83df42154faf9281761e91e9320cedf26b5fc6e1cdcc6a7048440f6095e8bb6e0a10e3319ce24eaef0ffa7d87b9b19d66998af8417e9367c3a4d76efbd7b2501726ebb30e9c1f973d35dafd1a429c3b3887162b03799b1ac4150ede16d442c741e3f4ba8c4dbfba3b4ebee8461481b879d73f4fa5aae7e608c4d98ee8744425f9d56159dffcfd03eec78fbaf87da2f91b2be43f45e7d3773605013a4ee4ecc45f6f7fc89c8b488c00ab0f678a9c570c8902966dce002e4c537f92f3975c0501a9a378d3e053c0db469e581172dd11c46200616ced2e7db322dcc00ee82cf92d3604dbc8b782fe04fa3798dd2d35dc4e8c5020bf7d7614c001ba7cb8b2aac4b18b4e0a577cd2fcdebf7a11dca54a84df9842dfc1d2f952ff19c092255f050f3a3c741bc36af9be5587588a00b11a7c95afe53da41788441232c87b54264036cb754092fd0f727152376d26ea9e36fbcb6203c93c8f30156965981f1686b1234049a22499a7163a0c75ad57b8bac7b8ff1ee5a26cc91173fb7d408f6b88b03082d659e588431fc3fabb7a22ff103f029844af95819f86f767bb94b4b79f11b2313dd4a9aa4deef920ede75d5e68c6e2a04f431898f397b82c3415f572efbdc4ce8a7a11178d0ec01d8808d36f39944383e2767acd88de2a64bf8d51d985664f87e27a2d69e63f1b24d27cc389709bd2b388ca365cc26cfcf1543b998ee9078d7dd206016b00c78928653f5e5e1e96f48c29f89e798c7d7156c5d9495514219bf2867280df09432e470c3ce9d9b33aa5fd6c33d8c727760f3107c37b5c184b567d50ce5992902b5c0b8c0e136b020f40038eabaf953a25588b58ad576fe91e7846c5415a499b3c3028f428240c056fc81dea05397866a381b8c77a999209ad79b8b374b2bc1c165a5efcf3ac6febcd9a243b8d3d7c20b237b02c58dff36724255dd183efd801e9c5e514d6586c657ea33f89fa853a16cdfef1e497bc61f7a9030337587b4eec87ad46c96201c508679ee51b498ac42ed591b192e725f7ffa2ee2c72e52c104407088195e23f68eb339da4a9542763c093a096bd70a75f173189debf65911fdeccce8624af6d91ff13f83c076f4cf12c75f595d1d090cd24ad976fdcc60dfe61a5c5001e23032fa3133f006a3c04fc7c32d3368af7eeb51b94132d52e72eb84e63c70a0a4f6b89fa188daa04af6e31328773a9f038ce1bd40680aeefa33f05b67b03985cdd1796ddb7c7a2d6d878b656f631e7766f2d9d7219e1910dd12044f33ca2d3527847de22fa2128459ee2c49679bfdfd03c4a2a8a62c959d7cdbaecdea04d1f523bf3248e3e1c07b6c0c3cd8b9aebb1f670a7d4f950ae56005a3c6831461ecd519f10881b247e078af9459340678d95c75fb69128744a7588a92a173528405c23d9d2481caa6194c82e6035c1193742d7a495dd903f04f59d7db65043ed5894c9fa7a2f07ff2a08663b290c5e4c9b56ddbc1d09310b1cb83d2dcde53f2f9ae3b9fd06f75c4933ad051d0bda45fde95844706db1ea955d295be5cff5443f7d43e7d1099162b953a2f133b5d3ee1ee2783edf196d0142a4dc08df2f8137ea15b71bab6663774e959ddb5336104ef3f2c719a63800d829809951dc00ed42a23826f2d6f4dc220b40495cacfa49dd5c1101e7cd19950bc8de36e5dba2a55a0afcc721b86b1185b305b698257b393d3c8abbff46bc5f19ba00512dc4ee8c10e5a34a1496af027ea22bf7f6dc02599b4f207ff5a86201fa5a7a2ef715267eb038ce46cf1dd07a7bfac54512bd19c995f661a9ab746942d4f35458c7dd79c00e5b1802a765d7d44dcc4c9d7b30eb5b6a7b5e28953aa161e11ec241e446638502cb2db688b79dee1ba0bdf8ae583b457cc7a18d5957d8e437fab653a22a7cf982676e0b0a2ad89522a76d935602700b659f83dbdca41fb9d9d3a3e3c95c34d7e377857e5150924584f11d4919f67717f9ad5060a56c7c41e8e6aec87cc161544039bdc3d60428e74c6bde500ecc980daa37cbb1b52a62001af1a7cf1f8363759008ce145d61fe8a10291239423a2b697ff088963f049c6387a2d1727166ef254f14776557c4992f112e37d1c83cf0eb2215018d3ffd1d02eae7960e1f61ead39ccb25942a02237bd027e0b4e3cc6afed35763ebb5b2b8c37bb5da49dfc5b8b9d80c0e64cf003ea151e941181c5b93c3c429372e5b684b1abd24eb5bb0b9012e1013dfaef8730363ec93a43ae28046c68517084e823e94212a92e51f7d1a7cc1e2cfe7ef18c1942f4bf23f09dec452fede1ba159f178eadf3b51504b655ceffa9b88a84774a603ed74aac0066c94780e93171c6342f63dc5b3c61b3fe0f284dedd025f6f8f06f57c16d0f2fccaaa03386fb6e0a76490b06c43e3269b21abaabd3bb70a312019e7e124dfb88246a65750cbb2a5acfe07fd11589858c8e8b51f4fdf717827308b46aa42f8018abe9928cb8ff6ab908f26ef1b89580cb3c08d81f85dae1d5224b38cac11994159982ff7b9856e233894bb34eeadf0178febbd8b4eb0d77ffb9ba1ed8d9745b60bb60552d884b66bec9ce2fb6cf8dba10411b14cc8e3c985dff4d71a6e4fd1880d2441d785f7dfef50956f504bf9b01f40247a9722623443d3debcde4dda61711fd5e0d440c63efdfef88e35958875d66a880a58b0f8df1ae82e1b6ba2eb1ca11981a91172938798f4226c707897c37b31db065b7e9ffc94b4a2de50a6aae83e0e578152af62eac488b5d5ba8bb500411fa920f8bae0c8f1230a892af1f2a11c1cf4667c7abd8f85d656eed237a23e7d55e06cc1806aa55aad5bafcffe27ebacccafd3eb141b75dcafe6d13a494c04ffa3800406e87724af951d795a23c2fb34e6e5840a67b30726b1d4c9eb0357d3c6c08a304f3f742d0f5bdd42283ce7d8d90c62dfcbeb176371424438a5875ea6b18c34364ab32f9e27c029f8e66744385465ea15c9262c0453a58fed90225f305eb16e91173f362cc703cb7a37cbefe449744f70dc0fe2116d9a1278ead45aa759ec7754c514b4742387a60e322a235a9b8bdc12f4abe0b7b85af0b2a8fcb8cda4cfec0be1ca6752283bd658ecd60234d6095f9819c09661fb83e2a815c3ed89877d82b23b22cf9b87943a4c5457f4c215614329787eb83ba4ae1b340e1443fae0e6ff2c7eb9116abde6549cdf35cbea67e564716d8f3ee5827df005a0ea377c411be299b1a03cd45b5897aa34213ca8cbffe30a143389d2ac13aaeba4ff60382ac41c647f257a6f43b0f623c9a46504377ac2754f2ae7a2b559f269b4ab1d58045600b47694dfa355fc2f1f47363c15d1ae7629bd1067d706371a625413e02874a3659fe739c4688cdcfc8033400c91464f7d68fd3630f2e2fe2d70ef1db186c18edffe795dcc784ae7f4886478d377a034153416705fdae2ac90054e365d10cbb77c29029c33d81266974377b8c99354221f6f8f0b43ab2195938069d63547438de4bc49f263a8ec16fab5bf8c70d98449a4a36efb4a2e0344d7b24684051e06fc777048f13479cfae419a38b88319a18d23400fe69b31fbba63f38092ef60fda8caee0f619eb4fb7715452eef0e66545fdba8993855f4ad8862c5ec9253f5dee54c608016747a4abc000eac738d10f503b6c64c23ef6fca0d3b5f5f0e7cb2aa68c59ed648517032bde7bf3c24b10693b8e2099cd418112b445b11aaa1cb9b860c1398aa341c65c2967c4f49baec6c5499771d606379b616564beaf13c612c3947599bafd2fdd4d088bdf640b036b0f4451e41f405af6bb6a8e401c84dcfcf8d511f13a3407a41069e05f7f0a4132fcb640dcb7c632478259538dc62ba9491711b6624020b99d9a26a1b39574208234ce9e09366cd9698231e196d48a41973aba95b646b52c3f78366992e3a981d68181c51006f6b56419f97eb5be5c1775b5914f07b667db3397485ddb0c06c1954d7a82e75625e3e3516c0d0a970ffb41c009eaa115a1b7e34b7261ba0b77ecec43b3891ee20df24502e08d24be262f079cc881fcc9f0f3ec2234bd3db40126f2822fa5cfefd23d1f5180aad64c65ac2c102bd0eeae51f6d82a893a1906aa5326db7c84639dd8b3fbe351eda0901d3f2fa0195a7c638ac760ce40b62f818e1d0cffdbda100e6025787467b4f3a85a748155070b845d862d2d634b3e69f83bf6c1c097ec77fa6b883fe4af6cc90372c871b4652ecd4248e9c1834492c43be1c0efb70c68b553b643635ea2224e83818321f83175a525797a5c3a6e4285812ff21c26e84b65635a4677e139b67838cdbe05affe95edf53838a128214ff6b9749d8c311a8977d3228259416413556ecaf281dd103b9da05ce687f18663475e122afe88a7d25490180d16f19a36c48773e3fc0c3b9e11d1628d4b30c668f7ab97aadfd96b0ead3730c4b013ce211c8e8114906d5c834efcf6ae89d9b18a077fe82d3f6549c52af5d1475f23ee9195f07a07d39628b78e618b2d20c8bfddedc99aed8ed7f57324ce1b2ab7b82ccdfa2317ee3b640861bea7e3572263f94264c25c88f49eeb5ad00d061fa4b63c529522d4e184560d2bf68a7b48a5659157fca36a68e961948cf4a0143af31117ca434284c831b312d2722fa6846609b932b17d8dae209dd98de47bd8be00305ead8afa18af21c17530f8679144c64e391e12d8b5d42e4eae6506161a8e0a43ecb08a5183bb5344eac5d90b7492e314c43ca7c257c22e4681ae5dc07e33e8f63a223cb79608e836bc5d037c0faebebd2138c96df166d9037a7c57d1969abbcdb0dbe007a52e5dd2bd1a8a89c42b0bb9fcb3f4e1f24d4ee2ab9d8101d87dda8888f5fc74dbe020348074a8cfa80a32115967b52ea2e2b546bea8a950369366f44e97b7d4fe8bf9935be4df0015fbc98fdfb83c1bbee9490b9fe448ee280a0d1324ee50c5a581a3795b063554ebcfabbb14468be2edf6aefe3d130e383a3d920c562e20dc688ff19e4b3c49eac9cebe73bd65295e93baef49229498fa0a164e7100fd0b86f63598590c8ddef557619a6dad669e1d0849dff969c85d7d9f09a404e3f690f83372bef7a8fc7e1b8303adb6e0021a1701dd54ddf3d373708aadf246db9602a178811b7bcf37da4cea8a125682f246690eac2a30797c7cea4101e2d0e96f47673682f5470f086a751ebd7921c36859cc9fbf4ef955d6303f3da1310211065a9cab7fb5ab136a15bd35ee66f9e94babee960a50a4cc5e363c2223dcde27889413a6ce4bec267cb1812e7bdc332e8839a5d3b7714fddb0ede8a5dd7332e0a64ea895ab4aeb5547fb4b536a29240d430366e3c1d51554710143152c95014d045c099d1e187921d5e92166e8b5f89e944c913dbac7466d9da2891d72afb6694eed52299a0e5408368ab119faf167a597a12de28f1f0aafc7cd47112ae2ea93bb8814da2fc7d89a65f7a14e6557884e33308489d73e3edb362a9140ee19edfaea6b59286e7084bfa037ddebda60ecc953a5963b021ba70734f76b588d3d8b9f06171f3bb544f0d23157cfb14152538182690ee3f29a00a6cf5289e2fcf9c265bc79ec81ed873837f9f620cfd811854addfc91f2eef3906a5e9b9c23e56c5b0f59a93b412330c6fbc0a128c864d2d886a7facec91b84808465df62d07b02c2f815df10d28c2b50f11614e9447f64f0e94ed3bc8e053667dce7dd2975b30a3d397e98e99d887824bdabce2dc4ee39f911171fea788a820d2bb3c0e102ed3a36f21596651b0ce60cf300673b9a147494adc7706a14da9c5e41a5ee15bdaa4b5ea824a94436215a11bc0c49c3ba56956067217bd1b83846e6a892cf12fc2f048caefec3ae7dca85ee97da4fc736fd23ef6ed7498dad1adfd73bccfa93d4348fa4a7cf1e2734b608b48531da188ceacaf497a7b6ac81e5a1784bb702bdd71b8f4a5320818dc4795af5b0d3bd001090d249580ca5a11d8485e8094205aefe88bbf6fb48727922a0da075befc351af13ff6916289168ac64c8b096b5e89ccd4df1f1c5ca79bca8fc6faf78f3fc782cc728dbfe820601ab9f21aa588d529fa81d98e63f082a78f365a235edd36deaf99c73356cc0f940ad6cab14cedde48ae9022bbe6554bb16a3d1668c6cffb680aa6708e33179db160f536b37fff1eee00adde040fdfe91b19d833277f1f7358c1443613271efdf70106748f2362a0e159c9bf9b7b36e2047e1ef3982fe8361a90cb6ffa22fac87a3623cc129e563500312efcffb54e58587fe4a3f88e2eb1b1ce89361a8290c10994d6e4a30a2e29a46a0f43c60d30777fe5e742a2ee6e6216324a472319d22959b2f4627c4f44ca1d22b631f246393902d6a2b9098e324b25e5feb3ae004732a43bff38f2e1bba20b77f9ef94a59516639607abf78bc5a22e26d4ecf4ce18064ff34c89d630ffd5e170c07574967c2427895ea460eedc48f7f7198ba4291b3a7a6365554dc8deb20e4824d5255c38fae592d986db08343ea359f4005a94372c02e670d212f3cfb3d4759cdf2636cd8a5b0cecd4f8498fbdd8fd676839c9e6c4e8cace36e00c9b508d59ec3598ad036d8d498632b96869688bb02f242bee77e16e514ab803c20687e91978809ce90458d637a97048351bad47345926ebfa1a4ee3c05e70922f7eb562efdfaa05903f4f5dfe7f9e1c759f05cd34d6aa526c1a6b0ab4ca49369fc5c37109b2676a05f55aa3c0d358330ee0d2c475c05f07c07fbe4e3b75ea2b65ca10fded6e9109b66dfde0abd442acff1c01578f7829baf91fb4c1e0fbecd5f7eba68549401fce9cabb33eb3e0423d41c93469190af5e247a0637edf6b65f2ff7692e877c38191ba6e516550d62afcb57ba373385734dd7a820eecdaeffb6f63e3297bb8979bac2547ee47399a3728d114bd468977850168b4140249e87b6f892f18c3119d83f42b464abae0ec67f6d6364a1e90e2fe96bcdfd6590e658f6b315fd5a5abbe2926a394db0ef6c8643742974fca16b1f53b75c45330775e053b7709440eb791ffeebfea867cdfc560e42ef01aa50caf5e420fc53842c113c5d2e97b5cca05aeac61d483b1313068dcc7347639ea34ac03efeef3ead1d7dbe4c49b1c3351e9d0ca0de0837883125dda81b173a2fa214addcaf0b38f80af71b44df139898bfe3ee65c7650ff057e44a8fe2a95261531dffc38c5a5afbb8b1378fb68c75158684e9649d0c13fdd1e41ae7b15c099e0efc95efb6f40af65dac88b96e6606adf3c7a86147317dff51377741d45583ebcf21ee72bb0b38de17cb1c166dcb0ea2e789f29295d76fe5dc078105316543bb7b9033da3d8b7d4ab1463e542c08200aebbae2aec5f7d9a669d5738983513358c52544e512c801244f8e5e2636815b51a8806544a0e6f06a709589142a1acbda4e7d990654e9b8edc364c4de7093b46b63827133901f46b90c0be7bbe9146b776f264c808a4ac5b6aca7a2e0d11a65a339ddb2832d2e245e0079ef9a306bc787d8e4feda4e6b74a9725437e2d4e4d14bfd7c9e34f04277207c64e57ed2f5ebc14c75ddfe1f96b156f3bcb0da2feae3199d2d32c2a41423ead350f0b2845f7c429da937e3f3aa3962278974df5df09bd104add220f149e0184d7deeaf2724bd41f21b7dd08a5b758564e576104a8b439857c4d4ca71aa857a5ea0a60ca68e53e943c23d442768824f0fc2c62f3f98dc30eddd56e0923adab1a37bbed0c1dd419de3d9ed55cab5850859102552738ad86ffd2fd76bb72468daea4a2510e21ecab440c1c75b9aca48dc23c6863160ae6006f50159abea3bd6fa875a38d5741927eca0df46ef62f49b8f1e506413914c0a16914118e8b87dd152f70ec82c52fa8caec7b97d60201b74945546ee8247bd6c55f7dced2d509bdf75b8df73d3b552f3057313c98a8fc239e3452f3f33fc9de053212d4a737d1d9bc644dc269ea2b0c70f59548170b86abe73900ae195d9781ac9e0275edf2b2e99a51df10ce8512f6b9c31f5f5016ff0b947ea817e296d2fdf28ecb0eaa52b6b933442d5ffc97acf4a201f2c21f6660aecdb0e378b9b7f537d9ae12b9d4c78524a95eed735c0d7d16d1d523c4a4158249975907d6c552a89104d5fd895da6e8ce035f5ac00d6677949198d55cdd3114aeddea0bdd6c5b0ecc6c0ffefef2815fecd52c73da011d81ddee864dc1aa67c3fc6ecefce789a9fd3e8b68c7992f677d926d8339a621611592021b97ad85e73f5203060e7237e928cbc7709cc4d91f69eaf98a9637b72285fdf64c71049f3f4b465413b8892fb8c83ed21b92add46874f692acd362f90e7964ba3755aa1f2ec52e6ba0f61b5de32fd5a16b0c19fa60b1b451243976dea0a2f81b7d094b304d74ce17d068d6a5c6f3af4417fb32fa23b9b26ee2e1d71b9451b74729026f5958b4e494278343886699ad143009e86f674fdf3d0f0f0473234ab0c0fb00dadacece1b45436943156672ec240600e2be289a83dd82dbe3ad24c83e9e44e8eb71bdf317d7ba05ec0f31a2938de1204a3d8d0d15d152ffba4fff59df2fc28dd2782870f78eb5fd361a1eb6cdbeebf30a718ed3d7e7c0a5fc887b708ae9a9e6006ed94cbbf09877239beceb77cb871b3ca19004ede44673a624d79594f4dae824a68261130da2a2efa2b5ae788f21f5b1f5600d8b2ea1cdf6849b87eab8c5d11f010c60b6a76272734bb4ecb781fb52f1e12ffe24176015b4a7dc65c47b219c089ed203c69d0218922344c952443e2cf0c6c415755d900cd0d6a9923b7a0d0274eb7ef23e804648766ff373113992d1145ddd133435349c03dcc217b271f541867080bb1e6bf4603c5c0b72246e87a39db7643ccca014e0a0d6abe39eb63907ac87c67f11f84375ea9b3ca9f2424923933da72c577586320cfaa22645108c760358a2d0fdcd8dad8d6e3f42e1d51586be9590f1badf97e441cef9ef66ab5fe84eb99cac4ae53a520e806f7b7656f2b89495c9db475bbeded607ce7d972b6604c3e1def483b28a84aa619376da04f38aca97406d22a35fcf1dbfbbaaa3c0f8dcd0db0b6d524e3b1ecc50306f4a22a757b708a6c90f0108f73c6cbc5085ad0f52eb17dce049f6925803bf2b0cdc840e16375b687ab25bb4dcfbec6d645f1767aa4b904b8e096731ca0c20a363717e6519483c949a03c0d5a9e1edaee6752dca9163d15044875d0fe6502cb5bd0e15454764d27b7d95e3db70fb47ef3b6c5eb81f2e2f11c2f6867793af58fcc081a00391e5af579fa15456c6cb889337efebc4918f2a91bbb8f08717c5fa09735477a6defc4d17cabd7faa0e1b96e1047f251be341ac6e985a075ec9c24c02ed1aa8016ebfb37d19323fcd020e46609425e06c2c79bc3602fd84b5ab827c77d98e56c59b85f76323a2f2abe5031537732631e804538d126d8c1b758a56221952c6675ae5b353ff19aa41bde955a25b2a9cd65f39bbf92173ab3f8896dedfa96e20406db3012620714bce56caefa3dafab0edf0673769a791f5cc386f5dbbde7f7efed74613b399d06986da18300b28c4ba0b7c8befd09494a11bd8e5f1884a9a2b856e232db54bb8e5ee7a8d49e89ea2a63a67a3276c3e3c21e2b0d1a0eb72bff627b81b93c0bb4cea9e4052bb5103348c3d0441a6492a2e16242d6a94cd1235904e8a6f01da1e63d74af57fcada08cfc63ea9dd7e179e99074686544ff7d7377b13ddb8c9916b380c671f0feb96f59074095b47adcdb5a1c9f8f60f7ebe863590aa3953679b7cb7bd0ac3c300143022e19e4361f349ebe64642ca20257836fa15a53669f103fcc98c05c694d355ee7ba6b2b0967404b6f9a8d77d70785fb0a528c06f62737232a93e29168acc640cdbd0652c15fb34410b693206759ecd3cbdaa65b71f25c6dae4320ae60f973ca3eef9b9d21622f50e58053c1e55eade21e1ecb4820d2846faf9c09e84237927960201fa5cef624e53e8e387c3ee430a54ca6c52e11eaa41b9aa757eeb02bee16af739ab9e85d34c5181d7e470241553ad0e6cf13c3cff3bc08ed6a1718f15b86a1ba59ce76159cdc962ba70c32b95c6b9526fd5ae7602b295266456f2e8af30379bb5663fdc7f47262e85caaca419f6f022b1306c17759d9bafd07d0684c8ce52d82dc073c842171164ab6100e2eb61268625b2822c4c1cb5c41728cf9219ae90a7b151b0fc6475a608ef4f82f1dd1d9474407537bd33004e85246f05b2a9d7464c6e7795af84cb6cb7fba8dab314143025992ce73385605108203416ad4af4787a99bef499af16d5dd1c0b2e8634b99e9adca9b0c21a34851d10793d36a50c4fa1f6b62d14c4c3e1c408afe4cd83393475898383b02c543d02e0cd89387102db5634481147efa57201ed3592ffce26b65e2cdc190eddc5532c7ad0a3ab4c002dd46fd82deff963f0b9f3c40521b686eb6b4e23a4c4a7bf01f6e0bcd218ffd6146694f6867fc200ab95ae1e45a70c83feb952e96796e5732a140906825f56335f24348550ace198386a2e1cf984447a40d772689864ae29b7e6287b82a8679ef8505c8ed258e4b619eb26bee0a2c32dc03048769f59fc5b05efb915f0c013717079e4aac8370de18f192cb43b1dcc745504ca268baacd08fd274dc5c93a663399b203831c4f321b6c83764e97f8ab8139baab9b2252335ee54f6d944b4115c26ea708f47db8b737425e7334e24ad6974b13fba2f7c5049a4a7bdcec8083d0f796ea942e13ed75e5454cde991e1e04038af5ce317eef9d0ed877c635b6365fe10f25bf58280c7f071d3f80bd5762c623a964e7a1c8fa9a08994598a65366ebdc756aba420f93c882337097cad6dea67f781b2c335380791931245215358d6c78175c53315e58da528897d784811b09e4fa579d00a0ff1923b5174d996bf0992cc35f15a14e0ce3b416e001e553c4e1aa2aaee0f9a90c7757f8dfa346a08080a0854dcda22b17c83f99c0f3c95f94ab8dcfeb6410acab53454174c3e9f6c3a7435863cf1847236280d05c94769ac78205f60796ad11005f2e68f4710e25292fa199638361640af7ee7b9a98425b99630c8dc0adb521bedf979abfcae3193fd93190efdb7af5ec0b03b83c43272c844bd0f1823188ef33d3cbd3b16c8b80fe4be8cccf41030778ac92773deb63b97e48696390fc05f3a2404242627763299ab09dacf67b540d1da0e5727aa5a24b0b4d2797219999937212e880d18f47d6dcb9a89597626fb36c0d8fbe30f237d8db996d6a8333ac85050b3d45e53663f85f8f878d578dd592ee043955f4b64016470756ba3118249e9a5769f51e4a9f10b50ec9d29f75cd5d830a53dde77fdfa324c7410282c393b670a3ab62d53afa7e06ad759a7e7ca11bf8b2ce24ddca34fd3dc9db7d0c923a1dc8e1734a6c5134df56c45f99d38f5c5d46913b56c9011a7adaa2617f377f39eeeac9d8f9c6db3d16e33747603f81797c1a2ebe8be29f59092080a0cb7c1a5864df5a2133fb959df417f9b0db86fb60605c21e3c259a65147f0de2f1df4ded2d03c9be144b0617ce9c49e8fd13f48e7db8715460ddef98264f1f7c1eced6017aac9328ee83401ef96a93fa45a97cf80257a23858d10c9e46c5935fecaeef712125fb36c7d4cb7649b5d825c3c3755fbbec83eeb0aa7e75e507165332364ceb0b27eb5b5c357b569fd320dd9ab7159a545df977a0970d351affb0a8116cf89bc395e58ee8403f3880c43bf61b184992cb75387c2b07aa39ddca47edfd1c49b872e7b27450871b4079f3919010ad17c685785f123a23b00a13e2fd4619171db7c18b6a632eec55578a2cb47e9b9ee750c4cd7599e4f68ecb0b8e8df3d140764b0f847426615c8f82330193c0c99ddd164d0a95a4aca68e4fcbc58d127f4d6619f79931a9ce941c07763529932eadb4bf1927b02cf5a349208c0dbf079a296e9d2442c02e23e35076ad244ee03d418785a94158174af98e469213c627fbf7bdb1b2ae4f3c713ec87d6827613fcc86f0b7c91177b03260814bb4ae56b88529737058606b92a5eaf7fc4230e80bac9b562fe595464d05e927396e098eec2a230e874260e670b6140bfb37cf7d487a1be8b65fa717422a5978c0f80d57db9cd17e459c482da1e0330fd11cb83bd3411ce897f5021a72de54ea55386d20d8039411053cebe257e82b5acf4af9be700590ce8573796c043d41604dc0c45b112665f3f3eccf3f1e696f085fe9521a30d3a60186b474fbb70758c40de3fee7e1f9bac30729f1d2ffbd6248a28350ade74ece4bb37d85c84a154d11e80733f3ab58b2e9df909cb8ed360e914f9350758e5050bd1325281054f9c94ef8655b913ef97352d50076aa79274abe7c61e517fc90be1807d8d0d1f6d81431bccc2ca6108a34c98fb3c0ce5195194c024908280b335bf22a2ec9c782a9724af7876c2f4c4d53a3929d15d3cd7823aa4e6fb488612f0e5be0ed208e0980ebb1ca6c774d1d9b22a03f29ecdd6ebdfd708056af42b6d4ae43594d673788db13f397b57d2b25ccd44079093fdc77150c4c8b4cd9395afafbee974f156227aaffc98b51d95a06f881721a8a3571f38ef7129c0eb059cbb2c61b7119e3e87d1ce0569ae5220b4fa52a4cb5b69d804064f6202cc0ef6b27c013d86ccf3bcb1e0a559ead482d7cd9ab31cf1bca773e0413fa2ca74ddc987cef0290c108525a64ec185915f2475d2a30d138296fbd0e16b24df9e9832b8cd873a2c367d2a45c39e614b8878f747e1ba30aa9ffdb702d149383cdeaf29ab9218600715f3d5895f7608c37f5b6316dbe8648ffc9063c98bc2b3fd12ab4e12bba8c9a0e320ec11a8ba523dbc6b5ffee6685265e71b481a7dd46107fd8112c50118e463aef2d1c2c168cb5327ea824cf70a80643e8a63314bfa27507ca66fc18c34919a12c7d233087ea2cca055a5f20af11c117fb435ebc3283f4dae1bd26fa2ab42ec90d5e9b7d5a3c496f32eeba323d0ae5fcdeb0e030e1bff2134eecaff693ff1601ba363147908d5b29178e334b2b736aaadf2ba5cf7d11c15731b3661d3a64e7286a2295b7008dc465c9c77261636c14ba1781a31745a1b60a0c488621f237137b13d0085e61a754ee896130df4e9049dc746a94a6d1cfec3a16836cd30b7a64b264bb48a770c1738837f0317852639219bc2994e3627853584cdfce1f8ebbd1bab7006c8a7162d6cd1a9961d5ff29bc74e186586be14e06a9e3d9c4419bb32123777ca02f9f587a5e7365d5aab57de744e88160ca2d94193e9ce6430f04de224c13e08fbfb27624c352946b53624e40d6f7e37b452ea3a4dc99e4f416824d8874e7e991718a88d07289b4f5a31960a22a939644decd2a879721162225c11a7dcbb0b5acf8d72e8cd70417a986cf122331cfcff7928da384b47ae75538fd73d095fa627eb9415640255dc96546d91be6bc6db281e1b805966df507c3b42f8d13f81bbfaa0d91c4a2a44c2631ea3f2c8b76801f0afecbee8567ced2054ef6a5577e0c58d0d0c81a21e391b29130f0c719957f49a6eb57f39f0d3ad9b5bb7e5850cdaddd495d5fccd6a0171b60721a8adb4252c441e9d70a2080907f4dec91308d1c7f17414926ce130f897f54a615d137e99b96e2094d935eaf88467c9d93b889cd189dffe18add37c44bba62a3c52d585344ebeb4d06345f700863299f2060d72422cdcdf906f33f8136927d55d0319e4d93fc64d54fbcd456f5b37df1e4136225dafeb07fa08159ba7bd5db75169e2a4d1908e408d761b7ff41108fc4637252083b3d81df104fd7ecced9371e95536590b119512fd44313ac75c0e38a23ffc3ec56c76f1b7e0f1c0d355e3b91ee0cb219505cbe43e61dbe95b1a4acea40a1063cf3446a68b33d8dc411a70e34067ae3403ea98a442c4aaf7496ecc7af45ddadce6ceb4c0b71e260d09b4a388a6559775c1dc101f4e72374bbe0266ec4798380fbed3461d6fe6eff49472303c00a2e6f1179fb44ae5f90fa05ffae396ee58fa19543f285279d4acebd7f1ece2502fd61d85927ab2b9ed01bde4c5c47d4a05ea28456ed91f56d77ace374350ea7107b2d4a289cfc608f22b3c1094d200decc2c0dd8b850f8d05c94f833e1ddf71b1c91067ab225882c5fa434f35b7adb3bde3f5ddf16832eae8a4cd628869f870a9b1082eb081446b6b72962ffa8e514602d71613b576f341384e2038454112fa6024189cc06f7b1dacf09efc240c9f3deacd17d63b9d1eeb7a8eeda8ed1493e6232410d4da981810c351425baf81685f8fda341fda897e9ec3e84f1055b71bceb284d4f2528003ac77b45353bdedcd29c71f1cccca482bd997d0fd93369e8837f5336cf409c3907f8806901937e14cf0e8a1518e37f3660f34d8ac79ec85d76909d2822b9ca8163c6d077545c37ff5d5780fe0f6a1183cf29dd9c4ac126d7717d263055539b8b48f32f5969be2f7031f3454d4501ab33edc26933b2aa04d12044fd31a747d0cb4cc38581ef410d8aa3d91f0d6d89cc87834ea2cec90af84bdb4029899ee418ad126f9a0cb7463c267c6270baf11d4c58cff3c489b65bc21754db10c59df609280ce1f498e8a66a8d9906fc5fcb44df3c601d9838fab9d6ff02ad7daab79648591ede25be81cc469d5ea5cbd43b1a5b3bbab6ee03a4f795eb3acbe22a6a85c3f813262f5f8d5acc35fa5d50581ee6e2ca6d28a9855d826da9687bc35efe4fb166701b2995c1da7ed74ec87a1533f37d8cd6eee06b9fabb91c33979574fa7399d2ec36be466aed12e06fb8440dc377c1a7eac9bf77bf6a01a68cf7c79b358e966e18f038f7f1b203dec69d3a75ee3e5ad8ff80e99f6236019ddf33d23e9da943d67b35528077eb68b2181b22ffa434eab22b801de89456fdff3ea3f0cb24c8ae8b201c974501276c05ac6e13618127036ccae6295512e1b4548fcc04e3eee2f44992060f1295e74fdc5e2fe9df8bda9ada381659c04d9990ddab64de0aeaf7b3f1aa88e21e1933c25af4f4062941d1a0d286eb6c924070bd4e8a3a629967d5ec2ad0a16f8982631276bb96d2b727ca79a90515ea9426ca88f21bc7ac841c7923c5e3969e8fad4cdb1495fe6f600724de1e08af712c809b8c3f4cb0091aaf0290d31a98242cb8b2862d9242728d68749fb20765e5b1c84b508c97af9ec468043b63a22b616dc3b363d0e351db187d1949d9b622fa292a959017c312ef9e04c423ea0e7c1a445d7d08eb3da498a31b67aca5b1e565be68df0fd27964"}
1
+ {"iv":"98399a09b8ee68571808688c5d921004","content":"f18d0a6a1dd11eb34d2f8444fd46f5328e3fe5a0f66dec6a5f83fe7d812b255c4393e4991cafd3a04756e07674d03287055f353f58e04337a559df326062c118e42ce4c13fea3f94ba40f555619bd284efbb0177454a7f6eecb99610525a08b8b6a55b470a39a871e13f87587e13ee363f4c0afece9dd2d4332b4f91f6efca75454c4eeed2c6243e2f5a866825df532bb22ab53f38e00f0f5b1e468c0e751d006ef62501f7908337b07981500b58b0e51a4a38569b833a13f62beb3d725e6a0ae24aa90e1d3e94c5cc32d8c7e65b8389fc7c97316446ca0676f4f9ecfadd66a1770ee98e1d85ab459a746a7e2b75e1658abfd86f08e8fb762d9c1c351fab04fca05ee4a970cf0f0441b8354f570fea923e419b06856de3a99d4ea8cab826be0970beaf3b034bda8e2e6740700c43f4128d77933faf4d5c5801d136f7ff9772707118281c6b34626bdb3766398f42f359afa088f89292d21b499f56e69bff923fff450824b5406c33cfee7414b4cb0ee63fe0a74b24cd1d9725341f38c1da9f5d4c9ea37b86ba57ab67a280228078adc9536927b44ded6417997e9c46e3717625eeb89c7c678fdb0589f9753867676d999ad458309faa8fc65a46eafedd9055744da935f1144a7e3e2b26db50b1b563ea10f50d42490f5cb5ce6ec3695116d6baaf872b8db6b2537df995896daa1b5b6817f2cabe576e3c2ca46e4cb81f8d970f6d3768a3ebec0dc6188ebf826cd27617f0141a39161035ce4629215fbfadceac8d4e398908a8e63359d6574f7195e66e4797d93964f7ff77da17fe4fe0d6f37fcf6430d634424fcc6609f712e583b12bf39dc1e82965bb6060263f8115ed7b5cee65a03af2677abcc719f6e000e73d0f9575f074a2f4592ab0ddf2ca8c2eb719bbd751bae54dc5f3897e6ca2fba22bd93f141820ca6e42bb0dc8c32b2548a8589eedffefb24d3eec8a8774d33dcf935bb5ef51f8175fcf80eeb4d2b5ca4125037c41eb1e5cd154fc71686fa663bd119633d0fdf5e247d80e8e878f2877e4b6eae69003669b3b84ec2a50e5101b77557fbea743ff919154e138f6a1b731ffbae81cb9a40218c8b84fe53bb4566390cdff8a47016abc12691f77fd90c1430a2aa79b067f169de90f281607375c247682cdc3ddb85c4b2a9efba020182b574ef2d24a9f68756cf20574d16cf635115f86be95af0ba362288bdd498435f7a52463a7445dcb3bf73a5bd84de972c882d93074116e4b19c6edc61dd0839fc17ef68510a7e3743827b9c3389c4507b9ec6213524939f6ea03f0562618169d6eef96afb9b8e071ab6a205e29fdf26fdc51c21f23a231fb8642a0cf7fbca6d00161058a9383de2fd03f196af4fe9ee1f1b2722b3a71424b37e5b94ddfc8215a16e14563d667997bf4a7cab29b8cf0352a21e0153855ec5ef4905e73b4bf48060d5e876fd0af91dd9a06a7c1a903644b3eab3b730473b5432378786fb6cf584c86b6129d1c66a217fe00f5e40c2a5cf08893447a6501074851c2cbb2810ae6b17b5311253c549fe189b32a69dd4bbe7fe7ac225f3dfd5a522865cac8a20b728369aaf3807583290f393e2d8a3eca0d6f4e382e9b7c6c4962998effce4e058409c53061af92529082d1e09413e616caaaa0d3d06715ba0ba9b476ef041fe4f986506ccbdfe6a6eaab76d570c85116453432247ce501a80c9a43b2a421ac0908990bd6904dbf7b03d18175318b2fd32d518cbf5001d5e940dffc1159bbb5817748715d82bf811135f5080514ffb8dbeea49410b156b86c0806a7599106034c3a34b92003fbb095bdd9d166872ff46feed0d12035e1254a7460df153e737759382ba024bde449229d5c9a3b0088d971c6a07586af1d6d6b3c5d0a330883044f44c60628f1f14b16a375fb79cefbb20406c4c96ed1edddfb76e070b311e5e14ffbde440af9f844353d2fa14e09be7e0270baf42150de8ba5d7d2b84439a62c5b2eb9e40dcd19f47bc078ecd4adc3b40990f2abab6423039caddb9d97d60067398f468de170b9f627e7b338d51e1e308ba038969481e83c7dece4b071149869044a13064f2f8951dea30554d2d52fddc94100d6eda5b888ec907cf66c05d041838b029ce08e05536eb458e1455f54c75090a341eed88e7bf23d7b05f6ae22c170c8d404ff4a493107786884471862a937305ba8c940d01e9866005c66312047d1c49b8117e6288a90d9ecabcad1968e2f469a52dc2dc44521d126585e60eb3c157c585fd976554e6b8a321ea239f6b81d664c1e6790ded8d8a2d26ee237a15d6709762767382283c3476f6ebf4031652eb3fd349a9a3503f47d2917bc504c4d832c7bd44c4b8d5a1f254f605d1590ae20267d56229324956692edd0ba7148e84219badc9a40f59595cf7558ff0bedcdab3eaf015fec406bbbc686adc346efe623efc0c6cc07b06a7040c7d9ffbbd8edecb7e0d4f1d015a7b4e5e2765537a5017ccba6cb4dadaeacca4c5131ddff9028283931a0cc0f36111cec4ffdc805b36a9a941d839ae6c83767009f544366b92dc424b89e8549b75e9ec37055e9eebca0df64f04beabccafeb1f6b404381347cc696a63d08c01dd917c958db8cc9941da3fd3a48ccd780b60fb4f84bcac442addce32fdaefd5b1b07c354b7aa073d703dc59a5a9561ab0a85d1417ac1b696785fde937e74b360d6c42f4373dad93baf6d8903b7c9e2c044aba14a5a9ac9a5bb7e8aa836aeef5cb409f16931b77f387710a0f0203ad2812a94de2b00a90e1ed1b080004bbc94438b8d41d692351fa37d04bf4d65797ec2147e0d745bdd1e7ef8752f5a72b15c08c5027ebc5eec92b33b76166511b4148bcc2c4a413d3c5d0b47cfd74572a82ef2c5db6f8c15ab850ea5db31f6c68d5278c631facda125adfba1d9f41104cdda87fa0af14fd020e67042d7049ea5d6035548d74dc9dde0ef2450eed18e810d64ed1427e3af93b8ed24d0861aa13a65640fc2cf83ec6159eb4e32c0b7906305d69c0703397c6b42097ca751666c5fa856cf41fabb79a157691592c053e05fe605e0283767a1858083d189852c01cf9c1a02a7c1cfc3c9abaec537c08793abf4d13d84042c8b37b7f9554043aac922900bf989ae2858ad5b020957a4a351ec544d3902d4eef4b69ce4fbb2b3fc07057a2cbc5f5d6c8bb6ff7749dab1c90bf283aa680e26c24a6e415b32c8b7feba23379010a3116d191598df0d4cf9bae4afafc5cbaa47941f76b2ff7bd36903ec245bd72098799928d16612791d6b7d73bfbd0a9b6dc48f6ebb8095a6ff3a92336d47d7fe3e6886d5d45af194ec9f85ecfe5afb8653daf975eb0bb05aef95df30ce838e868cbdf69c901d22da082a44e1c231d0a2ffeddaaa3b39e4a2cbbceee8b4d600beef50429ecd19eb0edabc4dc67431240665b5ad31a057f6759fd4b9255c432de55d379dca72aa4ba3ab96dda879fabfbc7f7f895858f2f461c5314305042339d8219f2f9c854d6943b2c16d9467bed570f4b54c1d794295209085cbe71c8b45cf8016420b7f29a39b11ca0d90184ae3daf3fa9b1f5d0c56228f2f553d972964d64223d73b0e2523528bc49056d910c1189b0eaecc85746849c479b990b3d88eef7f8db04f82eca4c0297ab837854302ac91b325f70664f51a11969afee662c64c5fb780c66feb6afe548fa46ecd17f721060eafa40a7e858aa0790e46eed41a8bf7ce9cc654d8679b7b823b973e64ba451c26b9bc2760d7b1e670ce6ed4e94986816e63cdb0bef918d1c06c91c5b137a2ac2f768e7390f7da009cb66a2a4611d9bd95abab5c050ba04a6c0ad9394284e7b9bf140d39a0fe9a1ee4f3cd0bde6a3f8d07b6b8fcc5857bd7783087ef6a77b6bcafbb87b88f184af3195e72ab92c25f0ad12825b1dd9e9166dcde4b2289e7b48866ea331b9c9eabda1d1e5f10bcfe759ca86d9e383f502f094098b938526f084d26a166fb36688eef3ab66c064370b42e94c2f30d61098f019f4dfb3c9c69e760e66e6f381db6710185229a2751ca95e0286c9d6c7f1d6c9146cc573392c167b39b257730ddec96bd0114a9946209a3b8b2733f9b885b6a0a4809885361a9c7707ea0ff5190872410812cea3e8fed470cb470c943e76dd417acaa1b534324d463e8ed1cc1cefaf426ec4cf8ea8a2504ab1494c2a32e00554e36551b558aaa1c1e216759e350b382d866d20d5b7be153b536789dda61650e1e627bc61fae90bd39ab29fe980f2754029ce81b4752620e4fb8bc256e968df559d1b25aead588a6673fe608b8aaf87eb879e605cfcd54deb3ffaed7b314d90ddecfb5669dc570d4acf8422d2755daa787178b19af697380fd57b663b5d3ac31e3f11cfbe6f9619d38d745c41d55c5717a2ba81d870cca79f15c14878604160cfb2367a52eb33f10ad1f0e61dcc4908b9574089a18ca886641a653947ea6ed68c882802379ee7db3b5faac2d77a96a36c6e52b56cb907b8af89e3d6a99d8ba85b6a738692cf54654294e785543ea64c0659bb488a9dd9e802bddf9b4c49f976d9d89badedaf6fc42b9d2fdfc9e7222f5004ff5f246b989fe9b56c41750a7bd8017df9be8e27e69d7ff7566f2c00da5b25d691d64180e9ca3a53c0951950c1c3b4bd077792bd008a9f79795454d5f09d620c3fa4ec959dc510939466fd1aac8548b547f3bcf65d790bbf24248503525aaaa75bab4bb5a2e60d7f30dead5ac6688cd8dc44e7ee1662af8953c1f1e992f77e08b47b773c91086db1629d59f56167d66f77857f64bd9c54a1eb73d25171f45bc89d21f9606d7ad6df4dca0554a43d60965cc00f375109cf63a67f81500e87aeed8741ff36ca41d840a0809e8b6f5d026c5aea749bab2e02ed0c67fcc46aac2272d833c6d22699d8c2c23c733dc8ba2668b3be59389af79f4d23965178f8b3f40c258657c587dd66d2987dc38ae13ee466bec2c63417dc5e039505ae3711d422fb6b46caf17e18bf387bd65939e46edd5113baeb24092e596bbcbec73974817d54a033b6e7ce8c804f455b09b7243b53a66beb069e6d68cc6a06f7b194141b824020da9e6a36ad12d36e340949394497467616593cccf32afc95e1ef4af3c118335d15bf5986a9ee263eb3a86bd52eb0200f50310d377482a37af60ac45dcd898258530b09bd16b265d63573176348fd191cb6054e9f88eb6055fbee5f604615896e771e6b22a0813647c5a3b6a8749f8440ed0be8c775ac9ca0f6fcf21cc6d589bd47f3b92e271d5f1f9595896d4d521f289956cb2ea0f9e086f6f287954f9800b99931da391bbed0d8626e5147d929bc1716c968fb1bdf49100517f747d1f812abfe55f50332140e99b13fc6ae011d573ac96d8d11339a3d5aef1b15bfb88fd5efb9af721ed1b59a41009d8f1b5635360d34881774ae1fd2a1837623370fe657c047b0eabc21381206d8c0e5357cf9fafaa239c6f1399207167d25dc36015391ca007ca1cd0b981e8586567093a40d85f5ac1c5a04d826e53e6a288d5e5fae0b05d69566d3b448ecfc4a41151ed1e245055e546b9be6290de16644a8e2dd517575b91ae357feb618b56533b1596d4ed24dabe2d36654ff1f73526af63e5ffddfbb68d5c2733527800a6e209d34530da412a60520e62971318b0bc2d701fae75571daf29de1831343425288f20a836c42d20fd46f7c975abefab451118513160e5df08d88574569b75066fa844c7055d71c8cb5874e88ceb338750b119ce7c96434cf9440855f6376cef521290ad9a7db165c92d5b0bb3a66448f78e7323e3ead34ed7bfd5db646c0f41956d88e05c01a9c24b6bfd4c1f53b2285bc01c69836b691145d45107346a51093265220c6887d3754409ba0515309f11acadd184e9359fc4be36722af6af5c9346148dae960e436f0d02bcd51a224f0561f94bcb07ca1f4ee746b22641336fb8998356b1d5e377089bfba6d60845d361b9acea066a796531aab6d526b83e1e6b5fa4d780d0c01ebe5bc5211d6b7ccd10c55098ecf7576f333a292dccc27fdb80c417f8c00e9bcf56bc2fb8006d4f83a7079afef79e68d1282cb911f6891d5e629acf6745e6c54a6728ad43f8aa7a055f77f572af64eb3858e12e3aeb61340a81908398d0ac37ce016967d7bf6a786f924c8c47285cd008c452e081394fcb91aa11a7c8c43e1172338e01593e2f480aa776c90b00147af91a09a732d36b9d1052a5ff3c9707336ff097e069e13beac3da84ca8406698dbaa30b326475fa86282f8bec2dd025f1c4d191403b8fd96d5db14f82ae2e7e8d12c6f0a364320b660ecce16b6a7f225b2441bdfd406bf44a8941fb6254189bf8db4d5ceee06f69519961563b88fb745a0db38e79c38f56e9e6986d9575498f5eb70bfc5d68a164a7b5e4073343cd2ae26ea6911038cc1a9848fa89a3e03f2a2a5c9ea4f11fd3805f6b620f6ef8059e1e0a616b30f4ea7dbb887dde60591ce7727662cd08d9be4d005efd0bdebc21bdcaf1ed69f60f30906a8d64bcc7d9f3fac03337e5b819913ee0436084c8f683e286292225d4adef774d15a03b2443f0a96e18e33dd7ab98657abd4bb81b2f01d409da0df5702d88af8ceddc85295ab8e15270e3bd2959fc0d2dd7231b431b2df78f2fc21781072250d2ed8ef88a703e9041de42ace615f0145fd7efbe55d13e70c916fe3d28356b28564df66bf1df5c4fb14698ff7af7ce932dbb2327fc44bd346a82c36c0a1a4739d5e6c1afcee7255008232d59bde6774ea0f27e7c05b964e0a1a26121bb18e322be2ac1c9daf7fa9d6ae8af1cc22f1906b214d2a0575a4d7d9d4dc134199403637a22cd84d82875fdde0f000df1f466df95c601f58e33bf6837e933f57210bddd1b66faf8ef575fa2a375dc97250902af30328efc9de20d7139c9ea5018f41f0f8ea23e36e78133dd2f06e0a21b43d968b68a3bc99a1a1f6f4aa0274610443e53fd0648a32b71c2ceb41cc0df325bf35b3f74eb77e7f187dc99bdbe39d5bedb50f699dd4399dc1dc56a0bcb181365153e8e513d8586d7cf3538b174a2627cb12e2345851012a5f91f1ccac3902faf7a04c22afe3be09f091c21b968e24c8703ea7d498387e33514e5476c2256ba930eae6f06ffd02a6424d2d61e99fe09648f2e3d5f8dbeaa34d4854657c192ed9042997bb92b8aedbedd240df6ecfc886fb77c5243db565cdbebfc6ae394f813ceb71a882a6722b1d3a55f3f4a4a21ef6e8d587965516e2a94b61112507999c51899fc30c014c15e9077847d44ceb765bd2c81d75f8c09377b4790274d585abf8529ea9d26275d070787d3e98dc528160a9c74548a42390a8d1ef4f23793e273e0498523b7d721cd7fc6836e4c7f1588518c36893091e331db06dcf80ac0eae4a96dde75f3a146f9e30c45715a987eff721a8be13ab3ba468d778a3090cdae92323e6fef2208fe9a524bc855c333dd11f3bc35640d1b975190f09d03b5f83d57c555e0808a72948c6beb8aa13af4e3add943a0b55a55a2a9f4d7be527b68543a9f5f8a46e51ca0a0c33729f6dbb1a5aa49a1fcd6a7b2dae980373aca8aecfbd988a1043deb57673fd2cd4935ab137217e710e33e33d7e14898fd91585401c98aa9a64bfff16f4337c2539bd8ca8f8855f1fa30fc156b97acb7016f99e8131246ef09e673d4facf347d566ee65007fd670a2d4b1a4bbe82ee3af5ee8d64e802195f2e83fafa8dce83af190389f59ee842fc44507aefff0bb0635223ab3c0bee92898c44f887ecce9f3b4d628993f5eaa273224dc2014ea70944064c2927ab25dd0be79a2eee0bdd50befbfb4fab19eb7f39d36d15ea03edc712eb2ba4a5206de3c4d206295f343cb3019ea77c0dbdab4196091c9a8fd355c3555838cda5317ebfbcb510db511294212ab409a15a8eca6c9b21820013cf08e5f3670576938e777b5207a366a3b26f820de5bf64ed73b242cb9b19ac5c43887ce69caa8f03d5a3385984d016b8064833eeb3e61a4789b93c679e272d41d1bb2151d9f634c3c7cbb5197ad3891ac9515ee4ada579a91736de51d44e7ff9ed9aec71d2240c4584f02e98a15b4c45fa360e206c4c7b47603a52b3877c69cff33b645a0882d4965a9bded4874b041b8d86b4c7c37d0cdc3276df4c1995ad972216c67c299e35757490dffc9e28a845f2713435c2e5d0f7212bd687ce7afbc383d2154c949d22a2076e7d56206d81c248a30a341512d716d8ebfc224d5bdcde6d5a7964514f70a06f777cb403a6f44eda665d2373713cb24dda93e3d03f8a53480480a0708a9502c8577fc21bfe549f4bcf169ead345aca1787afc5846e6cb90dfc2301bd730e490d498cd47704e6fbc8bf02c223cd1276fc4ba6fc97919633562e4d3b65fc3521279ee5d4fa9b17648863fe2397fd5b2621205e24cf40a023239c886ff43dee9ffbf33cbfdb3089b8d13a11cd0347f92010a8d7dcfeb7705fd975141c91594f8754cd01e5e810b15d56415236d25eacb18291bc2081542fe6835d38a09c0a61958b66863ef0ae461c62ceb6b297c4516955620a19a8359022226cdb74eec93603d802494c657fabceceaa92838718bfc582b6b195995074799104d6861df621e5599e26dcf82584795de3f8b5c0c0aa4d13ca3b784dd32f4f90da8bfbbd41855f184b48f5c30c0dff5054dbf8ffb88507cf10605bc00cdcef9b29ca33eb5fc4a5a06b8da8d3135df2150a6fd7ab8a6791067310c25dafe0346dc75ddddcbcf8ed0747d6ef6440f82a837a0b84efe6e2156c95b9000694852e40cf5da4bba947d144d0197fcee462a023ec3e68333b8d013afc415d5b6fcbf1b5bade235a04816b24925bc99f3de02e604f85103a68639b9815400183ce4d4884f6a93c62ff0a48af2b8ba9b4acd4328c694389af036edf634e7a1f2420e3c002cb694d4bc45aed216cf1ed83692dee8bf27dd101dd42812109cf305de408d7d36587ddadd8c521c2bd912cf6a0023e1138b05158503515a6980a8a451c045f0ccab3cae3f22b01b2169312893d942bf7c5ba5ef9180c0e19ba0a08b57f3d333e721a1e62a6220ff198dd3f035c8840eceb2ee3729aea9f7ac5f5ede7068305676f5318a32dd6ba69700c24d767b26c82218e69ecdc917476392e38ca91de1949e2afd9c0a9fe4f4e0c96a1204b8951a977a25b355071d0cc897008351baeb3c8b9592722e83adbea7ebd9ba2187b284bd6464d849a5af85db7c0163a6ee59f92829e896c70d80bfe781b08c0e864d3206eed5c7cd0f730d4c8ccf4fdc289f1f9e05ed32f8a584d8ba1c498e929a65325587748f8542b0b7c0da80822469501deb0839febc3802c0756987b33bfebc3d1cfd72a1d7417e99a5f7535fd993d94ee6cb817e80aec1a3293e57663d1e0cc57bda6be520d0aab2d60168bac250b6bbfb61afde93e2003b8520f26fdbfcad988e78be77ec00dc5bca0992a1a8803b2f002da3cdac99d29669c015aeba6a86fe548515db89d462ca80eb8be7c2e07fada60e082004bf35988e83044dcf0fd78ce07825194125174c062960585bf52ea92fb8ccebe7f15cc37a9d012161c1dc36db665c0cbc0c398d3d398a5d76261193cebe846fa24dc238b33504c86884f1c85dc424ca1981bd54ed608178e91765194972db3dacfa8faf9f36696fb4251b9e61dead286c5b3ac1ba2b54007bce752cc86beb54bbff18c21bdce254bd72ec4986e1574f5056f1e0ac08d3f07dcd40d8e0f0d496add1859ea0bd743a7d0ef048876376266452d701e62083753eef1e2a70b8c47847d8e246102d4ce77c265704d0f8c5e49d33602822c56b6bcff6d11f33ea9e095106b257f0ff42f9290da3891957a0c5e136f88b39f3755056f6d17a36e5d98727e62a91ed61ac4c702ed315925eb5ca1e7d9fa8e2f298f5a40126fff5ea1a2453c187c74ebb02b1c4bbe4766fa2d935be213b359ce4187c3889a1c0fba6a58ef87dd70c884050291fe4daac897227fae70a4cdb52fca844d5f9044bb5cd5c5700867e27a78dc7f03ea3bf2fa8a13efc208227da0e3301aa6b6c62567eab15c239461a385ec9827d4e67d562f8f0ad2d92af4d3c55d9d85fea2c123d44aba073892d2196a245411ec821470c2f896a6a0fc0d2be5688bd2e7bfb7ebcec9b1603919b902fce96076396401670b28fc3eadb7b9f3134b6e3279b9866d0e4bfe4e43684c09af89ce8110318ea08acbb031f0821531ab724083bdc8745e8c9014f2e607d9294a4b477fe5a42df15d0aee98c3c0beaab0b96487edfa7e42f9c05ec934c3b604706902ec5b9bb0d6a96523189384b7eafd3060f809f72dc09aecb23a66d6be4258279787cc53390048775dc741d12442ca71418e4f51abc07b9cb9f76fe338a4b0734cd2dc04e233e0403e14f06810a8c89af3b3f97147ada3d71e11bec73031f51227441f73bce1ab9265c795e2286c70ef54c743d19fa86b86717cb12c3b424b88952c2c01c193623be491cd28ec90ba57ef1d911d814d9db871a03f4a020fc11936b400912a919b203d01fc4780d0fc6cbf2d8c6107b42a2802bf6568d5e4daccea4d25f1ba4eb1c13937a285fdd9f3e7f72185f14223bca981472ea380c32d36e8c883f9a451615cfbb4e9724d4d0dd2dc0c939b0ec1a486b060fde67fa55a38c1790659e55f4615c6a35a7cc04a3eb9829ccdfafbebbba925251d2cf7ceb2d530df55908e61d0dd61479c44e9e2a1fa59e36c0a30eea6c7b66df3504ea511641750c3a117a01eacc6a16608c8b2e9dff95e9fe6ddb206df3a0313da8cfb8599f8f74ca441e73c4e2fe22ee234109630217bb38a812da290923d6ed9e629a3c6344093642c1ad4d417edeabfa28eb14fcebef4f5bd811b932c9cc4f3f09b356c7c63d45826f1dbd53e0d5d4d29e95ed0d385f7f7704d8a9c6d5ada31e52efb9aaaf686b7897050940ea5c7fad0cbd29e971646dda630129f2e3e0b0891528304808c8c01aea26781d4aa55de952eb21c1de743ab503a18cee20db0e7cc4afb3fbf7d85fb67e48e36ae7ffb5b1093ebfa8c5abb955773bfa5a5423c2457120e99f2ab885f21c895102bbdcae1252fc4e65f467e8c84399458bebc57bed7ab1ea369955fe8d2d7d06bfb0879872ca76819b6962e24cdb05140214a9dea3749c8a8f0938240d41f8aed41a5f795dd2b6dd7553953f9bea662d2c4b696ff340163af83c0f5923cb86151f3855b88165291f86ffe16c41f959c71ccde341619184eaca2348f107ceaf63a66f15834b33286a02a7446c838d10675b4be5455bff0c446c4562726117eaff96988dfa36756b151e742769fbbac0a69cdfc2b47d7c21648af93236158ddbcc47257e595d9009ab8c2947bd619643d23ff9595227ad6b19f27413a5397e772c25f9fc3d14ded2ec2540138578d6be24fefb32e9411a3da95f6cf2196b1d9065f0aa0fee0781732aa8a070ec4f7fb040d003106006e88779a237496a08ee20f6def66669c2ab3ceb47676960c847960a4509b2b9a80b22e10c145bbac02f8d15531a404e6436df0b229df3da2c3634e0b145e4ef54e5c5e196a95833d3450563bca13740abe9f9e9bab1b96c27b1c75635d9463b5f6a894a40e0ac638f6287853c28433b15d6fa5f10759711f27849c29efafcc65fa79b5de3375918205e0f75086f3a837042d37c34c325891f8d99b53c173591a2e32f315625e2ded9f0d35e9421849c7a803ff028a093095d4462b7618e7eacd472045d198cafff87355dc9813a97e4ab3a55b45237b51ba1bd38a64840ef8f8c4d3873080210992e6ab103825d7469c8d1cf862a55defdc1a5949117bde8f35efc50d9f260d07e79fe7e7f947e29eb9d4133dd0baf6083bdc87c72a041a08fb58ecb587e7deb22575cf36bf57f4f6406a61b2a02ba2fbc8ef870b2f6b10000cd79fa2d8c9bf428c20379d5789ce45c0c7223ebb6923346ab57d1c1c6eb7b8b9c71ac4c18698bef1315d4fdbbebb5950ccb0a928b857e5ea3f23808e87b1d3d5207d5c5a844e5f78255ca64f53262835d6ae6607543d3a2500f6f607b8fd873eb3133be6da0c34c2ec9144576a3fbc809e7f969833e57e890fb206985391518e68a89a97a0ade65520a81fdbb8621860b06e0d6d976d34452c6487c76a6c1b7ba0d1851ad92b5e7ee0e29addfd182d3d37c8c705692351d2e6c62707dace4f59a08a578ebdf25e1db9afdff5ce452f9cd952427bf9c1a267cdec4c26fcd1107eac866e91add190404c7be090a5120c24c5f8b64628339d02efa31daec1ee05056a19afb3bec8d165b8ee76688eaaa5783b0884841e898b7420ea77a36b7c44f842c41aeb9d00d6dc360ad4c53d1d6fdf07616c82233b216f64acbcf8c9ecff7dcd98c73dd89e54a543b385b82e57582781436b40a18a141652ff712b166a62109d7d2b84f37dd3a51717bcc7cabb35713dd48298eb1fec1aa68704d4596d680672eb71bebfc1d03598fb5bf9624a66ceb2da7ba935d2fd21a0b3bf495d8cefc114a261a6e2645b2034554c16bcff36da4d8480c22e49198eb3792ffab436670b96f054c18c87ce5b3cf27aae3b582e1afd0ff20880d78338d1efa8afc124d45c023b4f0799e4b5fb3b829409ceb82ec776801042625f11804976e3861780ed38897eb75c1328cac21023e99092f8b06705bf17d9ddeab8ee6b2fd4d39b114b1af425ee2c2e9437f485151c5b20dcf76cd2257fd59e08275ff5a8a8396a88bb8d0c84f13b641dd0c71a8dcdb69ba6ef7d822fd3597bbe4935704b3b4ac392bf1c8b09beb85c9e804f3ea1ec73de1a6f9d06c265aba8484aca84580dba2249d6a2e5bf43ea87a814952ec79e7799ea07858da83774ee4c7a9c8a5d59023452fdff7afcb2eaab4c01b221498551d131492fd933bca6a15aa4539b3f53f17864c80e4dfe80e794d825a5454f2d2df5c7590a6e53e782de12293d01fcf548090be52a69613e29d27ddc38d6e5b97ec6d080bb2011fb0518599f7feeddbc2ce25ac0cdafc287933c15587f1e7418d4a5d7f4a0060891eee95de65afc1fafd84d90935a49f54a4786ae6112f741de270a64d0ede099eb0ac34c501ca0ac8f1c2fc899e17ae2ecaa8288854c19da7ecf3560464c85293327392736551fb428daf502cd557edc034230e379d6a79c314944111421f2e77ae5062c2713fc453b852e4e416eb657367ab2880d2c4dcc056f92a4ca2de34eba26e4f0fb4459dcaf07c2b73f2c976887e11f7490b5f6583f7c8b297b920f6b7615339cfef9046af5fb8e032191c6abadfe67e77c6ba6c8ffcad9d2ac35ebeaed7a439558b532e11e7cf6ee70acdd3611976f70ceb3c44548a8c4e6774204470f769078b417c816bd8a203d3dfe12daa77d93a0e00c86a8cbff919563fdedd3516e41f531cc4417b619f91a03b3e459ee38e946fd723b74b7bcdf405d54e8d2982fdbef2a1eb6254e0d03042353250a69bbe9a88d8765cba5537832134ab38412ee9750d6bed69879f60ac3bb9c4ded73230c01e64f85275ded60cb8358a7b3e5d56487ba755338441f3a399e02f8b2172047b38a00fe1ad13701ee591b03148622b7f7edaf50ee1a25dca5443ece5686818885970f95a1a932f1280169737bba82781cbbc2b891844a383a9d43c98970de3dc064191e24000ab9b6470602d8c5d0bb503b175c175be94d57c5dc236e34b5661967cceae6b037b064ed6173041ace34a0a3c586e0725f01ab62601bff8337f5937510808da1dd322d9fa054d9e5bea39133a90a8e11f07f6199a9c8d0d2578d07a90f922c43da57401b541b2c46c9d380c43bc5b82373bfb3b61448828d725a75a0ca5d31b17245172f2e7ba08a87d2b7f4dbbbcb7b93825fc2576b0ee10d7edd121a87d94d6d28ea3ff13dc34791c2f5e0bb68e96aa1522efcbe9a347135cf4d580b03ce9295059f85ba3eb46e3a45713aafd0240ae587078199a13bb046b4c717199c37ca1005713f037ef3ab4d28612260c07855706778331faec11f835ebddafb105f97f7df61db7b8e28fd2d92a0e762948681d292cd79fa07d797cdd2e8c76db8cd7f9a5c3d7582d011d0d45fec4c6c82d11cd728e4f285f8c8ded1a3f03afcf2ae1b95fadb1aebdb23e9ca8a8516db146a18b70b7df7fb7eb15e9a432aed8a5c5943c960d99b24ea43498435672172d1d4226c7c1003fdfe05d89671cd6927ec6f9289adf556da2e069f35421dff84db7105e66bdd351b1ec763db99683fd54f3c35e12cd475f72766ead01a5358d3d4f3fe70c5f1a4a2d657e30aaaa7f10c5471124739fce269a7ad1ada743dd3b6b7309fbf69afe6436de194bac3522ca8fa4139b128734767c579c63eca22e09ae3e064e88544d5b1df105319c1821fea0696e543d94d895afee26a16f0e1c5a7ad9bea7c6275551cb475688dae1f31f8c88b8e884c52a3940c2658070bba93fbce2b452bfe64ef73c2e51b5069188acebfaf4664066954c08b10c65176cbd078301d3b90ed9e3f124a4260fa3d1884be289837b7d8ed17326a85851421f4cd69ed4cf7857172a7f59eb60d74238ab460fcd81accdd13b5de36eee24a47ef0de4a7ea1e8574d6244d617c6aba541164c37cef5c69fe50ffec5b694ce89e1a3d37bd41b2e603f705113c97c162a508b5117ee8ddc8c38f4703391572638f368e3b5d7778ba6c1512d6755f1458ccc3dad8ed1164e4b35352add632cface867287aa885a958ed3e5d2c840b5ed2832e843a60cad5d8bfa3fae0f07496ce4decbfaf7a12908113870e9a4aab81cae96597cb9cdd367d149fa767588a42a57086f6c8d077effe4262383018e9596d2ebfe6482884cd1a83a629c4730940e363fcb597a76c3c22b64df6b3d4d06cb8cd77fe8bc463d4b3c0e2d5b818d2b5b5dfa20495deb31606a0449384adb17776dc19943c273ea2df62a15c394a1b0a4e03caa5e4e3b73f5afe3fb88b0fdf87ae0c286f613f59cd1cbf562355b5023a00d474b0c7cb2e94b44172b564c0d392a20fd2c4ae5651434518e510bd2e1a0e8c7c7d7d3ec433301f72098c82bc586be2937b8b670cf298f377ae42501198ed7e2a1d3f5f1c480e6be26ccbcdda5b4846cdfd3d484ba3882b436ac76f779ce91b9f17cd8bb7397036450e412e0f464a0af2dbc3b31aeb29d92002316028d3e0611c21251dd1a2022545da4b59d56877cbdd06703d2fb1ff23119736a34f17b3bff6fccfb081dceec3c6455bcf90120a3d75fa54d034310aa650a803cb39a53e1670f71ebf3da94d33390d3eb31ba09a2006d4eced82c1dd0ba87c6c762b8614e5cb9fa74b5a4010484bc7c8c10adc8d9ffcd20bac49c63dc113221b75b29155e0c6addb5d98b4613f0187cd3d8c4d4476de1dfdede693f9d560465f0e8a883963996368b8a4182d12977e47ac2d9835eed327b41a07a09d780f52cb60a7b346903b8b631fd806ffa768430f4645155c64cbbb9d669543b21ed106e111292266c331daf1d563c4268f8b0908d08cb56fd19257fecd94dfc67a774eeda803baeb1fbc26e3e9d47c10f89281f026b9656e60fdb01dd89598201adb693bb2365e065102c3dc22e91d93ca9dccac04a0d6d5dae598341244ef448749d4702850524705eda98bfc2217b877d95cc9119331fcf81510b237adc3bfae26e823103cee3723c3e7fd627e385a974b374ba2ea2e163c252b63de5d2897b57852938cb3b89f464f6fcd0698cfa8581025420707c2404dc1ce64e7e96cfa7dbe49de3b09f0545110f814cd9db2bc4b13f570e4468e19efb85377a3514343a37d70d259154b13846d8cb736fb74e193b8c8ede998355a01d59caa7d8a7740e9c931882edf6a89caed9efe2ada3d48d8a1be443e5965634f42e4b953e80e19bf7523c7cc13158416a11d22bdb126280fc43be3933e9247206492acc987816636d1856826e46805850437f964558fd24849a3f1e0971bb26f8511ce4bfeb06fce58ccef866b3cbab2a8c7bce445bcfe19305a94872afcd7901c4cce1e9c0477cd25bd9b9afd46e481ea62c659fd81cd90b89be2de25dda166283739d33ae8a200ccd21c6245cf1b8ad127eb9593ca92cb684c3e9f32bf4d08b29c059f11a8f03334f7ff6b2f65992432efe9002e40c24b4917730c5fcb29c46600e9f3031369d2d73cde3f3abcbb5ac0f4897ee3f959980c0c2a4e47e1d53cbe0be846d0ca5d376fc32c6a3546a723da336dce7cd725c4d2d8c5a9af5483d0439c9cc5b9d0b84e819501ce2229bec5babd7b132756a42eb1595084f54ea118df462e62433ceba8c812d0a528e5687dd09bb4c023552ec2090fadec71014151d9e2f45e5b1d95d52afd19b03d1a7f4058288a7ace4b45ec7a40884028ba785e4e94654adeb2486cfca4254ba6041c627a113d0811ec0e8e08c54ef9052753367f3d9af4f81b11ed202193ce2622dafa45d8f2b681630f0529a67e8bb6bf7c8b0551350458db20db8851b2f2e88e5bfc63b04e6f420c604cf2cf9173f0c1e570c4c0dcd223d470629689a1548c9e454c7f4b1be491c7ef7f738b173bdfb2d98660cc8b658443c0aa73dc640a4bf37050004f4bc1711b32f75f847d8973540d71d20a862106f982eded4df850f760020d80d145c57c61c9083c406279caabd424586fda72cace978de99ee2697dea90df90ca8100e1557a4e43c8250c40429dc087f357e07169ae2789dd78da36bcdb4d5a12aeabad2ddcc754b7e270c9e4dc4a1fc606baf4fac8d281de451d44425b22db37e5de9740b66a3e9f77e739b7c8848475c6647e65f07ba7fc2356429a1eed6e9f1e5f5a4f0e846827364fde4801f8032499226fd1c0de50a297e67faf77fb491d0b69b4582e94ce9d0a9daa16c57161b08d9784909a381b510db811e3d2cca325897f2f0d876ca17daf574b29e45f7e58bce0e4d97efb8688456731eea08da64daa77739bae7670c9e72191d75eec69fb099a06ec7871a5abcef5d800c3110d204f54820e797d04c0f365804a44a81e7cef69625f959f249b0f07c5de53991f06a20523bc0d1330f3934c5f72ef7ff701c1677e5d12bffebc7305dcd6692b52ab731ddd7a0a0d7893403d1d9a76f90be2ae403647911590a2f8b85c7be94a424e9c2450431ca86a71a4ab9bca03b62a9c223a7fd1564f645044fa5e11cd4ea4b10abf58deca6860db44a699b3f59dd93b172f8e265e645827815b27cb1f6d61fb8b114bfe3529735fbf3f9f6428dd71ae35a8412a506dc81b1fd750a9a5a81aec1198b0bc8517e28e8669db9f5572923ed8916d12443ee63229545b8e95113100dac6e65c9e0823e384f854aecfb43629303b34da3c8843377a6553e0a8d4ce8c2c35c7ecee3cddd45a964e1b2991d8c8e76fe755ab4513331a776345bee043af9e01c52a8d02b4df86ef3d90f88b79f7e5fed2ae22724715bac63270d35628e85ea266e7632d34e351c3eb95b5758d2404351cf780318c770b6377e2f02581068f23b39a1b5af8e717ab6aa8adc33602b0952e3b66fb6d18a074560e188d39c90261b231e692fb36f289972baa5ddafcc47a723c0f3f8fa61dc27f27609f6b89c66155365f61c8d8d9837c159a746951cced9775fb67a7ebfe19f17ba67d40a641306dcfba04ebd9f35dd480b130873fa4da509fad1f518906c7d0d68a0c306f7a6209185297110c35a2de406dbf7491000867344b12c84a4ebcc3188a54da0478ecee603b4fcf0d1a3465c7e91d6606aa6abb352ac09147e8d80688c00febdfa4525bf8d511db2a56c10ec0464986ae0f829a629cc99ad192de2b452caa2865299a42ea063e2edf8c864ce2ffd5fa81c1adf282c3d11413603a5c131076a151c0c1f6808af29e3acb0bb8a75e78ff8ee144aeaeeb44c1ac63bd4f03dcacdacdafd05868b08c15f65f4358ed8885b7b2dae93d056fad3abd5d518ed8e23a02b05ba8657c85e73dff5e8282b1c0b15c01ff62ca2eb88081139b5ed3b65b9a7175b3d445f2181bfe40f756f4ef7dfbaec2824bdb1a49e9060b1e087339baff87e2e0196dc4ba56b7ababc15d22e6540500570ae7b7babe7308c8bc7b8eae9586746f0b0489ab3ffec4bfd74728b1c9f49ad0f653641a2392e5f5275d3ce944d549e9819cc453394c714e04cefa10bfa981ca7f11eb046f976f8a18bc34512426cf02ef2827e14b4e9abacd97a06fda5c062f147aad05bc46bb7195ca6a0c322252690640a1e729020a3f44571f2f55ac784cee339f1408a5ef279fdef304f0bfd84bdfc666a9f800a6431842c060d52e457bf689be91611fcab2e5a751d9e668fd79fc301b94807ee6f89c3eeefdf3e1466ee7296b1c39e30119a0a297b74cb4bd6dfc823a9660e63afb510510c4b98b25767942e2d0eae04517902c90404caa5460ba500fea51d1896a907169eef59b12b1ef54b9a8516e6d4b4baa70f578339e6f494e08cf695ba3bbae19eda181a56957ea62b4774a71aabc95768f21784ac3b2af246f0dd51cdcc04438c32df655df152436cd177500df8fad3269c995ccc9c8aed0670543194274b4e3885416d116436f98983d97b4756ca79ef439438bd42797b9e84144329b40f6513b3f23e9ccb804c6bfca03e2223fa8d3f03c3abbe5acd1f49975d120d1c500f9f0c8b26a390dfa0c418c0fb303ea9a0492c37372c1b56fd81a2511702a4e1c6bfc05ea9232647a1e5990f3599326c1df2a6bb52301ee45a630027ef8433d92824c864c1d7736577dff7ec8388db03143e4ad7171edb450fd8624ad70a34d5df685de57c14f382513506e809aa57ca4a15ca7163e5bd843959d18ef4ff376854231acc08899624eb3f0d12e1dfd0e8da22923320d570dca44047e78414485b84068fe4551a4f36e8d7820d7e1b1bc939b4cbc0d9416508081e78b617a76f1ddace5191c334d261872985d509f7b1b63286a64da0dc9b584415e6870d7af90b5d28d2d2f4938023c021e0f930e817af25767e6d9ed4c60489bde195544e8f49c99a8c2d5ad9d89c0acc4b280c677954cbbc0c3418499a05e0adfd71cdaf75959b62e5bd6b5507e618570711760b4a9aa3338d2ce7d8ba370378180c9b5e7a19b334fcfe1bdaedf7c922fe66434d288c446a2b32996d6f65eb8187cad4be3402dacf5369ada1887cc3a66042f3b29f68bd95137fe7e07bd2e0c78d33551c146b4aad8c1dfe8b97cfccd156dcda666e1ffca29817ecbd86befbc93beb76e20ea1bc6e951944128c42eaae7f526c83fb32c8533d7d65d086268a09348d4c3f3d5627d096801de5cd5cc46caddff0fa2dfcaad34e76a66e9de8231217005c4b10de46f479c8370c8cabecd9eb278e30b8843484c0afc0a3b188454bfd431b3f50924791d4eeec82c3821f8e4cc14b1646a002fa3bf250b3ba0e4a33f44cc518ee465c54405b598156733cc66d6f18584946e0d235dfc121d2afd2712989d93b3235e69ee322d4ce9caacf7bb9d1f8db456bba0b3bc8596dbc70dd847907f3049bece92349427a260d195a360955e031ecce61a24b2e98c1cd900de42a6355d9edb4b8a544b88f907f547a983aed5f31025b7f7f808e9a609cb833504e1431241b74869b176340fb827d8b326ec41d7fd4dc3a870151955a4ce07c9d2c33a0eeddffd68f5bd4e1971973d421a85b43b76a4369971cb5f9cbf25fdb17d8f61757b13997f0b06d639bf4e0958728db0d11b03a38fbff8f8975802c6c61735e8948a85121edbd991795455f5c56110a103f6aec35f88b1fa4506fc83c1a305aecf73ddbe857ec1b81895a3596a3f2dcf410d49b25845fe9c281841e3cda94898cd121866a8785e0e7934a05823243278c91bc0e50562a00f85462248f5ae615244aa97daea0e37215f0bf9acb9abdb9b83fc91bd7bf0ddd851646c96bfef59c3eb420f379f479ee8708c1c0ca7f920bec0d55c311d389f31904b3147626ad26e7f5e76cbd3a74cc65b8ab3a23685acc48b7a093b8f7555d0d5ec43a30807947f8d037ad62dba2ccd2658bd72b1467ffcd93e8e9294a60d8d4456218dff19e76d7d18d159f8eff224c7672a76bb87edd8ff00a87e3dbfb0a08030734773dff31797184f1a1e886145456176d671cfa296b405ec510747f166b406b9dec5b2c258a0b7e098c7520edaeedc69c272338025beb648013f888eca96b52cbe6d44a7b244c4a1638b230245027b4a24d228672c36a1d1c4078f1ed32c07d3284b575a3ee9fa9b60a541835fbefc108d4b0fe703f7d014d3fe8d875c378f887481fae17b042eab65e250befb21dd3bbc94b448d689e2d654bdcfddd3c6dcac8f2b3dd337eeec9695b81cdf0bbe967ca21cf984595f34e2fe34d13de80eb02c533b917b8092014b5f6108d40eb3c4fdc8ac327647de8aa3c20b1d765986085fb94c78fbf9a17ac521c66d82607badf87f736fddea32b0817aa9dbe918b21ace0ea6459f38c49c2ac7fa6c34e598fd44299094d1ecd9a61496db6a3688a401dd37b8038dd91371b8ba773b862e9b2aa333eeb89e2f7646e207d105cee00b2d89064d011fdf0009c46146108706c9e805dcb0706fd162812a66fa484eebfffce80071ebcb770442b22863ffe45daa68bbebd98b22a2eb4ccebc1c6358514578c95a77a31bd0b57f7b4014bde93431ae857c343d5419eff93600159a007c4116ea03d13d90fbeb55d70fec4111ab0515ccd64405b085e250bbcadcfa309db544eb73926a88e3274894397b19e4b9d7b7f6c86d9b450ce23dac1c8d7a7b73fe03d9efe89d2461946f2fe96e89000bf04830793c703564353a16af8bdcafaa780687df011b143849b47a5f2c81c4ed814510693b0dce15eee204145b81eca67a2a6383a9abc695e6edea665b08626dbb8ee70cb6b0817e9ccba466ec14d4024d94b02bb25c09909652a85a5f8d23a404aca3ebf81684e8c6f029832cf2706b5738c5c00ed21c9098c79ffcb5feecf6a1a51f6eefd98685bf7221c682884d3f4790b1b049c8faac076efc04bbabf0ed6ec982a5498108c3189b204542e1120ee09eaf1d66dc3e945bbf19fd49ec0af004a46c5c56a2e30c47595079add6e09bea6df160430f1b3c8279dc2b58ef1edc8659c74970f3e832c6d8b93eca1664476cc2ca14f65d315fa24ae68c4cc7e68c511db6f84b9a5f35c7b05a379db5cb0dd2620a880598d6c4bf3a6c948efa63ecf3fcc1e21fb24985f814a60ba32b14b80e225c2f8f18b77d55cee42a049af68eb14ce187dc0803cc55182d8f56fa6977d84962897cde13d701a8763f3e1485222167d871011484ddccc33f63d11f41696f11be1a5a9a392266a064a50013780d39a9e7136e08bed83e9ac36d9ea55a9ac92232924f00376320a87cf125e71b8a84357a0d0366e460464d607684e9f122917c3d5541949af07514beae239f04a668ecc3778969af7f1716399994eeffbe9822699c4dc5039746ed9c140c71a51db67cfed383ec8d26c33880d6bb594079ce6e20d543658e0a644eaa79b4a4bab6bc960d89b95bf9b6d8f854294e143b54892097f5b7447ea62ed73fa85a7eb7cc191e6f7344103d9d19c6f90c54da8eac88cd9a8ddebf3483abb82563703d9c4ea84965b11a4cf231054126e8b049bc8a809268e3751586cd31273505a22622b88240360b40404f5571d7225f390437fb93d20bdb2a75014ac6a346739fe7a5e2ccba06825e309a235016f8de74c141eef9938af7b250a9b121d112f71a114a00f8c3051191938430bc9a3b3a3810caa24d115ef680c67f32ab4390ebaf0a37cb91818b9ffa00af5c7e9f9af36b315ca4e85e6af984015c24139b321e10178fd3829bc450a07ffeafe5766e215b6528657c2faac7acddbc53a5a689bd12a4afb7a56b7bbd3049b3af0f032fbcec5054862c39051f38100aa9ec76d56495a58c06ae13b1e0cbf2d166c826d22055e649b09b26eb470c6c73c3175355071880c713a9633f7f49e5c01968cb656431999d23f9e226979ce988cf9be4105823d813c765f0688f632d93253cfd1a23fda18d0cd6439494cb20b76e70df868c6d2ee25e4aa2d098d196f21cbeb664434c387d426366c3b626845656e8cf42507e768625e6961c21c7370409dc8e4f57d97068b9e946c5426f131066988cd7bd85b20b56a2ed29052c3ae187948ec00bbf500fa32e5638e92cc433214dad47f94b14c86c2c72c6fbd62e34eb36286fa777350698cb9adfa02b4935f48d987a02814ec2a47aee1dc02b53554786575850606558d7c9ce15fd6ed8d5efe32caea44ffdefb3bf0a6d30c5e628b1dbd245437c0cee6bcfd305efa7370e9fbd7f5afe5c6dbfe477cdf7bc0082c65c80c23e11f1b0a57a7bda559000a12c5b8b19579877b399292ef395cd19777d183bee57ae1b4413b9d5ebdc2a6e5a34671aa1e815c5c4b9ef20ea7829cc8af1f7f94c7181c107b52c43a6caf168a157f8d68cbeb179194aeb0720447c7dc2fd596f7e6630af1c359ac1a3accb218ea5b9ec6c479bb6550315ae1beb43d542731e2e992a09e06523e07479bbe3739cb9a31d0e4c170e00839d5598112979e57a11152df018da03573660c162a858d5ddd3d26e7ba34aba084304932cee7b81b7b1291e2f5d26bc8a520d07dc89929722162c86e76fa974c8c8f5ddcd22208e537ae11bcf2fb28a3ae7965fa8d4a032e596703de46988fe023443dbf18c2fa1a4e95edc1215a2ca872e2cc6f51131f3097439850ec32ed4eb601346ef6f6ed277e8d071c4b6296197cffbb52b4e16fbb7e26057ba02a9bfe2f2edae15b54bafa37aaa4ead79b6169cb5af98ed4d421364287a4aa1a9eb6f137050c66473881b856f6e7df5c9eb351271fc40bd9c54fde35df69458bd6bb1ca35821baa76e921bef69c8bc410b2100af8e01250c50b31f4bca9f85d57210651f608939cd73c72ff1885b914fee5526075d8533830be1dd0cfb358cccb39c2a09f6cab8114d4ead3534acecd72bb7b1085909666427a3bccdac7c962b113eabdf47bf16057c210038432939f08f89648caefd4b246059885a2dc2378ed4a3e00dfd1346aad0403c6d07a8336ecf11c3496613afae191c4ce5b0586fd06c5b5f1c0a707ccc0ba26e9aadf5da0ef214aab6c44efc43bf9f86a05e429f426f5cf90c14aa201f0ef768c6265559bbaea01da94113b7d72fdce69bd2f6bc2eb5ca5ccb6419c3731077377986e2c89c8afc65a4cb4201d3ae4f9b727fef32734c72dd9c1e5198ae481f08609df314bcd15dd5fa3fb2ec5b413b991a90df3f220d27b028d25d01c1cfd37322634f7ef11a376b5ea4fefe2dd35361d00b51dd9c444baa410df8e9c055ce232e21c67f942e5325e9ea54728ccc2a49897ecc168b8781a5a55c6677d29b092d0f7ccb2729cf33461191eea849259816d994ca7813d1d0fce169a2dd14c385b5a7f6ff46a5d363d18decc377c8d08920fb5149a9ac6d7a02f7d6e4adb69f53debb634dc5f810d67eba65eefff636dbd4731fb8034e8b1cb645982c02ebe524cc9c8e1f2a48f6d5e114acec2d3c80a5fcfdcbcee6a49acddb276be1627c54f5ab6fb686133f5616f7210ce57439f50e1ee00b9d52faf93ab3ae867e51a7134a04b74d72b38ceb74dbf5f0b823f61343f1356ee72c2772b7ada307778d97f40f9c66475bf2c729d4249d13e168ed851b7c2bf011abf3867a34882c6406b5c7cd8bdb5a84c8389f93e9db8b6cd8bc8ec4a2646b914699ddda8eff5cec8a67914991cc2af7f5a2a3cdf55e4ade4a847bc9e05de2bec1ab6837829b9081f3b8b0573ac9dd14dc836305e062bf94264cd86988afd6c5d1f6801d6d8685446fd07f86424bdd3ea0f96946a05f742057ea8c0af5e5067b56d35ea530f9f98e0fa6d0ac6ecc83ee63425518e6b9a71cdec08ffc182ca6053dfe6875a6f8902cf7b8238c4f859f40e577f2445e1ea84d45f20a2c132319e1cb453be7969eaf54becbe911ebd1c8a17e4c2c9cf967a2178e5c4af3699db9b935bcb3514dbfd2598fdf56b004a01e05d99ef906d0fd852c08e61f5fb9f251363863bb9685c098207b41705a188d5d5f5e46d118e5838755fa6b36561fab91aba4871b512e1a1ddd536c496250710a40e18dab01ba76e0659df9429294dede517c9ed8ef002b6608955082288a5c3da488d162cdb6b9dffc94d3d040d0441e19c19e86b388920605b26f2fb4eb9ac6efc0abd0f2d96a426128005825e3e59d4ada961416efc89696495ff910e4a7b589f0bd9a3e084da2332550bb62ea1bfae9f73c324e848ef5d1d244a484435e34601b25ceef9b25e4289dfd415de4251bed7e5dea9c520987a5b883b89d4b529ed5b021c5adfa53f37fe18a7bbdf00eaf5f019490cc64eeb2d2ebd444075e023541da6f64c4d3a0fa91ab010249c67abd68064b93ee7645a7974223b5bdb298955af2a6cb0f0f1bfa2aac11da5085e4aa482af403a714e2d1978a9257a0304dc064ef52d13a98103c7f96f673f578393ae3dba2cfdcfd20726610c2cede2130d457a7b527e64522001e2a984cc391ab327838a2b32436769d2d72975a712ed3d1344ea29707f4a15905e4b84684f96d3e4f0d04cf753bfe76abc3a3670244e9eb7ea515eea88f479b88ef0e02b812463904a88a85955e1ac9d06702d260507ddca40867b89b909f08e69448fa5d02e4258511e98a2558d8e2e66f03f9affbf6fbd87c8c129e9dbc1c6e5a47a78883f92e195c02a0533198c8d4c07fc80770d31cb7ceaddbcf2401d772e9d4cc2491601d64bbe2578759864a829979ef7bf3387866acd5a25bd57eaf6b05d8cde2265a5b8b1f6e0db0e98162903c657b52b91ed5a8142dfe0ee5d19f32dd6bdf7bd6619f2c2f8ca3a1d912667234390678cb896c383c0676075fb0d7a845d75d192315db2966245690b30d205ca92f67c4cf4946fe6f125eface744e19a767cae47462548b07f810b09fd23f701728c07bd046c7124b55b60b773e9f5212ac632796b4ce3651b35996d4bf3aed0a4f3f4fa3b4461331592e9b1b2a15b5711f7723a0c1a3240310504740311a575d3539effc4adefc3310f9cd7945853727c4ec173fc7459cda18b190cb551aa93051b51e71b9269788002ba06c265dcd586f74fa3ca81eb3c0575929a3b51681d34b11288df38daecf81417db424f1bef5a7554ce0d20170eb03b1102985f47fa9c3f21ef61ff6e0aa699bb1b3d7bff404775bbc5bbc24470754fc3f714e0518bf013bcd3cfa09216d950215014881fb7814947b26d94d41f3bcb3db04a193a6083ddb6ff2acdfd6b3881163c2d985541a7cbefb52e8a3694313559a3c4f501c6e110f8be48e67c1b3bd22bbcd4cfb10a8cdecd461ec25aafe1fbde7ec2cc36f46ac2cc3c5f614de04031ed05520b7d246dba48b8f02dfff3fa98f8deee9614e5f8e01719c7e460351302dbb075c165f79adf4d420e84b8a89b297430e871e9b186d25a23e18ee6c254398211cad576176fb81754c5d18b02812e6f1a166adf798b47c782ef9ec735490481469dde83c9d651937108afc722968496ddea839d3e942f6422115697c8c67c9d77eb81a319454de8c74d0d4940a56526e630f96ab70eaa67b780fbcfedbbc753ffc0d6284d312bb4a8bc5e772f0bb23d54884ce9e028080a248748fa8dd7ace302db00a2c47880a93948278a12556d9264dba7975bf4da8b812eeb233ba3c56657ce9a387b730f75c41b417cd93670abd5c588275788603d1ed2f7ae7c2cd7b058b0f32234fd115eb1968d6773ed62c4b84c44e28e06a69b2768f5f65a27ae0d32fafa9841420e93fce3b06e0886e0abd40818eaeb4ceeac800028d0588a65f54399378dfe59953babd11c3f590a4d7fa542ce7c66590761e58c5844b2dd6964979927cd9bd877c0b34f3f6a8abfc16c6b3291565239ff6a273dacb080f27a1fc9431f375d9656ae44872af93aa4e0a830db24334ff27ec539d2f779f5a7b0e957399383c328688eed4ba7d477b983b86f37bc583ba21776e1f44d5a8c8d996876a7954d8891306614d1d604eb78f0df125bc9f998dd7de3864cf1636fb8a5d0384c82bb3cd8cdff95ae752b40ad22647b020d1f05262c4447712eaa87de901c25de43a6454c7617ed77c932e22df847c3e7256f072178342c398d7deb3860c801471ca987689e9b980dd63c850e85cc7e0c0705cb8f3d226e3927a2db8db75637e0ab53f542c895837e661357a9cbb30f148157cf0d830e69d81052d91e79738b474c08ecb3f01a1fce722daf7ece66c43647eb338d80b2a5d7dbf473ca3ea29dc8becdc837d2b1e9ea03716d15aa1a5921f3709edb364d18d3420cc3203fa7d44b9b65c83c20703581a38ffb0b5cd5670dbe00ff70dacc00a4dfbb0f87430929b3bea599fe7121a8773d6ff194903184d13a94fe5c77c4f402426c49905febb783186e3bd89617061d04749643b1cbf13823bbcd3d156346d2c84b9f59ef8e420bc77874e1aada789928c85624df558e8cfe09113e1d8b1628bf7e5acdfcecbf77dbd576c0b660efe429dad979e68026b86abf309b7a26ecbdec36ffc0525ee12648d764f9715d86b66059e44641b7a6a5863268bd9383883997f5a6a3e345fc7d3c1e9b10ea97ccdb190001117cb712b52b36425c0308fbe121035c8ed66ea9c12940db39db43abc058071ebb9ad81497405d4824ad3615b5e7129f54327da2f7ea860f474e9cf514366a19e984f12e0cf2a3b14df1ae0164691cf301a35c62572de0bb5493f8c1473b8bdeb23b6876dbc3301a4a243b72f8c32ad1cceb7db1ea04f54c231f33462688a2ddee5d4d3325eb1070b749e1b2eec30db2cad3132a758ea648a4eceb7fa8567d99181a13153a05e03329d71b885aa6ec9d51e422b464112dae9a070004a0067e7d19c3fb76c3028e52f2b60170d03fb127fc9737eed8f6496cee17c7344d6638316ba5440def699f19f18e34ee92fdad3988b744b2d5f2cf8d4975979cb26e3c1254fb8b5a5b4cab23fa28deb0d96448a994abeac52bc985d898b47a18f5a4ead3eca96107bd9953b3d5306a7302cb2a96616e2617f9df0cd0f76cbaecb227a619e6c7534bd3dd5980fbc869c8afc513631983ff7a800eb4718eada4c168e8974593468a7dc000b8c6ede1168ff6244f1b424df4b52b4ba6a453fd9d29232593e24f3349dc8b242c1dc7ec1bd996c5538fe38784669e1aad0c4bd7088d896f6c2788c7f5ce7d7c6f3b5e7557487291c452abba996fab6c8cb46f0130525ab1cfb7c57d8f603b2702818947b1ce0ba546063b0283aa9db4a9e3a434d151cb93879c80fff8f5f9d642bad56431586b4fe4e3fa31a5f4bb804b7b51c50caf72c2db2b11fa772eef22b0ef5332d91bce26e107887cc84feb83eacb717160ef573b50c79c34977b06a325bc1634e853f2bf6c29264d90312658e7bd1d3ae2aab6f6b298e6f7683b4560310e38f27b329aa779217e2a150a651288b88f70869945b52afbb777709e41ce8ce3eb939c84c34ea8f8ec9e3b305845e4050669cc325d780fed000fbca56f41132efd4611b7f906298bf188d891743202d0824109107626fcfefc2c2caee8041d679bf00ad45e0fcf047ef53d94530cf2ed151a69d2080268403f41c67be29e699bbba7418853f2a99c9b50a9c7f0de1cc0e09b823701f503912702868e5eae12821d96fdd6181a8c1531d27531a75ddb3d895af77166ea67ce9632489d34523f30dab4e261824e28aee1ddd40abdca0a4483334a56b271303647976b00b154268cab9f92f3b0ca933f1dd206302902b09a3a6744332ce16e973d4cc216d537a5f8ca96dd425053d29f24aaecf22a42aedc84c50a28c54701c447350261c2727217db6f38d1d47acb3d76d119785c505a5ccb0ce53e15225bd125dbd81725edb211090f073b3bc879a9c9440fafc239cf6c1fcb6650a06de511e8c603a667f5738a9626089ca001a6f23bbb509dc47e08434c7ed357cff0f91f279b6e1b081b515f1cc93ada639e9092629da6a43dfc879255555137bcc411945cd0bac28f02cf77f95f78efdbfaecb88936a675fd4cdc3714f1672f9bdaa0b2ef14c6da84d4e8841ab0dd40f160fe74cad610dcc42ef6517e40d14f76aba93c88f56a53447477eb3f7d4e3c5827c46bd60fb7a19e2fca9fc34ca8713576c8b7fa99fbcfd30a9932f77685b8b57f2c21e3a9788ea277e404ea6321db5d9e7a521a2f82b45943431658c53bb2b7a5bb2ce883f58e7846b76afb53a035b59f5d62f12ccd35743aa9b90e57d111c2da4ac80d3ef9874618adcee4b39e99c4a9b13172bdda3621dd2a6bb1088d5bb25a9ef2da0518fcce1b2e2e50c8bd3ba68cd70d8a123ee13aaf0844d35d685ee0e4b3fc111ef065db27e7fca9479ba99af4a285bf30ab9908fd5e60f68c5fe3d1b66f927797c0b6011f11acaea57fdbd1cd3eb8ca9e0714fe372607a5e831b5ddc7fdb4702e6f90e3ad6b8d4bfb5c0bcb36950afa062390763a03db0d0d2e96caacb4b78f38e817f05ac04262aba240f31e66d54fce502e763acfea28dd49b8a00ef017f87cf9757fb47626a349d92872731d39a4329db3460122311200e24d4fc576152a4e03c7c143e770d80d540f3227ed07de7aa50652f5627097609989a79fe5ec77e4ac7895e1c151fbe7640d0725ea7799e4143da02102d31c1a7d305d9611e34ed6881daad52156d2aa03a86adc37391e9490da7d4c3b946f615271a176c8e603abf530bb7f4ae182cb9e880b3ea23b4b1f4cb404257abc39e2a1c4388473412c974c055357602b6c4fc3eb5eef689a2593b3642e39bd07f9dfee9909bc9fb0dcaf06b0f3ea16dc06efce382004a79ca83d84e287a8986c0138bdb14e7461ff5ee1592ac7957ba361c36b1b3112be7aa3c3bf77d8bb1955256f594372231678fae1f7ba148f163064f2b460a9fef504a02c7d196bf0bbc660b3673fa31c4db170b2fb7a9c566b90821b6362872776c823a874ba1562696057b6e80842368dedacfd56f033d5684e0ba32997fc4319807ed8352859da351672a1fc21a79ad708764d7dcb5146c4e2be9d8622e98d08b1f5629544002cd76299b19c1f7ca7340c76fa250eb8bfec100a704fb172c756f5c8bacb10e813c62de0720fe8f07dae488ed927111bd70a0bd8bea486bb685af28296623981d893facb63c44ecbeea76ad46390da703614f26a3bb2ae5a9ebf57d61ce3b9c2b26b142621bb379a4b67253e6c0f8173812fd2414cf1550a32a20a384e846451e8e7475d7dcad9d96c7927dd3c35f83b1a7e1d47bdeec5e90ae24c18c1d6b4190259059aecf54b077b9c9e2f3355ea7cfbcf695e62f43921fb2a0f91a45303274ec7afe9f4bbcc9e29b5836d9aad7ef0332c5aca7aa87fdb375f29e57743d52e9c9f3d0967c46cbfab67e3b3b569ab680ae9c641f56ae2a0faf41ee4ebe59e05c67b6369d0b702bc5330f1778d0988c4d7b3fe0ccac54a118e08f4a0f68c875357a6b3beb6c4cb90c97ab7d20b4dff76634e824145b3a98f6b74d43176ed44ef6f859884c83e6920f517fd7ffcff7cd83a0b6da084e15d5cb7fa868bdd3051bbe964f861108fe4b8fc9a2dfda2ffd3c22b726a7ec9ab6a2d73a3dd03aa43e891f319327a8836db3a5c30d588231a0a9b1b848d71561699474f9a8cdd9bbb67d6d7675471a6689dfe36658728e7ce17d81b652c19ad5948aae6a2a538409d9c9ecd453801a224e535f8b409933ee1ca2e901098c60ca5debbeea4d09485f435736132ab8b448a25910e707ee26371e40bb6f3eabd28e008a76c87303adc20d9295c00c9856838c33f7002f776de3050989f4f9accfd3c9324ca02f8098c349da3cfb24021799daa80c88d7a02e47d23550ac3cf9f84fc1152b76724d54df305d9e72d0e5a053384afc2403563216a3162b4f38bfee2e7a46905ef852e26c1853fbf45168fa9fa6b838c359ef29fc0fb7531d67bdabd6e3568a9a7c742990c0b4c6ab5ab41839034325a197dcc7831ca55abd4943bd1971390fb9e0327d5b5cc961756c02239bdc56c0b02124bc9aa88e4eb368fe578a0bb08c58ac8c288d49c778b739aa8a854edf764e65f6716619b55fc6262d8ffb947d384e326c57cf7af3b2cf2b0b546768b7dc9054eb1bb13c5b4e420879feacf3a39821406d5520471512c4291a91d37f6e25e069126cdc51a9cdc0d7b07754fde1f3cdff12922768514d19b914812f569e34987b0f9c4d8c84dd83e84bb3ae6c027876051742d12a42ec36a02318a7f1a96f036f7e56f3d80c51609d314b089e7aca1fc5e5cc757a7157f520484e7840a96831581f4042d1101feea65eab1d89d50aa4dcd6110bda7ed546b971c675fdc36b52d30fd1ac7f7692def0c9b0ff9d1796096ed8137b37777c9b1f965af226dd18431a34d7baf023084f2c9172a6ae9c7079209e367e5208528950ea9c93a95abba69c63989f6987706eff6272a64d459cb6390bd42eaf80f035f9df5216940a1d60526ccf79e403c608ef4bc4c2a22401aefc94bcf0aa227b4ce1a91f465dac3fc13eca0711895180059a43b795d529763ae4d80d8f89f491216f5c2d216f296c3d138f244a2928b9e0de7ea8ddc3b916612fae010d4f7165a2abdb162ec34cb35a58aeb586b495a3be8f426baaa2219e1e04f1f571a6a07b3349dd8bd404916f2de5ff0a0a6c27ea26ffa5c49955f2374353416bf644b8477e11b3a74f5ad42f57767d16972eb84e8f7d4306e0c52953d0d07b748505552091553470b4e794c982ceb4e7b3c3ad3c1c1b7023147c60a321615fe643e0b18b419e3b6573d8d38bc22dc93326261284e79a54aa8572dc6c029076c0d4cf5de72e5595cc5e6c6170e422673c646f9cdcf3baac96eaeb1095ed2258c00f94549c807ccb08f4a72436f7133a49ab683f239afea309684c889e8e5da261e9b4a51819e260b1a4461128299361a5256f02921f70d10800744518f7db8e00e090dfe55883e374efcc28aa6b67cc97da885ff0a811ad76b791ed6ac6797483757a2841dc91725e31b30356cfa3f501554f062bf75bc54ea70d3f37e534e894cb7cf9900bd437f1a4c1c22b0cb1e28af4216ae3fc09d5e512e3280a4b60ce407b3d08e544e24eeb08ec3f3bbcdbdd1d661de47c1a44e3ea0dc4baa7edab5808df8fef42a6cafe984d30a98a6a4a572b0370462848bf806ac9c18fb871c03f855cf01a86b35783fc773e5ee7288c4988befaa2c46808fe87aba87524bf6eda2562eda9a45b71749d306d01679b642689d4f968b2ac055259fd888ac6aa0e71cee38e350f258ea4bc3b46c66e886440f5409af5d3d9d6321894af4758e022e410e4b4f36f46ae1bb91370f426c7e7273debe3c217cd800c794d10b2c360cd6462986f071b7c8c5208a31c590728170b03a61db91a18b173f9dedd0ee8ee2c48512a4b65f8aea49ff9cc098012d613cabb356cd5e8137a2d14b32ed8e0bf4021ab12fc97ef26876416aaf7beebcfd17ada19fc4296ba93e7a09faf31b6eb37f538ca3756187bb36348bd9a17813f72f4d5abdcd9dd4a9d28b42ae919ab789652686c5a19e20917d0ba0c5178bc54f7867f91e2af054916b83128d83e43de6d7d79fd70fe48a00229eaf6aad7fd2fcb380c0d732eca63054b9d1f0c1a684e4a28103a1aeeb6a0f317d813f4afa23782fc2454dd1b6a158dbb7399cdd306f68df16a8b78e758fd45f524f0c78a927522aef468776ea5882bd7124347bbac2cf469b4e1ab9a08b99069103bb7841dfe712e62c0a990cafdbaaf6799d56a61ad3c6245d1d4b6a83c5fc5abe7bc3d8685c3b25e6586f874268305adc395512ac21dec4bf37725cd9d54cf9eca625847f8387237598d9c0f4baa9c13f33cada384789ecf8de9e8052c5343c9648d5fdd8af11d70a3f6e97863c58e0bbea5c10bc0337e574db0f4d1766380337457a34a332a1c575dd6d221be86a6e2d13c8365d87cd16e20bb135f3ac0f13eca05a23bb016fc9c3a290630597660eeff4b780b0ce479644a0096575f8baf6d9ec6f075a2420936e95be8f12f7ecda357ccc7224188f684fff00ef1ce701ab8404495b937f2f82310da0cbe9f5c253271e0f0b99ff212cf043f61b5cd1f085b9085ad79f8e618984488af86472434e6fa3ba1ee5a531b05549d8223d5216c7454ec69e423801d05e8b100f37072a959c6110697cc20a7fe452bd1c51779055442552148cd3e8e3bda5a4fffd2f4ad578e3c574dbb52f367a6eac96302e637bc3185289a72d79c01787732863585ac087f10e418a0e1cc98d4bf2e06f267d573fb641751c1782abb3e093bd89df1510fea09b85baaf9cc7c64d1dbdb4c6a5c6e32106b4007e018ae8b4300fdfebf8fb351558d75848035884f188ee02d7d0b0579b5a54be82e28fc0f4dbf1359d5a39a7b48e6a66e18455cc848b4674dcbe7f86b3b48802189a8387335e96700c06de5a6f1edb5dbbfe3b76b59f281ba20188a2b6656e2f69d25177ef6cf26ad80a64237eddcbdaf57b115ac08f18c4b598b0c9b96383aeba7a92ba6ef5262ae3ade02d4dfa7ff14db66e46990dc41169487d6cac8829c1f1abf182bbb806bdef3902eeee94f084b46a3c1dbe155226ae506c847429ed2dbe2413c02d202abd90a27f238ac1862d34780613e592e29a48c5afd22eb13ad1265087eff2b9e31bc28f5f8b2f75d3773a9f5eebbd251296bce1025b0fb319a18a9101d776c595e45111c71b48fb9e90da732617324f2e4271b644a633445b5cd2208403e42b9ded0468a41a3c36a14c6acc25319177ff0a6c726889451ab75710bb05c9869e8f8276e2d6cf7ccc39b526cb8d0f3cb62ea91d60149f73321a8efdd4c2fd4a466e70fad6d126fb594a87b55fddaa21f6e8094a1014e4b7213e646de1b132fbe43246deba6b6a629a14dd1bd798be54df940b848d9866838a7e94e33c07e90bd3b00af9b007c65d8caf38214b61cc2c6c3556fbcb0b760ad08071fa3171fec1339ef4bdbd86ee09e6826566987177c4daadbdb4b26eeefa0c4978dd9275f0b6a0dd6c649c0873c8d548c8bf7243675726e80dedcb35dd7411a23752ec66869809d3e5161c59e4b9c43c76cc18a98b37a82e067a44374e0666a5483b53ffecaf7e85db872585abe4b12fe42dca0b7d03a3ed0ea5bc65ee015855c1cba134652aa3793ab89d1f1e487f2d35f8575679b480b8086325d8a2a32261ed39b95fb819b2cf5843f00b1c22c7051cd3ee3be396c25c36ca3e84d01b80a0fbf93ac7b4a7c495b40916c74ceb4183dca4bdf29aca7ba25da9794ab6f6c768ea5ddd2875a4a80da718aeac3c1cd095207ff0d7e94fe2e6667ac0cf1bf056a5ef07b1c921874cf2d4e1f2419be3e746c173ca2a9a1afdc080e4c6830e501e8b91170f86cb38e227457764fb73faab4c5210234fc2ef7076a15ce26576d2d309e755ab1fbeef8e2ac8542713ad86f4b09b953e128c80ec5e6e55cdaa435626cf9aa1789eac4a62bfe3baacb64c447848a4ffddebe2d6bd5ef38fea0e2807e4e61ae7daf368ec3e90213d903709c7ec43eb7b0c0199787599babd4331f2e315b60af9b37a433c1661e2ff3fb47140daea8465343f9b6ddbb6d46cfa52e48a726999cd5c75d467297460362dfb96032663123a0bb80e4de495023642409ad16384c3754cce8d963cde882462cc89549bd4201f357b0124aa3b6900cf19a2866828add17159618f086b1aa0169fee520fee46e0647208a131cc849fa3bab921ed149497ab56715914c8fddaba492ebe487b0f0d8c973d79e221b0cf9887b8777adbb3bffbbaa7332f0fa89c1aaef33e578d2934a5b7becfdbc9941c76a1af2643acbd7c01735774d656030f3405b5894c1c0dc5a075d715e34b603143a11b16c46662e94ba438b806307669e44202d559787465df28de55b7f44e669e674a1e74ae9f15fb51a910b2c49c2d4942d1aeef50f6377d0fb420e38ed1eb01868a13320188a94e4b34c1d81d12401766d253b4747ee5251822c0976aca4c24ef05ac2b485e54ff332a1afb2c012a8010999cd3219019a2133a59a17f5d4bb01b2e6581e4b7e85549e241fdc17950161ccc435f13fb42861530310bb00af6bca788ea3fad951ccf5c602ab2d4761a3efcffe608f35c543b0f6b609959d80ae76cae6cadf8f731cfb7927f47d1bc8aff23ec02c5b9cc90fbdb4dd85bbd27e810e471f2dcf2df90d1f4d77b4431c2b0551b00c06b450d46d8f6addacfefa7041a6f8b875c63ddbe2b933626096aea6518cd23a9e1124b6a85c80391f32f8de3598b349809ef07c733b051d2f202d77d682a576e26b7264593fdf5d1867161746c927f65163de1f73a1ae28ea7fb0c4eca3606287092a12d77eb4a9dfcb2f686ced8bc25e3923960f71153a58a2d929f5e11a9fe2e9a87f73fc1462e76d0cbaac0683906200315c929e4f9b419d3fd4fa8e1d75715d2130ddd93d253a0b423d86905b420100bf9010d0b9fe6dfa7315284c0c78ec458cc3be8b861544b6c99fb80139d74a16775fe4dff09bd296906e658a123e59b71bb0cd127545a0a539ffd08e7128b6716ab2280cad1287730bcb8d7eb448b5d305cfe377404b64df20472ac8f3454cef89dfd663658f7d6d8640b196a8d63dbcb95a6c230ccea70c65ef918307e83185d892fe3473e65bf154acf3b14e949e9dbc5a371f3794f560c306a04b412667764f51dbb2dd2f3e1c7baa90e957d7412b7ef8e0df9853d3db5fb18fabfbdba27f435bbd13d4cab50eb632843bc0c6eebeb9bd9eee8bf3d240444977a9f49992e77326386fc062406ad41d71c3cf599236ee73b4761fcdd8deb9609490eb6d3c83e50201404a2e857f1c4df210c0a537ff42aa533b294bb3ae1e55ae0b230e8e0cb3ffee2392cb10d206880320daf2ce29bd351e0074a72b5bc19d0a772f297b478255fe2c7ab45fa98fb9812d89d1b9e178b8d837c2db12d734bfb69feea1b6588351034942fc76b78da4aedec93e84959efde44a4e076599b57c32f5f453ed6639b79c43ba039e47f4a2b3466ff4552f761c701f377e33b5fc3d1771303ee109828e60d43cb95a41b5fff663fcff1e74382a8881c0a9acd22edd7f86a04eb1a6b8b5766ba5f1766e37b46b1554ce08a8bd1a9fe8d8255de5c3e5c084900c431e2adc7fa343086e97c4fb05ea3a204459a482556df280a66d580379a82558c778d3a5d5ec706b844aba0271086436dbec0e624fea03e57e3d38af838c7d5860e645e2e54f14e4af276e1eb30cfbc5c5642a67f2efd08f64b52f818b9043aad0ef34f238c9154d69a4bda7d08e39e8abeef5896e65647b03f69217d13ba6ec799eb3a057e2f237035c8b53f654263a6f0cd12c377f65697248a86a42ff4a2247c3d89ea1c93da490195b50c7dbddddb7ee5e64f0342c40d46b006a6585dbb91643cd8400298f3120438cf1f2f0b1140de006aedf7112ba30be8210e9a7260f595ddb16b81057b4885fd4a16d08d39bcfae0bd8995ddf3d376e7643bcc0a752564381b432113be500fad333ad7823ea3c967eae2cd4e951143a4bc599d11c427fc5c08651fb5a5e7215996db65c995114534381a41222aaa3978743cc69c9d23243afbddb0cf965489ee956b9cba90b65f9af61fd611ce0cd10aec3e2ddfb2ddc2ba52257d1d7579f6ac0de9f5b71a74d219fefbba458c8f208ab63ece2b1085dbd85cd1f86557f9730811a634e7cf764b22176b69b42d9f6a8c00b4999d1c2ada622fbea913381a1bdf7a71d8338555d034f418f0b20a0da94970491ed2a845a090d3ba95b824812e0d4f6f3d02e45ff79c911086fc7074d2360f5dcddc4a83ef418fc1cbe9858a2cb5dcef27678a76982ad6aca56bf90cae11f96c5abfb56a6bb6e4fe7537e710eb94ebbfb549150198e95c77e45af848e9a8a7f09a970b92592b7d16eaaf6578c1cb4ea3cb776a154f30409cb6f3fa50351a038f77237aa67e03abe4a15bfa8aa67c111d84559e53e3363b9951d040b315c9e856bd1c2dcbb20bc8a78f0ada6b2d3b2aa9c42bc46e2570946a0b1881f0b74b771871656d395f5567cfd1c2047031f645232647f1c3a68e42f39c8fed795693cd4418948c3b3217e51f29893b17b0f1f426bd64372433ff5394e9c4f7aa24c596f649b21a6b2f75dde8f72691cd42285a1497af469cdb661b5d4abef0ccc7cb1f33b12e749e83ee7c0ff1795016f249539454b520e99689df684d4759ae3cb6bc2eaab221454ce5280954e58942d794e6aa0c08c4716eb1218432431b592acc47c0165647d704ffee72e754e4d2671a6f63ad6cdc3d153fb8525b603a37861000f3ecc0abb6fd410a23e8626e9cfe0197bb43c6c9f44f91a0f8c0b8ec4421115648acb221898d3bccc447c7fb36ccc6919caa2d6f0cbd9411ce8e1ebf996d51812691357aaf624d8393845bce2367245d5e6a990f61224a30a2a5c7a17ed0108c86be4b8910742357853f0e7bcb76b57446695af9673d88db06170dcb30bc428528adff718265503dc49dde7064512231432222f834923e385e7206a7575966a92385297f92494687fb6c60d51627ac10bbe54d60d5c16c670901cec4e24950cedc390618af1d3a71a7a6ee4e796d2b727aff2405bb4df63e98909bcedb78382aeb6038c747bcc864225f240b89e0e8510397bfdb757053637e7883613ec604e6fba9733b97d3504fe28fd425d5c215d1f3b8bcdd7cbdaf9e161bb53185c8dad4b511025562695d047b408472d4894c73aad6b33c7d8886dcbdf3549e82beb12c0cc9a58bdfa68ff2dfaa8566e596a0f7312c3b091e6ce96674f804fd1ead26b4c12c97e367ebc02a6e6259ee11c7658e12131e8533cde8a4cc84b0604a815cd65474f888d5fbd8602033bd01e0953f3a649bc2cee108c1990dfdb73e872edbcaf8bb8ebf7eb83803bb773aa71dcd1fe4442185b6a4d9fb5d6515b0c0227a152082740a5ee7cffb9032c9548d6dca1c6d75c13526d8bfb2ff3b4b224a9f999b542a3ddf9a3578dfb2e214af0de2e90e3c9073712a5587875117edf740120223aa71a7dee18a73fd4b4f9f69a5a7bd32ba2f72558a483ca819b41b1ac58ab1209d89ce6d56383dfe5f7eab9476238ed9e16f3a30412e2990d07177bd04b3c2b12f7a24b5e25e7990395ffc99ddc79a411862ec9062f81fa544e3123b833f96183e7887f9a4ef1d20d0a24b8ab4fbe572b3fe9616939bc47437a1224133b02c4a80ca93bf78a0c5816ca3c697ac1b537fe1fd508ee873288c782aeeb7fcb8d23b3fffcc7f010c7a2169d198dab20367ddb8853d23552a1116f22fbab2fe9894c77d282fdd5ffec862414607b1cda4139ac8833bb34bfc7c863de1764fa75762ad900333d25e900ebdd5721bea0e9a7ece2fa4a75b63e717a48deed5b3f33489b0e46379a0c3b821da3d9ad5dd68ca86f4d750d7600a3f66e9231506479846b1008a8b2d1a3676d3e6966831040daa1f177fb01424f5d4a599f1d4d3c48daf7f1b2dad7eb6181144ec06f17969fe5cd88f3506b6512156a545027d5102ff79c06684e52c2e9ac3d81c89a5aa6348744a987d098d1bf0ebb715fb20cc37aeb6ed15ca8995d592158dff6afe4fd6f1f05b00116b420bdcb5977e129ac6faec2dd75b3f6d91fcf85916d6898c2372f113635beb9a044bcc4c5bb3ce64f0053727d8b18550b84a2b9af97c9c9c520170e3c092c93dc4dada312cfd9837038bae7c086e4386f37fe2cc974b19db995ab1d21fe9fe10d3ef5a3a4d300f988ad0a032875a558bd110711f9e4719e49dfd25ab3274c8cb9bca3ccfdf02940d8bff06586e7d419f3b273de787a29b3b0b9cd10313686f138aa4f8196ac4020f4c7df4a5e6d8d66132c6af10b213b10585b0f3e8b4d72544c7ffbbb12773c348bff6309bff6f9c4969f93f2a5bb9c98d74895fa64ae3c79aea74b2cef7dc69fdaa805c758d9e4af15c443e1272dbc2e11757547418026ab4747aea416adab94f37edd0f658d6b83880ad68b6a4e53ffea7c7e191e799eb3982a20d48d3af207fb320ea0355f39ac094eb69dcf879328974bc1b865199500c13fb51b20d5f71ffe8781b73323323845cb53ecccf5eefdd7d9ddebdb887eb1b135967e528b02db8e0666d85e514ed30e4a0064c8fce901847b18b78492259df58c61cc56b1af08eafdfeeed48ba081b029809009261df5e034d3709cc4d9f0acf5724c3f5f25666803ae6c269d2d68489b6af6c0d9d0fde101eeb4292b026c2498e272f1ec381d7c1a2ff41a909e3735fde4d80d90af22064153fdc8cd52e6ae8ad6e22ad1fc4a9e17334031dcce11283966f139efe9500d5f4800085ea78dcdbade2d7d2d47906f8d57f062e01e02b8b3545920131bfebb854abbc0697d221cbe1063db0114f276c81b325493f7a64ee6877b8c853b90d44d8ec5f9e6bfa32420e403fdd3bd29604127e49a42534c294385783762f30f3b54e488d575c541effd59f2e9c061f8ad7991cdb9048e69e389aebf3e2202783738e2505bb12f4ddb24fc4445e32a6be71902765272b98db28f63cd278d0a9132e7bc6719a5800e10c53920bfd17715a9d7491aa21896648bb6fc569f7a8a5b0cb66425e0f3c46fbe8193bcee8d8af3ca061807c920c028d29c1dc4523a1c347177a81072416b42ae57e9d1667bb3bfd94c2fb07981212fff9258baa865e0a3c608163aafcbd1a4de3d66f10ae64185875d2607c45cf1287d1fced86058a427a3d1f9117d790603a1a8f8c5866b7d36dab329bcbd467bcceba6ce7788f79e652e15b4a88d2a4ea1742967815b2b258bd53fbce11ce0f97e6f5c4692023c3e83255af7a9b1d0993a71f77339529b49969dffd1e648b29026881626726e3f31cce694181c35f16db34a61bd525453338ada0a5039f61249f4f5bce0e7d3edce05e13e227a2748b3dc0ad46115649a6badd29d7ea73e8cb49a97dc887123bebb1d7fb425c1b523a451ad204e92f2b6d5c2051dd41a4d8abc7416abe6abe7c45c781bf3333078c5e897f45c6865a16f1557daa8b16e904b4c460a0a1a85507b3beccbb07d069e01afaa5990bf14f12c587139f026fb8d3b9426a52c9a69ef1b8366f2e88ef5e1ff8f6ebd87917c838c822e71447aba5d8148307eaab4b2fa5a00fefc77b95027de2216d3587fad62be2a93795e3a69b62a5c1475677c2176410594aee425ac5791d4add39490e21b039546ec5c467ca16af7d0462315cffb8e8ea73ede6a659c54bd461175cdf2461bdda8678e1fe97a5396152a38b07bc66c8dd4a15f10c8dc4daf74ad5aa101455fc189f05da35f27945eca1046450e67815b0fe22b24b876311f0df70b3cb938047ca5ee7e5ea1b81a1c4d7f7f5303368ba64d62602842610f35d240b083ade8a26bfe70ed225a1ffd27af88aa86941b334d3c54cd1d45213c857bc6c5c53c49610984832fe15702399fd5a939d43510f7c771a4a3ba36736020118842ccab2fdfc0a274e681a3830d6e6fc126d66f9f762c52892509abf4eb3268461fbd6ac33ac06e2ef6429c32e27b614f90e6b36cd86e9c903ca961776e5a0d25d343cd711817e6e3f367fd43e365ac4e5260efd5bc4a0c0f333a59204625e71e952ba7225456d86aa91ab2a30882159fb237253a4f7f3f94f14d5801e667b47b9c83cd7657774d1e257b2837d58c33eb9e87de984ab6c3889ad72cbec5c465efda08fae43e395e7d87c9deb1e4cb8597eb3cf929007d75431331f071db53e25857f1d8b8e0f8c525a201bc4b2ab00b7e3e8ca7ad2ddf079f85473f8691d84a345b1a444e7e02056e919c63196bdf3e0a5fd4d6c26776015abce02ad3773f6f62e7bdb797e67dafff049c9a5143aa569c31ac4acd8f80b92a2f8d4893d89cbc742774569143fc2a716713d24b2f8c6532f392e02fed2631a36a0f375188c8bab10bf2c0365adac891c4fa4fc842706a489012170ca363edf29d8853bdfc5a088ec5c14276e48f2f71309cd363811d0ecbf4e2531632cbdec00e958de20e9a78cb267c15c2f545d69c45b0733467f1748b6e575482cd99a808fa714e6441774278ba2d3c427beaa56c456cf2f1e16935a87e23990d4e7bc59e02d1eb356f6f1f4ac78abd668d7243448bc01cd1bf241a57ff2178f946330dfe113b8509986b69a232aaaa9fc5625d5c464c6f084f7da9fe017d8e2f9fa028fad4ecf3e6ebbb66b2e7c46e05a58a9ddff8376f9a138238c1c4c8513db440d2d82b355162e978ada87e7d56829997a10973ea28867a69f6d09c6968747bf20ec80128b9ccaaf4e87c00cfdc68e890f4248d73f4c7666f1438929c467d431229e5021d1b7a3752c88cbc03a4f3cfb4d9cd139775b96fe670dd6ca756e65c44b78385816ee0dcf92e3bcc730944f33cc0c5157a00786d087f932886a64de598339886b5e1e310897313eafbdf228e92e8ae86215c21678535a292f27335b38d61a8abc2896fc44cef8a07519c0a7"}