state 00:  * ** *  ***  * ** **      *  * ***** ***       *   * **  *     
state 01: * * ** *  ***  * ** **      *  * ***** ***       *   * **  *    
state 02: ** * ** *  ***  * ** **      *  * ***** ***       *   * **  *   
state 03: *** * ** *  ***  * ** **      *  * ***** ***       *   * **  *  
state 04: **** * ** *  ***  * ** **      *  * ***** ***       *   * **  * 
state 05:  **** * ** *  ***  * ** **      *  * ***** ***       *   * **  *
state 06:  **  ***   ** **   *  ** ***  * * **     ** *** *   *  *    **  
state 07: * **  ***   ** **   *  ** ***  * * **     ** *** *   *  *    ** 
state 08:  * **  ***   ** **   *  ** ***  * * **     ** *** *   *  *    **
state 09:  *** ** *  *   ** *** *  *****  * * ** **   ** * * ** *        *
state 10:  **    *  *** *      * *  * **  * * ** * *   **   *  **   *     
state 11:   **    *  *** *      * *  * **  * * ** * *   **   *  **   *    
state 12:    **    *  *** *      * *  * **  * * ** * *   **   *  **   *   
state 13:     **    *  *** *      * *  * **  * * ** * *   **   *  **   *  
state 14:      **    *  *** *      * *  * **  * * ** * *   **   *  **   * 
state 15:       **    *  *** *      * *  * **  * * ** * *   **   *  **   *
state 16:  * ** ****** **   **         **  *  *  *  ** * **  *  *** ***   
state 17: * * ** ****** **   **         **  *  *  *  ** * **  *  *** ***  
state 18:  * * ** ****** **   **         **  *  *  *  ** * **  *  *** *** 
state 19: * * * ** ****** **   **         **  *  *  *  ** * **  *  *** ***
state 20:     ******  ** ** *** **   *  * *  *****   *  **** *  *    ** **
state 21: ** *** **  * *       * **  ** *** ** *      *  * **   *   * ** *
state 22:   ** *  * ***   ** ** * ** *****  *    **    *    *** *   ** ** 
state 23: *  ** *  * ***   ** ** * ** *****  *    **    *    *** *   ** **
state 24:    * *** * ***  *** *** * *  * *  **  *****    **    * ** * ** *
state 25:  * *   *** ***  * * **** *       **   *  ***     *  *  ***** ** 
state 26: * * *   *** ***  * * **** *       **   *  ***     *  *  ***** **
state 27: *   ***      * *****  ****    * ***   **   ***  *  **  * * *** *
state 28:    *** * ***      *    *****  ***   * *     *** **   ****   *** 
state 29:     *** * ***      *    *****  ***   * *     *** **   ****   ***
state 30: ** *** *  * *** ** *     ** ***    **  *      **  *** * **    **
state 31: * ** *  ***  * ** **      *  * ***** ***       *   * **  *     *
