Don't generate spurious line number in try-except-finally. (#23760)

This commit is contained in:
Mark Shannon 2020-12-14 10:19:10 +00:00 committed by GitHub
parent 674fa0a740
commit 56aa20f9eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1752 additions and 1733 deletions

View File

@ -629,6 +629,23 @@ class TraceTestCase(unittest.TestCase):
(3, 'line'),
(3, 'return')])
def test_try_except_no_exception(self):
def func():
try:
2
except:
4
finally:
6
self.run_and_compare(func,
[(0, 'call'),
(1, 'line'),
(2, 'line'),
(6, 'line'),
(6, 'return')])
class SkipLineEventsTraceTestCase(TraceTestCase):
"""Repeat the trace tests, but with per-line events skipped"""

View File

@ -3007,6 +3007,8 @@ compiler_try_finally(struct compiler *c, stmt_ty s)
else {
VISIT_SEQ(c, stmt, s->v.Try.body);
}
/* Mark code as artificial */
c->u->u_lineno = -1;
ADDOP(c, POP_BLOCK);
compiler_pop_fblock(c, FINALLY_TRY, body);
VISIT_SEQ(c, stmt, s->v.Try.finalbody);

2980
Python/importlib.h generated

File diff suppressed because it is too large Load Diff

View File

@ -773,247 +773,247 @@ const unsigned char _Py_M__zipimport[] = {
99,101,112,116,105,111,110,114,142,0,0,0,114,9,0,0,
0,114,9,0,0,0,114,10,0,0,0,218,20,95,103,101,
116,95,100,101,99,111,109,112,114,101,115,115,95,102,117,110,
99,31,2,0,0,115,26,0,0,0,4,2,10,3,8,1,
4,2,4,1,16,1,12,1,10,1,12,1,12,2,10,2,
4,1,255,128,114,146,0,0,0,99,2,0,0,0,0,0,
0,0,0,0,0,0,17,0,0,0,9,0,0,0,67,0,
0,0,115,132,1,0,0,124,1,92,8,125,2,125,3,125,
4,125,5,125,6,125,7,125,8,125,9,124,4,100,1,107,
0,114,36,116,0,100,2,131,1,130,1,116,1,160,2,124,
0,161,1,144,1,143,6,125,10,122,14,124,10,160,3,124,
6,161,1,1,0,87,0,110,32,4,0,116,4,121,96,1,
0,1,0,1,0,116,0,100,3,124,0,155,2,157,2,124,
0,100,4,141,2,130,1,48,0,124,10,160,5,100,5,161,
1,125,11,116,6,124,11,131,1,100,5,107,3,114,128,116,
7,100,6,131,1,130,1,124,11,100,0,100,7,133,2,25,
0,100,8,107,3,114,162,116,0,100,9,124,0,155,2,157,
2,124,0,100,4,141,2,130,1,116,8,124,11,100,10,100,
11,133,2,25,0,131,1,125,12,116,8,124,11,100,11,100,
5,133,2,25,0,131,1,125,13,100,5,124,12,23,0,124,
13,23,0,125,14,124,6,124,14,55,0,125,6,122,14,124,
10,160,3,124,6,161,1,1,0,87,0,110,34,4,0,116,
4,144,1,121,6,1,0,1,0,1,0,116,0,100,3,124,
0,155,2,157,2,124,0,100,4,141,2,130,1,48,0,124,
10,160,5,124,4,161,1,125,15,116,6,124,15,131,1,124,
4,107,3,144,1,114,40,116,4,100,12,131,1,130,1,87,
0,100,0,4,0,4,0,131,3,1,0,110,18,49,0,144,
1,115,62,48,0,1,0,1,0,1,0,89,0,1,0,124,
3,100,1,107,2,144,1,114,86,124,15,83,0,122,10,116,
9,131,0,125,16,87,0,110,24,4,0,116,10,144,1,121,
120,1,0,1,0,1,0,116,0,100,13,131,1,130,1,48,
0,124,16,124,15,100,14,131,2,83,0,41,15,78,114,0,
0,0,0,122,18,110,101,103,97,116,105,118,101,32,100,97,
116,97,32,115,105,122,101,114,94,0,0,0,114,12,0,0,
0,114,106,0,0,0,114,100,0,0,0,114,95,0,0,0,
115,4,0,0,0,80,75,3,4,122,23,98,97,100,32,108,
111,99,97,108,32,102,105,108,101,32,104,101,97,100,101,114,
58,32,233,26,0,0,0,114,105,0,0,0,122,26,122,105,
112,105,109,112,111,114,116,58,32,99,97,110,39,116,32,114,
101,97,100,32,100,97,116,97,114,141,0,0,0,105,241,255,
255,255,41,11,114,3,0,0,0,114,112,0,0,0,114,113,
0,0,0,114,114,0,0,0,114,22,0,0,0,114,116,0,
0,0,114,55,0,0,0,114,121,0,0,0,114,1,0,0,
0,114,146,0,0,0,114,145,0,0,0,41,17,114,29,0,
0,0,114,58,0,0,0,90,8,100,97,116,97,112,97,116,
104,114,132,0,0,0,114,136,0,0,0,114,127,0,0,0,
114,139,0,0,0,114,133,0,0,0,114,134,0,0,0,114,
135,0,0,0,114,125,0,0,0,114,126,0,0,0,114,137,
0,0,0,114,138,0,0,0,114,129,0,0,0,90,8,114,
97,119,95,100,97,116,97,114,143,0,0,0,114,9,0,0,
0,114,9,0,0,0,114,10,0,0,0,114,56,0,0,0,
52,2,0,0,115,64,0,0,0,20,1,8,1,8,1,14,
2,2,2,14,1,12,1,20,1,10,1,12,1,8,1,16,
2,18,2,16,2,16,1,12,1,8,1,2,1,14,1,14,
1,20,1,10,1,14,1,40,1,10,2,4,2,2,3,10,
1,14,1,10,1,10,1,255,128,114,56,0,0,0,99,2,
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,
0,0,0,67,0,0,0,115,16,0,0,0,116,0,124,0,
124,1,24,0,131,1,100,1,107,1,83,0,41,2,78,114,
5,0,0,0,41,1,218,3,97,98,115,41,2,90,2,116,
49,90,2,116,50,114,9,0,0,0,114,9,0,0,0,114,
10,0,0,0,218,9,95,101,113,95,109,116,105,109,101,98,
2,0,0,115,4,0,0,0,16,2,255,128,114,149,0,0,
0,99,5,0,0,0,0,0,0,0,0,0,0,0,14,0,
0,0,8,0,0,0,67,0,0,0,115,60,1,0,0,124,
3,124,2,100,1,156,2,125,5,122,18,116,0,160,1,124,
4,124,3,124,5,161,3,125,6,87,0,110,20,4,0,116,
2,121,48,1,0,1,0,1,0,89,0,100,0,83,0,48,
0,124,6,100,2,64,0,100,3,107,3,125,7,124,7,114,
182,124,6,100,4,64,0,100,3,107,3,125,8,116,3,106,
4,100,5,107,3,144,1,114,10,124,8,115,106,116,3,106,
4,100,6,107,2,144,1,114,10,116,5,124,0,124,2,131,
2,125,9,124,9,100,0,117,1,144,1,114,10,116,3,160,
6,116,0,106,7,124,9,161,2,125,10,122,20,116,0,160,
8,124,4,124,10,124,3,124,5,161,4,1,0,87,0,110,
104,4,0,116,2,121,180,1,0,1,0,1,0,89,0,100,
0,83,0,48,0,116,9,124,0,124,2,131,2,92,2,125,
11,125,12,124,11,144,1,114,10,116,10,116,11,124,4,100,
7,100,8,133,2,25,0,131,1,124,11,131,2,114,246,116,
11,124,4,100,8,100,9,133,2,25,0,131,1,124,12,107,
3,144,1,114,10,116,12,160,13,100,10,124,3,155,2,157,
2,161,1,1,0,100,0,83,0,116,14,160,15,124,4,100,
9,100,0,133,2,25,0,161,1,125,13,116,16,124,13,116,
17,131,2,144,1,115,56,116,18,100,11,124,1,155,2,100,
12,157,3,131,1,130,1,124,13,83,0,41,13,78,41,2,
114,44,0,0,0,114,13,0,0,0,114,5,0,0,0,114,
0,0,0,0,114,88,0,0,0,90,5,110,101,118,101,114,
90,6,97,108,119,97,121,115,114,101,0,0,0,114,96,0,
0,0,114,97,0,0,0,122,22,98,121,116,101,99,111,100,
101,32,105,115,32,115,116,97,108,101,32,102,111,114,32,122,
16,99,111,109,112,105,108,101,100,32,109,111,100,117,108,101,
32,122,21,32,105,115,32,110,111,116,32,97,32,99,111,100,
101,32,111,98,106,101,99,116,41,19,114,21,0,0,0,90,
13,95,99,108,97,115,115,105,102,121,95,112,121,99,114,79,
0,0,0,218,4,95,105,109,112,90,21,99,104,101,99,107,
95,104,97,115,104,95,98,97,115,101,100,95,112,121,99,115,
218,15,95,103,101,116,95,112,121,99,95,115,111,117,114,99,
101,218,11,115,111,117,114,99,101,95,104,97,115,104,90,17,
95,82,65,87,95,77,65,71,73,67,95,78,85,77,66,69,
82,90,18,95,118,97,108,105,100,97,116,101,95,104,97,115,
104,95,112,121,99,218,29,95,103,101,116,95,109,116,105,109,
101,95,97,110,100,95,115,105,122,101,95,111,102,95,115,111,
117,114,99,101,114,149,0,0,0,114,2,0,0,0,114,45,
0,0,0,114,80,0,0,0,218,7,109,97,114,115,104,97,
108,90,5,108,111,97,100,115,114,15,0,0,0,218,10,95,
99,111,100,101,95,116,121,112,101,218,9,84,121,112,101,69,
114,114,111,114,41,14,114,32,0,0,0,114,57,0,0,0,
114,66,0,0,0,114,38,0,0,0,114,128,0,0,0,90,
11,101,120,99,95,100,101,116,97,105,108,115,114,131,0,0,
0,90,10,104,97,115,104,95,98,97,115,101,100,90,12,99,
104,101,99,107,95,115,111,117,114,99,101,90,12,115,111,117,
114,99,101,95,98,121,116,101,115,114,152,0,0,0,90,12,
115,111,117,114,99,101,95,109,116,105,109,101,90,11,115,111,
117,114,99,101,95,115,105,122,101,114,50,0,0,0,114,9,
0,0,0,114,9,0,0,0,114,10,0,0,0,218,15,95,
117,110,109,97,114,115,104,97,108,95,99,111,100,101,108,2,
0,0,115,84,0,0,0,2,2,2,1,6,254,2,5,18,
1,12,1,8,1,12,2,4,1,12,1,12,1,2,1,2,
255,8,1,4,255,10,2,10,1,4,1,4,1,2,1,4,
254,2,5,4,1,8,1,8,255,12,2,8,1,8,3,6,
255,6,3,22,3,18,1,4,255,4,2,8,1,4,255,4,
2,18,2,12,1,16,1,4,1,255,128,114,157,0,0,0,
99,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,
0,4,0,0,0,67,0,0,0,115,28,0,0,0,124,0,
160,0,100,1,100,2,161,2,125,0,124,0,160,0,100,3,
100,2,161,2,125,0,124,0,83,0,41,4,78,115,2,0,
0,0,13,10,243,1,0,0,0,10,243,1,0,0,0,13,
41,1,114,19,0,0,0,41,1,218,6,115,111,117,114,99,
101,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
218,23,95,110,111,114,109,97,108,105,122,101,95,108,105,110,
101,95,101,110,100,105,110,103,115,159,2,0,0,115,8,0,
0,0,12,1,12,1,4,1,255,128,114,161,0,0,0,99,
2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,
6,0,0,0,67,0,0,0,115,24,0,0,0,116,0,124,
1,131,1,125,1,116,1,124,1,124,0,100,1,100,2,100,
3,141,4,83,0,41,4,78,114,78,0,0,0,84,41,1,
90,12,100,111,110,116,95,105,110,104,101,114,105,116,41,2,
114,161,0,0,0,218,7,99,111,109,112,105,108,101,41,2,
114,57,0,0,0,114,160,0,0,0,114,9,0,0,0,114,
9,0,0,0,114,10,0,0,0,218,15,95,99,111,109,112,
105,108,101,95,115,111,117,114,99,101,166,2,0,0,115,6,
0,0,0,8,1,16,1,255,128,114,163,0,0,0,99,2,
0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,11,
0,0,0,67,0,0,0,115,68,0,0,0,116,0,160,1,
124,0,100,1,63,0,100,2,23,0,124,0,100,3,63,0,
100,4,64,0,124,0,100,5,64,0,124,1,100,6,63,0,
124,1,100,3,63,0,100,7,64,0,124,1,100,5,64,0,
100,8,20,0,100,9,100,9,100,9,102,9,161,1,83,0,
41,10,78,233,9,0,0,0,105,188,7,0,0,233,5,0,
0,0,233,15,0,0,0,233,31,0,0,0,233,11,0,0,
0,233,63,0,0,0,114,88,0,0,0,114,14,0,0,0,
41,2,114,133,0,0,0,90,6,109,107,116,105,109,101,41,
2,218,1,100,114,140,0,0,0,114,9,0,0,0,114,9,
0,0,0,114,10,0,0,0,218,14,95,112,97,114,115,101,
95,100,111,115,116,105,109,101,172,2,0,0,115,20,0,0,
0,4,1,10,1,10,1,6,1,6,1,10,1,10,1,6,
1,6,249,255,128,114,171,0,0,0,99,2,0,0,0,0,
0,0,0,0,0,0,0,6,0,0,0,10,0,0,0,67,
0,0,0,115,110,0,0,0,122,82,124,1,100,1,100,0,
133,2,25,0,100,2,118,0,115,22,74,0,130,1,124,1,
100,0,100,1,133,2,25,0,125,1,124,0,106,0,124,1,
25,0,125,2,124,2,100,3,25,0,125,3,124,2,100,4,
25,0,125,4,124,2,100,5,25,0,125,5,116,1,124,4,
124,3,131,2,124,5,102,2,87,0,83,0,4,0,116,2,
116,3,116,4,102,3,121,108,1,0,1,0,1,0,89,0,
100,6,83,0,48,0,41,7,78,114,14,0,0,0,169,2,
218,1,99,218,1,111,114,165,0,0,0,233,6,0,0,0,
233,3,0,0,0,41,2,114,0,0,0,0,114,0,0,0,
0,41,5,114,28,0,0,0,114,171,0,0,0,114,26,0,
0,0,218,10,73,110,100,101,120,69,114,114,111,114,114,156,
0,0,0,41,6,114,32,0,0,0,114,13,0,0,0,114,
58,0,0,0,114,133,0,0,0,114,134,0,0,0,90,17,
117,110,99,111,109,112,114,101,115,115,101,100,95,115,105,122,
101,114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,
114,153,0,0,0,185,2,0,0,115,22,0,0,0,2,1,
20,2,12,1,10,1,8,3,8,1,8,1,16,1,18,1,
8,1,255,128,114,153,0,0,0,99,2,0,0,0,0,0,
0,0,0,0,0,0,3,0,0,0,8,0,0,0,67,0,
0,0,115,80,0,0,0,124,1,100,1,100,0,133,2,25,
0,100,2,118,0,115,20,74,0,130,1,124,1,100,0,100,
1,133,2,25,0,125,1,122,14,124,0,106,0,124,1,25,
0,125,2,87,0,110,20,4,0,116,1,121,66,1,0,1,
0,1,0,89,0,100,0,83,0,48,0,116,2,124,0,106,
3,124,2,131,2,83,0,41,3,78,114,14,0,0,0,114,
172,0,0,0,41,4,114,28,0,0,0,114,26,0,0,0,
114,56,0,0,0,114,29,0,0,0,41,3,114,32,0,0,
0,114,13,0,0,0,114,58,0,0,0,114,9,0,0,0,
114,9,0,0,0,114,10,0,0,0,114,151,0,0,0,204,
2,0,0,115,16,0,0,0,20,2,12,1,2,2,14,1,
12,1,8,1,12,2,255,128,114,151,0,0,0,99,2,0,
0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,
0,0,67,0,0,0,115,190,0,0,0,116,0,124,0,124,
1,131,2,125,2,116,1,68,0,93,156,92,3,125,3,125,
4,125,5,124,2,124,3,23,0,125,6,116,2,106,3,100,
1,124,0,106,4,116,5,124,6,100,2,100,3,141,5,1,
0,122,14,124,0,106,6,124,6,25,0,125,7,87,0,110,
18,4,0,116,7,121,86,1,0,1,0,1,0,89,0,113,
14,48,0,124,7,100,4,25,0,125,8,116,8,124,0,106,
4,124,7,131,2,125,9,124,4,114,130,116,9,124,0,124,
8,124,6,124,1,124,9,131,5,125,10,110,10,116,10,124,
8,124,9,131,2,125,10,124,10,100,0,117,0,114,150,113,
14,124,7,100,4,25,0,125,8,124,10,124,5,124,8,102,
3,2,0,1,0,83,0,116,11,100,5,124,1,155,2,157,
2,124,1,100,6,141,2,130,1,41,7,78,122,13,116,114,
121,105,110,103,32,123,125,123,125,123,125,114,88,0,0,0,
41,1,90,9,118,101,114,98,111,115,105,116,121,114,0,0,
0,0,114,61,0,0,0,114,62,0,0,0,41,12,114,36,
0,0,0,114,91,0,0,0,114,45,0,0,0,114,80,0,
0,0,114,29,0,0,0,114,20,0,0,0,114,28,0,0,
0,114,26,0,0,0,114,56,0,0,0,114,157,0,0,0,
114,163,0,0,0,114,3,0,0,0,41,11,114,32,0,0,
0,114,38,0,0,0,114,13,0,0,0,114,92,0,0,0,
114,93,0,0,0,114,51,0,0,0,114,66,0,0,0,114,
58,0,0,0,114,40,0,0,0,114,128,0,0,0,114,50,
0,0,0,114,9,0,0,0,114,9,0,0,0,114,10,0,
0,0,114,48,0,0,0,219,2,0,0,115,38,0,0,0,
10,1,14,1,8,1,22,1,2,1,14,1,12,1,6,1,
8,2,12,1,4,1,18,1,10,2,8,1,2,3,8,1,
14,1,18,2,255,128,114,48,0,0,0,41,46,114,86,0,
0,0,90,26,95,102,114,111,122,101,110,95,105,109,112,111,
114,116,108,105,98,95,101,120,116,101,114,110,97,108,114,21,
0,0,0,114,1,0,0,0,114,2,0,0,0,90,17,95,
102,114,111,122,101,110,95,105,109,112,111,114,116,108,105,98,
114,45,0,0,0,114,150,0,0,0,114,112,0,0,0,114,
154,0,0,0,114,71,0,0,0,114,133,0,0,0,114,69,
0,0,0,90,7,95,95,97,108,108,95,95,114,20,0,0,
0,90,15,112,97,116,104,95,115,101,112,97,114,97,116,111,
114,115,114,18,0,0,0,114,79,0,0,0,114,3,0,0,
0,114,25,0,0,0,218,4,116,121,112,101,114,74,0,0,
0,114,115,0,0,0,114,117,0,0,0,114,119,0,0,0,
90,13,95,76,111,97,100,101,114,66,97,115,105,99,115,114,
4,0,0,0,114,91,0,0,0,114,36,0,0,0,114,37,
0,0,0,114,35,0,0,0,114,27,0,0,0,114,124,0,
0,0,114,144,0,0,0,114,146,0,0,0,114,56,0,0,
0,114,149,0,0,0,114,157,0,0,0,218,8,95,95,99,
111,100,101,95,95,114,155,0,0,0,114,161,0,0,0,114,
163,0,0,0,114,171,0,0,0,114,153,0,0,0,114,151,
0,0,0,114,48,0,0,0,114,9,0,0,0,114,9,0,
0,0,114,9,0,0,0,114,10,0,0,0,218,8,60,109,
111,100,117,108,101,62,1,0,0,0,115,92,0,0,0,4,
0,8,16,16,1,8,1,8,1,8,1,8,1,8,1,8,
1,8,1,8,2,6,3,14,1,16,3,4,4,8,2,4,
2,4,1,4,1,18,2,0,127,0,127,12,33,12,1,2,
1,2,1,4,252,8,9,8,4,8,9,8,31,2,126,2,
254,4,29,8,5,8,21,8,46,8,10,10,46,8,5,8,
7,8,6,8,13,8,19,12,15,255,128,
99,31,2,0,0,115,28,0,0,0,4,2,10,3,8,1,
4,2,4,1,16,1,12,1,10,1,10,1,2,128,12,2,
10,2,4,1,255,128,114,146,0,0,0,99,2,0,0,0,
0,0,0,0,0,0,0,0,17,0,0,0,9,0,0,0,
67,0,0,0,115,132,1,0,0,124,1,92,8,125,2,125,
3,125,4,125,5,125,6,125,7,125,8,125,9,124,4,100,
1,107,0,114,36,116,0,100,2,131,1,130,1,116,1,160,
2,124,0,161,1,144,1,143,6,125,10,122,14,124,10,160,
3,124,6,161,1,1,0,87,0,110,32,4,0,116,4,121,
96,1,0,1,0,1,0,116,0,100,3,124,0,155,2,157,
2,124,0,100,4,141,2,130,1,48,0,124,10,160,5,100,
5,161,1,125,11,116,6,124,11,131,1,100,5,107,3,114,
128,116,7,100,6,131,1,130,1,124,11,100,0,100,7,133,
2,25,0,100,8,107,3,114,162,116,0,100,9,124,0,155,
2,157,2,124,0,100,4,141,2,130,1,116,8,124,11,100,
10,100,11,133,2,25,0,131,1,125,12,116,8,124,11,100,
11,100,5,133,2,25,0,131,1,125,13,100,5,124,12,23,
0,124,13,23,0,125,14,124,6,124,14,55,0,125,6,122,
14,124,10,160,3,124,6,161,1,1,0,87,0,110,34,4,
0,116,4,144,1,121,6,1,0,1,0,1,0,116,0,100,
3,124,0,155,2,157,2,124,0,100,4,141,2,130,1,48,
0,124,10,160,5,124,4,161,1,125,15,116,6,124,15,131,
1,124,4,107,3,144,1,114,40,116,4,100,12,131,1,130,
1,87,0,100,0,4,0,4,0,131,3,1,0,110,18,49,
0,144,1,115,62,48,0,1,0,1,0,1,0,89,0,1,
0,124,3,100,1,107,2,144,1,114,86,124,15,83,0,122,
10,116,9,131,0,125,16,87,0,110,24,4,0,116,10,144,
1,121,120,1,0,1,0,1,0,116,0,100,13,131,1,130,
1,48,0,124,16,124,15,100,14,131,2,83,0,41,15,78,
114,0,0,0,0,122,18,110,101,103,97,116,105,118,101,32,
100,97,116,97,32,115,105,122,101,114,94,0,0,0,114,12,
0,0,0,114,106,0,0,0,114,100,0,0,0,114,95,0,
0,0,115,4,0,0,0,80,75,3,4,122,23,98,97,100,
32,108,111,99,97,108,32,102,105,108,101,32,104,101,97,100,
101,114,58,32,233,26,0,0,0,114,105,0,0,0,122,26,
122,105,112,105,109,112,111,114,116,58,32,99,97,110,39,116,
32,114,101,97,100,32,100,97,116,97,114,141,0,0,0,105,
241,255,255,255,41,11,114,3,0,0,0,114,112,0,0,0,
114,113,0,0,0,114,114,0,0,0,114,22,0,0,0,114,
116,0,0,0,114,55,0,0,0,114,121,0,0,0,114,1,
0,0,0,114,146,0,0,0,114,145,0,0,0,41,17,114,
29,0,0,0,114,58,0,0,0,90,8,100,97,116,97,112,
97,116,104,114,132,0,0,0,114,136,0,0,0,114,127,0,
0,0,114,139,0,0,0,114,133,0,0,0,114,134,0,0,
0,114,135,0,0,0,114,125,0,0,0,114,126,0,0,0,
114,137,0,0,0,114,138,0,0,0,114,129,0,0,0,90,
8,114,97,119,95,100,97,116,97,114,143,0,0,0,114,9,
0,0,0,114,9,0,0,0,114,10,0,0,0,114,56,0,
0,0,52,2,0,0,115,64,0,0,0,20,1,8,1,8,
1,14,2,2,2,14,1,12,1,20,1,10,1,12,1,8,
1,16,2,18,2,16,2,16,1,12,1,8,1,2,1,14,
1,14,1,20,1,10,1,14,1,40,1,10,2,4,2,2,
3,10,1,14,1,10,1,10,1,255,128,114,56,0,0,0,
99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
0,3,0,0,0,67,0,0,0,115,16,0,0,0,116,0,
124,0,124,1,24,0,131,1,100,1,107,1,83,0,41,2,
78,114,5,0,0,0,41,1,218,3,97,98,115,41,2,90,
2,116,49,90,2,116,50,114,9,0,0,0,114,9,0,0,
0,114,10,0,0,0,218,9,95,101,113,95,109,116,105,109,
101,98,2,0,0,115,4,0,0,0,16,2,255,128,114,149,
0,0,0,99,5,0,0,0,0,0,0,0,0,0,0,0,
14,0,0,0,8,0,0,0,67,0,0,0,115,60,1,0,
0,124,3,124,2,100,1,156,2,125,5,122,18,116,0,160,
1,124,4,124,3,124,5,161,3,125,6,87,0,110,20,4,
0,116,2,121,48,1,0,1,0,1,0,89,0,100,0,83,
0,48,0,124,6,100,2,64,0,100,3,107,3,125,7,124,
7,114,182,124,6,100,4,64,0,100,3,107,3,125,8,116,
3,106,4,100,5,107,3,144,1,114,10,124,8,115,106,116,
3,106,4,100,6,107,2,144,1,114,10,116,5,124,0,124,
2,131,2,125,9,124,9,100,0,117,1,144,1,114,10,116,
3,160,6,116,0,106,7,124,9,161,2,125,10,122,20,116,
0,160,8,124,4,124,10,124,3,124,5,161,4,1,0,87,
0,110,104,4,0,116,2,121,180,1,0,1,0,1,0,89,
0,100,0,83,0,48,0,116,9,124,0,124,2,131,2,92,
2,125,11,125,12,124,11,144,1,114,10,116,10,116,11,124,
4,100,7,100,8,133,2,25,0,131,1,124,11,131,2,114,
246,116,11,124,4,100,8,100,9,133,2,25,0,131,1,124,
12,107,3,144,1,114,10,116,12,160,13,100,10,124,3,155,
2,157,2,161,1,1,0,100,0,83,0,116,14,160,15,124,
4,100,9,100,0,133,2,25,0,161,1,125,13,116,16,124,
13,116,17,131,2,144,1,115,56,116,18,100,11,124,1,155,
2,100,12,157,3,131,1,130,1,124,13,83,0,41,13,78,
41,2,114,44,0,0,0,114,13,0,0,0,114,5,0,0,
0,114,0,0,0,0,114,88,0,0,0,90,5,110,101,118,
101,114,90,6,97,108,119,97,121,115,114,101,0,0,0,114,
96,0,0,0,114,97,0,0,0,122,22,98,121,116,101,99,
111,100,101,32,105,115,32,115,116,97,108,101,32,102,111,114,
32,122,16,99,111,109,112,105,108,101,100,32,109,111,100,117,
108,101,32,122,21,32,105,115,32,110,111,116,32,97,32,99,
111,100,101,32,111,98,106,101,99,116,41,19,114,21,0,0,
0,90,13,95,99,108,97,115,115,105,102,121,95,112,121,99,
114,79,0,0,0,218,4,95,105,109,112,90,21,99,104,101,
99,107,95,104,97,115,104,95,98,97,115,101,100,95,112,121,
99,115,218,15,95,103,101,116,95,112,121,99,95,115,111,117,
114,99,101,218,11,115,111,117,114,99,101,95,104,97,115,104,
90,17,95,82,65,87,95,77,65,71,73,67,95,78,85,77,
66,69,82,90,18,95,118,97,108,105,100,97,116,101,95,104,
97,115,104,95,112,121,99,218,29,95,103,101,116,95,109,116,
105,109,101,95,97,110,100,95,115,105,122,101,95,111,102,95,
115,111,117,114,99,101,114,149,0,0,0,114,2,0,0,0,
114,45,0,0,0,114,80,0,0,0,218,7,109,97,114,115,
104,97,108,90,5,108,111,97,100,115,114,15,0,0,0,218,
10,95,99,111,100,101,95,116,121,112,101,218,9,84,121,112,
101,69,114,114,111,114,41,14,114,32,0,0,0,114,57,0,
0,0,114,66,0,0,0,114,38,0,0,0,114,128,0,0,
0,90,11,101,120,99,95,100,101,116,97,105,108,115,114,131,
0,0,0,90,10,104,97,115,104,95,98,97,115,101,100,90,
12,99,104,101,99,107,95,115,111,117,114,99,101,90,12,115,
111,117,114,99,101,95,98,121,116,101,115,114,152,0,0,0,
90,12,115,111,117,114,99,101,95,109,116,105,109,101,90,11,
115,111,117,114,99,101,95,115,105,122,101,114,50,0,0,0,
114,9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,
15,95,117,110,109,97,114,115,104,97,108,95,99,111,100,101,
108,2,0,0,115,84,0,0,0,2,2,2,1,6,254,2,
5,18,1,12,1,8,1,12,2,4,1,12,1,12,1,2,
1,2,255,8,1,4,255,10,2,10,1,4,1,4,1,2,
1,4,254,2,5,4,1,8,1,8,255,12,2,8,1,8,
3,6,255,6,3,22,3,18,1,4,255,4,2,8,1,4,
255,4,2,18,2,12,1,16,1,4,1,255,128,114,157,0,
0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,1,
0,0,0,4,0,0,0,67,0,0,0,115,28,0,0,0,
124,0,160,0,100,1,100,2,161,2,125,0,124,0,160,0,
100,3,100,2,161,2,125,0,124,0,83,0,41,4,78,115,
2,0,0,0,13,10,243,1,0,0,0,10,243,1,0,0,
0,13,41,1,114,19,0,0,0,41,1,218,6,115,111,117,
114,99,101,114,9,0,0,0,114,9,0,0,0,114,10,0,
0,0,218,23,95,110,111,114,109,97,108,105,122,101,95,108,
105,110,101,95,101,110,100,105,110,103,115,159,2,0,0,115,
8,0,0,0,12,1,12,1,4,1,255,128,114,161,0,0,
0,99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,
0,0,6,0,0,0,67,0,0,0,115,24,0,0,0,116,
0,124,1,131,1,125,1,116,1,124,1,124,0,100,1,100,
2,100,3,141,4,83,0,41,4,78,114,78,0,0,0,84,
41,1,90,12,100,111,110,116,95,105,110,104,101,114,105,116,
41,2,114,161,0,0,0,218,7,99,111,109,112,105,108,101,
41,2,114,57,0,0,0,114,160,0,0,0,114,9,0,0,
0,114,9,0,0,0,114,10,0,0,0,218,15,95,99,111,
109,112,105,108,101,95,115,111,117,114,99,101,166,2,0,0,
115,6,0,0,0,8,1,16,1,255,128,114,163,0,0,0,
99,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
0,11,0,0,0,67,0,0,0,115,68,0,0,0,116,0,
160,1,124,0,100,1,63,0,100,2,23,0,124,0,100,3,
63,0,100,4,64,0,124,0,100,5,64,0,124,1,100,6,
63,0,124,1,100,3,63,0,100,7,64,0,124,1,100,5,
64,0,100,8,20,0,100,9,100,9,100,9,102,9,161,1,
83,0,41,10,78,233,9,0,0,0,105,188,7,0,0,233,
5,0,0,0,233,15,0,0,0,233,31,0,0,0,233,11,
0,0,0,233,63,0,0,0,114,88,0,0,0,114,14,0,
0,0,41,2,114,133,0,0,0,90,6,109,107,116,105,109,
101,41,2,218,1,100,114,140,0,0,0,114,9,0,0,0,
114,9,0,0,0,114,10,0,0,0,218,14,95,112,97,114,
115,101,95,100,111,115,116,105,109,101,172,2,0,0,115,20,
0,0,0,4,1,10,1,10,1,6,1,6,1,10,1,10,
1,6,1,6,249,255,128,114,171,0,0,0,99,2,0,0,
0,0,0,0,0,0,0,0,0,6,0,0,0,10,0,0,
0,67,0,0,0,115,110,0,0,0,122,82,124,1,100,1,
100,0,133,2,25,0,100,2,118,0,115,22,74,0,130,1,
124,1,100,0,100,1,133,2,25,0,125,1,124,0,106,0,
124,1,25,0,125,2,124,2,100,3,25,0,125,3,124,2,
100,4,25,0,125,4,124,2,100,5,25,0,125,5,116,1,
124,4,124,3,131,2,124,5,102,2,87,0,83,0,4,0,
116,2,116,3,116,4,102,3,121,108,1,0,1,0,1,0,
89,0,100,6,83,0,48,0,41,7,78,114,14,0,0,0,
169,2,218,1,99,218,1,111,114,165,0,0,0,233,6,0,
0,0,233,3,0,0,0,41,2,114,0,0,0,0,114,0,
0,0,0,41,5,114,28,0,0,0,114,171,0,0,0,114,
26,0,0,0,218,10,73,110,100,101,120,69,114,114,111,114,
114,156,0,0,0,41,6,114,32,0,0,0,114,13,0,0,
0,114,58,0,0,0,114,133,0,0,0,114,134,0,0,0,
90,17,117,110,99,111,109,112,114,101,115,115,101,100,95,115,
105,122,101,114,9,0,0,0,114,9,0,0,0,114,10,0,
0,0,114,153,0,0,0,185,2,0,0,115,22,0,0,0,
2,1,20,2,12,1,10,1,8,3,8,1,8,1,16,1,
18,1,8,1,255,128,114,153,0,0,0,99,2,0,0,0,
0,0,0,0,0,0,0,0,3,0,0,0,8,0,0,0,
67,0,0,0,115,80,0,0,0,124,1,100,1,100,0,133,
2,25,0,100,2,118,0,115,20,74,0,130,1,124,1,100,
0,100,1,133,2,25,0,125,1,122,14,124,0,106,0,124,
1,25,0,125,2,87,0,110,20,4,0,116,1,121,66,1,
0,1,0,1,0,89,0,100,0,83,0,48,0,116,2,124,
0,106,3,124,2,131,2,83,0,41,3,78,114,14,0,0,
0,114,172,0,0,0,41,4,114,28,0,0,0,114,26,0,
0,0,114,56,0,0,0,114,29,0,0,0,41,3,114,32,
0,0,0,114,13,0,0,0,114,58,0,0,0,114,9,0,
0,0,114,9,0,0,0,114,10,0,0,0,114,151,0,0,
0,204,2,0,0,115,16,0,0,0,20,2,12,1,2,2,
14,1,12,1,8,1,12,2,255,128,114,151,0,0,0,99,
2,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,
9,0,0,0,67,0,0,0,115,190,0,0,0,116,0,124,
0,124,1,131,2,125,2,116,1,68,0,93,156,92,3,125,
3,125,4,125,5,124,2,124,3,23,0,125,6,116,2,106,
3,100,1,124,0,106,4,116,5,124,6,100,2,100,3,141,
5,1,0,122,14,124,0,106,6,124,6,25,0,125,7,87,
0,110,18,4,0,116,7,121,86,1,0,1,0,1,0,89,
0,113,14,48,0,124,7,100,4,25,0,125,8,116,8,124,
0,106,4,124,7,131,2,125,9,124,4,114,130,116,9,124,
0,124,8,124,6,124,1,124,9,131,5,125,10,110,10,116,
10,124,8,124,9,131,2,125,10,124,10,100,0,117,0,114,
150,113,14,124,7,100,4,25,0,125,8,124,10,124,5,124,
8,102,3,2,0,1,0,83,0,116,11,100,5,124,1,155,
2,157,2,124,1,100,6,141,2,130,1,41,7,78,122,13,
116,114,121,105,110,103,32,123,125,123,125,123,125,114,88,0,
0,0,41,1,90,9,118,101,114,98,111,115,105,116,121,114,
0,0,0,0,114,61,0,0,0,114,62,0,0,0,41,12,
114,36,0,0,0,114,91,0,0,0,114,45,0,0,0,114,
80,0,0,0,114,29,0,0,0,114,20,0,0,0,114,28,
0,0,0,114,26,0,0,0,114,56,0,0,0,114,157,0,
0,0,114,163,0,0,0,114,3,0,0,0,41,11,114,32,
0,0,0,114,38,0,0,0,114,13,0,0,0,114,92,0,
0,0,114,93,0,0,0,114,51,0,0,0,114,66,0,0,
0,114,58,0,0,0,114,40,0,0,0,114,128,0,0,0,
114,50,0,0,0,114,9,0,0,0,114,9,0,0,0,114,
10,0,0,0,114,48,0,0,0,219,2,0,0,115,38,0,
0,0,10,1,14,1,8,1,22,1,2,1,14,1,12,1,
6,1,8,2,12,1,4,1,18,1,10,2,8,1,2,3,
8,1,14,1,18,2,255,128,114,48,0,0,0,41,46,114,
86,0,0,0,90,26,95,102,114,111,122,101,110,95,105,109,
112,111,114,116,108,105,98,95,101,120,116,101,114,110,97,108,
114,21,0,0,0,114,1,0,0,0,114,2,0,0,0,90,
17,95,102,114,111,122,101,110,95,105,109,112,111,114,116,108,
105,98,114,45,0,0,0,114,150,0,0,0,114,112,0,0,
0,114,154,0,0,0,114,71,0,0,0,114,133,0,0,0,
114,69,0,0,0,90,7,95,95,97,108,108,95,95,114,20,
0,0,0,90,15,112,97,116,104,95,115,101,112,97,114,97,
116,111,114,115,114,18,0,0,0,114,79,0,0,0,114,3,
0,0,0,114,25,0,0,0,218,4,116,121,112,101,114,74,
0,0,0,114,115,0,0,0,114,117,0,0,0,114,119,0,
0,0,90,13,95,76,111,97,100,101,114,66,97,115,105,99,
115,114,4,0,0,0,114,91,0,0,0,114,36,0,0,0,
114,37,0,0,0,114,35,0,0,0,114,27,0,0,0,114,
124,0,0,0,114,144,0,0,0,114,146,0,0,0,114,56,
0,0,0,114,149,0,0,0,114,157,0,0,0,218,8,95,
95,99,111,100,101,95,95,114,155,0,0,0,114,161,0,0,
0,114,163,0,0,0,114,171,0,0,0,114,153,0,0,0,
114,151,0,0,0,114,48,0,0,0,114,9,0,0,0,114,
9,0,0,0,114,9,0,0,0,114,10,0,0,0,218,8,
60,109,111,100,117,108,101,62,1,0,0,0,115,92,0,0,
0,4,0,8,16,16,1,8,1,8,1,8,1,8,1,8,
1,8,1,8,1,8,2,6,3,14,1,16,3,4,4,8,
2,4,2,4,1,4,1,18,2,0,127,0,127,12,33,12,
1,2,1,2,1,4,252,8,9,8,4,8,9,8,31,2,
126,2,254,4,29,8,5,8,21,8,46,8,10,10,46,8,
5,8,7,8,6,8,13,8,19,12,15,255,128,
};