Skip to content

Instantly share code, notes, and snippets.

@ravern
Created September 28, 2024 08:02
Show Gist options
  • Save ravern/5053b4d70a762465b4fbdebacab9e4ab to your computer and use it in GitHub Desktop.
Save ravern/5053b4d70a762465b4fbdebacab9e4ab to your computer and use it in GitHub Desktop.
@code = global [2401 x i64] [ i64 32, i64 93, i64 10, i64 64, i64 104, i64 101, i64 97, i64 100, i64 101, i64 114, i64 32, i64 61, i64 32, i64 103, i64 108, i64 111, i64 98, i64 97, i64 108, i64 32, i64 91, i64 51, i64 49, i64 32, i64 120, i64 32, i64 105, i64 56, i64 93, i64 32, i64 99, i64 34, i64 64, i64 99, i64 111, i64 100, i64 101, i64 32, i64 61, i64 32, i64 103, i64 108, i64 111, i64 98, i64 97, i64 108, i64 32, i64 91, i64 50, i64 52, i64 48, i64 49, i64 32, i64 120, i64 32, i64 105, i64 54, i64 52, i64 93, i64 32, i64 91, i64 32, i64 92, i64 48, i64 48, i64 34, i64 10, i64 64, i64 116, i64 101, i64 114, i64 109, i64 105, i64 110, i64 97, i64 116, i64 111, i64 114, i64 32, i64 61, i64 32, i64 103, i64 108, i64 111, i64 98, i64 97, i64 108, i64 32, i64 91, i64 55, i64 32, i64 120, i64 32, i64 105, i64 56, i64 93, i64 32, i64 99, i64 34, i64 105, i64 54, i64 52, i64 32, i64 48, i64 48, i64 92, i64 48, i64 48, i64 34, i64 10, i64 64, i64 112, i64 114, i64 101, i64 102, i64 105, i64 120, i64 32, i64 61, i64 32, i64 103, i64 108, i64 111, i64 98, i64 97, i64 108, i64 32, i64 91, i64 53, i64 32, i64 120, i64 32, i64 105, i64 56, i64 93, i64 32, i64 99, i64 34, i64 105, i64 54, i64 52, i64 32, i64 92, i64 48, i64 48, i64 34, i64 10, i64 64, i64 115, i64 117, i64 102, i64 102, i64 105, i64 120, i64 32, i64 61, i64 32, i64 103, i64 108, i64 111, i64 98, i64 97, i64 108, i64 32, i64 91, i64 51, i64 32, i64 120, i64 32, i64 105, i64 56, i64 93, i64 32, i64 99, i64 34, i64 44, i64 32, i64 92, i64 48, i64 48, i64 34, i64 10, i64 10, i64 100, i64 101, i64 99, i64 108, i64 97, i64 114, i64 101, i64 32, i64 118, i64 111, i64 105, i64 100, i64 32, i64 64, i64 108, i64 108, i64 95, i64 112, i64 117, i64 116, i64 115, i64 40, i64 105, i64 56, i64 42, i64 41, i64 10, i64 100, i64 101, i64 99, i64 108, i64 97, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 108, i64 116, i64 111, i64 97, i64 40, i64 105, i64 54, i64 52, i64 41, i64 10, i64 100, i64 101, i64 99, i64 108, i64 97, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 44, i64 32, i64 105, i64 56, i64 42, i64 41, i64 10, i64 10, i64 100, i64 101, i64 102, i64 105, i64 110, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 99, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 99, i64 41, i64 32, i64 123, i64 10, i64 32, i64 32, i64 37, i64 99, i64 95, i64 105, i64 56, i64 32, i64 61, i64 32, i64 98, i64 105, i64 116, i64 99, i64 97, i64 115, i64 116, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 99, i64 32, i64 116, i64 111, i64 32, i64 105, i64 56, i64 42, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 99, i64 95, i64 105, i64 56, i64 41, i64 10, i64 32, i64 32, i64 114, i64 101, i64 116, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 10, i64 125, i64 10, i64 10, i64 100, i64 101, i64 102, i64 105, i64 110, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 104, i64 101, i64 97, i64 100, i64 101, i64 114, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 41, i64 32, i64 123, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 104, i64 101, i64 97, i64 100, i64 101, i64 114, i64 41, i64 10, i64 32, i64 32, i64 114, i64 101, i64 116, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 10, i64 125, i64 10, i64 10, i64 100, i64 101, i64 102, i64 105, i64 110, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 99, i64 111, i64 100, i64 101, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 41, i64 32, i64 123, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 97, i64 108, i64 108, i64 111, i64 99, i64 97, i64 32, i64 105, i64 54, i64 52, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 48, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 97, i64 108, i64 108, i64 111, i64 99, i64 97, i64 32, i64 105, i64 56, i64 42, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 108, i64 111, i64 111, i64 112, i64 10, i64 108, i64 111, i64 111, i64 112, i64 58, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 49, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 103, i64 101, i64 116, i64 101, i64 108, i64 101, i64 109, i64 101, i64 110, i64 116, i64 112, i64 116, i64 114, i64 32, i64 105, i64 54, i64 52, i64 42, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 64, i64 99, i64 111, i64 100, i64 101, i64 44, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 49, i64 10, i64 32, i64 32, i64 37, i64 105, i64 110, i64 116, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 100, i64 111, i64 110, i64 101, i64 32, i64 61, i64 32, i64 105, i64 99, i64 109, i64 112, i64 32, i64 101, i64 113, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 110, i64 116, i64 44, i64 32, i64 48, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 105, i64 49, i64 32, i64 37, i64 100, i64 111, i64 110, i64 101, i64 44, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 101, i64 120, i64 105, i64 116, i64 44, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 98, i64 111, i64 100, i64 121, i64 10, i64 98, i64 111, i64 100, i64 121, i64 58, i64 10, i64 32, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 115, i64 116, i64 114, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 108, i64 116, i64 111, i64 97, i64 40, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 110, i64 116, i64 41, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 56, i64 42, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 114, i64 101, i64 102, i64 105, i64 120, i64 41, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 51, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 115, i64 116, i64 114, i64 41, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 52, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 51, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 115, i64 117, i64 102, i64 102, i64 105, i64 120, i64 41, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 52, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 50, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 51, i64 32, i64 61, i64 32, i64 97, i64 100, i64 100, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 50, i64 44, i64 32, i64 49, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 51, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 108, i64 111, i64 111, i64 112, i64 10, i64 101, i64 120, i64 105, i64 116, i64 58, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 53, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 56, i64 42, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 108, i64 108, i64 95, i64 115, i64 116, i64 114, i64 99, i64 97, i64 116, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 53, i64 44, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 116, i64 101, i64 114, i64 109, i64 105, i64 110, i64 97, i64 116, i64 111, i64 114, i64 41, i64 10, i64 32, i64 32, i64 114, i64 101, i64 116, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 10, i64 125, i64 10, i64 10, i64 100, i64 101, i64 102, i64 105, i64 110, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 100, i64 101, i64 99, i64 111, i64 100, i64 101, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 41, i64 32, i64 123, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 97, i64 108, i64 108, i64 111, i64 99, i64 97, i64 32, i64 105, i64 54, i64 52, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 48, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 97, i64 108, i64 108, i64 111, i64 99, i64 97, i64 32, i64 105, i64 56, i64 42, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 108, i64 111, i64 111, i64 112, i64 10, i64 108, i64 111, i64 111, i64 112, i64 58, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 49, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 112, i64 116, i64 114, i64 32, i64 61, i64 32, i64 103, i64 101, i64 116, i64 101, i64 108, i64 101, i64 109, i64 101, i64 110, i64 116, i64 112, i64 116, i64 114, i64 32, i64 105, i64 54, i64 52, i64 42, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 64, i64 99, i64 111, i64 100, i64 101, i64 44, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 49, i64 10, i64 32, i64 32, i64 37, i64 105, i64 110, i64 116, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 100, i64 111, i64 110, i64 101, i64 32, i64 61, i64 32, i64 105, i64 99, i64 109, i64 112, i64 32, i64 101, i64 113, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 110, i64 116, i64 44, i64 32, i64 48, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 105, i64 49, i64 32, i64 37, i64 100, i64 111, i64 110, i64 101, i64 44, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 101, i64 120, i64 105, i64 116, i64 44, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 98, i64 111, i64 100, i64 121, i64 10, i64 98, i64 111, i64 100, i64 121, i64 58, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 56, i64 42, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 99, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 110, i64 116, i64 95, i64 112, i64 116, i64 114, i64 41, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 50, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 54, i64 52, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 37, i64 105, i64 95, i64 51, i64 32, i64 61, i64 32, i64 97, i64 100, i64 100, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 50, i64 44, i64 32, i64 49, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 37, i64 105, i64 95, i64 51, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 105, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 98, i64 114, i64 32, i64 108, i64 97, i64 98, i64 101, i64 108, i64 32, i64 37, i64 108, i64 111, i64 111, i64 112, i64 10, i64 101, i64 120, i64 105, i64 116, i64 58, i64 10, i64 32, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 32, i64 61, i64 32, i64 108, i64 111, i64 97, i64 100, i64 32, i64 105, i64 56, i64 42, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 95, i64 112, i64 116, i64 114, i64 10, i64 32, i64 32, i64 114, i64 101, i64 116, i64 32, i64 105, i64 56, i64 42, i64 32, i64 37, i64 114, i64 101, i64 115, i64 95, i64 115, i64 116, i64 114, i64 10, i64 125, i64 10, i64 10, i64 100, i64 101, i64 102, i64 105, i64 110, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 64, i64 109, i64 97, i64 105, i64 110, i64 40, i64 105, i64 54, i64 52, i64 32, i64 37, i64 97, i64 114, i64 103, i64 99, i64 44, i64 32, i64 105, i64 56, i64 42, i64 42, i64 32, i64 37, i64 97, i64 114, i64 103, i64 118, i64 41, i64 32, i64 123, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 105, i64 54, i64 52, i64 32, i64 61, i64 32, i64 97, i64 108, i64 108, i64 111, i64 99, i64 97, i64 32, i64 105, i64 54, i64 52, i64 10, i64 32, i64 32, i64 115, i64 116, i64 111, i64 114, i64 101, i64 32, i64 105, i64 54, i64 52, i64 32, i64 48, i64 44, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 105, i64 54, i64 52, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 32, i64 61, i64 32, i64 98, i64 105, i64 116, i64 99, i64 97, i64 115, i64 116, i64 32, i64 105, i64 54, i64 52, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 105, i64 54, i64 52, i64 32, i64 116, i64 111, i64 32, i64 105, i64 56, i64 42, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 104, i64 101, i64 97, i64 100, i64 101, i64 114, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 49, i64 41, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 51, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 99, i64 111, i64 100, i64 101, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 50, i64 41, i64 10, i64 32, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 52, i64 32, i64 61, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 105, i64 56, i64 42, i64 32, i64 64, i64 112, i64 117, i64 115, i64 104, i64 95, i64 100, i64 101, i64 99, i64 111, i64 100, i64 101, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 51, i64 41, i64 10, i64 32, i64 32, i64 99, i64 97, i64 108, i64 108, i64 32, i64 118, i64 111, i64 105, i64 100, i64 32, i64 64, i64 108, i64 108, i64 95, i64 112, i64 117, i64 116, i64 115, i64 40, i64 105, i64 56, i64 42, i64 32, i64 37, i64 115, i64 116, i64 114, i64 95, i64 52, i64 41, i64 10, i64 32, i64 32, i64 114, i64 101, i64 116, i64 32, i64 105, i64 54, i64 52, i64 32, i64 48, i64 10, i64 125, i64 10, i64 10, i64 00 ]
@header = global [31 x i8] c"@code = global [2401 x i64] [ \00"
@terminator = global [7 x i8] c"i64 00\00"
@prefix = global [5 x i8] c"i64 \00"
@suffix = global [3 x i8] c", \00"
declare void @ll_puts(i8*)
declare i8* @ll_ltoa(i64)
declare i8* @ll_strcat(i8*, i8*)
define i8* @pushc(i8* %str, i64* %c) {
%c_i8 = bitcast i64* %c to i8*
%res_str = call i8* @ll_strcat(i8* %str, i8* %c_i8)
ret i8* %res_str
}
define i8* @push_header(i8* %str) {
%res_str = call i8* @ll_strcat(i8* %str, i8* @header)
ret i8* %res_str
}
define i8* @push_code(i8* %str) {
%i_ptr = alloca i64
store i64 0, i64* %i_ptr
%res_str_ptr = alloca i8*
store i8* %str, i8** %res_str_ptr
br label %loop
loop:
%i_1 = load i64, i64* %i_ptr
%int_ptr = getelementptr i64*, i64* @code, i64 %i_1
%int = load i64, i64* %int_ptr
%done = icmp eq i64 %int, 0
br i1 %done, label %exit, label %body
body:
%int_str = call i8* @ll_ltoa(i64 %int)
%str_1 = load i8*, i8** %res_str_ptr
%str_2 = call i8* @ll_strcat(i8* %str_1, i8* @prefix)
%str_3 = call i8* @ll_strcat(i8* %str_2, i8* %int_str)
%str_4 = call i8* @ll_strcat(i8* %str_3, i8* @suffix)
store i8* %str_4, i8** %res_str_ptr
%i_2 = load i64, i64* %i_ptr
%i_3 = add i64 %i_2, 1
store i64 %i_3, i64* %i_ptr
br label %loop
exit:
%str_5 = load i8*, i8** %res_str_ptr
%res_str = call i8* @ll_strcat(i8* %str_5, i8* @terminator)
ret i8* %res_str
}
define i8* @push_decode(i8* %str) {
%i_ptr = alloca i64
store i64 0, i64* %i_ptr
%res_str_ptr = alloca i8*
store i8* %str, i8** %res_str_ptr
br label %loop
loop:
%i_1 = load i64, i64* %i_ptr
%int_ptr = getelementptr i64*, i64* @code, i64 %i_1
%int = load i64, i64* %int_ptr
%done = icmp eq i64 %int, 0
br i1 %done, label %exit, label %body
body:
%str_1 = load i8*, i8** %res_str_ptr
%str_2 = call i8* @pushc(i8* %str_1, i64* %int_ptr)
store i8* %str_2, i8** %res_str_ptr
%i_2 = load i64, i64* %i_ptr
%i_3 = add i64 %i_2, 1
store i64 %i_3, i64* %i_ptr
br label %loop
exit:
%res_str = load i8*, i8** %res_str_ptr
ret i8* %res_str
}
define i64 @main(i64 %argc, i8** %argv) {
%str_i64 = alloca i64
store i64 0, i64* %str_i64
%str_1 = bitcast i64* %str_i64 to i8*
%str_2 = call i8* @push_header(i8* %str_1)
%str_3 = call i8* @push_code(i8* %str_2)
%str_4 = call i8* @push_decode(i8* %str_3)
call void @ll_puts(i8* %str_4)
ret i64 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment