<s> key_data = [ ] <EOL> for letter in '<STR_LIT>' : <EOL> key_data . append ( ( letter , ord ( letter ) , <NUM_LIT> ) ) <EOL> key_data . extend ( [ <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT:left>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT:right>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT:left>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT:right>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT> , <NUM_LIT> ) , <EOL> ( '<STR_LIT>' , <NUM_LIT:10> , <NUM_LIT> ) , <EOL> ] ) <EOL> key_patterns = dict ( ) <EOL> for key_datum in key_data : <EOL> assert len ( key_datum ) in ( <NUM_LIT:2> , <NUM_LIT:3> ) , '<STR_LIT>' % repr ( key_datum ) <EOL> if len ( key_datum ) == <NUM_LIT:3> : <EOL> label , key_code , mask = key_datum <EOL> else : <EOL> label , key_code = key_datum <EOL> mask = <NUM_LIT> <EOL> if not mask in key_patterns : <EOL> key_patterns [ mask ] = dict ( ) <EOL> if key_code in key_patterns [ mask ] : <EOL> old_label = key_patterns [ mask ] [ code ] <EOL> if old_label != label : <EOL> print '<STR_LIT>' % ( mask , key_code , old_label , label ) <EOL> if key_code != ( key_code & mask ) : <EOL> print '<STR_LIT>' % ( key_code , label , mask ) <EOL> key_patterns [ mask ] [ key_code ] = label </s>
