-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_webrtcvadctypes.py
108 lines (98 loc) · 54.6 KB
/
test_webrtcvadctypes.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
import unittest
import wave
#from memory_profiler import memory_usage
import webrtcvadctypes
#import os; webrtcvadctypes.Vad.lib_path = os.path.abspath('webrtcvadctypesrnn.so') # does not pass tests yet
class WebRtcVadTests(unittest.TestCase):
@staticmethod
def _load_wave(file_name):
fp = wave.open(file_name, 'rb')
try:
assert fp.getnchannels() == 1, (
'{0}: sound format is incorrect! Sound must be mono.'.format(
file_name))
assert fp.getsampwidth() == 2, (
'{0}: sound format is incorrect! '
'Sample width of sound must be 2 bytes.').format(file_name)
assert fp.getframerate() in (8000, 16000, 32000), (
'{0}: sound format is incorrect! '
'Sampling frequency must be 8000 Hz, 16000 Hz or 32000 Hz.')
sampling_frequency = fp.getframerate()
sound_data = fp.readframes(fp.getnframes())
finally:
fp.close()
del fp
return sound_data, sampling_frequency
def test_constructor(self):
vad = webrtcvadctypes.Vad()
def test_set_mode(self):
vad = webrtcvadctypes.Vad()
vad.set_mode(0)
vad.set_mode(1)
vad.set_mode(2)
vad.set_mode(3)
self.assertRaises(
AssertionError,#ValueError,
vad.set_mode, 4)
def test_valid_rate_and_frame_length(self):
self.assertTrue(webrtcvadctypes.valid_rate_and_frame_length(8000, 160))
self.assertTrue(webrtcvadctypes.valid_rate_and_frame_length(16000, 160))
self.assertFalse(webrtcvadctypes.valid_rate_and_frame_length(32000, 160))
#self.assertRaises(
# (ValueError, OverflowError),
# webrtcvadctypes.valid_rate_and_frame_length, 2 ** 35, 10)
def test_process_zeroes(self):
frame_len = 160
self.assertTrue(
webrtcvadctypes.valid_rate_and_frame_length(8000, frame_len))
sample = b'\x00' * frame_len * 2
vad = webrtcvadctypes.Vad()
self.assertFalse(vad.is_speech(sample, 16000))
def test_process_file(self, frame_ms= 30):
#with open('test-audio.raw', 'rb') as f:
# data = f.read()
# https://github.com/wiseman/py-webrtcvad/blob/master/test-audio.raw
# https://raw.githubusercontent.com/wiseman/py-webrtcvad/master/test-audio.raw
data = b'\xfa\xff\xf7\xff\xf6\xff\x01\x00\xf8\xff\xef\xff\x00\x00\xfb\xff\xfa\xff\t\x00\x06\x00\x01\x00\x02\x00\xf9\xff\x01\x00\x04\x00\xff\xff\xfb\xff\xf2\xff\xf5\xff\xfc\xff\xfe\xff\xfd\xff\xfe\xff\xf6\xff\x04\x00\t\x00\xfd\xff\x00\x00\x03\x00\x06\x00\x00\x00\x06\x00\x04\x00\xf5\xff\x05\x00\x07\x00\xf7\xff\xfa\xff\xfd\xff\xfc\xff\xfd\xff\xfa\xff\xfe\xff\xfa\xff\xf6\xff\x00\x00\x02\x00\x07\x00\x05\x00\x01\x00\x06\x00\x04\x00\x05\x00\x0c\x00\xfa\xff\xf7\xff\x06\x00\r\x00\x03\x00\x00\x00\x04\x00\x00\x00\x02\x00\t\x00\x06\x00\x06\x00\n\x00\x02\x00\xf8\xff\xfd\xff\xfd\xff\xf9\xff\x06\x00\x08\x00\xf7\xff\xe9\xff\xeb\xff\xe7\xff\xf6\xff\x01\x00\x00\x00\x06\x00\x07\x00\x06\x00\x03\x00\n\x00\r\x00\x05\x00\n\x00\r\x00\x06\x00\xff\xff\x01\x00\x04\x00\t\x00\x0c\x00\x01\x00\xf6\xff\xfa\xff\xfd\xff\xfc\xff\xfc\xff\xf2\xff\xfa\xff\x05\x00\xff\xff\x04\x00\x08\x00\xfd\xff\xf7\xff\xf9\xff\xf3\xff\xf8\xff\x05\x00\x04\x00\xfe\xff\xfe\xff\x05\x00\t\x00\x08\x00\x05\x00\xfe\xff\xfc\xff\x00\x00\x04\x00\t\x00\x02\x00\x05\x00\x02\x00\xfe\xff\x04\x00\xf8\xff\xf9\xff\xfc\xff\xf8\xff\xfc\xff\xfe\xff\xfe\xff\xfe\xff\xf8\xff\xf8\xff\xf9\xff\xfd\xff\x00\x00\n\x00\x03\x00\x00\x00\xff\xff\x00\x00\xfb\xff\xfc\xff\x00\x00\x08\x00\x0b\x00\xfe\xff\x06\x00\t\x00\x00\x00\x0b\x00\n\x00\x11\x00\x0b\x00\x07\x00\x01\x00\xff\xff\xfd\xff\xf8\xff\x00\x00\xfe\xff\xfb\xff\xfe\xff\xfe\xff\x01\x00\xfe\xff\xf6\xff\xf0\xff\xf3\xff\xfd\xff\xfc\xff\xfb\xff\xfb\xff\xfd\xff\xf3\xff\xf6\xff\xfc\xff\xff\xff\xfc\xff\xff\xff\n\x00\x13\x00\x13\x00\x0c\x00\x05\x00\xf9\xff\xfc\xff\x00\x00\x04\x00\x08\x00\x04\x00\x06\x00\x03\x00\x00\x00\x02\x00\x04\x00\t\x00\x02\x00\x02\x00\xfb\xff\xf9\xff\xf3\xff\xee\xff\xfb\xff\x00\x00\x04\x00\x01\x00\xfb\xff\xf6\xff\xfe\xff\x06\x00\x02\x00\x02\x00\xfe\xff\xfc\xff\xf9\xff\x06\x00\r\x00\x06\x00\x03\x00\x01\x00\x00\x00\xff\xff\x05\x00\x08\x00\x05\x00\x06\x00\x06\x00\xff\xff\xfe\xff\xfe\xff\xf1\xff\xfa\xff\xfc\xff\xf7\xff\xf6\xff\xf6\xff\xec\xff\xea\xff\xf1\xff\xfa\xff\x00\x00\xf2\xff\xfb\xff\x02\x00\xfd\xff\x05\x00\x00\x00\x01\x00\n\x00\x0c\x00\x03\x00\x06\x00\x0c\x00\x10\x00\x13\x00\x0f\x00\x0b\x00\x0b\x00\x0c\x00\x06\x00\x00\x00\xfc\xff\xf8\xff\xf9\xff\x01\x00\xfc\xff\x07\x00\x0c\x00\x08\x00\xfd\xff\xf4\xff\x00\x00\xfc\xff\xff\xff\x05\x00\x04\x00\x08\x00\x05\x00\xf6\xff\xf8\xff\xfe\xff\xfd\xff\x00\x00\x00\x00\xfa\xff\x02\x00\x00\x00\xfc\xff\x06\x00\x03\x00\t\x00\xf9\xff\xf5\xff\xfe\xff\xf9\xff\x04\x00\xfa\xff\xee\xff\xf4\xff\xff\xff\xf4\xff\xf3\xff\xf2\xff\xf0\xff\xf1\xff\xf9\xff\x04\x00\x06\x00\x03\x00\x01\x00\x01\x00\x03\x00\xfb\xff\x03\x00\x04\x00\x07\x00\x10\x00\x0c\x00\x0b\x00\x03\x00\x07\x00\x02\x00\r\x00\x12\x00\x06\x00\x05\x00\x05\x00\x0c\x00\x08\x00\x05\x00\x11\x00\x08\x00\x04\x00\x07\x00\x00\x00\xfb\xff\xf0\xff\xf7\xff\x07\x00\x00\x00\xf7\xff\xf8\xff\xf7\xff\xfa\xff\x01\x00\xff\xff\xf5\xff\xfd\xff\x02\x00\x05\x00\x05\x00\x01\x00\xf9\xff\xfa\xff\x00\x00\xfa\xff\xfa\xff\xf7\xff\xf8\xff\xfe\xff\xf8\xff\x00\x00\x00\x00\x00\x00\xfc\xff\x05\x00\x03\x00\x03\x00\x01\x00\xf9\xff\xfe\xff\xff\xff\xfc\xff\xf6\xff\xfc\xff\xfe\xff\xfe\xff\xfc\xff\xf3\xff\xf6\xff\xfe\xff\x01\x00\xfe\xff\xfd\xff\x01\x00\x0b\x00\x16\x00\x0e\x00\x07\x00\x0b\x00\x08\x00\n\x00\x0f\x00\x06\x00\x07\x00\x0e\x00\x0b\x00\t\x00\x04\x00\xff\xff\xff\xff\xf9\xff\xf4\xff\x08\x00\x08\x00\xfd\xff\xf9\xff\xfd\xff\xff\xff\xf0\xff\xee\xff\xf1\xff\xfe\xff\xfb\xff\xf1\xff\xfc\xff\xfb\xff\xfc\xff\xfa\xff\x00\x00\x07\x00\xff\xff\xf5\xff\xfd\xff\x08\x00\x0c\x00\r\x00\x04\x00\x01\x00\xfd\xff\xfa\xff\xf9\xff\xfe\xff\xfc\xff\xf6\xff\x01\x00\x04\x00\xfe\xff\t\x00\xfe\xff\xf6\xff\xfa\xff\xf8\xff\x05\x00\x08\x00\x05\x00\x0b\x00\t\x00\x0c\x00\x0c\x00\x05\x00\x0c\x00\n\x00\x02\x00\x04\x00\t\x00\x03\x00\x01\x00\x06\x00\x03\x00\x07\x00\x0e\x00\x0b\x00\x0c\x00\x07\x00\x01\x00\x05\x00\x03\x00\x05\x00\xfd\xff\xf7\xff\xf9\xff\xf4\xff\x02\x00\xfb\xff\xf8\xff\xfd\xff\xf1\xff\xf1\xff\xf4\xff\xf3\xff\xf4\xff\xf2\xff\xff\xff\xff\xff\x02\x00\x01\x00\xf7\xff\x03\x00\x05\x00\x00\x00\xff\xff\xfc\xff\xfc\xff\x00\x00\x07\x00\xfc\xff\xf8\xff\xf8\xff\xff\xff\xff\xff\xfe\xff\x01\x00\x04\x00\x03\x00\xf5\xff\xf6\xff\x04\x00\x01\x00\x00\x00\x04\x00\xfe\xff\xff\xff\x03\x00\x03\x00\x07\x00\x06\x00\x0e\x00\x14\x00\x05\x00\xfd\xff\x0c\x00\x06\x00\x01\x00\x04\x00\xfb\xff\x02\x00\x01\x00\xf9\xff\x00\x00\x08\x00\xfc\xff\x00\x00\x00\x00\xf7\xff\x00\x00\x0b\x00\x04\x00\x04\x00\x08\x00\xff\xff\x02\x00\x08\x00\x06\x00\x02\x00\x07\x00\n\x00\x06\x00\x02\x00\x04\x00\xfd\xff\xfc\xff\x05\x00\x02\x00\x00\x00\xf6\xff\xf3\xff\xfa\xff\xf7\xff\xf3\xff\xf8\xff\xf7\xff\x01\x00\x00\x00\x01\x00\x0b\x00\x04\x00\x00\x00\xfa\xff\xfe\xff\xfa\xff\xff\xff\xf6\xff\xf1\xff\xfa\xff\xf6\xff\x00\x00\xfe\xff\xf5\xff\xf9\xff\xfc\xff\x06\x00\x0f\x00\x01\x00\xfe\xff\n\x00\x07\x00\t\x00\x10\x00\x04\x00\xf7\xff\xfd\xff\x06\x00\xff\xff\x02\x00\x07\x00\xfd\xff\xf9\xff\x06\x00\x08\x00\xfd\xff\xfe\xff\xfa\xff\xff\xff\x0c\x00\t\x00\x02\x00\x01\x00\x06\x00\x03\x00\x05\x00\xff\xff\xf2\xff\xf3\xff\xf2\xff\xf5\xff\xfe\xff\xfb\xff\xfa\xff\x00\x00\xfd\xff\xfb\xff\xf9\xff\xfe\xff\x00\x00\xfa\xff\xee\xff\xe6\xff\xed\xff\xf4\xff\xf4\xff\xf6\xff\xfc\xff\x03\x00\x00\x00\t\x00\x0e\x00\r\x00\x00\x00\x04\x00\xfd\xff\xfc\xff\r\x00\x03\x00\x05\x00\x00\x00\xfe\xff\x04\x00\x06\x00\x06\x00\x08\x00\x05\x00\x0e\x00\x14\x00\r\x00\r\x00\t\x00\x01\x00\x0c\x00\x08\x00\xfe\xff\x03\x00\x06\x00\x07\x00\x06\x00\x05\x00\r\x00\x08\x00\x08\x00\x07\x00\x01\x00\xf7\xff\xfd\xff\xfc\xff\xf9\xff\xfa\xff\xfe\xff\xf9\xff\xf1\xff\xf9\xff\xf8\xff\xf8\xff\xfa\xff\x00\x00\x02\x00\xfd\xff\xf6\xff\xfc\xff\x03\x00\x05\x00\xff\xff\x0e\x00\x0e\x00\x07\x00\t\x00\x00\x00\xfc\xff\xf3\xff\xfd\xff\x01\x00\xf9\xff\xf6\xff\xee\xff\xed\xff\xfe\xff\xfc\xff\xea\xff\xec\xff\xea\xff\xeb\xff\xf0\xff\xf1\xff\xf6\xff\xff\xff\xf3\xff\x01\x00\x0e\x00\x08\x00\t\x00\x0b\x00\x10\x00\x11\x00\x08\x00\x06\x00\x11\x00\x11\x00\x0b\x00\x0e\x00\x0c\x00\x06\x00\x08\x00\x0b\x00\x00\x00\x0b\x00\x07\x00\x05\x00\x06\x00\xf7\xff\xf9\xff\x0b\x00\x07\x00\t\x00\x04\x00\xfe\xff\xf2\xff\xe5\xff\xfe\xff\x03\x00\xf2\xff\xf0\xff\xf8\xff\xfa\xff\xf8\xff\xf9\xff\x0b\x00\x0b\x00\x06\x00\xff\xff\xf9\xff\x05\x00\xfe\xff\xfd\xff\xf8\xff\xf9\xff\xf0\xff\xeb\xff\xfa\xff\x06\x00\x07\x00\x08\x00\xff\xff\xf8\xff\xf3\xff\xef\xff\xf1\xff\xf6\xff\xff\xff\x03\x00\n\x00\x05\x00\x06\x00\x0c\x00\x0c\x00\t\x00\x06\x00\x02\x00\x07\x00\x0b\x00\x11\x00\x14\x00\x13\x00\x1a\x00\x15\x00\x06\x00\x08\x00\n\x00\x10\x00\x13\x00\x08\x00\x0b\x00\r\x00\x05\x00\t\x00\x08\x00\x07\x00\x04\x00\x01\x00\xfc\xff\xf9\xff\x03\x00\x03\x00\xfd\xff\x02\x00\x00\x00\xeb\xff\xf3\xff\xf2\xff\xe6\xff\xec\xff\xf7\xff\xf3\xff\x03\x00\x02\x00\xf0\xff\xeb\xff\xfc\xff\x03\x00\xfb\xff\xfa\xff\xf8\xff\xee\xff\xf6\xff\xfc\xff\xf3\xff\xef\xff\xfe\xff\xfc\xff\xf3\xff\xfb\xff\xfb\xff\xf1\xff\xf8\xff\t\x00\x08\x00\n\x00\n\x00\t\x00\x0f\x00\x0e\x00\t\x00\x07\x00\xff\xff\xfd\xff\x06\x00\x06\x00\x03\x00\x06\x00\xfe\xff\x02\x00\x00\x00\x00\x00\r\x00\r\x00\x05\x00\x03\x00\x03\x00\x02\x00\x03\x00\x00\x00\xf5\xff\x01\x00\x01\x00\x01\x00\x03\x00\x07\x00\xf9\xff\xea\xff\xef\xff\xfd\xff\x04\x00\xfd\xff\x00\x00\xf9\xff\xf1\xff\xf8\xff\xfd\xff\xf9\xff\x00\x00\x04\x00\x02\x00\x07\x00\x08\x00\x08\x00\x06\x00\x08\x00\x01\x00\xf3\xff\xee\xff\xf1\xff\xf4\xff\x02\x00\x0b\x00\x0e\x00\x06\x00\x0e\x00\x0b\x00\t\x00\x12\x00\n\x00\x03\x00\xfa\xff\xfe\xff\xff\xff\xfb\xff\xff\xff\xfb\xff\x02\x00\x05\x00\x00\x00\x05\x00\x06\x00\x04\x00\x16\x00\x14\x00\x07\x00\x02\x00\xff\xff\xf8\xff\xfd\xff\x01\x00\x05\x00\x04\x00\x04\x00\xf7\xff\xfe\xff\x01\x00\xf7\xff\xf7\xff\xe6\xff\xe0\xff\xed\xff\xf3\xff\x03\x00\xfa\xff\xfd\xff\x05\x00\xfb\xff\n\x00\n\x00\x03\x00\x08\x00\xff\xff\xff\xff\x02\x00\x0f\x00\x0b\x00\xf7\xff\xfb\xff\xfb\xff\xff\xff\xfd\xff\xf7\xff\xf3\xff\xf1\xff\xfd\xff\x04\x00\x06\x00\xfe\xff\xf2\xff\xfb\xff\xfe\xff\xff\xff\x06\x00\xfa\xff\xfe\xff\xfb\xff\xf7\xff\x07\x00\x05\x00\x00\x00\xff\xff\xfc\xff\x01\x00\xfd\xff\xfc\xff\xff\xff\xf3\xff\xfb\xff\x04\x00\x03\x00\xf5\xff\xf1\xff\xfb\xff\x02\x00\xff\xff\xf4\xff\xf1\xff\xfc\xff\x03\x00\t\x00\x07\x00\r\x00\x03\x00\n\x00\x00\x00\xf3\xff\xff\xff\xf8\xff\xf1\xff\xf8\xff\xff\xff\x01\x00\x0b\x00\xfb\xff\xfa\xff\x01\x00\x01\x00\x05\x00\xfe\xff\x01\x00\r\x00\x08\x00\x0b\x00\r\x00\x12\x00\x14\x00\x07\x00\xfc\xff\x06\x00\xff\xff\xf8\xff\x00\x00\x00\x00\x07\x00\n\x00\x07\x00\x0b\x00\t\x00\xfd\xff\xf9\xff\xfd\xff\xfc\xff\xf7\xff\xf9\xff\x06\x00\x05\x00\xf6\xff\xf9\xff\x00\x00\x04\x00\xfb\xff\xfc\xff\xf6\xff\xff\xff\x03\x00\xf7\xff\xf6\xff\xf9\xff\xf9\xff\x08\x00\r\x00\x06\x00\x03\x00\x08\x00\x06\x00\x07\x00\n\x00\x0f\x00\x15\x00\x05\x00\x04\x00\n\x00\x03\x00\x0c\x00\t\x00\x07\x00\x06\x00\xfb\xff\xfd\xff\xf6\xff\xf9\xff\xf3\xff\xf3\xff\xf9\xff\xfc\xff\xff\xff\xf5\xff\xf8\xff\xf9\xff\xff\xff\xfe\xff\x02\x00\xff\xff\x02\x00\xfe\xff\xfc\xff\x08\x00\x03\x00\x00\x00\n\x00\n\x00\xff\xff\xf7\xff\x04\x00\x0b\x00\xfd\xff\t\x00\x0b\x00\xff\xff\x01\x00\x00\x00\x05\x00\xfb\xff\xf7\xff\xf2\xff\xef\xff\x00\x00\x03\x00\xf4\xff\xfa\xff\xf8\xff\xf6\xff\x00\x00\xf5\xff\xf5\xff\xfb\xff\xfd\xff\x05\x00\x02\x00\xfb\xff\xf8\xff\xff\xff\n\x00\x04\x00\xfd\xff\x03\x00\x02\x00\x01\x00\x01\x00\x02\x00\x0c\x00\xfe\xff\x07\x00\x10\x00\x04\x00\x05\x00\x03\x00\xfa\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x05\x00\x01\x00\x03\x00\x00\x00\xf6\xff\xf9\xff\x01\x00\x04\x00\x01\x00\x02\x00\xfd\xff\x00\x00\xfb\xff\xf8\xff\t\x00\x05\x00\xf9\xff\xfd\xff\xfe\xff\xfd\xff\x0b\x00\x0e\x00\x05\x00\x06\x00\x04\x00\xfd\xff\x01\x00\xfd\xff\xf6\xff\xfa\xff\xff\xff\x01\x00\x01\x00\x05\x00\x0b\x00\x0b\x00\x08\x00\x07\x00\xfc\xff\xfb\xff\x01\x00\t\x00\x04\x00\xf7\xff\xfc\xff\t\x00\x0c\x00\x02\x00\x04\x00\x05\x00\x02\x00\xfd\xff\x08\x00\t\x00\x04\x00\x04\x00\x01\x00\x00\x00\x03\x00\xfb\xff\xfb\xff\xf6\xff\xf4\xff\xf9\xff\xf8\xff\xfc\xff\xf7\xff\xf5\xff\xf8\xff\xf3\xff\xf8\xff\x02\x00\x04\x00\x0c\x00\x05\x00\xfc\xff\x00\x00\x00\x00\r\x00\x08\x00\xf3\xff\xee\xff\xf3\xff\xfe\xff\x04\x00\x05\x00\xfe\xff\xf8\xff\xff\xff\x03\x00\x03\x00\x12\x00\n\x00\x12\x00\x11\x00\x0f\x00\x0e\x00\x05\x00\xfc\xff\xf8\xff\xfd\xff\x01\x00\xfd\xff\xfe\xff\x01\x00\xfa\xff\xf8\xff\x00\x00\x0c\x00\r\x00\x11\x00\r\x00\x0f\x00\x0c\x00\x0b\x00\x08\x00\xfd\xff\xfc\xff\xf5\xff\xf8\xff\xf3\xff\xf0\xff\xf6\xff\xfb\xff\xfe\xff\x04\x00\x0c\x00\t\x00\xff\xff\x01\x00\x0f\x00\x03\x00\xfd\xff\xf6\xff\xf2\xff\xfc\xff\xf4\xff\xed\xff\xdf\xff\xef\xff\xf9\xff\xeb\xff\xf1\xff\xf8\xff\t\x00\x02\x00\x00\x00\x07\x00\t\x00\t\x00\x04\x00\x08\x00\x12\x00\n\x00\xfd\xff\n\x00\x0c\x00\x0e\x00\x13\x00\x19\x00\r\x00\x07\x00\x0b\x00\x04\x00\x05\x00\x02\x00\x05\x00\x02\x00\xf6\xff\xf1\xff\xf4\xff\xe6\xff\xeb\xff\x06\x00\x01\x00\x02\x00\x03\x00\x08\x00\x01\x00\x02\x00\x02\x00\xf7\xff\xff\xff\xff\xff\xf0\xff\xfb\xff\xf8\xff\xf5\xff\x01\x00\xf5\xff\xfc\xff\xfe\xff\xff\xff\x04\x00\xff\xff\x02\x00\x03\x00\xf3\xff\xf6\xff\xff\xff\xf0\xff\xee\xff\xfd\xff\xfb\xff\xf9\xff\xf3\xff\x02\x00\xf9\xff\xf6\xff\x07\x00\xfd\xff\x03\x00\x0c\x00\xff\xff\xfd\xff\xff\xff\x04\x00\xf7\xff\xf6\xff\xfe\xff\xfb\xff\xfc\xff\x04\x00\xf7\xff\xf9\xff\x08\x00\x05\x00\x06\x00\x10\x00\n\x00\x10\x00\x08\x00\xfd\xff\xfe\xff\xfe\xff\x05\x00\r\x00\x08\x00\x00\x00\x04\x00\x05\x00\x07\x00\x01\x00\xfe\xff\xfe\xff\xf5\xff\xf8\xff\x00\x00\x08\x00\x0f\x00\x12\x00\x0e\x00\x06\x00\xff\xff\xfa\xff\x00\x00\xf1\xff\xee\xff\xea\xff\xe5\xff\xe5\xff\xe7\xff\xf1\xff\xfb\xff\xf6\xff\xfb\xff\x0b\x00\x03\x00\x00\x00\x02\x00\x0c\x00\x0c\x00\n\x00\x10\x00\x0b\x00\xfc\xff\x06\x00\x0e\x00\xff\xff\n\x00\x07\x00\xfb\xff\xfc\xff\x00\x00\x02\x00\xfc\xff\xf3\xff\xf1\xff\xf9\xff\xfb\xff\xee\xff\xf3\xff\x01\x00\xfd\xff\xff\xff\x05\x00\x18\x00\x1a\x00\x11\x00\x00\x00\xfd\xff\x02\x00\x03\x00\x0b\x00\x03\x00\x0b\x00\x16\x00\x13\x00\x19\x00\x13\x00\x0b\x00\r\x00\x00\x00\x00\x00\x03\x00\xf4\xff\xeb\xff\xf7\xff\xf9\xff\xff\xff\r\x00\x06\x00\x02\x00\xf8\xff\x01\x00\x0f\x00\xfa\xff\xf1\xff\x02\x00\xfd\xff\xf9\xff\x04\x00\x07\x00\xfc\xff\xeb\xff\xec\xff\xee\xff\xe6\xff\xe1\xff\xec\xff\xfa\xff\xf7\xff\xf1\xff\xef\xff\xe5\xff\xdd\xff\xe5\xff\xec\xff\xf3\xff\xf9\xff\xf9\xff\x02\x00\x0b\x00\t\x00\x17\x00\x1a\x00\t\x00\x08\x00\xfb\xff\xfb\xff\x04\x00\x06\x00\t\x00\x16\x00\x18\x00\x13\x00\x0b\x00\r\x00\x11\x00\x02\x00\x0c\x00\t\x00\xf8\xff\x03\x00\x12\x00\xfe\xff\n\x00\x1c\x00\x1c\x00\x1d\x00\x14\x00\x1b\x00\x1a\x00\x0f\x00\x13\x00\x19\x00\x19\x00\x17\x00\r\x00\x03\x00\xf5\xff\xf0\xff\xeb\xff\xd8\xff\xd5\xff\xdc\xff\xdd\xff\xdb\xff\xd4\xff\xc8\xff\xc2\xff\xb9\xff\xb1\xff\xa9\xff\xac\xff\xab\xff\x97\xff\x95\xff\x92\xff\x9b\xff\xa0\xff\xa2\xff\xa1\xff\xa0\xff\x9e\xff\xb2\xff\xb9\xff\xc3\xff\xc7\xff\xaf\xff\xa8\xff\xa3\xff\x95\xff\x88\xff\x86\xff|\xffg\xffq\xffi\xffX\xffS\xffQ\xffl\xff\x86\xff\xb2\xff\xf4\xffA\x00\x8e\x00\xe3\x00K\x01\xc5\x01.\x02\xb4\x02<\x03\xb9\x033\x04\x9a\x04\xed\x04"\x05>\x05J\x05$\x05\xd8\x04s\x04\xee\x03P\x03\xaa\x02\xf0\x01:\x01g\x00\x90\xff\xba\xfe\xc6\xfd\xd2\xfc\xb6\xfb\x95\xfa\x9c\xf9\xa7\xf8\xea\xf7\x88\xf7Z\xf7\x87\xf7\xf6\xf7\x92\xf8N\xf9\xee\xf9a\xfa\x9e\xfa\x86\xfa[\xfaG\xfa+\xfa<\xfa\xc5\xfa\x87\xfb\x84\xfc\xe3\xfdV\xff\xd2\x00`\x02\xde\x03*\x05v\x06\xc8\x07\xee\x08C\n\x8d\x0b\xe1\x0c:\x0e8\x0f\xe5\x0f \x10\xb4\x0f\x95\x0e\xd7\x0c\x87\n\x00\x08x\x05\x1d\x03"\x01\x91\xffv\xfe\xc8\xfdt\xfd6\xfd"\xfd\x10\xfd\xea\xfc\xa7\xfcW\xfc\xb2\xfb\xdc\xfa\xc2\xf9\x14\xf8\xfd\xf5i\xf3\xa8\xf0\xe3\xed{\xeb<\xea9\xea\x9e\xeb2\xee\xb6\xf1\x92\xf5\xdc\xf8\t\xfc\\\xfed\x00)\x02\x92\x03{\x05\x1f\x07;\t*\x0b\xb7\x0c)\x0e\xb3\x0e\xd6\x0eV\x0e\xfa\x0c%\x0b\xc5\x08]\x06\x0b\x04\xfa\x01\xa6\x00\xe7\xff\xda\xff>\x00\x19\x01/\x02\x01\x03\xe1\x03;\x04h\x04D\x04\x9c\x03\xe6\x02\xba\x01\x98\x00j\xff~\xfe\xb5\xfd+\xfd\xf9\xfc\xe9\xfcY\xfd\xf0\xfd\xc2\xfe\xd1\xff\xe1\x00\xe3\x01\xec\x02\xc2\x03:\x04t\x04e\x046\x04\x90\x03\xa1\x02Y\x01\xe1\xff%\xfe\xd9\xfb\xc8\xf96\xf7C\xf4l\xf1f\xee\x1a\xec\xbe\xea\xeb\xe95\xea(\xeci\xee\x05\xf2@\xf6\xa9\xfa\xe0\xfek\x02\x8a\x06(\x08\xe1\n\xab\x0cn\x0c\xf8\x0e\x96\x0eU\x0e\x96\x0fH\rT\x0c9\x0b\x1b\x08\xe7\x06\xf0\x048\x03\x07\x03a\x02o\x02\xcd\x02\x85\x03\xcd\x03^\x04D\x05\xf9\x04n\x050\x056\x04\xba\x03|\x02\x18\x01n\x00K\xffl\xfe\xc6\xfe\xa1\xfeo\xff\xf9\x00\xd7\x01C\x03\xb2\x04{\x04\xe7\x03\xf0\x01\x9e\xfd\x8c\xf9`\xf4l\xef\xe1\xea|\xe5\x8e\xe2.\xe0\x96\xdf\x88\xe1q\xe5\xcd\xea\x7f\xf0W\xf9\xdf\xff\xb4\x07\xfa\x0f\xdf\x13\x82\x1a\x1d\x1d\xf6\x1c\xbd\x1dd\x19#\x14K\x0e\xd9\x06q\x00\x9e\xfa\xea\xf5\xc3\xf2\x96\xf1\xd9\xf0e\xf1A\xf45\xf6f\xf9\xfe\xfci\x00\xe1\x03j\x06\xf2\tt\x0bt\r\xbf\x0e\x05\x0ey\x0e\x84\x0b\xc9\x08\x02\x06\xbb\x01\xc4\xff\xa8\xfdt\xfd\xf2\xfe\x94\x00\x80\x03q\x063\t7\x0b\xce\x0cx\r\xf3\x0c-\x0c\xd3\t\xad\x06\x9d\x03\xf3\xfe\x85\xfa\xfd\xf5\xff\xf0\x14\xed\xef\xe8\x8a\xe6\x03\xe5]\xe3\xaa\xe3n\xe4\x81\xe61\xe8R\xeb\xbe\xef\xae\xf2\xed\xf7\xf1\xfc{\x02\r\x07N\x0bF\x0fK\x10%\x13\x83\x11S\x102\x10\xdf\t\x8c\x07\x05\x04T\xfe\x06\xfdo\xfa\xca\xfa#\xfde\xffY\x04*\x08\x9e\x0ci\x0e\x18\x10\x8e\x11\xf9\x0e\x03\x0f.\x0c]\to\x07\x85\x03y\x02\x83\x00X\xffG\xffC\xffF\x00\x0c\x01\x87\x02\xd2\x03\x82\x05\xfd\x06s\x07i\x07\xf0\x04\xa5\x00\xa6\xfaZ\xf4\xe7\xeds\xe6\x1f\xdfZ\xd7\xf1\xd2\xce\xcf\xa5\xd0\xfa\xd7y\xe1\x03\xef-\xffv\x10\x10\x1f\',\xe03\x844^2\x85&\x06\x19O\n\xaf\xf74\xeb\x98\xe1d\xdd^\xe1\xb8\xe8\xee\xf3\x08\x00\xe8\x08\x11\x0f\x1d\x11\x01\x0f\xe1\x08\r\x02]\xfb\xc2\xf5\x88\xf30\xf3\xef\xf6\x83\xfa\x1f\x00\x0b\x06\xd2\x08\xbc\x0cU\x0cO\x0b7\n\xef\x066\x06\x99\x05=\x06i\x08(\x0bo\x0e>\x10\x1f\x12\x91\x12_\x11\x81\x10\x9b\rV\x0b\x1d\t\xb7\x05\x05\x04\xac\x001\xfcb\xf7\xdf\xf0\xe4\xe9W\xe3[\xdc\xcb\xd3\x9d\xcc8\xc6\x9e\xc2A\xc7<\xd0\xe2\xdfs\xf8\xa5\x0c\x05&\x85;\xc1A\x87JR?I,\x0e\x1a\xcc\xf8>\xe3\xfa\xd0\xb5\xc3`\xc9n\xd2(\xe6_\xff\xcb\x12O%S-*,[#\xdf\x14\xc8\x059\xf5\xa2\xecl\xe6\xde\xe7E\xf0\xc6\xf7@\x06\xa2\x0f>\x17\r\x1d\xc5\x19\xc1\x15\x01\r0\x02\x1a\xfb:\xf5\x85\xf4\x1f\xf9\xcb\xffG\n\xc6\x14\x80\x1d\xd9$x\'\x8d&A\x1f\xe9\x13\xcc\x04\xa7\xf1\xf9\xe0=\xce"\xbf\xaf\xb43\xaaN\xac8\xb7v\xc6\xc6\xe4p\x06\x1e"\x97BcRRQ\xccL,-^\x0b\x9b\xec\xc5\xc6\xfb\xb9\xb5\xb7b\xc2B\xe4J\x03\x07\'\xdbD\xe2L\x94Iq1\x06\rf\xe7\xfd\xc3\xd9\xb0K\xac\xfb\xbbs\xd9m\xfe5&nA\xc4S\rR1A\xf8\'\xd2\x04\x06\xe8\xfb\xce\xeb\xc1\x1a\xc5W\xd0\x83\xe8"\x05\x85\x1e\xe25\x9fAXB\xed;\x8e)\xe9\x17\x90\x06|\xf7\xa5\xf3?\xf1\xa3\xf5\xc2\xfbJ\xfd\xaa\xfc\xe9\xf3\xa7\xe2O\xcd-\xb7\x8d\xa3\x1e\xa2\xc3\xae\xcf\xc8O\xf8\xbd"\x16H\xd8dn_\xfcL\xd1(:\xf3V\xcf\xbe\xb0\xb1\xa8\x10\xc0\xc0\xddX\r\x087\x8fN\x88[1J\x1b+j\x03\xa0\xd6\xac\xb9;\xa8\x89\xae\xd0\xc6(\xe8j\x1270\x97G\x89L\x97>\x9e+\x00\n\xce\xef\xce\xd9U\xcc\xb3\xd0\xe2\xd7:\xee\x06\x04r\x16\xea)\xb5-t.>\'6\x18\x1d\x0e\x0f\x03\x0b\x01\xd0\x06\x7f\r\x98\x18\xef\x1b\x0f\x1a\x1f\x12K\xfe\xa5\xeb\xae\xd3\xb0\xba{\xab\x84\x9b/\x9f\x96\xb6\xf9\xcfR\x0101\xb7M\x16i\xeb^\x8d=K\x18X\xd9\xc2\xb0\xc7\x9e\x9a\x9a\x82\xc2\x92\xf1\x91%\xfbW\xf1e\x91e\x9eL\x90\x1b\x87\xf1\x8f\xc5k\xa9\xe0\xa1\xf4\xa4\xee\xbf\xb4\xe0\x15\x07{-?I\x8d\\wW G\xbf#\xf8\xf8\x18\xd5\xc9\xb37\xb2\xf9\xbc\x1f\xda\xd6\x06\x9e%\xc8B\x96H\x1a<\xc0+\xbd\x10\n\x01\xc2\xfb@\xfd\xb0\n4\x14a\x19*\x17\x99\nb\xfe\x02\xf0B\xe9@\xe7\xd2\xe1\x97\xda+\xcb\xcc\xb5\x8f\xacL\xb4\x17\xc5\x13\xf7\xd3*\x99M*o\x08[-3\x1d\x01\xe3\xb79\x9e\xa1\x97\xf8\xb0\xb2\xf3/(\xea]Xr\xb0]\n?\xcd\tN\xdcS\xc4B\xb7\x9e\xc0\x1f\xca\x91\xd3\xf4\xe3n\xecz\x02\xb3\x1c\x9f8\x88S9TtE\xfc\x1a\xfb\xe7\xd1\xbc\xca\xa1\x9e\xaf\x92\xcf\x82\x03v4\x1cL\x06Qa6\xd6\x14\xfe\xf9\x8f\xea\xd4\xf4\x1c\nm \x8b/\x8b*\x01\x1a\xb0\x01\xa4\xec\x86\xe7n\xec0\xfcZ\x06w\xfd\xdd\xe0\xc6\xb73\x8dc\x82\x1a\xa2\xf5\xd1\x19)\xe1j\xff\x7f\xff\x7f\x91:\xdd\xf2\x84\xb2\x00\x80:\x95g\xbc\xeb\xfe\x94Cq[\xbec\x12C\x12\x17\x83\xfaK\xe5y\xe6\'\xeeZ\xee&\xe3L\xc8O\xb2\xd7\xb3\r\xd2\xc6\x0b\x89J\x9c{\xff\x7fc]\xd8\x19\x08\xc9\x7f\x93S\x86\xee\xa3\x8c\xe5Y!\xb2KyT\xf1:\xf5\x19\x8a\xf9\xc1\xee\xf2\xfd\xfa\x13\x95,\xee4\x04(}\x10\xbf\xf2\x92\xe3X\xe6y\xf9/\x13\x84\x1fC\x1f\x9c\x01e\xcb\x0f\xa1\x00\x80)\x85\xed\xc0J\xf5\xdeD\xc8q\xb1`\xd9PY\x06\x1a\xcc0\xb4\xd1\x9a\x9f\xc4\xd5\xe9!\x12\x959\xee;\xb9A\xc0/\xba"\x8b\x17\xc2\x07\xc8\xf9"\xdc\xc3\xc8\xfd\xb1\x07\xa9(\xb9\n\xd7+\x06\x9e4\x8aS\xe0]XOK\'\xc4\xfe\xa6\xd58\xbf\xfb\xc0\xd9\xcaa\xec%\x05\x7f\x1a\xe6(\xf3#\x9e#\x97\x16\xec\x0f\x0b\r$\n9\x12\x8b\x13\xc6\x19\x9b\x17\xb0\x0e\x1c\x06\xeb\xf8a\xfa\xa2\x00\xee\x0bp\x18#\x15s\x05A\xdb\xd3\xab\x0c\x8c\x00\x80E\xaeP\xedF-\xa8o\x00j\x9dP\xa5\x19r\xcf\xca\xb7|\xa7\xda\xc5p\xf4\xf6\x11\x85/\xe2)\xd7%\x97\x19N\x12\x00\x186\x13\n\x0e\x1f\xf1\x84\xd4/\xbbT\xae\x9b\xbe\x92\xde\xc3\r\x860\xdfG\x82Fc2^\x16\xc0\xf1\x1d\xe1b\xd1\x80\xd5\xd9\xe3\xb7\xef?\x07\xfe\n\x15\x15P\x16\x15\x11\xc6\x17\x94\x11\xd5\x18\x1d\x19\x1b\x16\xbf\x16\xeb\t#\x07\xc3\x00\xf3\x00\xe2\x066\x0cq\x19\x8c\x1c}\x1f\xa0\x15\x1d\xff\xa7\xeb\x04\xc9\x1b\xa9\x8e\x9f\xe5\x9b\xc3\xc1>\xfc\xdc\x1d\xa8O\xc6P\xef1\xd1\x1b\xbf\xe2H\xcd%\xc3?\xc65\xe6\xb7\xfa\xb8\x19\xdd%\x1e4o3\x95%\xaa\x1d\xa6\xfeX\xee\xd0\xd3\x12\xc4\xf0\xc9\xec\xcd\xd2\xe7m\x00.\x18\x1e(\xf8+\xf9&\x9c\x1d\xa3\r\xc9\xf4\xeb\xeaz\xd9d\xdb\xdd\xe8F\xf3\x0b\r1\x0fa\x14\x93\x10\x1d\t\xc2\x0e\\\x0e\xdd\x1c\x97\x1c\x7f\x18\'\r\xc3\xf9t\xf9/\xfa\x8f\r\xbf \xdd\'Z)m\x1aB\x0c\x17\xfd\xcc\xf5+\xf0\x12\xec)\xe0*\xbc`\xaeG\x9f\x08\xb8Y\xfc\t qW\xfcZ\xcd21\x115\xd2\x08\xbb\x86\xb5\xe8\xc4\x8c\xe4\x96\xfb|\x1a\xc4"@4\xa07t-\xc8#8\x02\x04\xea\xa1\xd0c\xc6a\xd0\xc0\xe0\xd9\xf7\x1e\r\x85\x1f\xed \x19!Q\x11\xcf\x05\x9d\xfeP\xea\xa1\xec+\xe6"\xec\xbc\xfbN\xff\xd9\nD\x06\xd7\x04\x19\x04\xcc\x07u\x14\x1f\x1aV"\x8a\x18S\x0b\xe1\xfe3\xf6\xd4\xff\x00\x0c\x05\x1e\xec$\xfd\x1f\x82\x13\x9d\x04u\x05\xe8\x08\xbf\x11\xac\x12V\x05\xbc\xf3Q\xdc\xbe\xc0\xac\xaa\xc7\xaf\x8f\xb9{\xe9\'\x1b\xd2%5=A!-\x02)\xefk\xd4\x8d\xd8\x06\xd2>\xde!\xe5\xdf\xf7V\x17\xc4#\xdeC\xa7=\x8a*\x8d\x0f\xf3\xe7\x90\xdb\x8e\xd1p\xdf)\xf0\x92\xff\x83\t\xe0\r\xa5\x16\xcb\r\x95\r\xfb\xffc\xf7\x98\xf4\x82\xe7\x14\xf3\x92\xf9:\x058\x0b\xe3\n\x85\t~\xffM\x04\xb0\x02\xb5\x0b\xa1\x0f\xb6\x0b\xd2\r\x83\x06n\n\xc2\x0cw\x12(\x16!\x11S\x10&\x0b.\rn\x103\x15]\x18\x00\x14\x14\x0c\x94\xfeH\xf9J\xf20\xee\xb6\xef\x00\xe6\x0e\xcf\x00\xb7\x08\xb0]\xb8t\xe3/\x05\x02\x15&&\x8c\x12\xeb\t&\x04\xcb\xf8.\xf2\xec\xe0/\xdd\x16\xdc\x8c\xf4L\x14K+\xb7@+0\x1f\x1a\xf9\x05\x7f\xf5K\xf1\x06\xef\xf7\xed\xf2\xe9<\xecD\xef\x17\x04\\\x14\x8a\x16P\x16\xdf\x02-\xff\r\xfad\xfe\xdb\x07[\x02l\x00\xcf\xf0\x89\xf0U\xf6[\x01\x02\x14\x07\x16Q\x17\xe6\t\xd6\x01\xec\xff\xfe\x02\xd6\x10\x81\x143\x1d\x85\x1a\xc1\x17r\x16\xb3\x0ca\n\x1e\x02\xbc\x00\xdf\x03m\t\xc7\x0e\x9d\x07\xe9\x00\x99\xf2L\xea\x15\xe8`\xe1\x0b\xe2\xfd\xd7\x0b\xc2\xcc\xb5\xd9\xba\xf6\xd2\xc3\xfd\x85\x1b\xbe&P+\t\x1b\xb8\tx\xfa\xc9\xe94\xd7H\xc9;\xd2\xc3\xe6\xab\x0e\xd22\x04DIH:1\xdf\x16\xc3\x01\x02\xf0\xe4\xe1\xad\xdbA\xe2\x04\xec\xf3\xfd\x19\r\xf7\x1c\x0e\x1f\x84\x157\x0fh\x04\xe5\x05n\xfb\xee\xef\x1c\xed\xe4\xe6&\xf1x\xfb\xe5\x08\xde\x0f^\x0b0\x0b\x91\tT\x10f\x14c\x17\x8f\x14\x7f\r\x98\x0cx\n\xb8\x11#\x11\x82\x08\xcc\x01\x0c\xf9\\\xf6\x94\xf7\xff\xfeH\x03\xb3\x05\xfc\x07W\x05-\x06c\xffo\xf2\xe2\xe7W\xe0\xed\xe0\xe8\xe5\xaf\xecu\xef\xe4\xea\x9f\xdd<\xcf\x10\xd1K\xdf\xa7\xfb\\\x11\x92\x15F\x185\r\xe8\xff[\xf4^\xe8\x13\xe21\xe5\xef\xf9\xc7\x13\xf1+\xd86s/v"\xfa\x13\xd3\t\x8b\x06\x90\x03m\xf8\x9a\xecv\xebX\xf1*\xfc\xb3\x08/\x10\xca\x11-\x11\xf5\x0b\xa9\x063\x05`\xf6\xfa\xe9G\xe8\xd5\xeaQ\xfc\xd5\x0c\xbb\x18*\x1c.\x18N\x12.\n\x86\x07I\xfd9\xf7\xfe\xf7#\xfas\x03\x06\x07\'\x0b\x82\n\x0f\x06E\x06\t\x03\xef\x00\xf3\xfb\x9a\xf7\x84\xf7X\xf6\xf7\xf5\x87\xf31\xf3?\xf5\xb2\xf6\xd2\xfc^\x00\xcd\x00E\xff-\xf7\x9b\xf2%\xef\xe3\xed4\xef\xf9\xee\xd6\xeeZ\xdbt\xd9\xbf\xe4\xac\xeey\x10{\x0e\xe0\rd\x16\xad\x14O\x1bj\x10\x9a\x04\x9b\xea\x92\xe6\xba\xfb4\x08\xe7\x1f\x96\x1f\xda\x19\xd5\x1c\xff\x19\xe7\x1aY\x10\x94\x05\xb1\xf3\x86\xea\xad\xf7\xbb\xfa\xc1\xfb\x8e\xf6N\xf8\x11\x01\xa4\r\x9a\x16\xde\x0bV\x07\x07\xf8\xde\xf0U\xf5\x08\xf2\xe1\xf7\xd1\xfa\x8b\x02\xf7\x07\xdb\t\xe0\x0b\xcc\x00\xe4\xfd\xdf\xfb:\xfb\xcf\x00\xcb\xffd\x00_\xfe\xb8\xffo\x00\xf0\xfc$\xfc[\xf69\xf7`\xfa\xbf\xfc\x8a\x02\xab\x03\xa2\x03o\x00\xa0\xfd\xc1\xfb\x88\xfb\xfd\xfc\xf7\xfaQ\xfey\x01\x0c\x05?\n\xc0\x07\x89\x00a\xf8\xe1\xf4\xc0\xf6\xc9\x00\x1f\x05j\x05\x17\x07\xa9\xee\x1b\xe0\r\xe1\x13\xe3\x9a\xfa\xfa\xfee\xfd=\tg\x15N!\x11\x1e<\x16\x1e\x00\xe5\xeez\xf8%\xfc\xe2\xffA\x03\xaa\x01\t\r@\x1c\x7f$\xb3\x1f\x10\x15\xea\x04T\xf0\xcd\xed:\xed\xd4\xe2:\xe3\x16\xf2\x8f\x01\xdb\x12I\x1c\xe7\x11\'\t\x9c\x00P\xf2\xc1\xea\xbf\xe2\xa5\xdaG\xdfj\xee\xc2\xfc\x96\x06\x1e\x10\'\x13k\x13\xcc\x11\x9d\x07\xc4\xfb4\xf2\xef\xef\xa6\xf5\xf2\xfe \x07j\t=\rN\x10\xc0\x0eN\x0c\x8b\x06\xee\x00\x9a\xff\xf8\xff4\x00D\x03\xcb\x05I\x07\xb3\x08\xcf\x04\xe7\x00\xf4\xfd~\xfc\xfe\xfc\xae\xfc\xb6\xfa\n\xf8\x07\xfa?\xff=\x07\xbe\n\xc3\t\x02\x07\xbe\x00b\xfb\\\xf2\x8b\xecx\xf0l\xf8\xfb\xee<\xe3\x12\xe74\xeaE\xfc\x1a\x01n\xfa9\x03-\x10R\x17K\x10\xc3\x07\x8c\xf4y\xf0\x91\xfeN\x008\x00N\xff\xdd\x05\xc8\x0e\xf4\x16K\x17O\x0c\xf8\x0b/\x07\xfb\xfdq\xf7\xba\xef\xb8\xe6\n\xe6\xdf\xf8\xdc\xffx\x03\xdb\x07\xe5\x05X\x0c\x91\x0ce\x04\x17\xfc\x85\xfa=\xfas\xf8{\xf7]\xf4\x81\xf7\x0f\x01\t\t\x0f\n\n\n\x00\r{\r\x1f\x0fI\r\x13\x07&\x05\xb9\x05\xea\x03\x97\xff\x9b\xfdk\xfe\x10\x03\xa1\x08~\x08K\x06i\x03\x1f\xff\xc8\xfeZ\xfeL\xfb\xf8\xf6e\xf0\xab\xef\x89\xf2^\xf5\x98\xf9\x87\xfd\x06\x00v\xffx\xfdl\xfd\xa7\xffx\x00c\xfe\x14\xfdW\xfcB\xfcY\xfc$\xfeR\x01\x8c\x00\xc8\x00\xc2\x01\xd7\x02\xb9\x04\x05\x03Z\x03W\xff\xc6\xef\x06\xef\x81\xf1\x03\xf7\x11\xfb\x03\xf2d\xf4>\xfd\x83\x0cZ\x0b=\nc\t\x08\x02\r\tw\r\x1d\nG\x01{\xfe~\xfd\xbb\xfa"\xffK\xfe \x04G\x11\xe5\x15\xf3\x14\x1d\x12.\r\xe4\xfe\xa2\xfa\xdd\xfc\x08\xf7\xd5\xf7g\xf7\xe4\xf9\x01\xfd\xc1\x00\xab\x01\xfd\xfe\xec\x01]\xfdW\xfc\x83\xfb\x01\xf61\xf3c\xf5q\xf8\x01\xf8 \xfdq\x01\xc7\x03\xd2\t5\x0b"\t\xab\x06\xb7\x04\xce\x01\xea\xff\xc7\xfe\xb0\xfb\xc6\xfb)\xff\xa3\x01\x07\x04I\x04\xdb\x01\x85\x02\xfd\x04\xd6\x04L\x01\xfb\xfdl\xfa\xed\xf9\xc9\xfdk\xff\xf3\xff\x03\x00d\xffw\xfe\xc1\xfe\xbc\xfe:\xfe\x92\x01_\x04\r\x04d\x00\xb3\xfd7\xfeV\xfe\xf8\xfe\xf1\xfc%\xfat\xfb\t\x00\xef\x02\xf7\x04G\x06\xf9\x017\xfb\xd2\xfa-\xfe\x9a\xf8\xb1\xf2\x08\xf64\xf8P\xf7"\xf9,\xfb\x86\xf9\x02\xf8\xf0\xfe%\x04\n\x06F\x08\x03\t\x99\x0c\xfb\x0e\x04\n~\x03\x8a\x02/\x00\xc0\x00\xc8\x06;\x08D\x04\x11\x02o\x06\xa9\x07\xca\x05\x97\x01\x86\xfb|\xfbd\xfc\xde\xfc\xaa\xfb`\xf95\xf7\x03\xf8\x91\xfdr\xfdC\xfa\xc9\xf9b\xfa\xc0\xfc\x95\xfe\r\xfft\xff\xcc\xff\xcb\x00E\x022\x03\xa5\x05\n\x06{\x07)\n\xce\n\xf4\x0cN\x0c>\x0c*\n\x14\x05\x8d\x01\xd8\xfd\x14\xfdZ\xfd}\xfe\xeb\xfe\x9c\xfd\xc1\xfc\xfd\xfb\xad\xfb|\xfag\xfaD\xfa\x9a\xf8{\xf7\xa7\xf5\x9c\xf4:\xf6L\xfa\n\xff`\x01y\x03\xbb\x04v\x02t\xff\xb3\xfd\x08\xfdu\xfd\x82\xfe\xe6\x00\xe8\x00\xdd\x00x\x03\xc4\x06\xab\tD\t\xbc\x08\xe7\x04\xd7\xfd\xa0\xfcN\xfb\xf1\xf6\xa2\xf0i\xf0\xfe\xf2\xdf\xf4\x12\xfa\x8f\xfaO\xfa\x1a\xfb\xda\xff"\x04E\x06\xc6\x04\xf7\x03\xfa\x07\xe9\x08%\x08\xb0\x06s\x07\xb7\x07\xb7\x08@\r;\x0e\xa6\x0b[\x08%\x08\xac\x07\x00\x05\xcd\x01(\xfe\n\xfd\xb6\xfcQ\xfd\xc1\xfc+\xfb\x96\xfa,\xfbm\xfa&\xf7\xaf\xf4\xd7\xf3\x03\xf65\xf7B\xf7\xb7\xf6\xb0\xf6B\xf9\x8b\xfc\x0f\xffo\xff\x8c\x00\xfd\x01\xea\x05\xe8\x08\xb7\n9\x0c\x07\n\xe1\t\xa2\x08\x92\x08w\x08\x91\x06\x98\x056\x036\x02\xf5\x00;\x02\xe9\x02\xe8\x01q\xff\xe3\xfa1\xf8\xce\xf6\x11\xf8\x85\xf8\x02\xfa\x8a\xfb\xa8\xfb\xf1\xfc@\xfd-\xfd\xae\xfcs\xfdB\xfe\xe3\xfe\xef\xff\x8f\x00\x17\x02w\x02~\x02m\x01\x93\xff\xf9\xfdw\xfdX\xff<\x02\x8a\x03\x9c\x03\xdc\x06m\t2\n\x0f\x08\x9e\x04{\x00\x90\xf8\xc8\xf6\x1b\xf7/\xf4\xbb\xef+\xf2C\xf6\xcf\xf5\xc0\xf6,\xf9\x9b\xfa8\xfb\xd8\xff`\x01\xf9\x01\xb8\x02\x91\x04\t\x08x\n?\x0b\xb2\t\xa4\n\x90\x0bz\t\x0f\x08\x97\x06\xcf\x040\x03\xce\x04`\x06D\x05\x05\x04J\x03\xf6\x01\x86\xfe\x13\xfc\x8a\xfa\x9f\xf9\xfc\xf8\xe8\xf8\xa8\xf9\xc1\xf9!\xf9\xd3\xf8\xb2\xf8\xdf\xf7\x9a\xf8\x01\xfc\x9b\xfdu\xfcP\xfc<\xff\x02\x03\xc5\x04\x0c\x06\xcc\x06\xb7\x06)\x07\xa9\x07.\x08=\t\x0f\n"\x0b\x06\x0b;\to\x06\xcb\x03\xc1\x02>\xff{\xfb\xf7\xf9x\xf81\xf8J\xf9\\\xf9Q\xf8\xbc\xf7\xeb\xf7\xd3\xf9I\xfa\xa5\xf9\x8e\xfaF\xfb\xb1\xfb\xe9\xfbS\xfd\xaa\xfe\xc5\xff\xe2\x00\x8f\x00"\x01\'\x03\x1a\x05s\x05@\x04\xe2\x02=\x03C\x04+\x056\x05\xd8\x03x\x00J\xfd\xb2\xfe_\xfdt\xf8\x1a\xf5\xe8\xf7\xb5\xf8\xe1\xf7\x17\xfa\xac\xfb\xb8\xfcI\xffG\x03\xb0\x027\x01\xc4\x00\xee\x01i\x04\xeb\x04\xf0\x02C\x04}\x08V\t\x91\t\x1e\x0b\x9b\nA\t\x0e\t\xa7\x07r\x03\xae\x002\xff\xd7\xfdw\xfcE\xfb\x1d\xfb&\xfb9\xfc\xd2\xfa\xd0\xf8\xcd\xf7\x1c\xf8y\xf8a\xf8\xce\xf8\xe1\xf7\x1f\xf8\xa4\xf9\x11\xfb\xfc\xfb \xff\x05\x03\x9c\x03\x92\x03r\x03\xec\x04\xce\x06\x9c\t~\t\xb0\x07|\x08\xe1\t}\x0b\x17\n\xfd\x06\x9e\x03\xfd\x02\xe4\x02]\x01m\x00\xa2\xfe\xde\xfc\xbc\xfa\xc2\xfa9\xfay\xf9S\xfa\xd9\xf9d\xfa\xe3\xf9\xa1\xfa\x94\xfbS\xfc\x1a\xfd\xba\xfc\x17\xfe\xdb\xfe\x1d\xff\xe0\xfe3\x00R\x01\xd1\x00\xb0\x01[\x02n\x02g\x015\x016\x01\x8b\x01b\x02e\x01k\x020\x03\xf0\x01i\x01\x00\x02\x15\x01\xf8\xfbi\xf9)\xfa\x12\xf8\xf5\xf3\x88\xf4\xe9\xf76\xf7f\xf8j\xfb\x15\xffO\x00\x11\x04\t\x06\\\x05)\x06\xc0\x05\xda\x07\xba\x07\x98\x06\xa3\x04d\x06\xb7\x08w\x06\x82\x06\x84\x06\xf1\x05\xfb\x049\x05n\x04\xcb\x00\xd8\xff5\xff\xba\xfe\x01\xfdb\xfb\x16\xfa\xab\xf9\xb1\xfa\x91\xfa\x81\xfb\xac\xfb\x97\xfb\xef\xfam\xfa\x88\xf9\xc3\xf9\xa5\xfb\xaf\xfc\xef\xfdz\xff\xef\x01\x81\x02\xd2\x02\x93\x03\x17\x04\xe7\x04\xeb\x05\xe9\x07\x08\x08\x1f\x08\x8b\x07\xf0\x06#\x06\x9a\x04q\x04\xbd\x02\x80\x01\x03\xff(\xfdF\xfc\xa7\xfb\x9b\xfc\xac\xfc?\xfc\xef\xfa\xf1\xfaH\xfb\xb5\xfb\xfd\xfb\x87\xfb\x1a\xfbx\xfb\x1e\xfdq\xfdb\xfeU\xff\xca\xff\x96\xff\xe9\xfe\x85\xffz\x00\xf5\x01:\x02\xd0\x02\x88\x03\x16\x03\xe6\x02\xea\x02\x0b\x03\xea\x01\x7f\x01A\xff\xb3\xfb\x05\xfbD\xfb\x8a\xfa\x1f\xf9b\xfb\xf2\xfb$\xfc\r\xfd;\xfd\x12\xfd\xeb\xfdH\x00T\x00\x11\x01\x19\x02u\x04\xb6\x06\x94\x07+\x07m\x07\x87\x08H\x07\xde\x05a\x04\x03\x03`\x02\xac\x02\xa7\x02P\x01\x9e\x01x\x01\xbf\x00\x8a\xff\xbe\xfdo\xfb\x12\xfa\xd6\xfap\xfam\xfa\x0b\xfb\x03\xfc\xac\xfc\x16\xfd>\xfd\x06\xfc\n\xfb\xf6\xfa\x84\xfb\xb1\xfb[\xfb\x16\xfd\xbb\x00U\x04Y\x06\xf6\x06\x9a\x07&\x08)\x08\xbe\x072\x07u\x06P\x05\xc1\x04x\x04\xda\x02\x1d\x02\xf4\x01\x9d\x00\xe1\xfeq\xfe\xd2\xfe\x95\xfd\xfa\xfc\xfc\xfb+\xfay\xf9\x01\xfa\xb6\xfaM\xfan\xfb\xbe\xfc\x88\xfd\xcf\xfed\xffp\xffs\xff\x8c\xff2\xff"\xff\xa1\xff>\x00\xd1\x00\xc2\x01\xee\x01\xa6\x01h\x02\xe8\x02\xe7\x028\x02\xdf\x01\xa8\x01u\x01Z\x01\x1b\x01@\x01\xb2\x00\xb6\x008\x00U\xff\xe6\xfb=\xf9f\xfa\xb9\xf9\xc6\xf6\xd8\xf5\xa9\xf8\x83\xf8\xde\xf9\x90\xfcz\xfeL\xff\x82\x02\xe8\x04\xe9\x04k\x05\'\x06C\x07\x15\x08M\x07y\x04\x8f\x04`\x06\xed\x05\xb6\x04C\x05\xfb\x04\x08\x04\xc7\x04x\x04\x97\x01v\xff\xfd\xfe\xe9\xfe\xe5\xfd\xf6\xfcn\xfb\xd1\xfaZ\xfbD\xfb\x86\xfa\x16\xfa\xea\xfa\xc1\xfbw\xfcK\xfc\n\xfb\xe7\xf9\xbf\xfa\x9f\xfc\t\xfdg\xfeS\x01\x04\x04\x1f\x05\x99\x05*\x06[\x06\xdb\x07\x9d\x08\xf6\x07\x01\x074\x06\xde\x04\xba\x03\x01\x03\x02\x01\x12\x00\r\x01\xe9\x00/\xff#\xfe}\xfd\xdb\xfb]\xfbJ\xfb6\xfa\x00\xfa?\xfb\xbc\xfbR\xfb!\xfc\xa4\xfd\xb7\xfec\xff\xa1\xff\x92\xff \x002\x01,\x01\xb0\x00\xfa\x00N\x01z\x01&\x01\xaf\x00\xc0\xff\xcd\xffy\x01\xc3\x02j\x03\xff\x02\x97\x02\t\x02h\x01\xfe\x00B\x00\x04\xff\xe8\xfbm\xf9-\xf9\xe5\xf7\x08\xf6\x9d\xf5*\xf8\xf1\xf8\xdf\xfa!\xfd\x08\xff\xf8\xff\x15\x02\xed\x03\xa8\x03#\x04\x93\x04\xeb\x05(\x07\x13\x07\x15\x06\x1d\x07?\x083\x072\x06\x12\x06\xe2\x04D\x03\x11\x03~\x02.\x00\x08\xff\x98\xfe\x0f\xfe8\xfd\xd4\xfc*\xfc\x8c\xfb\x00\xfc\xcb\xfb/\xfb\x80\xfba\xfc/\xfc\x1c\xfcW\xfch\xfbB\xfb\xe4\xfc\xce\xfd]\xfdL\xfe\xad\x00\xca\x01\xea\x02\x13\x04\xfc\x04\xc1\x05\xbf\x06\xd7\x06r\x06S\x06\xee\x05\x9f\x05\x92\x05_\x04\x1d\x02e\x01\x15\x01\xb8\xffW\xfe\xde\xfd\x03\xfd\x11\xfc\r\xfc\xec\xfb}\xfb\x84\xfb\x0b\xfc\x02\xfd\x8b\xfd\x91\xfd\xdd\xfd\xf4\xfe@\xffY\xfe*\xfe\xbd\xfe2\xff\xc7\xff\x8a\x00\x9c\x00:\x00\x9d\x00(\x01\xa4\x00\x1b\x00\x07\x00R\x00\xa2\x00\xfd\x00S\x01\x7f\x01\\\x01\xdb\x00\x97\x00\xd5\x00\x93\x00I\x00a\x00[\x00T\xff\x83\xfeF\xfe\x9c\xfc{\xfal\xfa\x02\xfbn\xf9\x86\xf8\x8a\xfa\xf8\xfbq\xfc#\xfeO\x00^\x01\x15\x03\xe5\x043\x05\xf9\x044\x05\xa7\x05x\x06c\x06m\x04M\x03u\x04]\x04\xf9\x028\x03\x9d\x03A\x02P\x01\xcb\x01"\x01\x85\xff\xe0\xfe|\xfe\xbe\xfd\xf5\xfc%\xfc\xab\xfb\xb8\xfbj\xfbb\xfaY\xfa8\xfb\xb0\xfb\xd3\xfb\x82\xfcs\xfd\xd5\xfe\x97\x00\xbd\x01\xcf\x02\xd2\x03\xc8\x04\x91\x05X\x06v\x06\xde\x05\xe3\x05e\x06\x0c\x06/\x05\xb2\x04\xae\x03\x81\x02\xa9\x01\xb4\x00\xd5\xff\xf6\xfe\xb6\xfd\x97\xfc\xfc\xfbO\xfb\x95\xfa\x85\xfa\xce\xfa\xe0\xfa\xdb\xfa\xf3\xfaP\xfb\xed\xfb\x85\xfc\xe2\xfc\x88\xfdl\xfe\xe2\xfen\xffV\x00\xd5\x00u\x00\x8d\x00\xfd\x00\x97\x00,\x00|\x00\xda\x00Q\x01\x0b\x02S\x02,\x02\xaa\x02\xe0\x02U\x02\x07\x02\xc2\x01\xf6\x00r\x00\xf9\x00\xc6\x00&\x00Z\x00\xe6\xff\xb1\xfd\xa0\xfb\xd8\xfab\xf9\xff\xf7\xab\xf8\x07\xfa\xc5\xfaF\xfc?\xfex\xff\xab\x00\x0e\x02\xac\x02\xd1\x02:\x02\xe7\x01i\x03o\x04G\x03]\x03\xc2\x05n\x06H\x06\xe3\x06\x82\x06s\x05\xaf\x05E\x05\x82\x039\x02E\x00g\xfe\xd6\xfdl\xfc \xfa(\xfa\xd4\xfb\t\xfc\x8e\xfc\xc9\xfd{\xfdC\xfdQ\xfe\xe8\xfe\xce\xfe*\xffo\xff\x05\x00]\x01\xaf\x018\x01\x84\x02?\x04A\x04%\x04U\x04\xa4\x03@\x03\\\x03!\x02\xf8\x00\xb9\x00\xc3\x00?\x00`\xff1\xfe\x9d\xfd\xaa\xfd\x19\xfdj\xfc\x12\xfc\xbb\xfbp\xfb\x8b\xfb\xb8\xfb\xb6\xfb\xdd\xfb+\xfc\xc7\xfcY\xfd\x9e\xfd=\xfe\'\xff\xf6\xff\xd0\x00\xad\x01\xdc\x01\x81\x01\xab\x014\x02\x15\x02\xdc\x01\x19\x024\x02>\x02\xff\x01_\x01\xca\x00\x8c\x00\xef\xff-\xff\xf6\xfe\xcb\xfe\xeb\xfe\xc2\xff+\x00\xd1\xff\x01\x00\xb3\x00\x8a\x00\xf4\xff\xd5\xff\xa2\xffl\xff\xec\xffh\x00\x18\x00\x0e\x00\x80\x00\x8d\x00\xc6\x00\x12\x01\xa5\x00\x1b\x00\x9d\x00\xb4\x00!\x00S\x00\x87\x00F\x00\x8e\x00\xc0\x00\xf1\xff{\xff\x99\xff\x10\xff\xb9\xfe\xf6\xfe\x82\xfe\x07\xfek\xfe\xe7\xfd6\xfd\xbe\xfd \xfe)\xfeW\xff\xbe\x00\x03\x01\xb6\x01\xa1\x02\xbb\x02\x10\x03\xba\x03w\x03(\x03r\x03A\x03\xb7\x02\xb2\x02X\x02\x87\x01x\x01A\x01\x82\x00=\x00&\x00\x9a\xffE\xffe\xff\xe3\xfe\x19\xfe\xba\xfd\x90\xfdn\xfdt\xfd\xaa\xfd\x9d\xfd\xbf\xfd\xfd\xfd\xfa\xfd\x1e\xfe5\xfeK\xfe\xb5\xfe\xe9\xfe\xd0\xfe\x1b\xff\xb0\xff\x83\xff\xa9\xffl\x00\xed\x00`\x01\t\x02\n\x02\xd7\x01+\x02\xe2\x01=\x015\x01\xdf\x00X\x00{\x00!\x00\xe3\xfe\xb2\xfe\x10\xff\x87\xfeI\xfe\x8b\xfe\x8d\xfe\xe0\xfe\xb6\xffB\xff\x90\xfe;\xffe\xff\x11\xff\x8c\xff\xcb\xff{\xffA\x00\xf6\x00f\x00\x96\x00F\x01\xcb\x00p\x00\xc0\x00q\x00!\x00\xcc\x00\xd1\x00I\x00\xe7\x00\xd9\x01}\x01g\x01\xfb\x01\xdc\x01<\x01\xcf\x00T\x00\xac\xffz\xffK\xff-\xffV\xffC\xffB\xff\xa4\xff\xaa\xff\x0c\xff\xf3\xfe=\xff\x0b\xff\xf7\xfe2\xffZ\xff\xa3\xff\x0c\x00.\x00\x98\x00\xf9\x00\xb2\x00\xf0\x00\x98\x01U\x01\x88\x00\xa7\x00\xc1\x00\x80\x00\xb9\x00k\x00\xc8\xffH\x00\xab\x00\xe1\xff\x87\xff\x8a\xff%\xff\xe8\xfen\xff0\xff\xbd\xfe]\xffy\xffS\xff\xa2\xff\xa7\xff|\xff\xed\xff\x0c\x00{\xff\xc1\xff\xfb\xff\xd0\xff<\x00\x8d\x003\x003\x00\x94\x00F\x001\x00\x93\x009\x00\x15\x00s\x00\xe0\xff\xa9\xff;\x00s\x00*\x00\xb5\x00\x0e\x01\xd4\x00\xd0\x00D\x007\xffC\xffY\xff\xce\xfe\\\xfe@\xfe{\xfe7\xffC\x00E\x00\x94\x00Y\x01h\x01\x04\x01\x94\x00\x88\xffI\xfe\x08\xfe\xef\xfd\x04\xfe\xa4\xfeh\xffC\x00k\x01]\x02^\x02\xba\x014\x01\x89\x00\xc5\xff[\xff\x13\xff\x8b\xfeP\xfe\xfd\xfe\xfe\xff\x8d\x00\xc2\x00\xc2\x00\xf1\x00\x9a\x01\xc3\x01\xb9\x00\xd2\xffk\xffY\xffu\xffY\xff\xe3\xfe\xfc\xfe\x16\x00\x11\x01#\x01\xc9\x00\x98\x00\xd3\x00\x07\x01s\x00^\xffC\xff\xe1\xff+\x00{\x00\n\x01$\x01\xac\x00\x87\x00\xbb\x00y\x00\xcb\xffU\xff\xca\xff\x87\x00T\x00h\xffZ\xff\xe5\xff\xc0\xffD\xff\xf0\xfe\xcd\xfeb\xff\x18\x00\x02\x00\x9b\xffr\xff\x16\x00\xc7\x00x\x00A\xff\xdb\xfe\x99\xffx\xff\x8e\xfe\'\xfe\xc3\xfe*\x00\x02\x01\xe6\x00\x8b\x00\x96\x00s\x00J\x00\x92\xff\xa6\xfe\xda\xfe\x87\xff\xd1\xffR\x00\x08\x01\xea\x00\xb5\x00\xb5\x00O\x00S\x00\x7f\x00;\xff\xc6\xfe\xd9\xff%\x00\x10\x00\xe6\x00\xd9\x00"\x00\x14\x00\xfd\xff\xb6\xff\xc7\xff\xf0\xfe\x8a\xfe\xb4\x00v\x02\xc4\x01\xfa\x00\x86\x00\xff\xff\x17\x00\xc6\xff8\xfe\x02\xfe\xad\xff\xbe\x00\xcf\x00\xbf\x00\x8d\x00A\x01@\x02\xe5\x00\x88\xfe\x9d\xfe\xe1\xff\xae\xff\xae\xfek\xfeI\xff\xc2\x00\x8e\x01\xa6\x00\x11\x00\xa0\x00\xb9\x00\x99\xff.\xfe\x90\xfd>\xfe[\xff\x07\x00\xe5\xff\xc6\xff\xe2\x00\xef\x01x\x015\x00\xcb\xff\x1c\x00R\x00\xef\xff\x07\xff\x02\xff\xf7\xff`\x00\x99\x00,\x015\x01\x10\x01\t\x01\xc7\x000\x00\x9e\xff\xdd\xfe\xb8\xfeS\xffy\xff\xaf\xff*\x00a\x00E\x007\x00L\x00\x91\x009\x005\xff\x93\xfe.\xff\xfa\xff-\x00\xd0\xffF\xff\xbf\xff\xd4\x00\xf1\x00\xee\xff\xdc\xfe\xc8\xfe\n\x00\xcc\x00\xfd\xff\x03\xff\xa3\xff\r\x01I\x01?\x00\x7f\xffT\xff\xa1\xffX\xff\xc7\xfe\xb6\xfe\x1b\xff\x14\x00T\x01\xdc\x01?\x01\x8b\x00\x90\x00L\x00X\xff\xb9\xfd\xf2\xfc\xc6\xfeE\x01\xdb\x01b\x01\xda\x01\x98\x02\xc3\x02,\x01>\xfeP\xfd\xd3\xfe\x87\xff\xd0\xfe\xb0\xfe\xcb\xff\xc4\x01\xa9\x02A\x01\xbf\xff\x93\x00\x82\x01\x7f\x00\xae\xfes\xfd=\xfe\\\x00\x84\x00\xf9\xfeM\xfft\x01\xb3\x02)\x02\x93\x00J\xffs\xff\xbb\xff\xcc\xfe\xf9\xfd4\xfe\xe8\xfe\xe8\xff\x81\x00\xe9\xff\xdd\xff\xb0\x00\xf1\x00\xa3\x00\x13\x00\x9b\xff\xa9\xff\xba\xffW\xff\x0b\xffI\xff\xf1\xff\x91\x00\xc9\x00f\x006\x00S\x00U\x00\xcc\xff\xad\xfe\x81\xfe?\xff\xa9\xff\xf6\xff\x8d\x00U\x01\xb2\x01M\x01d\x00\xc4\xff\xc5\xffv\xff\xa2\xfe\x98\xfe\x9a\xff\x12\x012\x02+\x02\xea\x00\xf6\xff\xc3\xff.\xffO\xfe\x1e\xfe\x07\xff\xe0\x00\x0c\x02}\x01X\x005\x009\x00\x90\xff\xba\xfey\xfeI\xff\x81\x00\xe7\x00N\x00\xcb\xff\xfc\xffJ\x00Z\x00\xbe\xff\x16\xff\x83\xffO\x00<\x00\x95\xff4\xff\xb4\xffa\x00W\x00\xd1\xff \x00\xcb\x00g\x00\x8b\xffL\xff\xc8\xff\x8b\x00\xa6\x00\xdc\xffd\xff\xf7\xff\xca\x00\xdf\x00\xdb\xff\xb0\xfe\t\xffx\x00\x10\x01\xf9\xff=\xff\xcd\xff\xde\x00\xfc\x00\x10\x00\x8f\xff\xdb\xff\x18\x00\xe8\xff\xc4\xff-\x00\xdb\x00\xd1\x00\xc3\xff\xf0\xfe\x1e\xff\x9e\xff\xdb\xff\x16\x00h\x00 \x01\xef\x01~\x01\x01\x00\xb8\xfe]\xfe\xb3\xfe\xd4\xfe~\xfe\x1e\xff\x07\x01>\x02\x90\x01.\x00\xd8\xff\'\x00\\\xff\xe7\xfd\xd5\xfd\xbd\xff\x82\x01z\x01!\x00U\xff{\x00\xfd\x01G\x01\xd5\xfee\xfd\xec\xfe\x84\x01\x8b\x01\x0b\xff\xaa\xfd\xa6\xff\x19\x02u\x01\xd4\xfeH\xfei\x00\xad\x01N\x009\xfe\x7f\xfe\r\x01\r\x02\xab\x00)\xff\x99\xffS\x01\xb6\x01\x89\xff+\xfd\xce\xfdA\x00<\x01\xd9\xff\xaf\xfe0\x00\xbc\x02\xdf\x026\x00e\xfe\x87\xff!\x01\x8b\x00h\xfez\xfd\xb8\xfe\xb9\x00m\x01\xa1\x00V\x00 \x01\xeb\x01\x91\x01\xf7\xffW\xfe\xcf\xfd>\xfe\xc3\xfe"\xff~\xffi\x00I\x01k\x01@\x01\xb6\x00\xf2\xffJ\xff\x1b\xff\x91\xff#\x00I\x00\xc7\xff\x88\xff\xb6\xff\xb7\xff\xe6\xff\xe6\xff\xae\xff\xf8\xff\xb3\x00\x1b\x01\x06\x01z\x00\xad\xff_\xffU\xff\xed\xfe\xb1\xfe\xde\xfe)\xff\xbb\xff\xd6\x00\x97\x01\x9b\x01O\x01\xd0\x00j\x00\xef\xff\x1d\xff_\xfe\x12\xfe\x93\xfe\xd8\xff\x7f\x01\xcf\x02\xa9\x02\x90\x01N\x00>\xff\xcd\xfe\xab\xfe\xc6\xfe7\xff\xd2\xff\x80\x00&\x01\x93\x01\x12\x01\xb3\xff\xaf\xfe\x85\xfe\x01\xff\xe8\xffe\x00k\x00\xb2\x00\xcc\x00\xfe\xff\xe9\xfeQ\xfe\xbb\xfe\x1d\x00=\x01\x92\x01\x7f\x01\x10\x01\x1b\x00\xdb\xfe\x12\xfe\xfd\xfd9\xfe\xb6\xfe\xa1\xffx\x01\xea\x02\x91\x02%\x01\xa8\xff\x14\xff\x01\xff\x95\xfeJ\xfe\xe7\xfed\x00\xfa\x01\xec\x01^\x00\x00\xff\xd1\xfe\xaf\xff\x00\x00\x8a\xff\xc4\xff\xcf\x00b\x01\xab\x00Y\xff\xc4\xfen\xff6\x00\x82\x00\xa5\x00\xed\x00\x00\x01\xa0\x00\xe2\xff*\xffm\xff4\x00\xbe\x00\xc2\x00\x98\x00W\x00\xb8\xff\xc5\xfe\xec\xfdB\xfe\x96\xffp\x00D\x00\t\x00~\x00o\x01\xb6\x01\xb5\x00\xa6\xffy\xff\x8f\xff\x16\xffl\xfe\x04\xfe\xcc\xfe\xac\x00\x19\x02>\x02`\x01u\x00\xc5\xff\x08\xff#\xfe\xb1\xfd\x8d\xfe\x9e\x00\x1c\x02\x19\x02\xfe\x00S\xff\xb5\xfeW\xff\xd5\xff\xce\xff\x0c\x00\xea\x00\xd5\x01\xa4\x01"\x00\xf6\xfe\xe8\xfe\x84\xff\xef\xff\xc8\xffW\xff7\xff\x94\xff\x01\x00-\x00A\x00\xb4\x00H\x01S\x01s\x00m\xff \xffz\xff\xab\xff\xc6\xffF\x00#\x01\x83\x01\xbc\x00r\xff\xd0\xfeP\xffO\x00\x86\x00<\x00-\x00\x16\x00\x89\xff\xb6\xfe\x9f\xfe\xc1\xffO\x01\xa2\x01{\x00\x17\xffz\xfe\xda\xfel\xff\xd3\xffk\x00n\x01 \x02l\x01\xb6\xffZ\xfe\x01\xfe\xbe\xfey\xff\xf3\xffe\x00\xf1\x00;\x01\xa4\x00\xcb\xff>\xff]\xff\xee\xff7\x00<\x00\x03\x00\xa6\xfft\xff\xb8\xffQ\x00\xf5\x00K\x01\xeb\x00\xfc\xff5\xff\xce\xfe\xed\xfe\x97\xff\xb3\x00\x15\x02\x86\x02p\x01f\xff\xd8\xfd\x99\xfd3\xfe-\xff{\x00\xca\x01\xa9\x02\x1e\x02?\x00X\xfe\x84\xfd\x12\xfe\x17\xff\xe0\xff\xa6\x00a\x01l\x01j\x00\x06\xff\xa2\xfe`\xffL\x00\x82\x00h\x00j\x00b\x00\xc8\xff\xe3\xfe\x8e\xfet\xff\x0c\x01\xb8\x01\xe0\x00\xc9\xffw\xff\x9e\xffG\xff\x90\xfe\x99\xfe\xba\xff7\x01\xbd\x01&\x01e\x00\x06\x00\xe5\xff\xa3\xffH\xff.\xff\x8d\xff\x17\x00\x97\x00\xcd\x00\xab\x00~\x00z\x00-\x00v\xff\x1a\xffC\xff\xd6\xffd\x00\x9b\x00\xa3\x00\x8c\x00\x86\x00_\x00\xe0\xff}\xff\x8f\xff\xe0\xff$\x00\xf0\xff\x92\xff\x86\xff\xc8\xff<\x00\x9b\x00\xee\x003\x01\x1b\x01V\x00>\xff\x99\xfeH\xfeg\xfe\xe4\xfe\xa8\xff\x89\x00\x1b\x01\'\x01\xc8\x00O\x00\x17\x00\x13\x00\xfa\xff\xe0\xff\xb3\xff_\xff\x12\xff\xb7\xfe\xb2\xfe\x07\xff\xbc\xff\xef\x00\xc6\x018\x02\xfb\x01H\x01|\x00j\xff\x87\xfe\x10\xfec\xfe%\xff\xf6\xff\x86\x00\xfd\x00D\x01O\x01\xbf\x00\xf3\xff8\xff\xec\xfe1\xff\x91\xff\xb3\xff\xf1\xff9\x00a\x00$\x00\xcf\xff\xd4\xff\xf7\xff?\x00\x84\x00\x9a\x00\xad\x00\x8d\x00(\x00\xed\xff\xde\xff\xdc\xff\xd1\xff\xe3\xff\x07\x00 \x007\x00\x15\x00\x1b\x00H\x00\x07\x00\x9a\xff:\xff\\\xff\x9f\xff\x88\xff\xb3\xff\xfc\xffF\x00O\x00\xb3\xffE\xffx\xff\xf1\xffY\x00-\x00\xe1\xff\x15\x00}\x00f\x00\xdb\xff\x84\xff\x98\xff\x14\x00\x87\x00o\x00P\x00\x85\x00\xa2\x00z\x00%\x00\xde\xff\xe2\xff\x1b\x00&\x00\x15\x00\xe9\xff\xc6\xff\xc1\xff\xc2\xff\xe9\xff+\x002\x001\x00\xf8\xff\xa9\xff\x88\xff|\xff\x8f\xff\xb3\xff\xea\xff\x18\x003\x00\x1a\x00\x18\x00\x08\x00\xf9\xff\xfb\xff(\x006\x00P\x00n\x00\x1d\x00\xa8\xff\x8d\xff\x8d\xff\xc1\xff\x06\x00\x1c\x00G\x00y\x00\\\x00\x1b\x00\xd0\xff\xbf\xff\xc6\xff\xbe\xff\xa1\xff\x86\xff\xd0\xff\x1a\x00@\x00[\x00P\x00[\x00T\x00$\x00\xcd\xff|\xffs\xff\xac\xff\xf0\xff\x0f\x00\x1a\x00;\x00y\x00~\x000\x00\xc7\xff\xc0\xff\xe0\xff\xfe\xff\r\x00\x1b\x00N\x00j\x00A\x00\xd5\xff\x93\xff\x93\xff\xbc\xff\xe2\xff\x08\x00#\x00D\x00=\x00-\x00\xf3\xff\xd2\xff\xe2\xff\x04\x00\x0e\x00\xec\xff\xdd\xff\x16\x00B\x00-\x00\x0c\x00\xcf\xff\xce\xff\xf9\xff\x17\x00!\x00\xfe\xff\xf4\xff\x11\x00\x18\x00\xee\xff\xbc\xff\xba\xff\xea\xff\xf2\xff\x0e\x00?\x00Y\x00;\x00\x1f\x00\x08\x00\xe9\xff\xd0\xff\xba\xff\xc1\xff\xcd\xff\xe5\xff\xe4\xff\xdb\xff\xda\xff\xfd\xff(\x00G\x00#\x00\xe6\xff\xb6\xff\xc9\xff\xcf\xff\xe7\xff%\x00M\x00g\x00D\x00\xff\xff\xd4\xff\xe3\xff\x11\x00\xe4\xff\xc8\xff\xd7\xff\xe1\xff\xfa\xff\x1d\x00&\x00Q\x00v\x00D\x00\xf4\xff\xc6\xff\xbc\xff\xd5\xff\x1c\x00(\x00=\x00e\x00H\x00\x16\x00\xdb\xff\xbb\xff\xaa\xff\xbe\xff\xc8\xff\xbf\xff\xfe\xffK\x00M\x008\x00\xf2\xff\xce\xff\xd1\xff\xb7\xff\xbe\xff\xf9\xff)\x00P\x00b\x005\x00\xeb\xff\xd1\xff\xcd\xff\xc7\xff\xc4\xff\xa8\xff\xec\xff0\x00)\x00(\x00\x13\x00\xe9\xff\xe7\xff\xc1\xff\xc9\xff\xf8\xff=\x00e\x00L\x00!\x00\n\x00\xfb\xff\x05\x00\t\x00\xe6\xff\xf6\xff+\x00I\x008\x00\xf9\xff\xe1\xff\xe5\xff\xbd\xff\xb7\xff\xc5\xff\n\x00^\x00x\x00U\x00\xfe\xff\xbb\xff\x96\xff\xc2\xff\xd8\xff\xef\xff\x18\x00S\x00i\x00N\x00\n\x00\xec\xff\xed\xff\xdc\xff\xd8\xff\xea\xff\x05\x00)\x00:\x00\x03\x00\xca\xff\xbe\xff\xcd\xff\xe2\xff\xee\xff\xf6\xff \x00<\x006\x00\xea\xff\xbd\xff\xc2\xff\xd0\xff\xff\xff\r\x00\xf3\xff\xd5\xff\xca\xff\xd1\xff\xd4\xff\xd3\xff\x06\x00"\x00&\x00\x1c\x00#\x00\x11\x00\x03\x00\xff\xff\x0c\x00\x18\x00?\x00W\x00D\x00+\x00!\x00\x14\x00\x0f\x00\r\x00\x00\x00\x12\x005\x00$\x00\xea\xff\xce\xff\xc3\xff\xc5\xff\xe8\xff\xf0\xff\x06\x00\x16\x00\x14\x00\x0e\x00\xd6\xff\xd4\xff\xdd\xff\xfd\xff(\x00\x1e\x00\x19\x00\xfa\xff\xd9\xff\xb9\xff\xa6\xff\xd6\xff\xee\xff\xe8\xff\x16\x00\x0f\x00\x06\x00\x0f\x00\xf0\xff\xdf\xff\xe7\xff\xea\xff\xfb\xff\r\x00\xfd\xff\x0f\x00+\x00,\x00*\x00)\x00\x10\x00\xf1\xff\xea\xff\xf5\xff\x05\x00\x12\x00\x14\x00\x00\x00\t\x00\xec\xff\xe5\xff\n\x00&\x003\x004\x005\x00\xfd\xff\xcf\xff\xd1\xff\xd9\xff\xee\xff\x05\x00#\x00:\x001\x00R\x00=\x00\xff\xff\xe7\xff\xd9\xff\xd7\xff\xf2\xff\x0b\x00\x0e\x00\x17\x00\'\x00\x18\x00\xed\xff\xc2\xff\xaf\xff\xd5\xff\xdf\xff\xe3\xff\xf0\xff\x14\x00\'\x00-\x00\r\x00\xe0\xff\xd4\xff\xcf\xff\xf2\xff\xe3\xff\xdd\xff\x05\x00\x12\x00\'\x00\x1a\x00\xef\xff\xda\xff\xd2\xff\xdc\xff\xf5\xff\x18\x00%\x00,\x00;\x00$\x00\x14\x00\xf9\xff\xfc\xff\xfd\xff\xf7\xff\x05\x00!\x00\x05\x00\x12\x00\xfd\xff\xdc\xff\xf1\xff\xeb\xff\xfb\xff\x12\x00\x1d\x00\x1a\x00\x07\x00\xf7\xff\xfa\xff\xf7\xff\xf9\xff\xea\xff\xf8\xff\xf9\xff\r\x00\xfe\xff\xe9\xff\x03\x00\xf5\xff\xff\xff\x07\x00\xfb\xff\x06\x00\xfa\xff\xf3\xff\x07\x00\x00\x00\x0b\x00\x1d\x00\x07\x00\x05\x00\x0c\x00\x04\x00\xfc\xff\xf5\xff\xdc\xff\xe4\xff\x19\x00\x18\x00\x07\x00\x03\x00\x19\x00\xf6\xff\xd7\xff\xed\xff\xeb\xff\xed\xff\xf9\xff\xf0\xff\xff\xff\t\x00\x01\x00\xe9\xff\xdd\xff\xf1\xff\xf8\xff\xf2\xff\xff\xff\x01\x00\x0b\x00\x17\x00\r\x00\xf6\xff\x0e\x00\x1f\x00\x1b\x00*\x00\x13\x00\x05\x00\x18\x00\r\x00\r\x00\x1e\x00$\x00\x19\x00\xfb\xff\x1a\x00%\x00\x17\x00\x1d\x00\xf5\xff\xe2\xff\xe7\xff\xe6\xff\xe6\xff\xe3\xff\xe8\xff\xec\xff\xfb\xff\x05\x00\x0c\x00\xfa\xff\xe6\xff\xc2\xff\xca\xff\xce\xff\xc2\xff\xd4\xff\xee\xff\x16\x00\x16\x00\x17\x00\x13\x00\x10\x00\x13\x00\n\x00\xff\xff\x13\x00\x10\x00\x10\x00\x15\x00\x03\x00\x04\x00\x10\x00\x1e\x00\x11\x00\x0b\x00\x0b\x00\xe8\xff\xec\xff\xff\xff\x0e\x00\x06\x00\x07\x00\x1e\x00\x12\x00"\x00)\x00&\x00\x02\x00\xd7\xff\xec\xff\xfc\xff\xea\xff\x04\x00\xfb\xff\xe9\xff\xec\xff\x01\x00\x0b\x00\x10\x00\n\x00\xfe\xff\xf1\xff\xf3\xff\xe5\xff\xf2\xff\x12\x00\x0e\x00\x17\x00\x17\x00\xfa\xff\xfc\xff\xf8\xff\xe4\xff\xe1\xff\xfc\xff\x12\x00\x07\x00\xf4\xff\x01\x00\x11\x00\xfe\xff\xfd\xff\x00\x00\x11\x00\x1d\x00\x14\x00\x00\x00\xed\xff\xf8\xff\xf1\xff\xfb\xff\xf8\xff\xe4\xff\xe0\xff\xd8\xff\xe9\xff\xea\xff\xe9\xff\xe8\xff\x04\x00\x1a\x00\x18\x00\x04\x00\xf6\xff\xec\xff\t\x00\x1a\x00\xef\xff\xde\xff\xf5\xff\x0b\x00\x0b\x00\xf2\xff\xf4\xff\x01\x00\x05\x00\x19\x00\x14\x00\xfa\xff\xfd\xff\x01\x00\x14\x00\x11\x00\xf4\xff\xf9\xff\x14\x001\x00\x0b\x00\x0e\x00\x0c\x00\x18\x00\x11\x00\xf9\xff\x04\x00\x02\x00\xff\xff\n\x00\xfc\xff\xf6\xff\x07\x00\xe2\xff\xe3\xff\t\x00\x01\x00\r\x00\x11\x00\x01\x00\x01\x00\xf7\xff\xf2\xff\xe2\xff\xd9\xff\xdc\xff\xf0\xff\x02\x00\xf1\xff\xe8\xff\xf2\xff\xfd\xff\xff\xff\x03\x00\x01\x00\xff\xff\x05\x00\x04\x00\t\x00\x0c\x00\x11\x00\x01\x00\xec\xff\xe8\xff\xd8\xff\xd8\xff\xe5\xff\xf9\xff\x17\x00\x0e\x00\x11\x00\t\x00\x03\x00\x0c\x00\x05\x00\n\x00\n\x00\x1e\x00\x1b\x00\x1e\x00(\x00 \x00\x1a\x00!\x00\x1d\x00\x07\x00\xfc\xff\x07\x00\n\x00\x0f\x00\x10\x00\x02\x00\x10\x00\x19\x00\xf1\xff\xfd\xff\r\x00\x02\x00\xe5\xff\xdc\xff\xe3\xff\xe6\xff\xee\xff\xf1\xff\xf5\xff\xed\xff\xe4\xff\xed\xff\xf8\xff\xf2\xff\xe5\xff\xe6\xff\xf4\xff\xfd\xff\x05\x00\xed\xff\xf4\xff\x04\x00\xfa\xff\xf5\xff\x03\x00\x06\x00\x0b\x00\x05\x00\xfe\xff\x03\x00\xe5\xff\xea\xff\x05\x00\x10\x00\x17\x00\x15\x00\x14\x00\x07\x00\x0c\x00\x10\x00\r\x00\x17\x00\x01\x00\xf0\xff\n\x00\x19\x00\xfd\xff\xec\xff\x01\x00\x11\x00\x16\x00\xe4\xff\xe4\xff\xf9\xff\x0f\x00\x14\x00\x0f\x00\n\x00\t\x00\t\x00\x07\x00\x01\x00\x03\x00\x04\x00\xfa\xff\xf9\xff\x03\x00\x04\x00\x01\x00\x0f\x00\xff\xff\xec\xff\xea\xff\xea\xff\xf9\xff\xf4\xff\t\x00\n\x00\xf4\xff\xee\xff\xf5\xff\x01\x00\t\x00\xfd\xff\x05\x00\x0b\x00\x02\x00\xf5\xff\t\x00\x01\x00\xe4\xff\xd2\xff\xd6\xff\xd7\xff\xe1\xff\xf9\xff\xed\xff\xf4\xff\x0c\x00\x15\x00\x16\x00\x0e\x00\x12\x00\x10\x00\x10\x00)\x00 \x00\x16\x00#\x00\x16\x00\t\x00\x0f\x00\n\x00\xfe\xff\r\x00\x19\x00\x18\x00$\x00\x14\x00\n\x00\xf9\xff\xed\xff\xf4\xff\x03\x00\x05\x00\x0e\x00\x04\x00\xee\xff\xf9\xff\xf6\xff\xe5\xff\xda\xff\xe0\xff\xee\xff\xf3\xff\xf5\xff\xf2\xff\x07\x00\x1b\x00\x04\x00\x00\x00\x02\x00\xe7\xff\xfe\xff\x04\x00\x10\x00\x07\x00\xfb\xff\xfd\xff\xfe\xff\x04\x00\x02\x00\xfd\xff\xff\xff\x12\x00\x07\x00\x00\x00\xf5\xff\xf4\xff\x03\x00\xf1\xff\xdd\xff\xf2\xff\xee\xff\xf3\xff\x0c\x00\x10\x00\n\x00\xfc\xff\x12\x00\x17\x00\x0c\x00\x08\x00\x04\x00\x08\x00\x05\x00\x02\x00\r\x00\x13\x00\x06\x00\x15\x00\x1b\x00\x15\x00\x02\x00\x0c\x00\x03\x00\xfd\xff\xf9\xff\xe6\xff\xf8\xff\xff\xff\xf3\xff\xfc\xff\xf5\xff\xf7\xff\x0c\x00\xee\xff\xec\xff\xf2\xff\xe9\xff\xf2\xff\xf9\xff\xf4\xff\xfa\xff\x04\x00\xea\xff\xe5\xff\x01\x00\x07\x00\xfe\xff\x01\x00\x00\x00\x08\x00\xfe\xff\x0f\x00\t\x00\x00\x00$\x00\x19\x00\n\x00\x02\x00\xf6\xff\x0c\x00\x1d\x00\x1a\x00\x0c\x00\x11\x00\x0b\x00\x02\x00\xee\xff\xd2\xff\xd1\xff\xd6\xff\xf7\xff\xf5\xff\x03\x00\n\x00\x02\x00\x04\x00\xfd\xff\xf7\xff\xe3\xff\x08\x00\x0f\x00\x07\x00\n\x00\x01\x00\x05\x00\x00\x00\x16\x00\x03\x00\xed\xff\x0c\x00\x0c\x00\x03\x00\x03\x00\x1c\x00%\x00\x0f\x00\x07\x00\x00\x00\xfd\xff\x08\x00\x03\x00\xf8\xff\xf1\xff\xde\xff\xd0\xff\xde\xff\xe9\xff\xf0\xff\x03\x00\xf2\xff\xec\xff\x01\x00\x02\x00\x08\x00\x11\x00%\x00"\x00\x1b\x00"\x00\x19\x00.\x00\x1a\x00\x01\x00\xf8\xff\xda\xff\xe4\xff\xeb\xff\xec\xff\r\x00\x0b\x00\x00\x00\xf1\xff\xfd\xff\x07\x00\xf2\xff\xeb\xff\x05\x00\x00\x00\xe3\xff\xdc\xff\xd1\xff\xf0\xff\x08\x00\x14\x00\xff\xff\xe0\xff\x01\x00\x0f\x00\x12\x00\x12\x00\x06\x00\x18\x00\x0c\x00\t\x00\n\x00\xf7\xff\xf5\xff\x05\x00\x07\x00\x1d\x00\x1c\x00\x17\x00\x08\x00\x05\x00\x14\x00\x08\x00\x0e\x00$\x00\r\x00\xfd\xff\x01\x00\xf2\xff\xe9\xff\xd6\xff\xea\xff\xfc\xff\xe5\xff\xf8\xff\x13\x00\xe7\xff\xe9\xff\xf8\xff\xf1\xff\xfc\xff\xed\xff\xee\xff\x05\x00\x01\x00\xea\xff\xee\xff\xef\xff\x17\x00+\x00\r\x00\x0c\x00\xff\xff\xfa\xff\xfb\xff\xfc\xff\x04\x00\x08\x00\x0f\x00\xfe\xff\xf6\xff\x1b\x00\x11\x00\xfc\xff\xf5\xff\n\x00\x04\x00\xf9\xff\x0c\x00\x07\x00\xf0\xff\xdc\xff\xec\xff\xf6\xff\xfe\xff\xf2\xff\xec\xff\xef\xff\xf2\xff\xf7\xff\x00\x00\x17\x00!\x00\x12\x00\x00\x00\x0f\x00\x03\x00\xfc\xff\x0e\x00\x08\x00\x05\x00\x16\x00\x0b\x00\xeb\xff\xe6\xff\xfc\xff\r\x00\x12\x00\x17\x00\x0e\x00\xfb\xff\x01\x00\xf2\xff\xe3\xff\xf1\xff\xff\xff\xf0\xff\xd5\xff\xf1\xff\xf1\xff\xfb\xff\x00\x00\xe8\xff\xe8\xff\xe9\xff\xf8\xff\x03\x00\xee\xff\xf8\xff\x12\x00\x0b\x00\xff\xff\xf8\xff\x07\x00\x06\x00!\x00%\x00\r\x00\x01\x00\x1c\x00!\x00\xfb\xff\xff\xff\xf9\xff\xee\xff\xea\xff\xf4\xff\x10\x00\x05\x00\x06\x00\xfc\xff\xe6\xff\xe6\xff\xef\xff\x0e\x00\x18\x00\x11\x00\x12\x00\x0b\x00\x07\x00\x06\x00\xfe\xff\x16\x00\x1b\x00\x17\x00\x11\x00\xff\xff\xe3\xff\xdb\xff\xe9\xff\xdb\xff\xf0\xff\xf4\xff\xf7\xff\x02\x00\x07\x00\x15\x00\x02\x00\xfa\xff\x01\x00\x1b\x00\x14\x00\xf9\xff\x02\x00\xfd\xff\xf8\xff\xff\xff\x00\x00\xe4\xff\xeb\xff\xed\xff\xfd\xff\xfe\xff\xfc\xff\xf3\xff\x0b\x00\n\x00\xf6\xff\xf8\xff\x00\x00\x05\x00\x10\x00\x0e\x00\x05\x00\x14\x00\x01\x00\xf9\xff\r\x00\xfc\xff\x04\x00\x1b\x00\x03\x00\xf9\xff\xeb\xff\xf3\xff\x08\x00\x0b\x00\x07\x00\xfe\xff\x03\x00\x18\x00$\x00\x18\x00\x18\x004\x00.\x00#\x00*\x00\x1d\x00\x07\x00\x00\x00\xf1\xff\xf8\xff\xf3\xff\xed\xff\xee\xff\xfe\xff\xfe\xff\xf3\xff\xfa\xff\xf7\xff\x00\x00\xf0\xff\xda\xff\xf4\xff\xfa\xff\x02\x00\x01\x00\xef\xff\xf8\xff\xf3\xff\xf9\xff\xf4\xff\xeb\xff\xfc\xff\xe1\xff\xec\xff\xfc\xff\x0c\x00"\x00\x02\x00\xf0\xff\x01\x00\xf3\xff\xf0\xff\xf5\xff\xe0\xff\xf8\xff\xfe\xff\x0c\x00\x16\x00)\x00\x1c\x00\x00\x00\x0b\x00\t\x00\x18\x00\n\x00\x10\x00\x14\x00\x08\x00\x10\x00\x05\x00\x01\x00\n\x00\xf8\xff\xf7\xff\xf3\xff\xeb\xff\xea\xff\xd7\xff\xde\xff\xf4\xff\x05\x00\x03\x00\xfc\xff\x00\x00\x0f\x00\x07\x00\x0c\x00\x0f\x00\x10\x00!\x00$\x00\x11\x00\x15\x00\x03\x00\xf7\xff\xf8\xff\xf4\xff\xf8\xff\x01\x00\xf9\xff\xfb\xff\xf0\xff\xe4\xff\xec\xff\xdb\xff\xc7\xff\xd6\xff\xe2\xff\xf8\xff\t\x00\xfb\xff\xfc\xff\x07\x00\x0c\x00\n\x00\xfb\xff\x01\x00\x16\x00\x0e\x00\x16\x00\xfd\xff\x14\x00\x11\x00\x02\x00\x1f\x00\x17\x00\x14\x00\x16\x00\x04\x00\x15\x00\x1d\x00\xfe\xff\xf6\xff\xef\xff\xea\xff\xef\xff\xf0\xff\xfb\xff\x12\x00\x16\x00\xf8\xff\xeb\xff\xf9\xff\xef\xff\xf9\xff\t\x00\xf5\xff\xf3\xff\xf6\xff\x05\x00\x06\x00\x11\x00\x11\x00\x00\x00\x03\x00\xfd\xff\xed\xff\xfc\xff\x07\x00\xfa\xff\xfe\xff\xfd\xff\xfe\xff\xf7\xff\xf5\xff\x02\x00\xf2\xff\xf1\xff\xe6\xff\xd9\xff\xe6\xff\xeb\xff\xe9\xff\xf4\xff\xe3\xff\xe4\xff\xfb\xff\xfa\xff\xfc\xff\x12\x00\x07\x00\x10\x00\x18\x00\x15\x00\x1d\x00(\x00&\x00\x1a\x00\x1e\x00\x1a\x00\x13\x00\x16\x00\x11\x00\r\x00\x00\x00\xf9\xff\xfe\xff\x14\x00\x07\x00\x04\x00\xfb\xff\xea\xff\x00\x00\x03\x00\xf9\xff\x01\x00\xee\xff\x10\x00\x1a\x00\xf0\xff\xf1\xff\xec\xff\xe1\xff\xf9\xff\xfe\xff\xed\xff\xe6\xff\xf1\xff\t\x00\x07\x00\x02\x00\x0b\x00\x04\x00\x05\x00\t\x00\xeb\xff\xdf\xff\xf2\xff,\x00-\x00"\x00\x1c\x00\x02\x00\x04\x00\xfa\xff\x05\x00\x0c\x00\xf4\xff\xfd\xff\xf6\xff\xf2\xff\xfa\xff\xdd\xff\xe4\xff\xeb\xff\xf6\xff\x05\x00\x04\x00\x0c\x00\x00\x00\xf5\xff\t\x00\xfd\xff\xef\xff\x02\x00\r\x00\x06\x00\x14\x00\x12\x00\xff\xff\xf8\xff\xeb\xff\xef\xff\xf7\xff\xfe\xff\x0e\x00\xfb\xff\xf4\xff\xec\xff\xe8\xff\xf5\xff\xff\xff\x06\x00\xf9\xff\x00\x00\x1d\x00\x19\x00\x0e\x00\x04\x00\x03\x00\xf6\xff\xf0\xff\xe6\xff\xf0\xff\x18\x00%\x00\x19\x00\x13\x00\x01\x00\x10\x00\x0f\x00\xff\xff\x04\x00\xfc\xff\x01\x00\x06\x00\xf1\xff\xf7\xff\xfa\xff\xfc\xff\t\x00\x05\x00\x00\x00\xf9\xff\xff\xff\xf6\xff\x00\x00\x0f\x00\xe3\xff\xf2\xff\x05\x00\xf4\xff\xfa\xff\xfd\xff\xf8\xff\xf5\xff\xfc\xff\xfe\xff\xf9\xff\xf8\xff\x05\x00\x08\x00\xff\xff\xff\xff\xfc\xff\x0c\x00\x02\x00\xf8\xff\x07\x00\x06\x00\x06\x00\xfb\xff\xf7\xff\x0b\x00\x0e\x00\xfd\xff\xf0\xff\xe2\xff\xe9\xff\xed\xff\xf1\xff\r\x00\x17\x00\x06\x00\xf3\xff\xf6\xff\xff\xff\xf7\xff\xfd\xff\xfd\xff\x05\x00\x07\x00\xee\xff\xf1\xff\x0c\x00\x15\x00\x07\x00\xfd\xff\x01\x00\t\x00\x13\x00\x11\x00\x12\x00\x08\x00\x0f\x00\x0b\x00\xfb\xff\xf1\xff\xf7\xff\x10\x00\xff\xff\xf6\xff\x04\x00\xea\xff\xe8\xff\t\x00\x0b\x00\xf3\xff\xf3\xff\x02\x00\x04\x00\x07\x00\xfe\xff\n\x00\x02\x00\x05\x00\x01\x00\x08\x00\xfe\xff\xf1\xff\x04\x00\xfb\xff\x06\x00\xf9\xff\xe9\xff\xf2\xff\xfc\xff\x18\x00\x13\x00\xfc\xff\x10\x00\x10\x00\x15\x00\x16\x00\x01\x00\xed\xff\xf6\xff\x03\x00\x04\x00\x12\x00\x0b\x00\xfe\xff\x05\x00\x03\x00\x01\x00\xf9\xff\xf6\xff\xff\xff\x0c\x00\x14\x00\x0f\x00\t\x00\xfd\xff\xf8\xff\x08\x00\xf9\xff\xdb\xff\xf6\xff\xf5\xff\xec\xff\x05\x00\xf6\xff\xf3\xff\xfd\xff\xf9\xff\x07\x00\x14\x00\n\x00\x0f\x00\xee\xff\xe8\xff\xfb\xff\xf9\xff\x02\x00\x06\x00\x02\x00\x02\x00\x03\x00\r\x00\x05\x00\x04\x00\x0c\x00\x15\x00\x0c\x00\x0b\x00\x0e\x00\xfa\xff\xff\xff\x03\x00\xfa\xff\xf8\xff\xfa\xff\xf3\xff\xee\xff\xf3\xff\x03\x00\x03\x00\x08\x00\x11\x00\x0e\x00#\x00$\x00\x17\x00\x0f\x00\x12\x00\x03\x00\xfb\xff\x06\x00\x08\x00\xfd\xff\xed\xff\xf7\xff\x0e\x00\x02\x00\x0c\x00\x03\x00\x03\x00\xff\xff\x00\x00\x11\x00\x0b\x00\x03\x00\t\x00\xf6\xff\xf4\xff\xeb\xff\xe6\xff\xe0\xff\xe9\xff\xd9\xff\xce\xff\xe8\xff\xef\xff\xf3\xff\x00\x00\xfc\xff\xed\xff\xec\xff\xf4\xff\xff\xff\x03\x00\xfa\xff\t\x00\x0c\x00\x0b\x00'
n = int(8000 * 2 * frame_ms / 1000.0)
frame_len = int(n / 2)
self.assertTrue(
webrtcvadctypes.valid_rate_and_frame_length(8000, frame_len))
chunks = list(data[pos:pos + n] for pos in range(0, len(data), n))
if len(chunks[-1]) != n:
chunks = chunks[:-1]
expecteds = [
'011110111111111111111111111100',
'011110111111111111111111111100',
'000000111111111111111111110000',
'000000111111111111111100000000'
]
for mode in (0, 1, 2, 3):
vad = webrtcvadctypes.Vad(mode)
result = ''
for chunk in chunks:
voiced = vad.is_speech(chunk, 8000)
result += '1' if voiced else '0'
self.assertEqual(expecteds[mode], result)
#def test_leak(self):
# sound, fs = self._load_wave('leak-test.wav')
# frame_ms = 0.010
# frame_len = int(round(fs * frame_ms))
# n = int(len(sound) / (2 * frame_len))
# nrepeats = 1000
# vad = webrtcvad.Vad(3)
# used_memory_before = memory_usage(-1)[0]
# for counter in range(nrepeats):
# find_voice = False
# for frame_ind in range(n):
# slice_start = (frame_ind * 2 * frame_len)
# slice_end = ((frame_ind + 1) * 2 * frame_len)
# if vad.is_speech(sound[slice_start:slice_end], fs):
# find_voice = True
# self.assertTrue(find_voice)
# used_memory_after = memory_usage(-1)[0]
# self.assertGreaterEqual(
# used_memory_before / 5.0,
# used_memory_after - used_memory_before)
if __name__ == '__main__':
unittest.main(verbosity=2)