From 9a4ac64fc54f8d4149d434f8a4fcecf07d829fd1 Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Thu, 26 Dec 2024 18:09:18 +0000 Subject: [PATCH 1/5] No atomics. --- embed/bcw2/bcw2.wasm | Bin 1412163 -> 1411839 bytes embed/bcw2/build.sh | 2 +- embed/build.sh | 2 +- embed/sqlite3.wasm | Bin 1390983 -> 1390666 bytes sqlite.go | 3 +-- vfs/tests/mptest/wasm/build.sh | 2 +- vfs/tests/speedtest1/wasm/build.sh | 2 +- 7 files changed, 5 insertions(+), 6 deletions(-) diff --git a/embed/bcw2/bcw2.wasm b/embed/bcw2/bcw2.wasm index 4673098e8b0810e49e3927c5cc2818bd57d5330b..e7c6de583908a9077cd7cee31606ec00a3e259a4 100755 GIT binary patch delta 4507 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 DkUWTP diff --git a/embed/bcw2/build.sh b/embed/bcw2/build.sh index 977ab10b..eca0a9fb 100755 --- a/embed/bcw2/build.sh +++ b/embed/bcw2/build.sh @@ -45,7 +45,7 @@ cd ~- -o bcw2.wasm "build/main.c" \ -I"build" \ -mexec-model=reactor \ - -matomics -msimd128 -mmutable-globals -mmultivalue \ + -msimd128 -mmutable-globals -mmultivalue \ -mbulk-memory -mreference-types \ -mnontrapping-fptoint -msign-ext \ -fno-stack-protector -fno-stack-clash-protection \ diff --git a/embed/build.sh b/embed/build.sh index ed2aaec5..a6b21d36 100755 --- a/embed/build.sh +++ b/embed/build.sh @@ -14,7 +14,7 @@ trap 'rm -f sqlite3.tmp' EXIT -o sqlite3.wasm "$ROOT/sqlite3/main.c" \ -I"$ROOT/sqlite3" \ -mexec-model=reactor \ - -matomics -msimd128 -mmutable-globals -mmultivalue \ + -msimd128 -mmutable-globals -mmultivalue \ -mbulk-memory -mreference-types \ -mnontrapping-fptoint -msign-ext \ -fno-stack-protector -fno-stack-clash-protection \ diff --git a/embed/sqlite3.wasm b/embed/sqlite3.wasm index c312aa62af42d44e507f7f995257fab10f2f8f7c..9beaa2cc65e41a84c9247cd853bf0be38b969053 100755 GIT binary patch delta 4309 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 T)r@&FADKFNE`HLj*}VS)C}m5J diff --git a/sqlite.go b/sqlite.go index 18a2c2a7..73d50761 100644 --- a/sqlite.go +++ b/sqlite.go @@ -11,7 +11,6 @@ import ( "github.com/tetratelabs/wazero" "github.com/tetratelabs/wazero/api" - "github.com/tetratelabs/wazero/experimental" "github.com/ncruces/go-sqlite3/internal/util" "github.com/ncruces/go-sqlite3/vfs" @@ -56,7 +55,7 @@ func compileSQLite() { cfg = cfg.WithMemoryLimitPages(512) // 32MB } } - cfg = cfg.WithCoreFeatures(api.CoreFeaturesV2 | experimental.CoreFeaturesThreads) + cfg = cfg.WithCoreFeatures(api.CoreFeaturesV2) instance.runtime = wazero.NewRuntimeWithConfig(ctx, cfg) diff --git a/vfs/tests/mptest/wasm/build.sh b/vfs/tests/mptest/wasm/build.sh index 4b2eff70..9e660cf9 100755 --- a/vfs/tests/mptest/wasm/build.sh +++ b/vfs/tests/mptest/wasm/build.sh @@ -10,7 +10,7 @@ WASI_SDK="$ROOT/tools/wasi-sdk/bin" "$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \ -o mptest.wasm main.c \ -I"$ROOT/sqlite3" \ - -matomics -msimd128 -mmutable-globals -mmultivalue \ + -msimd128 -mmutable-globals -mmultivalue \ -mbulk-memory -mreference-types \ -mnontrapping-fptoint -msign-ext \ -fno-stack-protector -fno-stack-clash-protection \ diff --git a/vfs/tests/speedtest1/wasm/build.sh b/vfs/tests/speedtest1/wasm/build.sh index 9189008a..833205f9 100755 --- a/vfs/tests/speedtest1/wasm/build.sh +++ b/vfs/tests/speedtest1/wasm/build.sh @@ -10,7 +10,7 @@ WASI_SDK="$ROOT/tools/wasi-sdk/bin" "$WASI_SDK/clang" --target=wasm32-wasi -std=c23 -g0 -O2 \ -o speedtest1.wasm main.c \ -I"$ROOT/sqlite3" \ - -matomics -msimd128 -mmutable-globals -mmultivalue \ + -msimd128 -mmutable-globals -mmultivalue \ -mbulk-memory -mreference-types \ -mnontrapping-fptoint -msign-ext \ -fno-stack-protector -fno-stack-clash-protection \ From cfd5ad3af85679a7547609b9a01b22b066c1a1ab Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Mon, 6 Jan 2025 16:56:52 +0000 Subject: [PATCH 2/5] Test ARM 8 compiler. --- .github/workflows/test.yml | 6 +++++ internal/testcfg/testcfg.go | 10 +++++--- internal/util/compiler.go | 27 ++++++++++++++++++++++ sqlite.go | 10 +++++--- vfs/tests/mptest/wasm/mptest.wasm | Bin 1348871 -> 1348595 bytes vfs/tests/speedtest1/wasm/speedtest1.wasm | Bin 1388146 -> 1387868 bytes 6 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 internal/util/compiler.go diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 530c6dc5..0a1c4e31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -95,6 +95,10 @@ jobs: - name: openbsd version: '7.6' flags: '-test.v -test.short' + arch: + - name: 'x86-64' + - name: 'arm64' + go: 'arm64' runs-on: ubuntu-latest needs: test @@ -104,6 +108,7 @@ jobs: - name: Build env: GOOS: ${{ matrix.os.name }} + GOARCH: ${{ matrix.arch.go }} TESTFLAGS: ${{ matrix.os.flags }} run: .github/workflows/build-test.sh @@ -111,6 +116,7 @@ jobs: uses: cross-platform-actions/action@v0.26.0 with: operating_system: ${{ matrix.os.name }} + architecture: ${{ matrix.arch.name }} version: ${{ matrix.os.version }} shell: bash run: . ./test.sh diff --git a/internal/testcfg/testcfg.go b/internal/testcfg/testcfg.go index e5acfb7c..82358961 100644 --- a/internal/testcfg/testcfg.go +++ b/internal/testcfg/testcfg.go @@ -7,14 +7,18 @@ import ( "github.com/tetratelabs/wazero" "github.com/ncruces/go-sqlite3" + "github.com/ncruces/go-sqlite3/internal/util" ) // notest func init() { - sqlite3.RuntimeConfig = wazero.NewRuntimeConfig(). - WithMemoryLimitPages(512) - + if util.CompilerSupported() { + sqlite3.RuntimeConfig = wazero.NewRuntimeConfigCompiler() + } else { + sqlite3.RuntimeConfig = wazero.NewRuntimeConfigInterpreter() + } + sqlite3.RuntimeConfig = sqlite3.RuntimeConfig.WithMemoryLimitPages(512) if os.Getenv("CI") != "" { path := filepath.Join(os.TempDir(), "wazero") if err := os.MkdirAll(path, 0777); err == nil { diff --git a/internal/util/compiler.go b/internal/util/compiler.go new file mode 100644 index 00000000..aeefcced --- /dev/null +++ b/internal/util/compiler.go @@ -0,0 +1,27 @@ +package util + +import ( + "runtime" + + "golang.org/x/sys/cpu" +) + +func CompilerSupported() bool { + switch runtime.GOOS { + case "linux", "android", + "windows", "darwin", + "freebsd", "netbsd", "dragonfly", + "solaris", "illumos": + break + default: + return false + } + switch runtime.GOARCH { + case "amd64": + return cpu.X86.HasSSE41 + case "arm64": + return true + default: + return false + } +} diff --git a/sqlite.go b/sqlite.go index 73d50761..18f8241d 100644 --- a/sqlite.go +++ b/sqlite.go @@ -48,11 +48,15 @@ func compileSQLite() { ctx := context.Background() cfg := RuntimeConfig if cfg == nil { - cfg = wazero.NewRuntimeConfig() - if bits.UintSize >= 64 { - cfg = cfg.WithMemoryLimitPages(4096) // 256MB + if util.CompilerSupported() { + cfg = wazero.NewRuntimeConfigCompiler() } else { + cfg = wazero.NewRuntimeConfigInterpreter() + } + if bits.UintSize < 64 { cfg = cfg.WithMemoryLimitPages(512) // 32MB + } else { + cfg = cfg.WithMemoryLimitPages(4096) // 256MB } } cfg = cfg.WithCoreFeatures(api.CoreFeaturesV2) diff --git a/vfs/tests/mptest/wasm/mptest.wasm b/vfs/tests/mptest/wasm/mptest.wasm index 53870c8e5bdf833f723067a7386ce3578e3d6b88..76f27457fb36cdfe90872661be43c80b712c9a6d 100644 GIT binary patch delta 3597 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 C)~C$? delta 3945 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 From d933451de826e7e05ea695607562b9ccf76f4f1c Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Mon, 6 Jan 2025 17:30:46 +0000 Subject: [PATCH 3/5] Again. --- .github/workflows/test.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0a1c4e31..fb04cae1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -92,13 +92,17 @@ jobs: - name: netbsd version: '10.0' flags: '-test.v' + - name: freebsd + arch: arm64 + version: '14.2' + flags: '-test.v -test.short' + - name: netbsd + arch: arm64 + version: '10.0' + flags: '-test.v -test.short' - name: openbsd version: '7.6' flags: '-test.v -test.short' - arch: - - name: 'x86-64' - - name: 'arm64' - go: 'arm64' runs-on: ubuntu-latest needs: test @@ -108,7 +112,7 @@ jobs: - name: Build env: GOOS: ${{ matrix.os.name }} - GOARCH: ${{ matrix.arch.go }} + GOARCH: ${{ matrix.os.arch }} TESTFLAGS: ${{ matrix.os.flags }} run: .github/workflows/build-test.sh @@ -116,7 +120,7 @@ jobs: uses: cross-platform-actions/action@v0.26.0 with: operating_system: ${{ matrix.os.name }} - architecture: ${{ matrix.arch.name }} + architecture: ${{ matrix.os.arch }} version: ${{ matrix.os.version }} shell: bash run: . ./test.sh From e61173ed0f5bcd71d0bb310a11f14682590e548d Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Mon, 6 Jan 2025 18:06:30 +0000 Subject: [PATCH 4/5] Again. --- vfs/tests/mptest/mptest_test.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/vfs/tests/mptest/mptest_test.go b/vfs/tests/mptest/mptest_test.go index c6108781..ad27ab62 100644 --- a/vfs/tests/mptest/mptest_test.go +++ b/vfs/tests/mptest/mptest_test.go @@ -31,8 +31,6 @@ import ( //go:embed testdata/* var scripts embed.FS -const qemuCI = runtime.GOARCH != "386" && runtime.GOARCH != "amd64" && runtime.GOARCH != "arm64" - var ( rt wazero.Runtime module wazero.CompiledModule @@ -155,8 +153,8 @@ func Test_crash01(t *testing.T) { } func Test_multiwrite01(t *testing.T) { - if os.Getenv("CI") != "" && qemuCI { - t.Skip("skipping in CI") + if testing.Short() && os.Getenv("CI") != "" { + t.Skip("skipping in slow CI") } if !vfs.SupportsFileLocking { t.Skip("skipping without locks") @@ -185,8 +183,8 @@ func Test_config01_memory(t *testing.T) { } func Test_multiwrite01_memory(t *testing.T) { - if os.Getenv("CI") != "" && qemuCI { - t.Skip("skipping in CI") + if testing.Short() && os.Getenv("CI") != "" { + t.Skip("skipping in slow CI") } memdb.Create("test.db", nil) @@ -220,8 +218,8 @@ func Test_crash01_wal(t *testing.T) { } func Test_multiwrite01_wal(t *testing.T) { - if os.Getenv("CI") != "" && qemuCI { - t.Skip("skipping in CI") + if testing.Short() && os.Getenv("CI") != "" { + t.Skip("skipping in slow CI") } if !vfs.SupportsSharedMemory { t.Skip("skipping without shared memory") From 8b40169712109989a66157c140750a193e1f17f9 Mon Sep 17 00:00:00 2001 From: Nuno Cruces Date: Mon, 6 Jan 2025 18:21:03 +0000 Subject: [PATCH 5/5] Deps. --- embed/bcw2/go.mod | 4 ++-- embed/bcw2/go.sum | 8 ++++---- go.mod | 4 ++-- go.sum | 8 ++++---- gormlite/go.mod | 4 ++-- gormlite/go.sum | 8 ++++---- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/embed/bcw2/go.mod b/embed/bcw2/go.mod index b28d1aae..2fd5be5d 100644 --- a/embed/bcw2/go.mod +++ b/embed/bcw2/go.mod @@ -4,10 +4,10 @@ go 1.21 toolchain go1.23.0 -require github.com/ncruces/go-sqlite3 v0.21.0 +require github.com/ncruces/go-sqlite3 v0.21.3 require ( github.com/ncruces/julianday v1.0.0 // indirect github.com/tetratelabs/wazero v1.8.2 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect ) diff --git a/embed/bcw2/go.sum b/embed/bcw2/go.sum index 4ee45070..f5255b09 100644 --- a/embed/bcw2/go.sum +++ b/embed/bcw2/go.sum @@ -1,10 +1,10 @@ -github.com/ncruces/go-sqlite3 v0.21.0 h1:EwKFoy1hHEopN4sFZarmi+McXdbCcbTuLixhEayXVbQ= -github.com/ncruces/go-sqlite3 v0.21.0/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= +github.com/ncruces/go-sqlite3 v0.21.3 h1:hHkfNQLcbnxPJZhC/RGw9SwP3bfkv/Y0xUHWsr1CdMQ= +github.com/ncruces/go-sqlite3 v0.21.3/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g= github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4= github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= diff --git a/go.mod b/go.mod index 70e4bc61..4ed5cb1c 100644 --- a/go.mod +++ b/go.mod @@ -8,8 +8,8 @@ require ( github.com/ncruces/julianday v1.0.0 github.com/ncruces/sort v0.1.2 github.com/tetratelabs/wazero v1.8.2 - golang.org/x/crypto v0.31.0 - golang.org/x/sys v0.28.0 + golang.org/x/crypto v0.32.0 + golang.org/x/sys v0.29.0 ) require ( diff --git a/go.sum b/go.sum index 496bbd4d..97c9ff3c 100644 --- a/go.sum +++ b/go.sum @@ -10,12 +10,12 @@ github.com/psanford/httpreadat v0.1.0 h1:VleW1HS2zO7/4c7c7zNl33fO6oYACSagjJIyMIw github.com/psanford/httpreadat v0.1.0/go.mod h1:Zg7P+TlBm3bYbyHTKv/EdtSJZn3qwbPwpfZ/I9GKCRE= github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4= github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= lukechampine.com/adiantum v1.1.1 h1:4fp6gTxWCqpEbLy40ExiYDDED3oUNWx5cTqBCtPdZqA= diff --git a/gormlite/go.mod b/gormlite/go.mod index 9b4c2afc..bcb46af2 100644 --- a/gormlite/go.mod +++ b/gormlite/go.mod @@ -5,7 +5,7 @@ go 1.21 toolchain go1.23.0 require ( - github.com/ncruces/go-sqlite3 v0.21.0 + github.com/ncruces/go-sqlite3 v0.21.3 gorm.io/gorm v1.25.12 ) @@ -14,6 +14,6 @@ require ( github.com/jinzhu/now v1.1.5 // indirect github.com/ncruces/julianday v1.0.0 // indirect github.com/tetratelabs/wazero v1.8.2 // indirect - golang.org/x/sys v0.28.0 // indirect + golang.org/x/sys v0.29.0 // indirect golang.org/x/text v0.21.0 // indirect ) diff --git a/gormlite/go.sum b/gormlite/go.sum index d752bc5e..6ef0eb61 100644 --- a/gormlite/go.sum +++ b/gormlite/go.sum @@ -2,14 +2,14 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/ncruces/go-sqlite3 v0.21.0 h1:EwKFoy1hHEopN4sFZarmi+McXdbCcbTuLixhEayXVbQ= -github.com/ncruces/go-sqlite3 v0.21.0/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= +github.com/ncruces/go-sqlite3 v0.21.3 h1:hHkfNQLcbnxPJZhC/RGw9SwP3bfkv/Y0xUHWsr1CdMQ= +github.com/ncruces/go-sqlite3 v0.21.3/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= github.com/ncruces/julianday v1.0.0/go.mod h1:Dusn2KvZrrovOMJuOt0TNXL6tB7U2E8kvza5fFc9G7g= github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4= github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=