initial commits

master
Charles Iliya Krempeaux 2021-11-07 14:34:30 -08:00
parent 46c36ba7d3
commit 0e9afc8511
4 changed files with 527 additions and 876 deletions

View File

@ -6,425 +6,7 @@ import (
func TestDecompile(t *testing.T) { func TestDecompile(t *testing.T) {
tests := []struct{ for testNumber, test := range stdtests {
Value uint64
}{
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000001,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000010,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000100,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000001000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000010000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000100000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000001000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000010000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000100000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000001000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000010000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000100000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000001000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000010000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000100000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000001000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000010000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000100000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000001000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000010000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000100000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000001000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000010000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000010000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000100000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000001000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000010000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000100000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000001000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000010000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000100000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000001000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000010000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000100000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000001000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000010000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000100000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000001000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000010000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000100000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000001000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000010000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000100000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000001000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000010000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000100000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000001000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000010000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000100000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000001000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000010000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000100000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000001000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000010000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000100000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000001000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000010000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000100000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0001000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0010000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0100000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111110,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111101,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111011,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111110111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111101111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111011111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111110111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111101111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111011111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111110111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111101111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111011111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111110111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111101111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111011111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111110111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111101111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111011111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111110111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111101111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111011111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111110111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111101111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111011111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111110111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111101111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111011111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111110111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111101111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111011111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111110111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111101111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111011111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111110111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111101111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111011111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111110111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111101111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111011111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111110111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111101111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111011111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111110111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111101111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111011111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111110111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111101111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111011111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111110111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111101111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111011111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111110111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111101111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111011111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111110111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111101111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111011111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111110111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111101111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111011111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0110111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0101111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0011111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000001,
},
{
Value: 0b0100000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0100000000000000000000000000000000000001100000000000000000000001,
},
}
for testNumber, test := range tests {
first, second := decompile(test.Value) first, second := decompile(test.Value)

View File

@ -0,0 +1,58 @@
package iid
import (
"testing"
)
func TestIID_MarshalText(t *testing.T) {
for testNumber, test := range stdtests {
var intid IID = something(test.Value)
var marshaled []byte
{
var err error
marshaled, err = intid.MarshalText()
if nil != err {
t.Errorf("For test #%d, did not expect an error when mashaling, but actually got one.", testNumber)
t.Logf("VALUE: %064b", test.Value)
t.Logf("ERROR: (%T) %s", err, err)
continue
}
if nil == marshaled {
t.Errorf("For test #%d, the actual marshaled value is nil but that was not expected.", testNumber)
t.Logf("VALUE: %064b", test.Value)
t.Logf("MARSHALED: %s", marshaled)
continue
}
}
{
var newintid IID
err := newintid.UnmarshalText(marshaled)
if nil != err {
t.Errorf("For test #%d, did not expect an error when unmashaling, but actually got one.", testNumber)
t.Logf("VALUE: %064b", test.Value)
t.Logf("MARSHALED: %s", marshaled)
t.Logf("ERROR: (%T) %s", err, err)
continue
}
var expected IID = intid
var actual IID = newintid
if expected != actual {
t.Errorf("For test #%d, the actual unmarshaled marshaled value is not what was expected.", testNumber)
t.Logf("VALUE: %064b", test.Value)
t.Logf("EXPECTED: %s", expected)
t.Logf("ACTUAL: %s", actual)
continue
}
}
}
}

View File

@ -6,463 +6,7 @@ import (
func TestSerialize(t *testing.T) { func TestSerialize(t *testing.T) {
tests := []struct{ for testNumber, test := range stdtests {
Value uint64
}{
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000001,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000010,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000100,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000001000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000010000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000100000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000001000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000010000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000100000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000001000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000010000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000100000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000001000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000010000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000100000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000001000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000010000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000100000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000001000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000010000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000100000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000001000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000010000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000010000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000100000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000001000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000010000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000001000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000010000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000100000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000001000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000010000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000100000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000001000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000010000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000100000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000001000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000010000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000100000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000001000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000010000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000100000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000001000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000010000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000100000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000001000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000010000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000100000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000001000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000010000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000100000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000001000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000010000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000100000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000001000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000010000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000100000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0001000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0010000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0100000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111110,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111101,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111011,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111110111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111101111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111011111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111110111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111101111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111011111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111110111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111101111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111011111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111110111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111101111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111011111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111110111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111101111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111011111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111110111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111101111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111011111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111110111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111101111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111011111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111110111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111101111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111011111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111110111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111101111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111011111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111110111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111101111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111011111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111110111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111101111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111011111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111110111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111101111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111011111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111110111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111101111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111011111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111110111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111101111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111011111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111110111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111101111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111011111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111110111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111101111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111011111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111110111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111101111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111011111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111110111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111101111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111011111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111110111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111101111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111011111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0110111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0101111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0011111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0000000000000000000000000000000000000000111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000001,
},
{
Value: 0b0100000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0000000001100001100001110110100111011001110000111111000101100100,
},
{
Value: 0b0000000001100001100001110110101000001110110110001111101101100001,
},
{
Value: 0b0000000001100001100001110110101000100000100100010111101000001110,
},
{
Value: 0b0000000001100001100001110110101000111010100110110011110001010101,
},
{
Value: 0b0000000001100001100001110110101001010010100011000011110001000100,
},
}
for testNumber, test := range tests {
var serialized string = serialize(test.Value) var serialized string = serialize(test.Value)

467
test_test.go 100644
View File

@ -0,0 +1,467 @@
package iid
var (
stdtests = []struct{
Value uint64
}{
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000001,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000010,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000000100,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000001000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000010000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000000100000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000001000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000010000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000000100000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000001000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000010000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000000100000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000001000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000010000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000000100000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000001000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000010000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000000100000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000001000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000010000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000000100000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000001000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000010000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000010000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000100000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000001000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000010000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000001000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000010000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000100000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000001000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000010000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000100000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000001000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000010000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000000100000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000001000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000010000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000000100000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000001000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000010000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000000100000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000001000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000010000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000000100000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000001000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000010000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000000100000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000001000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000010000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000000100000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000001000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000010000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000000100000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000001000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000010000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0000100000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0001000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0010000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0100000000000000000000000000000000000000000000000000000000000000,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111110,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111101,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111011,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111110111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111101111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111011111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111110111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111101111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111011111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111110111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111101111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111011111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111110111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111101111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111011111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111110111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111101111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111011111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111110111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111101111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111011111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111110111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111101111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111011111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111110111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111101111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111011111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111110111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111101111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111011111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111110111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111101111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111011111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111110111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111101111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111011111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111110111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111101111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111011111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111110111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111101111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111011111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111110111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111101111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111011111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111110111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111101111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111011111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111110111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111101111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111011111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111110111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111101111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111011111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111110111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111101111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111011111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111110111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111101111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111011111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0110111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0101111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0011111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111111111111111111111111111,
},
{
Value: 0b0000000000000000000000000000000000000000111111111111111111111111,
},
{
Value: 0b0111111111111111111111111111111111111111000000000000000000000000,
},
{
Value: 0b0000000000000000000000000000000000000000100000000000000000000001,
},
{
Value: 0b0100000000000000000000000000000000000001000000000000000000000000,
},
{
Value: 0b0100000000000000000000000000000000000001100000000000000000000001,
},
{
Value: 0b0000000001100001100001110110100111011001110000111111000101100100,
},
{
Value: 0b0000000001100001100001110110101000001110110110001111101101100001,
},
{
Value: 0b0000000001100001100001110110101000100000100100010111101000001110,
},
{
Value: 0b0000000001100001100001110110101000111010100110110011110001010101,
},
{
Value: 0b0000000001100001100001110110101001010010100011000011110001000100,
},
{
Value: 0b0000000001100001100010000101001101001010011010000110001010111101,
},
{
Value: 0b0000000001100001100010000101010000100001100101110101110101010010,
},
}
)