import Base import ../libs/AES256GCMCore.bend as Core import ./AES_TraceProof.bend as Trace import ./AES_TraceBridgeProof.bend as Bridge # NIST AES-256 example key. Every expansion step is independently checked. def key_bytes() -> List<&2, U32>: [254, 255, 233, 146, 134, 101, 115, 28, 109, 106, 143, 148, 103, 48, 131, 8, 254, 255, 233, 146, 134, 101, 115, 28, 109, 106, 143, 148, 103, 48, 131, 8] def words_8() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520] def words_9() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975] def words_10() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779] def words_11() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095] def words_12() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935] def words_13() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994] def words_14() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062] def words_15() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218] def words_16() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754] def words_17() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712] def words_18() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347] def words_19() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756] def words_20() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251] def words_21() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097] def words_22() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207] def words_23() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765] def words_24() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719] def words_25() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298] def words_26() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417] def words_27() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589] def words_28() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710] def words_29() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568] def words_30() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951] def words_31() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442] def words_32() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749] def words_33() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894] def words_34() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639] def words_35() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458] def words_36() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436] def words_37() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624] def words_38() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071] def words_39() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677] def words_40() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864] def words_41() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303] def words_42() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000] def words_43() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322] def words_44() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574] def words_45() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183] def words_46() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160] def words_47() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013] def words_48() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757] def words_49() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389] def words_50() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501] def words_51() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815] def words_52() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953] def words_53() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542] def words_54() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190] def words_55() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827] def words_56() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827, 838532342] def words_57() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827, 838532342, 1029747314] def words_58() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827, 838532342, 1029747314, 1460171999] def words_59() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827, 838532342, 1029747314, 1460171999, 249985896] def words_60() -> List<&2, U32>: [4278184338, 2254795548, 1835700116, 1731232520, 4278184338, 2254795548, 1835700116, 1731232520, 4212381975, 2104928779, 270280095, 1999414935, 193907994, 2381037062, 3766563218, 2276569754, 824467712, 1280494347, 1548676756, 727861251, 4196704097, 2010063207, 2538475765, 285188719, 589220298, 1867252417, 855829589, 408986710, 1475663568, 540800951, 3077957442, 2810856749, 1433407894, 977015639, 155123458, 291396436, 3584880624, 4120320071, 1122172677, 3848845864, 8660303, 985151000, 864471322, 584618574, 1187881183, 3009067160, 4055386013, 349240757, 1355870389, 1785251501, 1508773815, 2067176953, 1741225542, 3566356190, 623509827, 838532342, 1029747314, 1460171999, 249985896, 1976624785] def next_words_8() -> {List.append(&2, U32, words_8(), [Trace.next_word(8, 1, words_8())]) == words_9() : List<&2, U32>}: {==} def next_rcon_8() -> {Core.aes_rcon_kind(1, U32.is_eq(U32.mod(8, 8), 0)) == 2 : U32}: {==} def next_words_9() -> {List.append(&2, U32, words_9(), [Trace.next_word(9, 2, words_9())]) == words_10() : List<&2, U32>}: {==} def next_rcon_9() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(9, 8), 0)) == 2 : U32}: {==} def next_words_10() -> {List.append(&2, U32, words_10(), [Trace.next_word(10, 2, words_10())]) == words_11() : List<&2, U32>}: {==} def next_rcon_10() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(10, 8), 0)) == 2 : U32}: {==} def next_words_11() -> {List.append(&2, U32, words_11(), [Trace.next_word(11, 2, words_11())]) == words_12() : List<&2, U32>}: {==} def next_rcon_11() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(11, 8), 0)) == 2 : U32}: {==} def next_words_12() -> {List.append(&2, U32, words_12(), [Trace.next_word(12, 2, words_12())]) == words_13() : List<&2, U32>}: {==} def next_rcon_12() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(12, 8), 0)) == 2 : U32}: {==} def next_words_13() -> {List.append(&2, U32, words_13(), [Trace.next_word(13, 2, words_13())]) == words_14() : List<&2, U32>}: {==} def next_rcon_13() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(13, 8), 0)) == 2 : U32}: {==} def next_words_14() -> {List.append(&2, U32, words_14(), [Trace.next_word(14, 2, words_14())]) == words_15() : List<&2, U32>}: {==} def next_rcon_14() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(14, 8), 0)) == 2 : U32}: {==} def next_words_15() -> {List.append(&2, U32, words_15(), [Trace.next_word(15, 2, words_15())]) == words_16() : List<&2, U32>}: {==} def next_rcon_15() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(15, 8), 0)) == 2 : U32}: {==} def next_words_16() -> {List.append(&2, U32, words_16(), [Trace.next_word(16, 2, words_16())]) == words_17() : List<&2, U32>}: {==} def next_rcon_16() -> {Core.aes_rcon_kind(2, U32.is_eq(U32.mod(16, 8), 0)) == 4 : U32}: {==} def next_words_17() -> {List.append(&2, U32, words_17(), [Trace.next_word(17, 4, words_17())]) == words_18() : List<&2, U32>}: {==} def next_rcon_17() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(17, 8), 0)) == 4 : U32}: {==} def next_words_18() -> {List.append(&2, U32, words_18(), [Trace.next_word(18, 4, words_18())]) == words_19() : List<&2, U32>}: {==} def next_rcon_18() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(18, 8), 0)) == 4 : U32}: {==} def next_words_19() -> {List.append(&2, U32, words_19(), [Trace.next_word(19, 4, words_19())]) == words_20() : List<&2, U32>}: {==} def next_rcon_19() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(19, 8), 0)) == 4 : U32}: {==} def next_words_20() -> {List.append(&2, U32, words_20(), [Trace.next_word(20, 4, words_20())]) == words_21() : List<&2, U32>}: {==} def next_rcon_20() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(20, 8), 0)) == 4 : U32}: {==} def next_words_21() -> {List.append(&2, U32, words_21(), [Trace.next_word(21, 4, words_21())]) == words_22() : List<&2, U32>}: {==} def next_rcon_21() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(21, 8), 0)) == 4 : U32}: {==} def next_words_22() -> {List.append(&2, U32, words_22(), [Trace.next_word(22, 4, words_22())]) == words_23() : List<&2, U32>}: {==} def next_rcon_22() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(22, 8), 0)) == 4 : U32}: {==} def next_words_23() -> {List.append(&2, U32, words_23(), [Trace.next_word(23, 4, words_23())]) == words_24() : List<&2, U32>}: {==} def next_rcon_23() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(23, 8), 0)) == 4 : U32}: {==} def next_words_24() -> {List.append(&2, U32, words_24(), [Trace.next_word(24, 4, words_24())]) == words_25() : List<&2, U32>}: {==} def next_rcon_24() -> {Core.aes_rcon_kind(4, U32.is_eq(U32.mod(24, 8), 0)) == 8 : U32}: {==} def next_words_25() -> {List.append(&2, U32, words_25(), [Trace.next_word(25, 8, words_25())]) == words_26() : List<&2, U32>}: {==} def next_rcon_25() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(25, 8), 0)) == 8 : U32}: {==} def next_words_26() -> {List.append(&2, U32, words_26(), [Trace.next_word(26, 8, words_26())]) == words_27() : List<&2, U32>}: {==} def next_rcon_26() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(26, 8), 0)) == 8 : U32}: {==} def next_words_27() -> {List.append(&2, U32, words_27(), [Trace.next_word(27, 8, words_27())]) == words_28() : List<&2, U32>}: {==} def next_rcon_27() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(27, 8), 0)) == 8 : U32}: {==} def next_words_28() -> {List.append(&2, U32, words_28(), [Trace.next_word(28, 8, words_28())]) == words_29() : List<&2, U32>}: {==} def next_rcon_28() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(28, 8), 0)) == 8 : U32}: {==} def next_words_29() -> {List.append(&2, U32, words_29(), [Trace.next_word(29, 8, words_29())]) == words_30() : List<&2, U32>}: {==} def next_rcon_29() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(29, 8), 0)) == 8 : U32}: {==} def next_words_30() -> {List.append(&2, U32, words_30(), [Trace.next_word(30, 8, words_30())]) == words_31() : List<&2, U32>}: {==} def next_rcon_30() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(30, 8), 0)) == 8 : U32}: {==} def next_words_31() -> {List.append(&2, U32, words_31(), [Trace.next_word(31, 8, words_31())]) == words_32() : List<&2, U32>}: {==} def next_rcon_31() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(31, 8), 0)) == 8 : U32}: {==} def next_words_32() -> {List.append(&2, U32, words_32(), [Trace.next_word(32, 8, words_32())]) == words_33() : List<&2, U32>}: {==} def next_rcon_32() -> {Core.aes_rcon_kind(8, U32.is_eq(U32.mod(32, 8), 0)) == 16 : U32}: {==} def next_words_33() -> {List.append(&2, U32, words_33(), [Trace.next_word(33, 16, words_33())]) == words_34() : List<&2, U32>}: {==} def next_rcon_33() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(33, 8), 0)) == 16 : U32}: {==} def next_words_34() -> {List.append(&2, U32, words_34(), [Trace.next_word(34, 16, words_34())]) == words_35() : List<&2, U32>}: {==} def next_rcon_34() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(34, 8), 0)) == 16 : U32}: {==} def next_words_35() -> {List.append(&2, U32, words_35(), [Trace.next_word(35, 16, words_35())]) == words_36() : List<&2, U32>}: {==} def next_rcon_35() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(35, 8), 0)) == 16 : U32}: {==} def next_words_36() -> {List.append(&2, U32, words_36(), [Trace.next_word(36, 16, words_36())]) == words_37() : List<&2, U32>}: {==} def next_rcon_36() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(36, 8), 0)) == 16 : U32}: {==} def next_words_37() -> {List.append(&2, U32, words_37(), [Trace.next_word(37, 16, words_37())]) == words_38() : List<&2, U32>}: {==} def next_rcon_37() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(37, 8), 0)) == 16 : U32}: {==} def next_words_38() -> {List.append(&2, U32, words_38(), [Trace.next_word(38, 16, words_38())]) == words_39() : List<&2, U32>}: {==} def next_rcon_38() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(38, 8), 0)) == 16 : U32}: {==} def next_words_39() -> {List.append(&2, U32, words_39(), [Trace.next_word(39, 16, words_39())]) == words_40() : List<&2, U32>}: {==} def next_rcon_39() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(39, 8), 0)) == 16 : U32}: {==} def next_words_40() -> {List.append(&2, U32, words_40(), [Trace.next_word(40, 16, words_40())]) == words_41() : List<&2, U32>}: {==} def next_rcon_40() -> {Core.aes_rcon_kind(16, U32.is_eq(U32.mod(40, 8), 0)) == 32 : U32}: {==} def next_words_41() -> {List.append(&2, U32, words_41(), [Trace.next_word(41, 32, words_41())]) == words_42() : List<&2, U32>}: {==} def next_rcon_41() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(41, 8), 0)) == 32 : U32}: {==} def next_words_42() -> {List.append(&2, U32, words_42(), [Trace.next_word(42, 32, words_42())]) == words_43() : List<&2, U32>}: {==} def next_rcon_42() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(42, 8), 0)) == 32 : U32}: {==} def next_words_43() -> {List.append(&2, U32, words_43(), [Trace.next_word(43, 32, words_43())]) == words_44() : List<&2, U32>}: {==} def next_rcon_43() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(43, 8), 0)) == 32 : U32}: {==} def next_words_44() -> {List.append(&2, U32, words_44(), [Trace.next_word(44, 32, words_44())]) == words_45() : List<&2, U32>}: {==} def next_rcon_44() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(44, 8), 0)) == 32 : U32}: {==} def next_words_45() -> {List.append(&2, U32, words_45(), [Trace.next_word(45, 32, words_45())]) == words_46() : List<&2, U32>}: {==} def next_rcon_45() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(45, 8), 0)) == 32 : U32}: {==} def next_words_46() -> {List.append(&2, U32, words_46(), [Trace.next_word(46, 32, words_46())]) == words_47() : List<&2, U32>}: {==} def next_rcon_46() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(46, 8), 0)) == 32 : U32}: {==} def next_words_47() -> {List.append(&2, U32, words_47(), [Trace.next_word(47, 32, words_47())]) == words_48() : List<&2, U32>}: {==} def next_rcon_47() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(47, 8), 0)) == 32 : U32}: {==} def next_words_48() -> {List.append(&2, U32, words_48(), [Trace.next_word(48, 32, words_48())]) == words_49() : List<&2, U32>}: {==} def next_rcon_48() -> {Core.aes_rcon_kind(32, U32.is_eq(U32.mod(48, 8), 0)) == 64 : U32}: {==} def next_words_49() -> {List.append(&2, U32, words_49(), [Trace.next_word(49, 64, words_49())]) == words_50() : List<&2, U32>}: {==} def next_rcon_49() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(49, 8), 0)) == 64 : U32}: {==} def next_words_50() -> {List.append(&2, U32, words_50(), [Trace.next_word(50, 64, words_50())]) == words_51() : List<&2, U32>}: {==} def next_rcon_50() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(50, 8), 0)) == 64 : U32}: {==} def next_words_51() -> {List.append(&2, U32, words_51(), [Trace.next_word(51, 64, words_51())]) == words_52() : List<&2, U32>}: {==} def next_rcon_51() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(51, 8), 0)) == 64 : U32}: {==} def next_words_52() -> {List.append(&2, U32, words_52(), [Trace.next_word(52, 64, words_52())]) == words_53() : List<&2, U32>}: {==} def next_rcon_52() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(52, 8), 0)) == 64 : U32}: {==} def next_words_53() -> {List.append(&2, U32, words_53(), [Trace.next_word(53, 64, words_53())]) == words_54() : List<&2, U32>}: {==} def next_rcon_53() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(53, 8), 0)) == 64 : U32}: {==} def next_words_54() -> {List.append(&2, U32, words_54(), [Trace.next_word(54, 64, words_54())]) == words_55() : List<&2, U32>}: {==} def next_rcon_54() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(54, 8), 0)) == 64 : U32}: {==} def next_words_55() -> {List.append(&2, U32, words_55(), [Trace.next_word(55, 64, words_55())]) == words_56() : List<&2, U32>}: {==} def next_rcon_55() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(55, 8), 0)) == 64 : U32}: {==} def next_words_56() -> {List.append(&2, U32, words_56(), [Trace.next_word(56, 64, words_56())]) == words_57() : List<&2, U32>}: {==} def next_rcon_56() -> {Core.aes_rcon_kind(64, U32.is_eq(U32.mod(56, 8), 0)) == 128 : U32}: {==} def next_words_57() -> {List.append(&2, U32, words_57(), [Trace.next_word(57, 128, words_57())]) == words_58() : List<&2, U32>}: {==} def next_rcon_57() -> {Core.aes_rcon_kind(128, U32.is_eq(U32.mod(57, 8), 0)) == 128 : U32}: {==} def next_words_58() -> {List.append(&2, U32, words_58(), [Trace.next_word(58, 128, words_58())]) == words_59() : List<&2, U32>}: {==} def next_rcon_58() -> {Core.aes_rcon_kind(128, U32.is_eq(U32.mod(58, 8), 0)) == 128 : U32}: {==} def next_words_59() -> {List.append(&2, U32, words_59(), [Trace.next_word(59, 128, words_59())]) == words_60() : List<&2, U32>}: {==} def next_rcon_59() -> {Core.aes_rcon_kind(128, U32.is_eq(U32.mod(59, 8), 0)) == 128 : U32}: {==} def suffix_60() -> {Core.aes_expand.go(0n, 60, 128, words_60()) == words_60() : List<&2, U32>}: {==} def suffix_59() -> {Core.aes_expand.go(1n, 59, 128, words_59()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(1n, 59, 128, words_59()), Core.aes_expand.go(0n, 60, 128, words_60()), words_60(), Trace.expand_step_number_at(0n, 1n, {==}, 59, 128, words_59(), words_60(), 128, 60, next_words_59(), next_rcon_59(), {==}), suffix_60()) def suffix_58() -> {Core.aes_expand.go(2n, 58, 128, words_58()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(2n, 58, 128, words_58()), Core.aes_expand.go(1n, 59, 128, words_59()), words_60(), Trace.expand_step_number_at(1n, 2n, {==}, 58, 128, words_58(), words_59(), 128, 59, next_words_58(), next_rcon_58(), {==}), suffix_59()) def suffix_57() -> {Core.aes_expand.go(3n, 57, 128, words_57()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(3n, 57, 128, words_57()), Core.aes_expand.go(2n, 58, 128, words_58()), words_60(), Trace.expand_step_number_at(2n, 3n, {==}, 57, 128, words_57(), words_58(), 128, 58, next_words_57(), next_rcon_57(), {==}), suffix_58()) def suffix_56() -> {Core.aes_expand.go(4n, 56, 64, words_56()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(4n, 56, 64, words_56()), Core.aes_expand.go(3n, 57, 128, words_57()), words_60(), Trace.expand_step_number_at(3n, 4n, {==}, 56, 64, words_56(), words_57(), 128, 57, next_words_56(), next_rcon_56(), {==}), suffix_57()) def suffix_55() -> {Core.aes_expand.go(5n, 55, 64, words_55()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(5n, 55, 64, words_55()), Core.aes_expand.go(4n, 56, 64, words_56()), words_60(), Trace.expand_step_number_at(4n, 5n, {==}, 55, 64, words_55(), words_56(), 64, 56, next_words_55(), next_rcon_55(), {==}), suffix_56()) def suffix_54() -> {Core.aes_expand.go(6n, 54, 64, words_54()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(6n, 54, 64, words_54()), Core.aes_expand.go(5n, 55, 64, words_55()), words_60(), Trace.expand_step_number_at(5n, 6n, {==}, 54, 64, words_54(), words_55(), 64, 55, next_words_54(), next_rcon_54(), {==}), suffix_55()) def suffix_53() -> {Core.aes_expand.go(7n, 53, 64, words_53()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(7n, 53, 64, words_53()), Core.aes_expand.go(6n, 54, 64, words_54()), words_60(), Trace.expand_step_number_at(6n, 7n, {==}, 53, 64, words_53(), words_54(), 64, 54, next_words_53(), next_rcon_53(), {==}), suffix_54()) def suffix_52() -> {Core.aes_expand.go(8n, 52, 64, words_52()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(8n, 52, 64, words_52()), Core.aes_expand.go(7n, 53, 64, words_53()), words_60(), Trace.expand_step_number_at(7n, 8n, {==}, 52, 64, words_52(), words_53(), 64, 53, next_words_52(), next_rcon_52(), {==}), suffix_53()) def suffix_51() -> {Core.aes_expand.go(9n, 51, 64, words_51()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(9n, 51, 64, words_51()), Core.aes_expand.go(8n, 52, 64, words_52()), words_60(), Trace.expand_step_number_at(8n, 9n, {==}, 51, 64, words_51(), words_52(), 64, 52, next_words_51(), next_rcon_51(), {==}), suffix_52()) def suffix_50() -> {Core.aes_expand.go(10n, 50, 64, words_50()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(10n, 50, 64, words_50()), Core.aes_expand.go(9n, 51, 64, words_51()), words_60(), Trace.expand_step_number_at(9n, 10n, {==}, 50, 64, words_50(), words_51(), 64, 51, next_words_50(), next_rcon_50(), {==}), suffix_51()) def suffix_49() -> {Core.aes_expand.go(11n, 49, 64, words_49()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(11n, 49, 64, words_49()), Core.aes_expand.go(10n, 50, 64, words_50()), words_60(), Trace.expand_step_number_at(10n, 11n, {==}, 49, 64, words_49(), words_50(), 64, 50, next_words_49(), next_rcon_49(), {==}), suffix_50()) def suffix_48() -> {Core.aes_expand.go(12n, 48, 32, words_48()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(12n, 48, 32, words_48()), Core.aes_expand.go(11n, 49, 64, words_49()), words_60(), Trace.expand_step_number_at(11n, 12n, {==}, 48, 32, words_48(), words_49(), 64, 49, next_words_48(), next_rcon_48(), {==}), suffix_49()) def suffix_47() -> {Core.aes_expand.go(13n, 47, 32, words_47()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(13n, 47, 32, words_47()), Core.aes_expand.go(12n, 48, 32, words_48()), words_60(), Trace.expand_step_number_at(12n, 13n, {==}, 47, 32, words_47(), words_48(), 32, 48, next_words_47(), next_rcon_47(), {==}), suffix_48()) def suffix_46() -> {Core.aes_expand.go(14n, 46, 32, words_46()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(14n, 46, 32, words_46()), Core.aes_expand.go(13n, 47, 32, words_47()), words_60(), Trace.expand_step_number_at(13n, 14n, {==}, 46, 32, words_46(), words_47(), 32, 47, next_words_46(), next_rcon_46(), {==}), suffix_47()) def suffix_45() -> {Core.aes_expand.go(15n, 45, 32, words_45()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(15n, 45, 32, words_45()), Core.aes_expand.go(14n, 46, 32, words_46()), words_60(), Trace.expand_step_number_at(14n, 15n, {==}, 45, 32, words_45(), words_46(), 32, 46, next_words_45(), next_rcon_45(), {==}), suffix_46()) def suffix_44() -> {Core.aes_expand.go(16n, 44, 32, words_44()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(16n, 44, 32, words_44()), Core.aes_expand.go(15n, 45, 32, words_45()), words_60(), Trace.expand_step_number_at(15n, 16n, {==}, 44, 32, words_44(), words_45(), 32, 45, next_words_44(), next_rcon_44(), {==}), suffix_45()) def suffix_43() -> {Core.aes_expand.go(17n, 43, 32, words_43()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(17n, 43, 32, words_43()), Core.aes_expand.go(16n, 44, 32, words_44()), words_60(), Trace.expand_step_number_at(16n, 17n, {==}, 43, 32, words_43(), words_44(), 32, 44, next_words_43(), next_rcon_43(), {==}), suffix_44()) def suffix_42() -> {Core.aes_expand.go(18n, 42, 32, words_42()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(18n, 42, 32, words_42()), Core.aes_expand.go(17n, 43, 32, words_43()), words_60(), Trace.expand_step_number_at(17n, 18n, {==}, 42, 32, words_42(), words_43(), 32, 43, next_words_42(), next_rcon_42(), {==}), suffix_43()) def suffix_41() -> {Core.aes_expand.go(19n, 41, 32, words_41()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(19n, 41, 32, words_41()), Core.aes_expand.go(18n, 42, 32, words_42()), words_60(), Trace.expand_step_number_at(18n, 19n, {==}, 41, 32, words_41(), words_42(), 32, 42, next_words_41(), next_rcon_41(), {==}), suffix_42()) def suffix_40() -> {Core.aes_expand.go(20n, 40, 16, words_40()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(20n, 40, 16, words_40()), Core.aes_expand.go(19n, 41, 32, words_41()), words_60(), Trace.expand_step_number_at(19n, 20n, {==}, 40, 16, words_40(), words_41(), 32, 41, next_words_40(), next_rcon_40(), {==}), suffix_41()) def suffix_39() -> {Core.aes_expand.go(21n, 39, 16, words_39()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(21n, 39, 16, words_39()), Core.aes_expand.go(20n, 40, 16, words_40()), words_60(), Trace.expand_step_number_at(20n, 21n, {==}, 39, 16, words_39(), words_40(), 16, 40, next_words_39(), next_rcon_39(), {==}), suffix_40()) def suffix_38() -> {Core.aes_expand.go(22n, 38, 16, words_38()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(22n, 38, 16, words_38()), Core.aes_expand.go(21n, 39, 16, words_39()), words_60(), Trace.expand_step_number_at(21n, 22n, {==}, 38, 16, words_38(), words_39(), 16, 39, next_words_38(), next_rcon_38(), {==}), suffix_39()) def suffix_37() -> {Core.aes_expand.go(23n, 37, 16, words_37()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(23n, 37, 16, words_37()), Core.aes_expand.go(22n, 38, 16, words_38()), words_60(), Trace.expand_step_number_at(22n, 23n, {==}, 37, 16, words_37(), words_38(), 16, 38, next_words_37(), next_rcon_37(), {==}), suffix_38()) def suffix_36() -> {Core.aes_expand.go(24n, 36, 16, words_36()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(24n, 36, 16, words_36()), Core.aes_expand.go(23n, 37, 16, words_37()), words_60(), Trace.expand_step_number_at(23n, 24n, {==}, 36, 16, words_36(), words_37(), 16, 37, next_words_36(), next_rcon_36(), {==}), suffix_37()) def suffix_35() -> {Core.aes_expand.go(25n, 35, 16, words_35()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(25n, 35, 16, words_35()), Core.aes_expand.go(24n, 36, 16, words_36()), words_60(), Trace.expand_step_number_at(24n, 25n, {==}, 35, 16, words_35(), words_36(), 16, 36, next_words_35(), next_rcon_35(), {==}), suffix_36()) def suffix_34() -> {Core.aes_expand.go(26n, 34, 16, words_34()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(26n, 34, 16, words_34()), Core.aes_expand.go(25n, 35, 16, words_35()), words_60(), Trace.expand_step_number_at(25n, 26n, {==}, 34, 16, words_34(), words_35(), 16, 35, next_words_34(), next_rcon_34(), {==}), suffix_35()) def suffix_33() -> {Core.aes_expand.go(27n, 33, 16, words_33()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(27n, 33, 16, words_33()), Core.aes_expand.go(26n, 34, 16, words_34()), words_60(), Trace.expand_step_number_at(26n, 27n, {==}, 33, 16, words_33(), words_34(), 16, 34, next_words_33(), next_rcon_33(), {==}), suffix_34()) def suffix_32() -> {Core.aes_expand.go(28n, 32, 8, words_32()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(28n, 32, 8, words_32()), Core.aes_expand.go(27n, 33, 16, words_33()), words_60(), Trace.expand_step_number_at(27n, 28n, {==}, 32, 8, words_32(), words_33(), 16, 33, next_words_32(), next_rcon_32(), {==}), suffix_33()) def suffix_31() -> {Core.aes_expand.go(29n, 31, 8, words_31()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(29n, 31, 8, words_31()), Core.aes_expand.go(28n, 32, 8, words_32()), words_60(), Trace.expand_step_number_at(28n, 29n, {==}, 31, 8, words_31(), words_32(), 8, 32, next_words_31(), next_rcon_31(), {==}), suffix_32()) def suffix_30() -> {Core.aes_expand.go(30n, 30, 8, words_30()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(30n, 30, 8, words_30()), Core.aes_expand.go(29n, 31, 8, words_31()), words_60(), Trace.expand_step_number_at(29n, 30n, {==}, 30, 8, words_30(), words_31(), 8, 31, next_words_30(), next_rcon_30(), {==}), suffix_31()) def suffix_29() -> {Core.aes_expand.go(31n, 29, 8, words_29()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(31n, 29, 8, words_29()), Core.aes_expand.go(30n, 30, 8, words_30()), words_60(), Trace.expand_step_number_at(30n, 31n, {==}, 29, 8, words_29(), words_30(), 8, 30, next_words_29(), next_rcon_29(), {==}), suffix_30()) def suffix_28() -> {Core.aes_expand.go(32n, 28, 8, words_28()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(32n, 28, 8, words_28()), Core.aes_expand.go(31n, 29, 8, words_29()), words_60(), Trace.expand_step_number_at(31n, 32n, {==}, 28, 8, words_28(), words_29(), 8, 29, next_words_28(), next_rcon_28(), {==}), suffix_29()) def suffix_27() -> {Core.aes_expand.go(33n, 27, 8, words_27()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(33n, 27, 8, words_27()), Core.aes_expand.go(32n, 28, 8, words_28()), words_60(), Trace.expand_step_number_at(32n, 33n, {==}, 27, 8, words_27(), words_28(), 8, 28, next_words_27(), next_rcon_27(), {==}), suffix_28()) def suffix_26() -> {Core.aes_expand.go(34n, 26, 8, words_26()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(34n, 26, 8, words_26()), Core.aes_expand.go(33n, 27, 8, words_27()), words_60(), Trace.expand_step_number_at(33n, 34n, {==}, 26, 8, words_26(), words_27(), 8, 27, next_words_26(), next_rcon_26(), {==}), suffix_27()) def suffix_25() -> {Core.aes_expand.go(35n, 25, 8, words_25()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(35n, 25, 8, words_25()), Core.aes_expand.go(34n, 26, 8, words_26()), words_60(), Trace.expand_step_number_at(34n, 35n, {==}, 25, 8, words_25(), words_26(), 8, 26, next_words_25(), next_rcon_25(), {==}), suffix_26()) def suffix_24() -> {Core.aes_expand.go(36n, 24, 4, words_24()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(36n, 24, 4, words_24()), Core.aes_expand.go(35n, 25, 8, words_25()), words_60(), Trace.expand_step_number_at(35n, 36n, {==}, 24, 4, words_24(), words_25(), 8, 25, next_words_24(), next_rcon_24(), {==}), suffix_25()) def suffix_23() -> {Core.aes_expand.go(37n, 23, 4, words_23()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(37n, 23, 4, words_23()), Core.aes_expand.go(36n, 24, 4, words_24()), words_60(), Trace.expand_step_number_at(36n, 37n, {==}, 23, 4, words_23(), words_24(), 4, 24, next_words_23(), next_rcon_23(), {==}), suffix_24()) def suffix_22() -> {Core.aes_expand.go(38n, 22, 4, words_22()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(38n, 22, 4, words_22()), Core.aes_expand.go(37n, 23, 4, words_23()), words_60(), Trace.expand_step_number_at(37n, 38n, {==}, 22, 4, words_22(), words_23(), 4, 23, next_words_22(), next_rcon_22(), {==}), suffix_23()) def suffix_21() -> {Core.aes_expand.go(39n, 21, 4, words_21()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(39n, 21, 4, words_21()), Core.aes_expand.go(38n, 22, 4, words_22()), words_60(), Trace.expand_step_number_at(38n, 39n, {==}, 21, 4, words_21(), words_22(), 4, 22, next_words_21(), next_rcon_21(), {==}), suffix_22()) def suffix_20() -> {Core.aes_expand.go(40n, 20, 4, words_20()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(40n, 20, 4, words_20()), Core.aes_expand.go(39n, 21, 4, words_21()), words_60(), Trace.expand_step_number_at(39n, 40n, {==}, 20, 4, words_20(), words_21(), 4, 21, next_words_20(), next_rcon_20(), {==}), suffix_21()) def suffix_19() -> {Core.aes_expand.go(41n, 19, 4, words_19()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(41n, 19, 4, words_19()), Core.aes_expand.go(40n, 20, 4, words_20()), words_60(), Trace.expand_step_number_at(40n, 41n, {==}, 19, 4, words_19(), words_20(), 4, 20, next_words_19(), next_rcon_19(), {==}), suffix_20()) def suffix_18() -> {Core.aes_expand.go(42n, 18, 4, words_18()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(42n, 18, 4, words_18()), Core.aes_expand.go(41n, 19, 4, words_19()), words_60(), Trace.expand_step_number_at(41n, 42n, {==}, 18, 4, words_18(), words_19(), 4, 19, next_words_18(), next_rcon_18(), {==}), suffix_19()) def suffix_17() -> {Core.aes_expand.go(43n, 17, 4, words_17()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(43n, 17, 4, words_17()), Core.aes_expand.go(42n, 18, 4, words_18()), words_60(), Trace.expand_step_number_at(42n, 43n, {==}, 17, 4, words_17(), words_18(), 4, 18, next_words_17(), next_rcon_17(), {==}), suffix_18()) def suffix_16() -> {Core.aes_expand.go(44n, 16, 2, words_16()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(44n, 16, 2, words_16()), Core.aes_expand.go(43n, 17, 4, words_17()), words_60(), Trace.expand_step_number_at(43n, 44n, {==}, 16, 2, words_16(), words_17(), 4, 17, next_words_16(), next_rcon_16(), {==}), suffix_17()) def suffix_15() -> {Core.aes_expand.go(45n, 15, 2, words_15()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(45n, 15, 2, words_15()), Core.aes_expand.go(44n, 16, 2, words_16()), words_60(), Trace.expand_step_number_at(44n, 45n, {==}, 15, 2, words_15(), words_16(), 2, 16, next_words_15(), next_rcon_15(), {==}), suffix_16()) def suffix_14() -> {Core.aes_expand.go(46n, 14, 2, words_14()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(46n, 14, 2, words_14()), Core.aes_expand.go(45n, 15, 2, words_15()), words_60(), Trace.expand_step_number_at(45n, 46n, {==}, 14, 2, words_14(), words_15(), 2, 15, next_words_14(), next_rcon_14(), {==}), suffix_15()) def suffix_13() -> {Core.aes_expand.go(47n, 13, 2, words_13()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(47n, 13, 2, words_13()), Core.aes_expand.go(46n, 14, 2, words_14()), words_60(), Trace.expand_step_number_at(46n, 47n, {==}, 13, 2, words_13(), words_14(), 2, 14, next_words_13(), next_rcon_13(), {==}), suffix_14()) def suffix_12() -> {Core.aes_expand.go(48n, 12, 2, words_12()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(48n, 12, 2, words_12()), Core.aes_expand.go(47n, 13, 2, words_13()), words_60(), Trace.expand_step_number_at(47n, 48n, {==}, 12, 2, words_12(), words_13(), 2, 13, next_words_12(), next_rcon_12(), {==}), suffix_13()) def suffix_11() -> {Core.aes_expand.go(49n, 11, 2, words_11()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(49n, 11, 2, words_11()), Core.aes_expand.go(48n, 12, 2, words_12()), words_60(), Trace.expand_step_number_at(48n, 49n, {==}, 11, 2, words_11(), words_12(), 2, 12, next_words_11(), next_rcon_11(), {==}), suffix_12()) def suffix_10() -> {Core.aes_expand.go(50n, 10, 2, words_10()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(50n, 10, 2, words_10()), Core.aes_expand.go(49n, 11, 2, words_11()), words_60(), Trace.expand_step_number_at(49n, 50n, {==}, 10, 2, words_10(), words_11(), 2, 11, next_words_10(), next_rcon_10(), {==}), suffix_11()) def suffix_9() -> {Core.aes_expand.go(51n, 9, 2, words_9()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(51n, 9, 2, words_9()), Core.aes_expand.go(50n, 10, 2, words_10()), words_60(), Trace.expand_step_number_at(50n, 51n, {==}, 9, 2, words_9(), words_10(), 2, 10, next_words_9(), next_rcon_9(), {==}), suffix_10()) def suffix_8() -> {Core.aes_expand.go(52n, 8, 1, words_8()) == words_60() : List<&2, U32>}: Equal.trans(List<&2, U32>, Core.aes_expand.go(52n, 8, 1, words_8()), Core.aes_expand.go(51n, 9, 2, words_9()), words_60(), Trace.expand_step_number_at(51n, 52n, {==}, 8, 1, words_8(), words_9(), 2, 9, next_words_8(), next_rcon_8(), {==}), suffix_9()) def expanded_words_matches() -> {Core.aes_expand.go(52n, 8, 1, words_8()) == words_60() : List<&2, U32>}: suffix_8() def key_schedule_matches() -> {Core.aes256_expand(key_bytes()) == words_60() : List<&2, U32>}: Bridge.public_expansion_matches(key_bytes(), words_60(), Bridge.expand_key_matches(52n, key_bytes(), words_8(), words_60(), {==}, expanded_words_matches()))