#! perl -slw use strict; use Data::Dumper; sub findRuns { use constant { BASESEQ => 0, SAVED => 1, OFFSET => 2, LENGTH => 3, REPEATS => 4 }; my $s = shift; my @rls; push @rls, [ $1, length $2, pos($s) - length( $1 ), length( $1 ) + length( $2 ), length( $2 ) / length( $1 ) + 1, ] while $s =~ m[ .*? ( (?: [a-z]{2} ; )+ ) (?= ( \1{1,254} ) [^>]* (?: < | $ ) ) ]gx; for my $p ( 0 .. $#rls ) { next unless defined $rls[ $p ]; for my $q ( $p+1 .. $#rls ) { next unless defined $rls[ $p ] and defined $rls[ $q ]; last if $rls[ $q ][ OFFSET ] > $rls[ $p ][ OFFSET ] + $rls[ $p ][ LENGTH ]; while( $rls[ $q ][ OFFSET ] >= $rls[ $p ][ OFFSET ] && $rls[ $q ][ OFFSET ] < $rls[ $p ][ OFFSET ] + $rls[ $p ][ LENGTH ] ) { if( $rls[ $p ][ SAVED ] < $rls[ $q ][ SAVED ] ) { last unless $rls[ $p ][ REPEATS ]-- > 2; $rls[ $p ][ REPEATS ] -= length $rls[ $p ][ BASESEQ ]; } else { last unless $rls[ $q ][ REPEATS ]-- > 2; $rls[ $q ][ REPEATS ] -= length $rls[ $q ][ BASESEQ ]; $rls[ $q ][ OFFSET ] += length $rls[ $q ][ BASESEQ ]; } } $rls[ $q ][ OFFSET ] >= $rls[ $p ][ OFFSET ] && $rls[ $q ][ OFFSET ] < $rls[ $p ][ OFFSET ] + $rls[ $p ][ LENGTH ] and delete $rls[ $rls[ $p ][ SAVED ] < $rls[ $q ][ SAVED ] ? $p : $q ]; } } @rls = grep defined, @rls; for ( @rls ) { my $re = qr[(?:$_->[ BASESEQ ]){$_->[ &REPEATS ]}]; $s =~ s[( (?: ^ | > ) [^<]*? ) $re]{ ($1||'') . '<' . $_->[ REPEATS ] . ":$_->[ BASESEQ ]>" }ex; } $s = findRuns( $s ) if $s =~ m[ (?: ^ | > ) [^<]*? ( (?: [a-z]{2} ; )+ ) \1 [^>]*? (?: < | $ ) ]x; return $s; } ## Main program ## Extract the significant data my @seqs = map{ m[^> lst2flex_tset\s+([^;]+);] } grep{ m[^>] } ; #print Dumper \@seqs; ## Build a placeholder lookup table ## Using 'aa;', 'ab;' etc. allows for 676 individual elements ## Using 'aaa;' etc. 18525 and so on. ## The semicolon separator allows use to limit backtracking in the regex my $placeholder = 'aa'; my %seqs; @seqs{ @seqs } = (); @seqs{ keys %seqs } = map{ $placeholder++ . ';' } 1 .. keys %seqs; ## Build a reverse lookup table for re-substitution once the ## compression has been performed. my %r_seqs; @r_seqs{ values %seqs } = keys %seqs; #print "Reverse substitution table\n", Dumper \%r_seqs; ## Build the string of placeholders. my $seq = join'', @seqs{ @seqs }; print "Placeholder sequence\n", $seq; ## Do the compression my $compressed = findRuns $seq; print "Compressed placeholder sequence\n", $compressed; ## Substitute back the original data into the compressed sequence ## Add som tabs and newlines in strategic places to aid verification. $compressed =~ s[( [a-z]{2} ; )][ "\t" . $r_seqs{ $1 } . "\n" ]xge; $compressed =~ s[(?=<)|(?<=:|>)][\n]g; print $compressed; __DATA__ // header opcode_mode=normal; import tset lst2flex_tset; vector ($tset,dbg0,dbg1,dclk,dfrm,dmiso,dmosi,dpin,dpout,dsclk,dscsn,gpio0,gpio1,gpio2,gpio3,gpio4,gpio5,gpio6,gpio7,rst_n,vstate0,vstate1,vstate2) { start_label start_vector: > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 1 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 2 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 3 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 4 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 5 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 6 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 7 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 8 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 9 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 10 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 11 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 12 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 13 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 14 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 15 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 16 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 17 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 18 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 19 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 0 0 1 1; // 20 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 21 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 22 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 23 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 24 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 25 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 26 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 27 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 28 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 29 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 30 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 31 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 32 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 33 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 34 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 35 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 36 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 37 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 38 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 39 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 40 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 41 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 42 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 43 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 44 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 45 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 46 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 47 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 48 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 49 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 50 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 51 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 52 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 53 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 54 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 55 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 56 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 57 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 58 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 59 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 60 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 61 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 62 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 63 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 64 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 65 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 66 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 67 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 68 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 69 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 70 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 71 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 72 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 73 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 74 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 75 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 76 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 77 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 78 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 79 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 80 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 81 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 82 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 83 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 84 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 85 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 86 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 87 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 88 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 89 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 90 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 91 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 92 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 93 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 94 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 95 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 96 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 97 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 98 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 99 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 100 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 101 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 102 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 103 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 104 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 105 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 106 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 107 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 108 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 109 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 110 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 111 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 1 1 1; // 112 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 1 1 1; // 113 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 114 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 115 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 116 > lst2flex_tset L 0 0 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 117 > lst2flex_tset L 0 1 0 0 L 0 L L H 0 0 0 0 0 0 0 0 1 0 1 1; // 118 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 119 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 120 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 121 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 122 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 123 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 124 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 125 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 126 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 127 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 128 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 129 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 130 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 131 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 132 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 133 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 134 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 135 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 136 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 137 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 138 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 139 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 140 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 141 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 142 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 143 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 144 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 145 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 146 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 147 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 148 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 149 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 150 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 151 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 152 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 153 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 154 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 155 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 156 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 157 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 158 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 159 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 160 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 161 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 162 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 163 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 164 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 165 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 166 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 167 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 168 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 169 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 170 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 171 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 172 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 173 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 174 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 175 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 176 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 177 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 178 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 179 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 180 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 181 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 182 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 183 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 184 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 185 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 186 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 L 1 0 1 0; // 187 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 188 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 0 H 1 0 1 0; // 189 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 H 1 0 1 0; // 190 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 H 1 0 1 0; // 191 > lst2flex_tset L 1 1 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 192 > lst2flex_tset L 1 0 0 0 L 0 L L H 0 L 0 L 0 L 1 L 1 0 1 0; // 193 halt > lst2flex_tset H 0 0 0 0 L 0 L L H L H L H L H L H 1 0 0 0; // 194 }