changeset 59466:b30ee5972c61

8245959: Extend String concat testing to account for folded constants Reviewed-by: psandoz
author redestad
date Thu, 28 May 2020 00:34:41 +0200
parents 99b3e9be062a
children 6150c0ab4ffa
files test/jdk/java/lang/String/concat/ImplicitStringConcatShapes-head.template test/jdk/java/lang/String/concat/ImplicitStringConcatShapes.java test/jdk/java/lang/String/concat/ImplicitStringConcatShapesTestGen.java
diffstat 3 files changed, 16241 insertions(+), 4696 deletions(-) [+]
line wrap: on
line diff
--- a/test/jdk/java/lang/String/concat/ImplicitStringConcatShapes-head.template	Wed May 27 14:31:23 2020 -0700
+++ b/test/jdk/java/lang/String/concat/ImplicitStringConcatShapes-head.template	Thu May 28 00:34:41 2020 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /**
  * @test
  * @summary Test implicit String concatenations, multiple shapes.
+ * @bug 8148483 8245959
  *
  * @compile ImplicitStringConcatShapes.java
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
@@ -32,7 +33,7 @@
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
  *
  * @compile -XDstringConcat=indy ImplicitStringConcatShapes.java
- * @run main/othervm ImplicitStringConcatShapes
+ * @run main/othervm -Xverify:all ImplicitStringConcatShapes
  *
  * @compile -XDstringConcat=indyWithConstants ImplicitStringConcatShapes.java
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
--- a/test/jdk/java/lang/String/concat/ImplicitStringConcatShapes.java	Wed May 27 14:31:23 2020 -0700
+++ b/test/jdk/java/lang/String/concat/ImplicitStringConcatShapes.java	Thu May 28 00:34:41 2020 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
 /**
  * @test
  * @summary Test implicit String concatenations, multiple shapes.
+ * @bug 8148483 8245959
  *
  * @compile ImplicitStringConcatShapes.java
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
@@ -32,7 +33,7 @@
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
  *
  * @compile -XDstringConcat=indy ImplicitStringConcatShapes.java
- * @run main/othervm ImplicitStringConcatShapes
+ * @run main/othervm -Xverify:all ImplicitStringConcatShapes
  *
  * @compile -XDstringConcat=indyWithConstants ImplicitStringConcatShapes.java
  * @run main/othervm -Xverify:all ImplicitStringConcatShapes
@@ -154,5724 +155,17247 @@
         run3();
         run4();
         run5();
+        run6();
+        run7();
+        run8();
+        run9();
+        run10();
+        run11();
+        run12();
+        run13();
+        run14();
+        run15();
+        run16();
+        run17();
     }
 
     public void run0() {
         test("-96.0", "" + s_dM);
+        test("prefix-96.0", "prefix" + s_dM);
+        test("-96.0suffix", s_dM + "suffix");
+        test("prefix-96.0suffix", "prefix" + s_dM + "suffix");
         test("null", "" + s_oNtS);
+        test("prefixnull", "prefix" + s_oNtS);
+        test("nullsuffix", s_oNtS + "suffix");
+        test("prefixnullsuffix", "prefix" + s_oNtS + "suffix");
         test("\u045176", "" + f_strU);
+        test("prefix\u045176", "prefix" + f_strU);
+        test("\u045176suffix", f_strU + "suffix");
+        test("prefix\u045176suffix", "prefix" + f_strU + "suffix");
         test("92", "" + sf_strU2);
+        test("prefix92", "prefix" + sf_strU2);
+        test("92suffix", sf_strU2 + "suffix");
+        test("prefix92suffix", "prefix" + sf_strU2 + "suffix");
         test("51", "" + sf_strU1);
+        test("prefix51", "prefix" + sf_strU1);
+        test("51suffix", sf_strU1 + "suffix");
+        test("prefix51suffix", "prefix" + sf_strU1 + "suffix");
         test("null", "" + s_iAN);
+        test("prefixnull", "prefix" + s_iAN);
+        test("nullsuffix", s_iAN + "suffix");
+        test("prefixnullsuffix", "prefix" + s_iAN + "suffix");
         test("-54", "" + f_bM);
+        test("prefix-54", "prefix" + f_bM);
+        test("-54suffix", f_bM + "suffix");
+        test("prefix-54suffix", "prefix" + f_bM + "suffix");
         test("-87.0", "" + f_fM);
+        test("prefix-87.0", "prefix" + f_fM);
+        test("-87.0suffix", f_fM + "suffix");
+        test("prefix-87.0suffix", "prefix" + f_fM + "suffix");
         test("null", "" + s_oAN);
+        test("prefixnull", "prefix" + s_oAN);
+        test("nullsuffix", s_oAN + "suffix");
+        test("prefixnullsuffix", "prefix" + s_oAN + "suffix");
         test("19", "" + f_str);
+        test("prefix19", "prefix" + f_str);
+        test("19suffix", f_str + "suffix");
+        test("prefix19suffix", "prefix" + f_str + "suffix");
         test("-41", "" + sf_bM);
+        test("prefix-41", "prefix" + sf_bM);
+        test("-41suffix", sf_bM + "suffix");
+        test("prefix-41suffix", "prefix" + sf_bM + "suffix");
         test("null", "" + sf_IN);
+        test("prefixnull", "prefix" + sf_IN);
+        test("nullsuffix", sf_IN + "suffix");
+        test("prefixnullsuffix", "prefix" + sf_IN + "suffix");
         test("T", "" + s_c);
+        test("prefixT", "prefix" + s_c);
+        test("Tsuffix", s_c + "suffix");
+        test("prefixTsuffix", "prefix" + s_c + "suffix");
         test("-42.0", "" + sf_fM);
+        test("prefix-42.0", "prefix" + sf_fM);
+        test("-42.0suffix", sf_fM + "suffix");
+        test("prefix-42.0suffix", "prefix" + sf_fM + "suffix");
         test("25", "" + s_b);
+        test("prefix25", "prefix" + s_b);
+        test("25suffix", s_b + "suffix");
+        test("prefix25suffix", "prefix" + s_b + "suffix");
         test("null", "" + f_oN);
+        test("prefixnull", "prefix" + f_oN);
+        test("nullsuffix", f_oN + "suffix");
+        test("prefixnullsuffix", "prefix" + f_oN + "suffix");
         test("-1410065408", "" + s_lM);
+        test("prefix-1410065408", "prefix" + s_lM);
+        test("-1410065408suffix", s_lM + "suffix");
+        test("prefix-1410065408suffix", "prefix" + s_lM + "suffix");
         test("8.0", "" + s_d);
+        test("prefix8.0", "prefix" + s_d);
+        test("8.0suffix", s_d + "suffix");
+        test("prefix8.0suffix", "prefix" + s_d + "suffix");
         test("55.0", "" + s_f);
+        test("prefix55.0", "prefix" + s_f);
+        test("55.0suffix", s_f + "suffix");
+        test("prefix55.0suffix", "prefix" + s_f + "suffix");
         test("97000000", "" + s_i);
+        test("prefix97000000", "prefix" + s_i);
+        test("97000000suffix", s_i + "suffix");
+        test("prefix97000000suffix", "prefix" + s_i + "suffix");
         test("-9900", "" + f_sM);
+        test("prefix-9900", "prefix" + f_sM);
+        test("-9900suffix", f_sM + "suffix");
+        test("prefix-9900suffix", "prefix" + f_sM + "suffix");
         test("935228928", "" + s_l);
+        test("prefix935228928", "prefix" + s_l);
+        test("935228928suffix", s_l + "suffix");
+        test("prefix935228928suffix", "prefix" + s_l + "suffix");
         test("-8400", "" + sf_sM);
+        test("prefix-8400", "prefix" + sf_sM);
+        test("-8400suffix", sf_sM + "suffix");
+        test("prefix-8400suffix", "prefix" + sf_sM + "suffix");
         test("C(82)", "" + s_o);
+        test("prefixC(82)", "prefix" + s_o);
+        test("C(82)suffix", s_o + "suffix");
+        test("prefixC(82)suffix", "prefix" + s_o + "suffix");
         test("null", "" + sf_oNtS);
+        test("prefixnull", "prefix" + sf_oNtS);
+        test("nullsuffix", sf_oNtS + "suffix");
+        test("prefixnullsuffix", "prefix" + sf_oNtS + "suffix");
         test("true", "" + s_bl);
+        test("prefixtrue", "prefix" + s_bl);
+        test("truesuffix", s_bl + "suffix");
+        test("prefixtruesuffix", "prefix" + s_bl + "suffix");
         test("3900", "" + s_s);
+        test("prefix3900", "prefix" + s_s);
+        test("3900suffix", s_s + "suffix");
+        test("prefix3900suffix", "prefix" + s_s + "suffix");
         test("null", "" + sf_oN);
+        test("prefixnull", "prefix" + sf_oN);
+        test("nullsuffix", sf_oN + "suffix");
+        test("prefixnullsuffix", "prefix" + sf_oN + "suffix");
         test("94000000", "" + f_I);
+        test("prefix94000000", "prefix" + f_I);
+        test("94000000suffix", f_I + "suffix");
+        test("prefix94000000suffix", "prefix" + f_I + "suffix");
         test("null", "" + f_IN);
+        test("prefixnull", "prefix" + f_IN);
+        test("nullsuffix", f_IN + "suffix");
+        test("prefixnullsuffix", "prefix" + f_IN + "suffix");
         test("true", "" + sf_bl);
+        test("prefixtrue", "prefix" + sf_bl);
+        test("truesuffix", sf_bl + "suffix");
+        test("prefixtruesuffix", "prefix" + sf_bl + "suffix");
         test("5500", "" + sf_s);
+        test("prefix5500", "prefix" + sf_s);
+        test("5500suffix", sf_s + "suffix");
+        test("prefix5500suffix", "prefix" + sf_s + "suffix");
         test("-2900", "" + s_sM);
+        test("prefix-2900", "prefix" + s_sM);
+        test("-2900suffix", s_sM + "suffix");
+        test("prefix-2900suffix", "prefix" + s_sM + "suffix");
         test("-194313216", "" + sf_l);
+        test("prefix-194313216", "prefix" + sf_l);
+        test("-194313216suffix", sf_l + "suffix");
+        test("prefix-194313216suffix", "prefix" + sf_l + "suffix");
         test("12", "" + s_strU1);
+        test("prefix12", "prefix" + s_strU1);
+        test("12suffix", s_strU1 + "suffix");
+        test("prefix12suffix", "prefix" + s_strU1 + "suffix");
         test("C(87)", "" + sf_o);
+        test("prefixC(87)", "prefix" + sf_o);
+        test("C(87)suffix", sf_o + "suffix");
+        test("prefixC(87)suffix", "prefix" + sf_o + "suffix");
         test("91", "" + s_strU2);
+        test("prefix91", "prefix" + s_strU2);
+        test("91suffix", s_strU2 + "suffix");
+        test("prefix91suffix", "prefix" + s_strU2 + "suffix");
         test("21", "" + f_strU1);
+        test("prefix21", "prefix" + f_strU1);
+        test("21suffix", f_strU1 + "suffix");
+        test("prefix21suffix", "prefix" + f_strU1 + "suffix");
         test("18", "" + f_strU2);
+        test("prefix18", "prefix" + f_strU2);
+        test("18suffix", f_strU2 + "suffix");
+        test("prefix18suffix", "prefix" + f_strU2 + "suffix");
         test("null", "" + f_iAN);
+        test("prefixnull", "prefix" + f_iAN);
+        test("nullsuffix", f_iAN + "suffix");
+        test("prefixnullsuffix", "prefix" + f_iAN + "suffix");
         test("null", "" + s_oN);
+        test("prefixnull", "prefix" + s_oN);
+        test("nullsuffix", s_oN + "suffix");
+        test("prefixnullsuffix", "prefix" + s_oN + "suffix");
         test("\u045180", "" + s_strU);
+        test("prefix\u045180", "prefix" + s_strU);
+        test("\u045180suffix", s_strU + "suffix");
+        test("prefix\u045180suffix", "prefix" + s_strU + "suffix");
         test("C", "" + sf_c);
+        test("prefixC", "prefix" + sf_c);
+        test("Csuffix", sf_c + "suffix");
+        test("prefixCsuffix", "prefix" + sf_c + "suffix");
         test("75", "" + sf_str);
+        test("prefix75", "prefix" + sf_str);
+        test("75suffix", sf_str + "suffix");
+        test("prefix75suffix", "prefix" + sf_str + "suffix");
         test("-43", "" + s_bM);
+        test("prefix-43", "prefix" + s_bM);
+        test("-43suffix", s_bM + "suffix");
+        test("prefix-43suffix", "prefix" + s_bM + "suffix");
         test("80", "" + sf_b);
+        test("prefix80", "prefix" + sf_b);
+        test("80suffix", sf_b + "suffix");
+        test("prefix80suffix", "prefix" + sf_b + "suffix");
         test("null", "" + s_IN);
+        test("prefixnull", "prefix" + s_IN);
+        test("nullsuffix", s_IN + "suffix");
+        test("prefixnullsuffix", "prefix" + s_IN + "suffix");
         test("-52.0", "" + s_fM);
+        test("prefix-52.0", "prefix" + s_fM);
+        test("-52.0suffix", s_fM + "suffix");
+        test("prefix-52.0suffix", "prefix" + s_fM + "suffix");
         test("75000000", "" + sf_i);
+        test("prefix75000000", "prefix" + sf_i);
+        test("75000000suffix", sf_i + "suffix");
+        test("prefix75000000suffix", "prefix" + sf_i + "suffix");
         test("44", "" + f_b);
+        test("prefix44", "prefix" + f_b);
+        test("44suffix", f_b + "suffix");
+        test("prefix44suffix", "prefix" + f_b + "suffix");
         test("-1705032704", "" + sf_lM);
+        test("prefix-1705032704", "prefix" + sf_lM);
+        test("-1705032704suffix", sf_lM + "suffix");
+        test("prefix-1705032704suffix", "prefix" + sf_lM + "suffix");
         test("null", "" + f_oAN);
+        test("prefixnull", "prefix" + f_oAN);
+        test("nullsuffix", f_oAN + "suffix");
+        test("prefixnullsuffix", "prefix" + f_oAN + "suffix");
         test("83.0", "" + f_d);
+        test("prefix83.0", "prefix" + f_d);
+        test("83.0suffix", f_d + "suffix");
+        test("prefix83.0suffix", "prefix" + f_d + "suffix");
         test("I", "" + f_c);
+        test("prefixI", "prefix" + f_c);
+        test("Isuffix", f_c + "suffix");
+        test("prefixIsuffix", "prefix" + f_c + "suffix");
         test("94.0", "" + f_f);
+        test("prefix94.0", "prefix" + f_f);
+        test("94.0suffix", f_f + "suffix");
+        test("prefix94.0suffix", "prefix" + f_f + "suffix");
         test("12.0", "" + sf_d);
+        test("prefix12.0", "prefix" + sf_d);
+        test("12.0suffix", sf_d + "suffix");
+        test("prefix12.0suffix", "prefix" + sf_d + "suffix");
         test("-99.0", "" + f_dM);
+        test("prefix-99.0", "prefix" + f_dM);
+        test("-99.0suffix", f_dM + "suffix");
+        test("prefix-99.0suffix", "prefix" + f_dM + "suffix");
         test("17.0", "" + sf_f);
+        test("prefix17.0", "prefix" + sf_f);
+        test("17.0suffix", sf_f + "suffix");
+        test("prefix17.0suffix", "prefix" + sf_f + "suffix");
         test("-84.0", "" + sf_dM);
+        test("prefix-84.0", "prefix" + sf_dM);
+        test("-84.0suffix", sf_dM + "suffix");
+        test("prefix-84.0suffix", "prefix" + sf_dM + "suffix");
         test("58000000", "" + f_i);
+        test("prefix58000000", "prefix" + f_i);
+        test("58000000suffix", f_i + "suffix");
+        test("prefix58000000suffix", "prefix" + f_i + "suffix");
         test("-55000000", "" + f_iM);
+        test("prefix-55000000", "prefix" + f_iM);
+        test("-55000000suffix", f_iM + "suffix");
+        test("prefix-55000000suffix", "prefix" + f_iM + "suffix");
         test("1460392448", "" + f_l);
+        test("prefix1460392448", "prefix" + f_l);
+        test("1460392448suffix", f_l + "suffix");
+        test("prefix1460392448suffix", "prefix" + f_l + "suffix");
         test("C(70)", "" + f_o);
+        test("prefixC(70)", "prefix" + f_o);
+        test("C(70)suffix", f_o + "suffix");
+        test("prefixC(70)suffix", "prefix" + f_o + "suffix");
         test("\u04511", "" + sf_strU);
+        test("prefix\u04511", "prefix" + sf_strU);
+        test("\u04511suffix", sf_strU + "suffix");
+        test("prefix\u04511suffix", "prefix" + sf_strU + "suffix");
         test("8000", "" + f_s);
+        test("prefix8000", "prefix" + f_s);
+        test("8000suffix", f_s + "suffix");
+        test("prefix8000suffix", "prefix" + f_s + "suffix");
         test("18", "" + s_str);
+        test("prefix18", "prefix" + s_str);
+        test("18suffix", s_str + "suffix");
+        test("prefix18suffix", "prefix" + s_str + "suffix");
         test("-1000000", "" + s_iM);
+        test("prefix-1000000", "prefix" + s_iM);
+        test("-1000000suffix", s_iM + "suffix");
+        test("prefix-1000000suffix", "prefix" + s_iM + "suffix");
         test("1000000", "" + sf_I);
+        test("prefix1000000", "prefix" + sf_I);
+        test("1000000suffix", sf_I + "suffix");
+        test("prefix1000000suffix", "prefix" + sf_I + "suffix");
         test("null", "" + f_oNtS);
+        test("prefixnull", "prefix" + f_oNtS);
+        test("nullsuffix", f_oNtS + "suffix");
+        test("prefixnullsuffix", "prefix" + f_oNtS + "suffix");
         test("false", "" + f_bl);
+        test("prefixfalse", "prefix" + f_bl);
+        test("falsesuffix", f_bl + "suffix");
+        test("prefixfalsesuffix", "prefix" + f_bl + "suffix");
         test("null", "" + sf_iAN);
+        test("prefixnull", "prefix" + sf_iAN);
+        test("nullsuffix", sf_iAN + "suffix");
+        test("prefixnullsuffix", "prefix" + sf_iAN + "suffix");
         test("-2000000", "" + sf_iM);
+        test("prefix-2000000", "prefix" + sf_iM);
+        test("-2000000suffix", sf_iM + "suffix");
+        test("prefix-2000000suffix", "prefix" + sf_iM + "suffix");
         test("-820130816", "" + f_lM);
+        test("prefix-820130816", "prefix" + f_lM);
+        test("-820130816suffix", f_lM + "suffix");
+        test("prefix-820130816suffix", "prefix" + f_lM + "suffix");
         test("null", "" + sf_oAN);
+        test("prefixnull", "prefix" + sf_oAN);
+        test("nullsuffix", sf_oAN + "suffix");
+        test("prefixnullsuffix", "prefix" + sf_oAN + "suffix");
         test("25000000", "" + s_I);
+        test("prefix25000000", "prefix" + s_I);
+        test("25000000suffix", s_I + "suffix");
+        test("prefix25000000suffix", "prefix" + s_I + "suffix");
         test("-96.0-96.0", "" + s_dM + s_dM);
+        test("-96.0-96.0suffix", "" + s_dM + s_dM + "suffix");
+        test("prefix-96.0suffix1-96.0suffix2", "prefix" + s_dM + "suffix1" + s_dM + "suffix2");
         test("-96.0null", "" + s_dM + s_oNtS);
+        test("-96.0nullsuffix", "" + s_dM + s_oNtS + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + s_oNtS + "suffix2");
         test("-96.0\u045176", "" + s_dM + f_strU);
+        test("-96.0\u045176suffix", "" + s_dM + f_strU + "suffix");
+        test("prefix-96.0suffix1\u045176suffix2", "prefix" + s_dM + "suffix1" + f_strU + "suffix2");
         test("-96.092", "" + s_dM + sf_strU2);
+        test("-96.092suffix", "" + s_dM + sf_strU2 + "suffix");
+        test("prefix-96.0suffix192suffix2", "prefix" + s_dM + "suffix1" + sf_strU2 + "suffix2");
         test("-96.051", "" + s_dM + sf_strU1);
+        test("-96.051suffix", "" + s_dM + sf_strU1 + "suffix");
+        test("prefix-96.0suffix151suffix2", "prefix" + s_dM + "suffix1" + sf_strU1 + "suffix2");
         test("-96.0null", "" + s_dM + s_iAN);
+        test("-96.0nullsuffix", "" + s_dM + s_iAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + s_iAN + "suffix2");
         test("-96.0-54", "" + s_dM + f_bM);
+        test("-96.0-54suffix", "" + s_dM + f_bM + "suffix");
+        test("prefix-96.0suffix1-54suffix2", "prefix" + s_dM + "suffix1" + f_bM + "suffix2");
         test("-96.0-87.0", "" + s_dM + f_fM);
+        test("-96.0-87.0suffix", "" + s_dM + f_fM + "suffix");
+        test("prefix-96.0suffix1-87.0suffix2", "prefix" + s_dM + "suffix1" + f_fM + "suffix2");
         test("-96.0null", "" + s_dM + s_oAN);
+        test("-96.0nullsuffix", "" + s_dM + s_oAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + s_oAN + "suffix2");
         test("-96.019", "" + s_dM + f_str);
+        test("-96.019suffix", "" + s_dM + f_str + "suffix");
+        test("prefix-96.0suffix119suffix2", "prefix" + s_dM + "suffix1" + f_str + "suffix2");
         test("-96.0-41", "" + s_dM + sf_bM);
+        test("-96.0-41suffix", "" + s_dM + sf_bM + "suffix");
+        test("prefix-96.0suffix1-41suffix2", "prefix" + s_dM + "suffix1" + sf_bM + "suffix2");
         test("-96.0null", "" + s_dM + sf_IN);
+        test("-96.0nullsuffix", "" + s_dM + sf_IN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + sf_IN + "suffix2");
         test("-96.0T", "" + s_dM + s_c);
+        test("-96.0Tsuffix", "" + s_dM + s_c + "suffix");
+        test("prefix-96.0suffix1Tsuffix2", "prefix" + s_dM + "suffix1" + s_c + "suffix2");
         test("-96.0-42.0", "" + s_dM + sf_fM);
+        test("-96.0-42.0suffix", "" + s_dM + sf_fM + "suffix");
+        test("prefix-96.0suffix1-42.0suffix2", "prefix" + s_dM + "suffix1" + sf_fM + "suffix2");
         test("-96.025", "" + s_dM + s_b);
+        test("-96.025suffix", "" + s_dM + s_b + "suffix");
+        test("prefix-96.0suffix125suffix2", "prefix" + s_dM + "suffix1" + s_b + "suffix2");
         test("-96.0null", "" + s_dM + f_oN);
+        test("-96.0nullsuffix", "" + s_dM + f_oN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + f_oN + "suffix2");
         test("-96.0-1410065408", "" + s_dM + s_lM);
+        test("-96.0-1410065408suffix", "" + s_dM + s_lM + "suffix");
+        test("prefix-96.0suffix1-1410065408suffix2", "prefix" + s_dM + "suffix1" + s_lM + "suffix2");
         test("-96.08.0", "" + s_dM + s_d);
+        test("-96.08.0suffix", "" + s_dM + s_d + "suffix");
+        test("prefix-96.0suffix18.0suffix2", "prefix" + s_dM + "suffix1" + s_d + "suffix2");
         test("-96.055.0", "" + s_dM + s_f);
+        test("-96.055.0suffix", "" + s_dM + s_f + "suffix");
+        test("prefix-96.0suffix155.0suffix2", "prefix" + s_dM + "suffix1" + s_f + "suffix2");
         test("-96.097000000", "" + s_dM + s_i);
+        test("-96.097000000suffix", "" + s_dM + s_i + "suffix");
+        test("prefix-96.0suffix197000000suffix2", "prefix" + s_dM + "suffix1" + s_i + "suffix2");
         test("-96.0-9900", "" + s_dM + f_sM);
+        test("-96.0-9900suffix", "" + s_dM + f_sM + "suffix");
+        test("prefix-96.0suffix1-9900suffix2", "prefix" + s_dM + "suffix1" + f_sM + "suffix2");
         test("-96.0935228928", "" + s_dM + s_l);
+        test("-96.0935228928suffix", "" + s_dM + s_l + "suffix");
+        test("prefix-96.0suffix1935228928suffix2", "prefix" + s_dM + "suffix1" + s_l + "suffix2");
         test("-96.0-8400", "" + s_dM + sf_sM);
+        test("-96.0-8400suffix", "" + s_dM + sf_sM + "suffix");
+        test("prefix-96.0suffix1-8400suffix2", "prefix" + s_dM + "suffix1" + sf_sM + "suffix2");
         test("-96.0C(82)", "" + s_dM + s_o);
+        test("-96.0C(82)suffix", "" + s_dM + s_o + "suffix");
+        test("prefix-96.0suffix1C(82)suffix2", "prefix" + s_dM + "suffix1" + s_o + "suffix2");
         test("-96.0null", "" + s_dM + sf_oNtS);
+        test("-96.0nullsuffix", "" + s_dM + sf_oNtS + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + sf_oNtS + "suffix2");
         test("-96.0true", "" + s_dM + s_bl);
+        test("-96.0truesuffix", "" + s_dM + s_bl + "suffix");
+        test("prefix-96.0suffix1truesuffix2", "prefix" + s_dM + "suffix1" + s_bl + "suffix2");
         test("-96.03900", "" + s_dM + s_s);
+        test("-96.03900suffix", "" + s_dM + s_s + "suffix");
+        test("prefix-96.0suffix13900suffix2", "prefix" + s_dM + "suffix1" + s_s + "suffix2");
         test("-96.0null", "" + s_dM + sf_oN);
+        test("-96.0nullsuffix", "" + s_dM + sf_oN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + sf_oN + "suffix2");
         test("-96.094000000", "" + s_dM + f_I);
+        test("-96.094000000suffix", "" + s_dM + f_I + "suffix");
+        test("prefix-96.0suffix194000000suffix2", "prefix" + s_dM + "suffix1" + f_I + "suffix2");
         test("-96.0null", "" + s_dM + f_IN);
+        test("-96.0nullsuffix", "" + s_dM + f_IN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + f_IN + "suffix2");
         test("-96.0true", "" + s_dM + sf_bl);
+        test("-96.0truesuffix", "" + s_dM + sf_bl + "suffix");
+        test("prefix-96.0suffix1truesuffix2", "prefix" + s_dM + "suffix1" + sf_bl + "suffix2");
         test("-96.05500", "" + s_dM + sf_s);
+        test("-96.05500suffix", "" + s_dM + sf_s + "suffix");
+        test("prefix-96.0suffix15500suffix2", "prefix" + s_dM + "suffix1" + sf_s + "suffix2");
         test("-96.0-2900", "" + s_dM + s_sM);
+        test("-96.0-2900suffix", "" + s_dM + s_sM + "suffix");
+        test("prefix-96.0suffix1-2900suffix2", "prefix" + s_dM + "suffix1" + s_sM + "suffix2");
         test("-96.0-194313216", "" + s_dM + sf_l);
+        test("-96.0-194313216suffix", "" + s_dM + sf_l + "suffix");
+        test("prefix-96.0suffix1-194313216suffix2", "prefix" + s_dM + "suffix1" + sf_l + "suffix2");
         test("-96.012", "" + s_dM + s_strU1);
+        test("-96.012suffix", "" + s_dM + s_strU1 + "suffix");
+        test("prefix-96.0suffix112suffix2", "prefix" + s_dM + "suffix1" + s_strU1 + "suffix2");
         test("-96.0C(87)", "" + s_dM + sf_o);
+        test("-96.0C(87)suffix", "" + s_dM + sf_o + "suffix");
+        test("prefix-96.0suffix1C(87)suffix2", "prefix" + s_dM + "suffix1" + sf_o + "suffix2");
         test("-96.091", "" + s_dM + s_strU2);
+        test("-96.091suffix", "" + s_dM + s_strU2 + "suffix");
+        test("prefix-96.0suffix191suffix2", "prefix" + s_dM + "suffix1" + s_strU2 + "suffix2");
         test("-96.021", "" + s_dM + f_strU1);
+        test("-96.021suffix", "" + s_dM + f_strU1 + "suffix");
+        test("prefix-96.0suffix121suffix2", "prefix" + s_dM + "suffix1" + f_strU1 + "suffix2");
         test("-96.018", "" + s_dM + f_strU2);
+        test("-96.018suffix", "" + s_dM + f_strU2 + "suffix");
+        test("prefix-96.0suffix118suffix2", "prefix" + s_dM + "suffix1" + f_strU2 + "suffix2");
         test("-96.0null", "" + s_dM + f_iAN);
+        test("-96.0nullsuffix", "" + s_dM + f_iAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + f_iAN + "suffix2");
         test("-96.0null", "" + s_dM + s_oN);
+        test("-96.0nullsuffix", "" + s_dM + s_oN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + s_oN + "suffix2");
         test("-96.0\u045180", "" + s_dM + s_strU);
+        test("-96.0\u045180suffix", "" + s_dM + s_strU + "suffix");
+        test("prefix-96.0suffix1\u045180suffix2", "prefix" + s_dM + "suffix1" + s_strU + "suffix2");
         test("-96.0C", "" + s_dM + sf_c);
+        test("-96.0Csuffix", "" + s_dM + sf_c + "suffix");
+        test("prefix-96.0suffix1Csuffix2", "prefix" + s_dM + "suffix1" + sf_c + "suffix2");
         test("-96.075", "" + s_dM + sf_str);
+        test("-96.075suffix", "" + s_dM + sf_str + "suffix");
+        test("prefix-96.0suffix175suffix2", "prefix" + s_dM + "suffix1" + sf_str + "suffix2");
         test("-96.0-43", "" + s_dM + s_bM);
+        test("-96.0-43suffix", "" + s_dM + s_bM + "suffix");
+        test("prefix-96.0suffix1-43suffix2", "prefix" + s_dM + "suffix1" + s_bM + "suffix2");
         test("-96.080", "" + s_dM + sf_b);
+        test("-96.080suffix", "" + s_dM + sf_b + "suffix");
+        test("prefix-96.0suffix180suffix2", "prefix" + s_dM + "suffix1" + sf_b + "suffix2");
         test("-96.0null", "" + s_dM + s_IN);
+        test("-96.0nullsuffix", "" + s_dM + s_IN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + s_IN + "suffix2");
         test("-96.0-52.0", "" + s_dM + s_fM);
+        test("-96.0-52.0suffix", "" + s_dM + s_fM + "suffix");
+        test("prefix-96.0suffix1-52.0suffix2", "prefix" + s_dM + "suffix1" + s_fM + "suffix2");
         test("-96.075000000", "" + s_dM + sf_i);
+        test("-96.075000000suffix", "" + s_dM + sf_i + "suffix");
+        test("prefix-96.0suffix175000000suffix2", "prefix" + s_dM + "suffix1" + sf_i + "suffix2");
         test("-96.044", "" + s_dM + f_b);
+        test("-96.044suffix", "" + s_dM + f_b + "suffix");
+        test("prefix-96.0suffix144suffix2", "prefix" + s_dM + "suffix1" + f_b + "suffix2");
         test("-96.0-1705032704", "" + s_dM + sf_lM);
+        test("-96.0-1705032704suffix", "" + s_dM + sf_lM + "suffix");
+        test("prefix-96.0suffix1-1705032704suffix2", "prefix" + s_dM + "suffix1" + sf_lM + "suffix2");
         test("-96.0null", "" + s_dM + f_oAN);
+        test("-96.0nullsuffix", "" + s_dM + f_oAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + f_oAN + "suffix2");
         test("-96.083.0", "" + s_dM + f_d);
+        test("-96.083.0suffix", "" + s_dM + f_d + "suffix");
+        test("prefix-96.0suffix183.0suffix2", "prefix" + s_dM + "suffix1" + f_d + "suffix2");
         test("-96.0I", "" + s_dM + f_c);
+        test("-96.0Isuffix", "" + s_dM + f_c + "suffix");
+        test("prefix-96.0suffix1Isuffix2", "prefix" + s_dM + "suffix1" + f_c + "suffix2");
         test("-96.094.0", "" + s_dM + f_f);
+        test("-96.094.0suffix", "" + s_dM + f_f + "suffix");
+        test("prefix-96.0suffix194.0suffix2", "prefix" + s_dM + "suffix1" + f_f + "suffix2");
         test("-96.012.0", "" + s_dM + sf_d);
+        test("-96.012.0suffix", "" + s_dM + sf_d + "suffix");
+        test("prefix-96.0suffix112.0suffix2", "prefix" + s_dM + "suffix1" + sf_d + "suffix2");
         test("-96.0-99.0", "" + s_dM + f_dM);
+        test("-96.0-99.0suffix", "" + s_dM + f_dM + "suffix");
+        test("prefix-96.0suffix1-99.0suffix2", "prefix" + s_dM + "suffix1" + f_dM + "suffix2");
         test("-96.017.0", "" + s_dM + sf_f);
+        test("-96.017.0suffix", "" + s_dM + sf_f + "suffix");
+        test("prefix-96.0suffix117.0suffix2", "prefix" + s_dM + "suffix1" + sf_f + "suffix2");
         test("-96.0-84.0", "" + s_dM + sf_dM);
+        test("-96.0-84.0suffix", "" + s_dM + sf_dM + "suffix");
+        test("prefix-96.0suffix1-84.0suffix2", "prefix" + s_dM + "suffix1" + sf_dM + "suffix2");
         test("-96.058000000", "" + s_dM + f_i);
+        test("-96.058000000suffix", "" + s_dM + f_i + "suffix");
+        test("prefix-96.0suffix158000000suffix2", "prefix" + s_dM + "suffix1" + f_i + "suffix2");
         test("-96.0-55000000", "" + s_dM + f_iM);
+        test("-96.0-55000000suffix", "" + s_dM + f_iM + "suffix");
+        test("prefix-96.0suffix1-55000000suffix2", "prefix" + s_dM + "suffix1" + f_iM + "suffix2");
         test("-96.01460392448", "" + s_dM + f_l);
+        test("-96.01460392448suffix", "" + s_dM + f_l + "suffix");
+        test("prefix-96.0suffix11460392448suffix2", "prefix" + s_dM + "suffix1" + f_l + "suffix2");
         test("-96.0C(70)", "" + s_dM + f_o);
+        test("-96.0C(70)suffix", "" + s_dM + f_o + "suffix");
+        test("prefix-96.0suffix1C(70)suffix2", "prefix" + s_dM + "suffix1" + f_o + "suffix2");
         test("-96.0\u04511", "" + s_dM + sf_strU);
+        test("-96.0\u04511suffix", "" + s_dM + sf_strU + "suffix");
+        test("prefix-96.0suffix1\u04511suffix2", "prefix" + s_dM + "suffix1" + sf_strU + "suffix2");
         test("-96.08000", "" + s_dM + f_s);
+        test("-96.08000suffix", "" + s_dM + f_s + "suffix");
+        test("prefix-96.0suffix18000suffix2", "prefix" + s_dM + "suffix1" + f_s + "suffix2");
         test("-96.018", "" + s_dM + s_str);
+        test("-96.018suffix", "" + s_dM + s_str + "suffix");
+        test("prefix-96.0suffix118suffix2", "prefix" + s_dM + "suffix1" + s_str + "suffix2");
         test("-96.0-1000000", "" + s_dM + s_iM);
+        test("-96.0-1000000suffix", "" + s_dM + s_iM + "suffix");
+        test("prefix-96.0suffix1-1000000suffix2", "prefix" + s_dM + "suffix1" + s_iM + "suffix2");
         test("-96.01000000", "" + s_dM + sf_I);
+        test("-96.01000000suffix", "" + s_dM + sf_I + "suffix");
+        test("prefix-96.0suffix11000000suffix2", "prefix" + s_dM + "suffix1" + sf_I + "suffix2");
         test("-96.0null", "" + s_dM + f_oNtS);
+        test("-96.0nullsuffix", "" + s_dM + f_oNtS + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + f_oNtS + "suffix2");
         test("-96.0false", "" + s_dM + f_bl);
+        test("-96.0falsesuffix", "" + s_dM + f_bl + "suffix");
+        test("prefix-96.0suffix1falsesuffix2", "prefix" + s_dM + "suffix1" + f_bl + "suffix2");
         test("-96.0null", "" + s_dM + sf_iAN);
+        test("-96.0nullsuffix", "" + s_dM + sf_iAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + sf_iAN + "suffix2");
         test("-96.0-2000000", "" + s_dM + sf_iM);
+        test("-96.0-2000000suffix", "" + s_dM + sf_iM + "suffix");
+        test("prefix-96.0suffix1-2000000suffix2", "prefix" + s_dM + "suffix1" + sf_iM + "suffix2");
         test("-96.0-820130816", "" + s_dM + f_lM);
+        test("-96.0-820130816suffix", "" + s_dM + f_lM + "suffix");
+        test("prefix-96.0suffix1-820130816suffix2", "prefix" + s_dM + "suffix1" + f_lM + "suffix2");
         test("-96.0null", "" + s_dM + sf_oAN);
+        test("-96.0nullsuffix", "" + s_dM + sf_oAN + "suffix");
+        test("prefix-96.0suffix1nullsuffix2", "prefix" + s_dM + "suffix1" + sf_oAN + "suffix2");
         test("-96.025000000", "" + s_dM + s_I);
+        test("-96.025000000suffix", "" + s_dM + s_I + "suffix");
+        test("prefix-96.0suffix125000000suffix2", "prefix" + s_dM + "suffix1" + s_I + "suffix2");
         test("null-96.0", "" + s_oNtS + s_dM);
+        test("null-96.0suffix", "" + s_oNtS + s_dM + "suffix");
+        test("prefixnullsuffix1-96.0suffix2", "prefix" + s_oNtS + "suffix1" + s_dM + "suffix2");
         test("nullnull", "" + s_oNtS + s_oNtS);
+        test("nullnullsuffix", "" + s_oNtS + s_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + s_oNtS + "suffix2");
         test("null\u045176", "" + s_oNtS + f_strU);
+        test("null\u045176suffix", "" + s_oNtS + f_strU + "suffix");
+        test("prefixnullsuffix1\u045176suffix2", "prefix" + s_oNtS + "suffix1" + f_strU + "suffix2");
         test("null92", "" + s_oNtS + sf_strU2);
+        test("null92suffix", "" + s_oNtS + sf_strU2 + "suffix");
+        test("prefixnullsuffix192suffix2", "prefix" + s_oNtS + "suffix1" + sf_strU2 + "suffix2");
         test("null51", "" + s_oNtS + sf_strU1);
+        test("null51suffix", "" + s_oNtS + sf_strU1 + "suffix");
+        test("prefixnullsuffix151suffix2", "prefix" + s_oNtS + "suffix1" + sf_strU1 + "suffix2");
         test("nullnull", "" + s_oNtS + s_iAN);
+        test("nullnullsuffix", "" + s_oNtS + s_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + s_iAN + "suffix2");
         test("null-54", "" + s_oNtS + f_bM);
+        test("null-54suffix", "" + s_oNtS + f_bM + "suffix");
+        test("prefixnullsuffix1-54suffix2", "prefix" + s_oNtS + "suffix1" + f_bM + "suffix2");
         test("null-87.0", "" + s_oNtS + f_fM);
+        test("null-87.0suffix", "" + s_oNtS + f_fM + "suffix");
+        test("prefixnullsuffix1-87.0suffix2", "prefix" + s_oNtS + "suffix1" + f_fM + "suffix2");
         test("nullnull", "" + s_oNtS + s_oAN);
+        test("nullnullsuffix", "" + s_oNtS + s_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + s_oAN + "suffix2");
         test("null19", "" + s_oNtS + f_str);
+        test("null19suffix", "" + s_oNtS + f_str + "suffix");
+        test("prefixnullsuffix119suffix2", "prefix" + s_oNtS + "suffix1" + f_str + "suffix2");
         test("null-41", "" + s_oNtS + sf_bM);
+        test("null-41suffix", "" + s_oNtS + sf_bM + "suffix");
+        test("prefixnullsuffix1-41suffix2", "prefix" + s_oNtS + "suffix1" + sf_bM + "suffix2");
         test("nullnull", "" + s_oNtS + sf_IN);
+        test("nullnullsuffix", "" + s_oNtS + sf_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + sf_IN + "suffix2");
         test("nullT", "" + s_oNtS + s_c);
+        test("nullTsuffix", "" + s_oNtS + s_c + "suffix");
+        test("prefixnullsuffix1Tsuffix2", "prefix" + s_oNtS + "suffix1" + s_c + "suffix2");
         test("null-42.0", "" + s_oNtS + sf_fM);
+        test("null-42.0suffix", "" + s_oNtS + sf_fM + "suffix");
+        test("prefixnullsuffix1-42.0suffix2", "prefix" + s_oNtS + "suffix1" + sf_fM + "suffix2");
         test("null25", "" + s_oNtS + s_b);
+        test("null25suffix", "" + s_oNtS + s_b + "suffix");
+        test("prefixnullsuffix125suffix2", "prefix" + s_oNtS + "suffix1" + s_b + "suffix2");
         test("nullnull", "" + s_oNtS + f_oN);
+        test("nullnullsuffix", "" + s_oNtS + f_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + f_oN + "suffix2");
         test("null-1410065408", "" + s_oNtS + s_lM);
+        test("null-1410065408suffix", "" + s_oNtS + s_lM + "suffix");
+        test("prefixnullsuffix1-1410065408suffix2", "prefix" + s_oNtS + "suffix1" + s_lM + "suffix2");
         test("null8.0", "" + s_oNtS + s_d);
+        test("null8.0suffix", "" + s_oNtS + s_d + "suffix");
+        test("prefixnullsuffix18.0suffix2", "prefix" + s_oNtS + "suffix1" + s_d + "suffix2");
         test("null55.0", "" + s_oNtS + s_f);
+        test("null55.0suffix", "" + s_oNtS + s_f + "suffix");
+        test("prefixnullsuffix155.0suffix2", "prefix" + s_oNtS + "suffix1" + s_f + "suffix2");
         test("null97000000", "" + s_oNtS + s_i);
+        test("null97000000suffix", "" + s_oNtS + s_i + "suffix");
+        test("prefixnullsuffix197000000suffix2", "prefix" + s_oNtS + "suffix1" + s_i + "suffix2");
         test("null-9900", "" + s_oNtS + f_sM);
+        test("null-9900suffix", "" + s_oNtS + f_sM + "suffix");
+        test("prefixnullsuffix1-9900suffix2", "prefix" + s_oNtS + "suffix1" + f_sM + "suffix2");
         test("null935228928", "" + s_oNtS + s_l);
+        test("null935228928suffix", "" + s_oNtS + s_l + "suffix");
+        test("prefixnullsuffix1935228928suffix2", "prefix" + s_oNtS + "suffix1" + s_l + "suffix2");
         test("null-8400", "" + s_oNtS + sf_sM);
+        test("null-8400suffix", "" + s_oNtS + sf_sM + "suffix");
+        test("prefixnullsuffix1-8400suffix2", "prefix" + s_oNtS + "suffix1" + sf_sM + "suffix2");
         test("nullC(82)", "" + s_oNtS + s_o);
+        test("nullC(82)suffix", "" + s_oNtS + s_o + "suffix");
+        test("prefixnullsuffix1C(82)suffix2", "prefix" + s_oNtS + "suffix1" + s_o + "suffix2");
         test("nullnull", "" + s_oNtS + sf_oNtS);
+        test("nullnullsuffix", "" + s_oNtS + sf_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + sf_oNtS + "suffix2");
         test("nulltrue", "" + s_oNtS + s_bl);
+        test("nulltruesuffix", "" + s_oNtS + s_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_oNtS + "suffix1" + s_bl + "suffix2");
         test("null3900", "" + s_oNtS + s_s);
+        test("null3900suffix", "" + s_oNtS + s_s + "suffix");
+        test("prefixnullsuffix13900suffix2", "prefix" + s_oNtS + "suffix1" + s_s + "suffix2");
         test("nullnull", "" + s_oNtS + sf_oN);
+        test("nullnullsuffix", "" + s_oNtS + sf_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + sf_oN + "suffix2");
         test("null94000000", "" + s_oNtS + f_I);
+        test("null94000000suffix", "" + s_oNtS + f_I + "suffix");
+        test("prefixnullsuffix194000000suffix2", "prefix" + s_oNtS + "suffix1" + f_I + "suffix2");
         test("nullnull", "" + s_oNtS + f_IN);
+        test("nullnullsuffix", "" + s_oNtS + f_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + f_IN + "suffix2");
         test("nulltrue", "" + s_oNtS + sf_bl);
+        test("nulltruesuffix", "" + s_oNtS + sf_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_oNtS + "suffix1" + sf_bl + "suffix2");
         test("null5500", "" + s_oNtS + sf_s);
+        test("null5500suffix", "" + s_oNtS + sf_s + "suffix");
+        test("prefixnullsuffix15500suffix2", "prefix" + s_oNtS + "suffix1" + sf_s + "suffix2");
         test("null-2900", "" + s_oNtS + s_sM);
+        test("null-2900suffix", "" + s_oNtS + s_sM + "suffix");
+        test("prefixnullsuffix1-2900suffix2", "prefix" + s_oNtS + "suffix1" + s_sM + "suffix2");
         test("null-194313216", "" + s_oNtS + sf_l);
+        test("null-194313216suffix", "" + s_oNtS + sf_l + "suffix");
+        test("prefixnullsuffix1-194313216suffix2", "prefix" + s_oNtS + "suffix1" + sf_l + "suffix2");
         test("null12", "" + s_oNtS + s_strU1);
+        test("null12suffix", "" + s_oNtS + s_strU1 + "suffix");
+        test("prefixnullsuffix112suffix2", "prefix" + s_oNtS + "suffix1" + s_strU1 + "suffix2");
         test("nullC(87)", "" + s_oNtS + sf_o);
+        test("nullC(87)suffix", "" + s_oNtS + sf_o + "suffix");
+        test("prefixnullsuffix1C(87)suffix2", "prefix" + s_oNtS + "suffix1" + sf_o + "suffix2");
         test("null91", "" + s_oNtS + s_strU2);
+        test("null91suffix", "" + s_oNtS + s_strU2 + "suffix");
+        test("prefixnullsuffix191suffix2", "prefix" + s_oNtS + "suffix1" + s_strU2 + "suffix2");
         test("null21", "" + s_oNtS + f_strU1);
+        test("null21suffix", "" + s_oNtS + f_strU1 + "suffix");
+        test("prefixnullsuffix121suffix2", "prefix" + s_oNtS + "suffix1" + f_strU1 + "suffix2");
         test("null18", "" + s_oNtS + f_strU2);
+        test("null18suffix", "" + s_oNtS + f_strU2 + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_oNtS + "suffix1" + f_strU2 + "suffix2");
         test("nullnull", "" + s_oNtS + f_iAN);
+        test("nullnullsuffix", "" + s_oNtS + f_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + f_iAN + "suffix2");
         test("nullnull", "" + s_oNtS + s_oN);
+        test("nullnullsuffix", "" + s_oNtS + s_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + s_oN + "suffix2");
         test("null\u045180", "" + s_oNtS + s_strU);
+        test("null\u045180suffix", "" + s_oNtS + s_strU + "suffix");
+        test("prefixnullsuffix1\u045180suffix2", "prefix" + s_oNtS + "suffix1" + s_strU + "suffix2");
         test("nullC", "" + s_oNtS + sf_c);
+        test("nullCsuffix", "" + s_oNtS + sf_c + "suffix");
+        test("prefixnullsuffix1Csuffix2", "prefix" + s_oNtS + "suffix1" + sf_c + "suffix2");
         test("null75", "" + s_oNtS + sf_str);
+        test("null75suffix", "" + s_oNtS + sf_str + "suffix");
+        test("prefixnullsuffix175suffix2", "prefix" + s_oNtS + "suffix1" + sf_str + "suffix2");
         test("null-43", "" + s_oNtS + s_bM);
+        test("null-43suffix", "" + s_oNtS + s_bM + "suffix");
+        test("prefixnullsuffix1-43suffix2", "prefix" + s_oNtS + "suffix1" + s_bM + "suffix2");
         test("null80", "" + s_oNtS + sf_b);
+        test("null80suffix", "" + s_oNtS + sf_b + "suffix");
+        test("prefixnullsuffix180suffix2", "prefix" + s_oNtS + "suffix1" + sf_b + "suffix2");
         test("nullnull", "" + s_oNtS + s_IN);
+        test("nullnullsuffix", "" + s_oNtS + s_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + s_IN + "suffix2");
         test("null-52.0", "" + s_oNtS + s_fM);
+        test("null-52.0suffix", "" + s_oNtS + s_fM + "suffix");
+        test("prefixnullsuffix1-52.0suffix2", "prefix" + s_oNtS + "suffix1" + s_fM + "suffix2");
         test("null75000000", "" + s_oNtS + sf_i);
+        test("null75000000suffix", "" + s_oNtS + sf_i + "suffix");
+        test("prefixnullsuffix175000000suffix2", "prefix" + s_oNtS + "suffix1" + sf_i + "suffix2");
         test("null44", "" + s_oNtS + f_b);
+        test("null44suffix", "" + s_oNtS + f_b + "suffix");
+        test("prefixnullsuffix144suffix2", "prefix" + s_oNtS + "suffix1" + f_b + "suffix2");
         test("null-1705032704", "" + s_oNtS + sf_lM);
+        test("null-1705032704suffix", "" + s_oNtS + sf_lM + "suffix");
+        test("prefixnullsuffix1-1705032704suffix2", "prefix" + s_oNtS + "suffix1" + sf_lM + "suffix2");
         test("nullnull", "" + s_oNtS + f_oAN);
+        test("nullnullsuffix", "" + s_oNtS + f_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + f_oAN + "suffix2");
         test("null83.0", "" + s_oNtS + f_d);
+        test("null83.0suffix", "" + s_oNtS + f_d + "suffix");
+        test("prefixnullsuffix183.0suffix2", "prefix" + s_oNtS + "suffix1" + f_d + "suffix2");
         test("nullI", "" + s_oNtS + f_c);
+        test("nullIsuffix", "" + s_oNtS + f_c + "suffix");
+        test("prefixnullsuffix1Isuffix2", "prefix" + s_oNtS + "suffix1" + f_c + "suffix2");
         test("null94.0", "" + s_oNtS + f_f);
+        test("null94.0suffix", "" + s_oNtS + f_f + "suffix");
+        test("prefixnullsuffix194.0suffix2", "prefix" + s_oNtS + "suffix1" + f_f + "suffix2");
         test("null12.0", "" + s_oNtS + sf_d);
+        test("null12.0suffix", "" + s_oNtS + sf_d + "suffix");
+        test("prefixnullsuffix112.0suffix2", "prefix" + s_oNtS + "suffix1" + sf_d + "suffix2");
         test("null-99.0", "" + s_oNtS + f_dM);
+        test("null-99.0suffix", "" + s_oNtS + f_dM + "suffix");
+        test("prefixnullsuffix1-99.0suffix2", "prefix" + s_oNtS + "suffix1" + f_dM + "suffix2");
         test("null17.0", "" + s_oNtS + sf_f);
+        test("null17.0suffix", "" + s_oNtS + sf_f + "suffix");
+        test("prefixnullsuffix117.0suffix2", "prefix" + s_oNtS + "suffix1" + sf_f + "suffix2");
         test("null-84.0", "" + s_oNtS + sf_dM);
+        test("null-84.0suffix", "" + s_oNtS + sf_dM + "suffix");
+        test("prefixnullsuffix1-84.0suffix2", "prefix" + s_oNtS + "suffix1" + sf_dM + "suffix2");
         test("null58000000", "" + s_oNtS + f_i);
+        test("null58000000suffix", "" + s_oNtS + f_i + "suffix");
+        test("prefixnullsuffix158000000suffix2", "prefix" + s_oNtS + "suffix1" + f_i + "suffix2");
         test("null-55000000", "" + s_oNtS + f_iM);
+        test("null-55000000suffix", "" + s_oNtS + f_iM + "suffix");
+        test("prefixnullsuffix1-55000000suffix2", "prefix" + s_oNtS + "suffix1" + f_iM + "suffix2");
         test("null1460392448", "" + s_oNtS + f_l);
+        test("null1460392448suffix", "" + s_oNtS + f_l + "suffix");
+        test("prefixnullsuffix11460392448suffix2", "prefix" + s_oNtS + "suffix1" + f_l + "suffix2");
         test("nullC(70)", "" + s_oNtS + f_o);
+        test("nullC(70)suffix", "" + s_oNtS + f_o + "suffix");
+        test("prefixnullsuffix1C(70)suffix2", "prefix" + s_oNtS + "suffix1" + f_o + "suffix2");
         test("null\u04511", "" + s_oNtS + sf_strU);
+        test("null\u04511suffix", "" + s_oNtS + sf_strU + "suffix");
+        test("prefixnullsuffix1\u04511suffix2", "prefix" + s_oNtS + "suffix1" + sf_strU + "suffix2");
         test("null8000", "" + s_oNtS + f_s);
+        test("null8000suffix", "" + s_oNtS + f_s + "suffix");
+        test("prefixnullsuffix18000suffix2", "prefix" + s_oNtS + "suffix1" + f_s + "suffix2");
         test("null18", "" + s_oNtS + s_str);
+        test("null18suffix", "" + s_oNtS + s_str + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_oNtS + "suffix1" + s_str + "suffix2");
         test("null-1000000", "" + s_oNtS + s_iM);
+        test("null-1000000suffix", "" + s_oNtS + s_iM + "suffix");
+        test("prefixnullsuffix1-1000000suffix2", "prefix" + s_oNtS + "suffix1" + s_iM + "suffix2");
         test("null1000000", "" + s_oNtS + sf_I);
+        test("null1000000suffix", "" + s_oNtS + sf_I + "suffix");
+        test("prefixnullsuffix11000000suffix2", "prefix" + s_oNtS + "suffix1" + sf_I + "suffix2");
         test("nullnull", "" + s_oNtS + f_oNtS);
+        test("nullnullsuffix", "" + s_oNtS + f_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + f_oNtS + "suffix2");
         test("nullfalse", "" + s_oNtS + f_bl);
+        test("nullfalsesuffix", "" + s_oNtS + f_bl + "suffix");
+        test("prefixnullsuffix1falsesuffix2", "prefix" + s_oNtS + "suffix1" + f_bl + "suffix2");
         test("nullnull", "" + s_oNtS + sf_iAN);
+        test("nullnullsuffix", "" + s_oNtS + sf_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + sf_iAN + "suffix2");
         test("null-2000000", "" + s_oNtS + sf_iM);
+        test("null-2000000suffix", "" + s_oNtS + sf_iM + "suffix");
+        test("prefixnullsuffix1-2000000suffix2", "prefix" + s_oNtS + "suffix1" + sf_iM + "suffix2");
         test("null-820130816", "" + s_oNtS + f_lM);
+        test("null-820130816suffix", "" + s_oNtS + f_lM + "suffix");
+        test("prefixnullsuffix1-820130816suffix2", "prefix" + s_oNtS + "suffix1" + f_lM + "suffix2");
         test("nullnull", "" + s_oNtS + sf_oAN);
+        test("nullnullsuffix", "" + s_oNtS + sf_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oNtS + "suffix1" + sf_oAN + "suffix2");
         test("null25000000", "" + s_oNtS + s_I);
+        test("null25000000suffix", "" + s_oNtS + s_I + "suffix");
+        test("prefixnullsuffix125000000suffix2", "prefix" + s_oNtS + "suffix1" + s_I + "suffix2");
         test("\u045176-96.0", "" + f_strU + s_dM);
+        test("\u045176-96.0suffix", "" + f_strU + s_dM + "suffix");
+        test("prefix\u045176suffix1-96.0suffix2", "prefix" + f_strU + "suffix1" + s_dM + "suffix2");
         test("\u045176null", "" + f_strU + s_oNtS);
+        test("\u045176nullsuffix", "" + f_strU + s_oNtS + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + s_oNtS + "suffix2");
         test("\u045176\u045176", "" + f_strU + f_strU);
+        test("\u045176\u045176suffix", "" + f_strU + f_strU + "suffix");
+        test("prefix\u045176suffix1\u045176suffix2", "prefix" + f_strU + "suffix1" + f_strU + "suffix2");
         test("\u04517692", "" + f_strU + sf_strU2);
+        test("\u04517692suffix", "" + f_strU + sf_strU2 + "suffix");
+        test("prefix\u045176suffix192suffix2", "prefix" + f_strU + "suffix1" + sf_strU2 + "suffix2");
         test("\u04517651", "" + f_strU + sf_strU1);
+        test("\u04517651suffix", "" + f_strU + sf_strU1 + "suffix");
+        test("prefix\u045176suffix151suffix2", "prefix" + f_strU + "suffix1" + sf_strU1 + "suffix2");
         test("\u045176null", "" + f_strU + s_iAN);
+        test("\u045176nullsuffix", "" + f_strU + s_iAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + s_iAN + "suffix2");
         test("\u045176-54", "" + f_strU + f_bM);
+        test("\u045176-54suffix", "" + f_strU + f_bM + "suffix");
+        test("prefix\u045176suffix1-54suffix2", "prefix" + f_strU + "suffix1" + f_bM + "suffix2");
         test("\u045176-87.0", "" + f_strU + f_fM);
+        test("\u045176-87.0suffix", "" + f_strU + f_fM + "suffix");
+        test("prefix\u045176suffix1-87.0suffix2", "prefix" + f_strU + "suffix1" + f_fM + "suffix2");
         test("\u045176null", "" + f_strU + s_oAN);
+        test("\u045176nullsuffix", "" + f_strU + s_oAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + s_oAN + "suffix2");
         test("\u04517619", "" + f_strU + f_str);
+        test("\u04517619suffix", "" + f_strU + f_str + "suffix");
+        test("prefix\u045176suffix119suffix2", "prefix" + f_strU + "suffix1" + f_str + "suffix2");
         test("\u045176-41", "" + f_strU + sf_bM);
+        test("\u045176-41suffix", "" + f_strU + sf_bM + "suffix");
+        test("prefix\u045176suffix1-41suffix2", "prefix" + f_strU + "suffix1" + sf_bM + "suffix2");
         test("\u045176null", "" + f_strU + sf_IN);
+        test("\u045176nullsuffix", "" + f_strU + sf_IN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + sf_IN + "suffix2");
         test("\u045176T", "" + f_strU + s_c);
+        test("\u045176Tsuffix", "" + f_strU + s_c + "suffix");
+        test("prefix\u045176suffix1Tsuffix2", "prefix" + f_strU + "suffix1" + s_c + "suffix2");
         test("\u045176-42.0", "" + f_strU + sf_fM);
+        test("\u045176-42.0suffix", "" + f_strU + sf_fM + "suffix");
+        test("prefix\u045176suffix1-42.0suffix2", "prefix" + f_strU + "suffix1" + sf_fM + "suffix2");
         test("\u04517625", "" + f_strU + s_b);
+        test("\u04517625suffix", "" + f_strU + s_b + "suffix");
+        test("prefix\u045176suffix125suffix2", "prefix" + f_strU + "suffix1" + s_b + "suffix2");
         test("\u045176null", "" + f_strU + f_oN);
+        test("\u045176nullsuffix", "" + f_strU + f_oN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + f_oN + "suffix2");
         test("\u045176-1410065408", "" + f_strU + s_lM);
+        test("\u045176-1410065408suffix", "" + f_strU + s_lM + "suffix");
+        test("prefix\u045176suffix1-1410065408suffix2", "prefix" + f_strU + "suffix1" + s_lM + "suffix2");
         test("\u0451768.0", "" + f_strU + s_d);
+        test("\u0451768.0suffix", "" + f_strU + s_d + "suffix");
+        test("prefix\u045176suffix18.0suffix2", "prefix" + f_strU + "suffix1" + s_d + "suffix2");
         test("\u04517655.0", "" + f_strU + s_f);
+        test("\u04517655.0suffix", "" + f_strU + s_f + "suffix");
+        test("prefix\u045176suffix155.0suffix2", "prefix" + f_strU + "suffix1" + s_f + "suffix2");
         test("\u04517697000000", "" + f_strU + s_i);
+        test("\u04517697000000suffix", "" + f_strU + s_i + "suffix");
+        test("prefix\u045176suffix197000000suffix2", "prefix" + f_strU + "suffix1" + s_i + "suffix2");
         test("\u045176-9900", "" + f_strU + f_sM);
+        test("\u045176-9900suffix", "" + f_strU + f_sM + "suffix");
+        test("prefix\u045176suffix1-9900suffix2", "prefix" + f_strU + "suffix1" + f_sM + "suffix2");
         test("\u045176935228928", "" + f_strU + s_l);
+        test("\u045176935228928suffix", "" + f_strU + s_l + "suffix");
+        test("prefix\u045176suffix1935228928suffix2", "prefix" + f_strU + "suffix1" + s_l + "suffix2");
         test("\u045176-8400", "" + f_strU + sf_sM);
+        test("\u045176-8400suffix", "" + f_strU + sf_sM + "suffix");
+        test("prefix\u045176suffix1-8400suffix2", "prefix" + f_strU + "suffix1" + sf_sM + "suffix2");
         test("\u045176C(82)", "" + f_strU + s_o);
+        test("\u045176C(82)suffix", "" + f_strU + s_o + "suffix");
+        test("prefix\u045176suffix1C(82)suffix2", "prefix" + f_strU + "suffix1" + s_o + "suffix2");
         test("\u045176null", "" + f_strU + sf_oNtS);
+        test("\u045176nullsuffix", "" + f_strU + sf_oNtS + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + sf_oNtS + "suffix2");
         test("\u045176true", "" + f_strU + s_bl);
+        test("\u045176truesuffix", "" + f_strU + s_bl + "suffix");
+        test("prefix\u045176suffix1truesuffix2", "prefix" + f_strU + "suffix1" + s_bl + "suffix2");
         test("\u0451763900", "" + f_strU + s_s);
+        test("\u0451763900suffix", "" + f_strU + s_s + "suffix");
+        test("prefix\u045176suffix13900suffix2", "prefix" + f_strU + "suffix1" + s_s + "suffix2");
         test("\u045176null", "" + f_strU + sf_oN);
+        test("\u045176nullsuffix", "" + f_strU + sf_oN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + sf_oN + "suffix2");
         test("\u04517694000000", "" + f_strU + f_I);
+        test("\u04517694000000suffix", "" + f_strU + f_I + "suffix");
+        test("prefix\u045176suffix194000000suffix2", "prefix" + f_strU + "suffix1" + f_I + "suffix2");
         test("\u045176null", "" + f_strU + f_IN);
+        test("\u045176nullsuffix", "" + f_strU + f_IN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + f_IN + "suffix2");
         test("\u045176true", "" + f_strU + sf_bl);
+        test("\u045176truesuffix", "" + f_strU + sf_bl + "suffix");
+        test("prefix\u045176suffix1truesuffix2", "prefix" + f_strU + "suffix1" + sf_bl + "suffix2");
         test("\u0451765500", "" + f_strU + sf_s);
+        test("\u0451765500suffix", "" + f_strU + sf_s + "suffix");
+        test("prefix\u045176suffix15500suffix2", "prefix" + f_strU + "suffix1" + sf_s + "suffix2");
         test("\u045176-2900", "" + f_strU + s_sM);
+        test("\u045176-2900suffix", "" + f_strU + s_sM + "suffix");
+        test("prefix\u045176suffix1-2900suffix2", "prefix" + f_strU + "suffix1" + s_sM + "suffix2");
         test("\u045176-194313216", "" + f_strU + sf_l);
+        test("\u045176-194313216suffix", "" + f_strU + sf_l + "suffix");
+        test("prefix\u045176suffix1-194313216suffix2", "prefix" + f_strU + "suffix1" + sf_l + "suffix2");
         test("\u04517612", "" + f_strU + s_strU1);
+        test("\u04517612suffix", "" + f_strU + s_strU1 + "suffix");
+        test("prefix\u045176suffix112suffix2", "prefix" + f_strU + "suffix1" + s_strU1 + "suffix2");
         test("\u045176C(87)", "" + f_strU + sf_o);
+        test("\u045176C(87)suffix", "" + f_strU + sf_o + "suffix");
+        test("prefix\u045176suffix1C(87)suffix2", "prefix" + f_strU + "suffix1" + sf_o + "suffix2");
         test("\u04517691", "" + f_strU + s_strU2);
+        test("\u04517691suffix", "" + f_strU + s_strU2 + "suffix");
+        test("prefix\u045176suffix191suffix2", "prefix" + f_strU + "suffix1" + s_strU2 + "suffix2");
         test("\u04517621", "" + f_strU + f_strU1);
+        test("\u04517621suffix", "" + f_strU + f_strU1 + "suffix");
+        test("prefix\u045176suffix121suffix2", "prefix" + f_strU + "suffix1" + f_strU1 + "suffix2");
         test("\u04517618", "" + f_strU + f_strU2);
+        test("\u04517618suffix", "" + f_strU + f_strU2 + "suffix");
+        test("prefix\u045176suffix118suffix2", "prefix" + f_strU + "suffix1" + f_strU2 + "suffix2");
         test("\u045176null", "" + f_strU + f_iAN);
+        test("\u045176nullsuffix", "" + f_strU + f_iAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + f_iAN + "suffix2");
         test("\u045176null", "" + f_strU + s_oN);
+        test("\u045176nullsuffix", "" + f_strU + s_oN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + s_oN + "suffix2");
         test("\u045176\u045180", "" + f_strU + s_strU);
+        test("\u045176\u045180suffix", "" + f_strU + s_strU + "suffix");
+        test("prefix\u045176suffix1\u045180suffix2", "prefix" + f_strU + "suffix1" + s_strU + "suffix2");
         test("\u045176C", "" + f_strU + sf_c);
+        test("\u045176Csuffix", "" + f_strU + sf_c + "suffix");
+        test("prefix\u045176suffix1Csuffix2", "prefix" + f_strU + "suffix1" + sf_c + "suffix2");
         test("\u04517675", "" + f_strU + sf_str);
+        test("\u04517675suffix", "" + f_strU + sf_str + "suffix");
+        test("prefix\u045176suffix175suffix2", "prefix" + f_strU + "suffix1" + sf_str + "suffix2");
         test("\u045176-43", "" + f_strU + s_bM);
+        test("\u045176-43suffix", "" + f_strU + s_bM + "suffix");
+        test("prefix\u045176suffix1-43suffix2", "prefix" + f_strU + "suffix1" + s_bM + "suffix2");
         test("\u04517680", "" + f_strU + sf_b);
+        test("\u04517680suffix", "" + f_strU + sf_b + "suffix");
+        test("prefix\u045176suffix180suffix2", "prefix" + f_strU + "suffix1" + sf_b + "suffix2");
         test("\u045176null", "" + f_strU + s_IN);
+        test("\u045176nullsuffix", "" + f_strU + s_IN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + s_IN + "suffix2");
         test("\u045176-52.0", "" + f_strU + s_fM);
+        test("\u045176-52.0suffix", "" + f_strU + s_fM + "suffix");
+        test("prefix\u045176suffix1-52.0suffix2", "prefix" + f_strU + "suffix1" + s_fM + "suffix2");
         test("\u04517675000000", "" + f_strU + sf_i);
+        test("\u04517675000000suffix", "" + f_strU + sf_i + "suffix");
+        test("prefix\u045176suffix175000000suffix2", "prefix" + f_strU + "suffix1" + sf_i + "suffix2");
         test("\u04517644", "" + f_strU + f_b);
+        test("\u04517644suffix", "" + f_strU + f_b + "suffix");
+        test("prefix\u045176suffix144suffix2", "prefix" + f_strU + "suffix1" + f_b + "suffix2");
         test("\u045176-1705032704", "" + f_strU + sf_lM);
+        test("\u045176-1705032704suffix", "" + f_strU + sf_lM + "suffix");
+        test("prefix\u045176suffix1-1705032704suffix2", "prefix" + f_strU + "suffix1" + sf_lM + "suffix2");
         test("\u045176null", "" + f_strU + f_oAN);
+        test("\u045176nullsuffix", "" + f_strU + f_oAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + f_oAN + "suffix2");
         test("\u04517683.0", "" + f_strU + f_d);
+        test("\u04517683.0suffix", "" + f_strU + f_d + "suffix");
+        test("prefix\u045176suffix183.0suffix2", "prefix" + f_strU + "suffix1" + f_d + "suffix2");
         test("\u045176I", "" + f_strU + f_c);
+        test("\u045176Isuffix", "" + f_strU + f_c + "suffix");
+        test("prefix\u045176suffix1Isuffix2", "prefix" + f_strU + "suffix1" + f_c + "suffix2");
         test("\u04517694.0", "" + f_strU + f_f);
+        test("\u04517694.0suffix", "" + f_strU + f_f + "suffix");
+        test("prefix\u045176suffix194.0suffix2", "prefix" + f_strU + "suffix1" + f_f + "suffix2");
         test("\u04517612.0", "" + f_strU + sf_d);
+        test("\u04517612.0suffix", "" + f_strU + sf_d + "suffix");
+        test("prefix\u045176suffix112.0suffix2", "prefix" + f_strU + "suffix1" + sf_d + "suffix2");
         test("\u045176-99.0", "" + f_strU + f_dM);
+        test("\u045176-99.0suffix", "" + f_strU + f_dM + "suffix");
+        test("prefix\u045176suffix1-99.0suffix2", "prefix" + f_strU + "suffix1" + f_dM + "suffix2");
         test("\u04517617.0", "" + f_strU + sf_f);
+        test("\u04517617.0suffix", "" + f_strU + sf_f + "suffix");
+        test("prefix\u045176suffix117.0suffix2", "prefix" + f_strU + "suffix1" + sf_f + "suffix2");
         test("\u045176-84.0", "" + f_strU + sf_dM);
+        test("\u045176-84.0suffix", "" + f_strU + sf_dM + "suffix");
+        test("prefix\u045176suffix1-84.0suffix2", "prefix" + f_strU + "suffix1" + sf_dM + "suffix2");
         test("\u04517658000000", "" + f_strU + f_i);
+        test("\u04517658000000suffix", "" + f_strU + f_i + "suffix");
+        test("prefix\u045176suffix158000000suffix2", "prefix" + f_strU + "suffix1" + f_i + "suffix2");
         test("\u045176-55000000", "" + f_strU + f_iM);
+        test("\u045176-55000000suffix", "" + f_strU + f_iM + "suffix");
+        test("prefix\u045176suffix1-55000000suffix2", "prefix" + f_strU + "suffix1" + f_iM + "suffix2");
         test("\u0451761460392448", "" + f_strU + f_l);
+        test("\u0451761460392448suffix", "" + f_strU + f_l + "suffix");
+        test("prefix\u045176suffix11460392448suffix2", "prefix" + f_strU + "suffix1" + f_l + "suffix2");
         test("\u045176C(70)", "" + f_strU + f_o);
+        test("\u045176C(70)suffix", "" + f_strU + f_o + "suffix");
+        test("prefix\u045176suffix1C(70)suffix2", "prefix" + f_strU + "suffix1" + f_o + "suffix2");
         test("\u045176\u04511", "" + f_strU + sf_strU);
+        test("\u045176\u04511suffix", "" + f_strU + sf_strU + "suffix");
+        test("prefix\u045176suffix1\u04511suffix2", "prefix" + f_strU + "suffix1" + sf_strU + "suffix2");
         test("\u0451768000", "" + f_strU + f_s);
+        test("\u0451768000suffix", "" + f_strU + f_s + "suffix");
+        test("prefix\u045176suffix18000suffix2", "prefix" + f_strU + "suffix1" + f_s + "suffix2");
         test("\u04517618", "" + f_strU + s_str);
+        test("\u04517618suffix", "" + f_strU + s_str + "suffix");
+        test("prefix\u045176suffix118suffix2", "prefix" + f_strU + "suffix1" + s_str + "suffix2");
         test("\u045176-1000000", "" + f_strU + s_iM);
+        test("\u045176-1000000suffix", "" + f_strU + s_iM + "suffix");
+        test("prefix\u045176suffix1-1000000suffix2", "prefix" + f_strU + "suffix1" + s_iM + "suffix2");
         test("\u0451761000000", "" + f_strU + sf_I);
+        test("\u0451761000000suffix", "" + f_strU + sf_I + "suffix");
+        test("prefix\u045176suffix11000000suffix2", "prefix" + f_strU + "suffix1" + sf_I + "suffix2");
         test("\u045176null", "" + f_strU + f_oNtS);
+        test("\u045176nullsuffix", "" + f_strU + f_oNtS + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + f_oNtS + "suffix2");
         test("\u045176false", "" + f_strU + f_bl);
+        test("\u045176falsesuffix", "" + f_strU + f_bl + "suffix");
+        test("prefix\u045176suffix1falsesuffix2", "prefix" + f_strU + "suffix1" + f_bl + "suffix2");
         test("\u045176null", "" + f_strU + sf_iAN);
+        test("\u045176nullsuffix", "" + f_strU + sf_iAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + sf_iAN + "suffix2");
         test("\u045176-2000000", "" + f_strU + sf_iM);
+        test("\u045176-2000000suffix", "" + f_strU + sf_iM + "suffix");
+        test("prefix\u045176suffix1-2000000suffix2", "prefix" + f_strU + "suffix1" + sf_iM + "suffix2");
         test("\u045176-820130816", "" + f_strU + f_lM);
+        test("\u045176-820130816suffix", "" + f_strU + f_lM + "suffix");
+        test("prefix\u045176suffix1-820130816suffix2", "prefix" + f_strU + "suffix1" + f_lM + "suffix2");
         test("\u045176null", "" + f_strU + sf_oAN);
+        test("\u045176nullsuffix", "" + f_strU + sf_oAN + "suffix");
+        test("prefix\u045176suffix1nullsuffix2", "prefix" + f_strU + "suffix1" + sf_oAN + "suffix2");
         test("\u04517625000000", "" + f_strU + s_I);
+        test("\u04517625000000suffix", "" + f_strU + s_I + "suffix");
+        test("prefix\u045176suffix125000000suffix2", "prefix" + f_strU + "suffix1" + s_I + "suffix2");
         test("92-96.0", "" + sf_strU2 + s_dM);
+        test("92-96.0suffix", "" + sf_strU2 + s_dM + "suffix");
+        test("prefix92suffix1-96.0suffix2", "prefix" + sf_strU2 + "suffix1" + s_dM + "suffix2");
         test("92null", "" + sf_strU2 + s_oNtS);
+        test("92nullsuffix", "" + sf_strU2 + s_oNtS + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + s_oNtS + "suffix2");
         test("92\u045176", "" + sf_strU2 + f_strU);
+        test("92\u045176suffix", "" + sf_strU2 + f_strU + "suffix");
+        test("prefix92suffix1\u045176suffix2", "prefix" + sf_strU2 + "suffix1" + f_strU + "suffix2");
         test("9292", "" + sf_strU2 + sf_strU2);
+        test("9292suffix", "" + sf_strU2 + sf_strU2 + "suffix");
+        test("prefix92suffix192suffix2", "prefix" + sf_strU2 + "suffix1" + sf_strU2 + "suffix2");
         test("9251", "" + sf_strU2 + sf_strU1);
+        test("9251suffix", "" + sf_strU2 + sf_strU1 + "suffix");
+        test("prefix92suffix151suffix2", "prefix" + sf_strU2 + "suffix1" + sf_strU1 + "suffix2");
         test("92null", "" + sf_strU2 + s_iAN);
+        test("92nullsuffix", "" + sf_strU2 + s_iAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + s_iAN + "suffix2");
         test("92-54", "" + sf_strU2 + f_bM);
+        test("92-54suffix", "" + sf_strU2 + f_bM + "suffix");
+        test("prefix92suffix1-54suffix2", "prefix" + sf_strU2 + "suffix1" + f_bM + "suffix2");
         test("92-87.0", "" + sf_strU2 + f_fM);
+        test("92-87.0suffix", "" + sf_strU2 + f_fM + "suffix");
+        test("prefix92suffix1-87.0suffix2", "prefix" + sf_strU2 + "suffix1" + f_fM + "suffix2");
         test("92null", "" + sf_strU2 + s_oAN);
-        test("9219", "" + sf_strU2 + f_str);
-        test("92-41", "" + sf_strU2 + sf_bM);
-        test("92null", "" + sf_strU2 + sf_IN);
-        test("92T", "" + sf_strU2 + s_c);
-        test("92-42.0", "" + sf_strU2 + sf_fM);
-        test("9225", "" + sf_strU2 + s_b);
-        test("92null", "" + sf_strU2 + f_oN);
-        test("92-1410065408", "" + sf_strU2 + s_lM);
-        test("928.0", "" + sf_strU2 + s_d);
-        test("9255.0", "" + sf_strU2 + s_f);
-        test("9297000000", "" + sf_strU2 + s_i);
-        test("92-9900", "" + sf_strU2 + f_sM);
-        test("92935228928", "" + sf_strU2 + s_l);
-        test("92-8400", "" + sf_strU2 + sf_sM);
-        test("92C(82)", "" + sf_strU2 + s_o);
-        test("92null", "" + sf_strU2 + sf_oNtS);
-        test("92true", "" + sf_strU2 + s_bl);
-        test("923900", "" + sf_strU2 + s_s);
-        test("92null", "" + sf_strU2 + sf_oN);
-        test("9294000000", "" + sf_strU2 + f_I);
-        test("92null", "" + sf_strU2 + f_IN);
-        test("92true", "" + sf_strU2 + sf_bl);
-        test("925500", "" + sf_strU2 + sf_s);
-        test("92-2900", "" + sf_strU2 + s_sM);
-        test("92-194313216", "" + sf_strU2 + sf_l);
-        test("9212", "" + sf_strU2 + s_strU1);
-        test("92C(87)", "" + sf_strU2 + sf_o);
-        test("9291", "" + sf_strU2 + s_strU2);
-        test("9221", "" + sf_strU2 + f_strU1);
-        test("9218", "" + sf_strU2 + f_strU2);
-        test("92null", "" + sf_strU2 + f_iAN);
-        test("92null", "" + sf_strU2 + s_oN);
-        test("92\u045180", "" + sf_strU2 + s_strU);
-        test("92C", "" + sf_strU2 + sf_c);
-        test("9275", "" + sf_strU2 + sf_str);
-        test("92-43", "" + sf_strU2 + s_bM);
-        test("9280", "" + sf_strU2 + sf_b);
-        test("92null", "" + sf_strU2 + s_IN);
-        test("92-52.0", "" + sf_strU2 + s_fM);
-        test("9275000000", "" + sf_strU2 + sf_i);
-        test("9244", "" + sf_strU2 + f_b);
-        test("92-1705032704", "" + sf_strU2 + sf_lM);
-        test("92null", "" + sf_strU2 + f_oAN);
-        test("9283.0", "" + sf_strU2 + f_d);
-        test("92I", "" + sf_strU2 + f_c);
-        test("9294.0", "" + sf_strU2 + f_f);
-        test("9212.0", "" + sf_strU2 + sf_d);
-        test("92-99.0", "" + sf_strU2 + f_dM);
-        test("9217.0", "" + sf_strU2 + sf_f);
-        test("92-84.0", "" + sf_strU2 + sf_dM);
-        test("9258000000", "" + sf_strU2 + f_i);
-        test("92-55000000", "" + sf_strU2 + f_iM);
-        test("921460392448", "" + sf_strU2 + f_l);
-        test("92C(70)", "" + sf_strU2 + f_o);
-        test("92\u04511", "" + sf_strU2 + sf_strU);
-        test("928000", "" + sf_strU2 + f_s);
-        test("9218", "" + sf_strU2 + s_str);
-        test("92-1000000", "" + sf_strU2 + s_iM);
-        test("921000000", "" + sf_strU2 + sf_I);
-        test("92null", "" + sf_strU2 + f_oNtS);
-        test("92false", "" + sf_strU2 + f_bl);
-        test("92null", "" + sf_strU2 + sf_iAN);
-        test("92-2000000", "" + sf_strU2 + sf_iM);
-        test("92-820130816", "" + sf_strU2 + f_lM);
-        test("92null", "" + sf_strU2 + sf_oAN);
-        test("9225000000", "" + sf_strU2 + s_I);
-        test("51-96.0", "" + sf_strU1 + s_dM);
-        test("51null", "" + sf_strU1 + s_oNtS);
-        test("51\u045176", "" + sf_strU1 + f_strU);
-        test("5192", "" + sf_strU1 + sf_strU2);
-        test("5151", "" + sf_strU1 + sf_strU1);
-        test("51null", "" + sf_strU1 + s_iAN);
-        test("51-54", "" + sf_strU1 + f_bM);
-        test("51-87.0", "" + sf_strU1 + f_fM);
-        test("51null", "" + sf_strU1 + s_oAN);
-        test("5119", "" + sf_strU1 + f_str);
-        test("51-41", "" + sf_strU1 + sf_bM);
-        test("51null", "" + sf_strU1 + sf_IN);
-        test("51T", "" + sf_strU1 + s_c);
-        test("51-42.0", "" + sf_strU1 + sf_fM);
-        test("5125", "" + sf_strU1 + s_b);
-        test("51null", "" + sf_strU1 + f_oN);
-        test("51-1410065408", "" + sf_strU1 + s_lM);
-        test("518.0", "" + sf_strU1 + s_d);
-        test("5155.0", "" + sf_strU1 + s_f);
-        test("5197000000", "" + sf_strU1 + s_i);
-        test("51-9900", "" + sf_strU1 + f_sM);
-        test("51935228928", "" + sf_strU1 + s_l);
-        test("51-8400", "" + sf_strU1 + sf_sM);
-        test("51C(82)", "" + sf_strU1 + s_o);
-        test("51null", "" + sf_strU1 + sf_oNtS);
-        test("51true", "" + sf_strU1 + s_bl);
-        test("513900", "" + sf_strU1 + s_s);
-        test("51null", "" + sf_strU1 + sf_oN);
-        test("5194000000", "" + sf_strU1 + f_I);
-        test("51null", "" + sf_strU1 + f_IN);
-        test("51true", "" + sf_strU1 + sf_bl);
-        test("515500", "" + sf_strU1 + sf_s);
-        test("51-2900", "" + sf_strU1 + s_sM);
-        test("51-194313216", "" + sf_strU1 + sf_l);
-        test("5112", "" + sf_strU1 + s_strU1);
-        test("51C(87)", "" + sf_strU1 + sf_o);
-        test("5191", "" + sf_strU1 + s_strU2);
-        test("5121", "" + sf_strU1 + f_strU1);
-        test("5118", "" + sf_strU1 + f_strU2);
-        test("51null", "" + sf_strU1 + f_iAN);
-        test("51null", "" + sf_strU1 + s_oN);
-        test("51\u045180", "" + sf_strU1 + s_strU);
-        test("51C", "" + sf_strU1 + sf_c);
-        test("5175", "" + sf_strU1 + sf_str);
-        test("51-43", "" + sf_strU1 + s_bM);
-        test("5180", "" + sf_strU1 + sf_b);
-        test("51null", "" + sf_strU1 + s_IN);
-        test("51-52.0", "" + sf_strU1 + s_fM);
-        test("5175000000", "" + sf_strU1 + sf_i);
-        test("5144", "" + sf_strU1 + f_b);
-        test("51-1705032704", "" + sf_strU1 + sf_lM);
-        test("51null", "" + sf_strU1 + f_oAN);
-        test("5183.0", "" + sf_strU1 + f_d);
-        test("51I", "" + sf_strU1 + f_c);
-        test("5194.0", "" + sf_strU1 + f_f);
-        test("5112.0", "" + sf_strU1 + sf_d);
-        test("51-99.0", "" + sf_strU1 + f_dM);
-        test("5117.0", "" + sf_strU1 + sf_f);
-        test("51-84.0", "" + sf_strU1 + sf_dM);
-        test("5158000000", "" + sf_strU1 + f_i);
-        test("51-55000000", "" + sf_strU1 + f_iM);
-        test("511460392448", "" + sf_strU1 + f_l);
-        test("51C(70)", "" + sf_strU1 + f_o);
-        test("51\u04511", "" + sf_strU1 + sf_strU);
-        test("518000", "" + sf_strU1 + f_s);
-        test("5118", "" + sf_strU1 + s_str);
-        test("51-1000000", "" + sf_strU1 + s_iM);
-        test("511000000", "" + sf_strU1 + sf_I);
-        test("51null", "" + sf_strU1 + f_oNtS);
-        test("51false", "" + sf_strU1 + f_bl);
-        test("51null", "" + sf_strU1 + sf_iAN);
-        test("51-2000000", "" + sf_strU1 + sf_iM);
-        test("51-820130816", "" + sf_strU1 + f_lM);
-        test("51null", "" + sf_strU1 + sf_oAN);
-        test("5125000000", "" + sf_strU1 + s_I);
-        test("null-96.0", "" + s_iAN + s_dM);
-        test("nullnull", "" + s_iAN + s_oNtS);
-        test("null\u045176", "" + s_iAN + f_strU);
-        test("null92", "" + s_iAN + sf_strU2);
-        test("null51", "" + s_iAN + sf_strU1);
-        test("nullnull", "" + s_iAN + s_iAN);
-        test("null-54", "" + s_iAN + f_bM);
-        test("null-87.0", "" + s_iAN + f_fM);
-        test("nullnull", "" + s_iAN + s_oAN);
-        test("null19", "" + s_iAN + f_str);
-        test("null-41", "" + s_iAN + sf_bM);
-        test("nullnull", "" + s_iAN + sf_IN);
-        test("nullT", "" + s_iAN + s_c);
-        test("null-42.0", "" + s_iAN + sf_fM);
-        test("null25", "" + s_iAN + s_b);
-        test("nullnull", "" + s_iAN + f_oN);
-        test("null-1410065408", "" + s_iAN + s_lM);
-        test("null8.0", "" + s_iAN + s_d);
-        test("null55.0", "" + s_iAN + s_f);
-        test("null97000000", "" + s_iAN + s_i);
-        test("null-9900", "" + s_iAN + f_sM);
-        test("null935228928", "" + s_iAN + s_l);
-        test("null-8400", "" + s_iAN + sf_sM);
-        test("nullC(82)", "" + s_iAN + s_o);
-        test("nullnull", "" + s_iAN + sf_oNtS);
-        test("nulltrue", "" + s_iAN + s_bl);
-        test("null3900", "" + s_iAN + s_s);
-        test("nullnull", "" + s_iAN + sf_oN);
-        test("null94000000", "" + s_iAN + f_I);
-        test("nullnull", "" + s_iAN + f_IN);
-        test("nulltrue", "" + s_iAN + sf_bl);
-        test("null5500", "" + s_iAN + sf_s);
-        test("null-2900", "" + s_iAN + s_sM);
-        test("null-194313216", "" + s_iAN + sf_l);
-        test("null12", "" + s_iAN + s_strU1);
-        test("nullC(87)", "" + s_iAN + sf_o);
-        test("null91", "" + s_iAN + s_strU2);
-        test("null21", "" + s_iAN + f_strU1);
-        test("null18", "" + s_iAN + f_strU2);
-        test("nullnull", "" + s_iAN + f_iAN);
-        test("nullnull", "" + s_iAN + s_oN);
-        test("null\u045180", "" + s_iAN + s_strU);
-        test("nullC", "" + s_iAN + sf_c);
-        test("null75", "" + s_iAN + sf_str);
-        test("null-43", "" + s_iAN + s_bM);
-        test("null80", "" + s_iAN + sf_b);
-        test("nullnull", "" + s_iAN + s_IN);
-        test("null-52.0", "" + s_iAN + s_fM);
-        test("null75000000", "" + s_iAN + sf_i);
-        test("null44", "" + s_iAN + f_b);
-        test("null-1705032704", "" + s_iAN + sf_lM);
-        test("nullnull", "" + s_iAN + f_oAN);
-        test("null83.0", "" + s_iAN + f_d);
-        test("nullI", "" + s_iAN + f_c);
-        test("null94.0", "" + s_iAN + f_f);
-        test("null12.0", "" + s_iAN + sf_d);
-        test("null-99.0", "" + s_iAN + f_dM);
-        test("null17.0", "" + s_iAN + sf_f);
-        test("null-84.0", "" + s_iAN + sf_dM);
-        test("null58000000", "" + s_iAN + f_i);
-        test("null-55000000", "" + s_iAN + f_iM);
-        test("null1460392448", "" + s_iAN + f_l);
-        test("nullC(70)", "" + s_iAN + f_o);
-        test("null\u04511", "" + s_iAN + sf_strU);
-        test("null8000", "" + s_iAN + f_s);
-        test("null18", "" + s_iAN + s_str);
-        test("null-1000000", "" + s_iAN + s_iM);
-        test("null1000000", "" + s_iAN + sf_I);
-        test("nullnull", "" + s_iAN + f_oNtS);
-        test("nullfalse", "" + s_iAN + f_bl);
-        test("nullnull", "" + s_iAN + sf_iAN);
-        test("null-2000000", "" + s_iAN + sf_iM);
-        test("null-820130816", "" + s_iAN + f_lM);
-        test("nullnull", "" + s_iAN + sf_oAN);
-        test("null25000000", "" + s_iAN + s_I);
-        test("-54-96.0", "" + f_bM + s_dM);
-        test("-54null", "" + f_bM + s_oNtS);
-        test("-54\u045176", "" + f_bM + f_strU);
-        test("-5492", "" + f_bM + sf_strU2);
-        test("-5451", "" + f_bM + sf_strU1);
-        test("-54null", "" + f_bM + s_iAN);
-        test("-54-54", "" + f_bM + f_bM);
-        test("-54-87.0", "" + f_bM + f_fM);
-        test("-54null", "" + f_bM + s_oAN);
-        test("-5419", "" + f_bM + f_str);
-        test("-54-41", "" + f_bM + sf_bM);
-        test("-54null", "" + f_bM + sf_IN);
-        test("-54T", "" + f_bM + s_c);
-        test("-54-42.0", "" + f_bM + sf_fM);
-        test("-5425", "" + f_bM + s_b);
-        test("-54null", "" + f_bM + f_oN);
-        test("-54-1410065408", "" + f_bM + s_lM);
-        test("-548.0", "" + f_bM + s_d);
-        test("-5455.0", "" + f_bM + s_f);
-        test("-5497000000", "" + f_bM + s_i);
-        test("-54-9900", "" + f_bM + f_sM);
-        test("-54935228928", "" + f_bM + s_l);
-        test("-54-8400", "" + f_bM + sf_sM);
-        test("-54C(82)", "" + f_bM + s_o);
-        test("-54null", "" + f_bM + sf_oNtS);
-        test("-54true", "" + f_bM + s_bl);
-        test("-543900", "" + f_bM + s_s);
-        test("-54null", "" + f_bM + sf_oN);
-        test("-5494000000", "" + f_bM + f_I);
-        test("-54null", "" + f_bM + f_IN);
-        test("-54true", "" + f_bM + sf_bl);
-        test("-545500", "" + f_bM + sf_s);
-        test("-54-2900", "" + f_bM + s_sM);
-        test("-54-194313216", "" + f_bM + sf_l);
-        test("-5412", "" + f_bM + s_strU1);
-        test("-54C(87)", "" + f_bM + sf_o);
-        test("-5491", "" + f_bM + s_strU2);
-        test("-5421", "" + f_bM + f_strU1);
-        test("-5418", "" + f_bM + f_strU2);
-        test("-54null", "" + f_bM + f_iAN);
-        test("-54null", "" + f_bM + s_oN);
-        test("-54\u045180", "" + f_bM + s_strU);
-        test("-54C", "" + f_bM + sf_c);
-        test("-5475", "" + f_bM + sf_str);
-        test("-54-43", "" + f_bM + s_bM);
-        test("-5480", "" + f_bM + sf_b);
-        test("-54null", "" + f_bM + s_IN);
-        test("-54-52.0", "" + f_bM + s_fM);
-        test("-5475000000", "" + f_bM + sf_i);
-        test("-5444", "" + f_bM + f_b);
-        test("-54-1705032704", "" + f_bM + sf_lM);
-        test("-54null", "" + f_bM + f_oAN);
-        test("-5483.0", "" + f_bM + f_d);
-        test("-54I", "" + f_bM + f_c);
-        test("-5494.0", "" + f_bM + f_f);
-        test("-5412.0", "" + f_bM + sf_d);
-        test("-54-99.0", "" + f_bM + f_dM);
-        test("-5417.0", "" + f_bM + sf_f);
-        test("-54-84.0", "" + f_bM + sf_dM);
-        test("-5458000000", "" + f_bM + f_i);
-        test("-54-55000000", "" + f_bM + f_iM);
-        test("-541460392448", "" + f_bM + f_l);
-        test("-54C(70)", "" + f_bM + f_o);
-        test("-54\u04511", "" + f_bM + sf_strU);
-        test("-548000", "" + f_bM + f_s);
-        test("-5418", "" + f_bM + s_str);
-        test("-54-1000000", "" + f_bM + s_iM);
-        test("-541000000", "" + f_bM + sf_I);
-        test("-54null", "" + f_bM + f_oNtS);
-        test("-54false", "" + f_bM + f_bl);
-        test("-54null", "" + f_bM + sf_iAN);
-        test("-54-2000000", "" + f_bM + sf_iM);
-        test("-54-820130816", "" + f_bM + f_lM);
-        test("-54null", "" + f_bM + sf_oAN);
-        test("-5425000000", "" + f_bM + s_I);
-        test("-87.0-96.0", "" + f_fM + s_dM);
-        test("-87.0null", "" + f_fM + s_oNtS);
-        test("-87.0\u045176", "" + f_fM + f_strU);
-        test("-87.092", "" + f_fM + sf_strU2);
-        test("-87.051", "" + f_fM + sf_strU1);
-        test("-87.0null", "" + f_fM + s_iAN);
-        test("-87.0-54", "" + f_fM + f_bM);
-        test("-87.0-87.0", "" + f_fM + f_fM);
-        test("-87.0null", "" + f_fM + s_oAN);
-        test("-87.019", "" + f_fM + f_str);
-        test("-87.0-41", "" + f_fM + sf_bM);
-        test("-87.0null", "" + f_fM + sf_IN);
-        test("-87.0T", "" + f_fM + s_c);
-        test("-87.0-42.0", "" + f_fM + sf_fM);
-        test("-87.025", "" + f_fM + s_b);
-        test("-87.0null", "" + f_fM + f_oN);
-        test("-87.0-1410065408", "" + f_fM + s_lM);
-        test("-87.08.0", "" + f_fM + s_d);
-        test("-87.055.0", "" + f_fM + s_f);
-        test("-87.097000000", "" + f_fM + s_i);
-        test("-87.0-9900", "" + f_fM + f_sM);
-        test("-87.0935228928", "" + f_fM + s_l);
-        test("-87.0-8400", "" + f_fM + sf_sM);
-        test("-87.0C(82)", "" + f_fM + s_o);
-        test("-87.0null", "" + f_fM + sf_oNtS);
-        test("-87.0true", "" + f_fM + s_bl);
-        test("-87.03900", "" + f_fM + s_s);
-        test("-87.0null", "" + f_fM + sf_oN);
-        test("-87.094000000", "" + f_fM + f_I);
-        test("-87.0null", "" + f_fM + f_IN);
-        test("-87.0true", "" + f_fM + sf_bl);
-        test("-87.05500", "" + f_fM + sf_s);
-        test("-87.0-2900", "" + f_fM + s_sM);
-        test("-87.0-194313216", "" + f_fM + sf_l);
-        test("-87.012", "" + f_fM + s_strU1);
-        test("-87.0C(87)", "" + f_fM + sf_o);
-        test("-87.091", "" + f_fM + s_strU2);
-        test("-87.021", "" + f_fM + f_strU1);
-        test("-87.018", "" + f_fM + f_strU2);
-        test("-87.0null", "" + f_fM + f_iAN);
-        test("-87.0null", "" + f_fM + s_oN);
-        test("-87.0\u045180", "" + f_fM + s_strU);
-        test("-87.0C", "" + f_fM + sf_c);
-        test("-87.075", "" + f_fM + sf_str);
-        test("-87.0-43", "" + f_fM + s_bM);
-        test("-87.080", "" + f_fM + sf_b);
-        test("-87.0null", "" + f_fM + s_IN);
-        test("-87.0-52.0", "" + f_fM + s_fM);
-        test("-87.075000000", "" + f_fM + sf_i);
-        test("-87.044", "" + f_fM + f_b);
-        test("-87.0-1705032704", "" + f_fM + sf_lM);
-        test("-87.0null", "" + f_fM + f_oAN);
-        test("-87.083.0", "" + f_fM + f_d);
-        test("-87.0I", "" + f_fM + f_c);
-        test("-87.094.0", "" + f_fM + f_f);
-        test("-87.012.0", "" + f_fM + sf_d);
-        test("-87.0-99.0", "" + f_fM + f_dM);
-        test("-87.017.0", "" + f_fM + sf_f);
-        test("-87.0-84.0", "" + f_fM + sf_dM);
-        test("-87.058000000", "" + f_fM + f_i);
-        test("-87.0-55000000", "" + f_fM + f_iM);
-        test("-87.01460392448", "" + f_fM + f_l);
-        test("-87.0C(70)", "" + f_fM + f_o);
-        test("-87.0\u04511", "" + f_fM + sf_strU);
-        test("-87.08000", "" + f_fM + f_s);
-        test("-87.018", "" + f_fM + s_str);
-        test("-87.0-1000000", "" + f_fM + s_iM);
-        test("-87.01000000", "" + f_fM + sf_I);
-        test("-87.0null", "" + f_fM + f_oNtS);
-        test("-87.0false", "" + f_fM + f_bl);
-        test("-87.0null", "" + f_fM + sf_iAN);
-        test("-87.0-2000000", "" + f_fM + sf_iM);
-        test("-87.0-820130816", "" + f_fM + f_lM);
-        test("-87.0null", "" + f_fM + sf_oAN);
-        test("-87.025000000", "" + f_fM + s_I);
-        test("null-96.0", "" + s_oAN + s_dM);
-        test("nullnull", "" + s_oAN + s_oNtS);
-        test("null\u045176", "" + s_oAN + f_strU);
-        test("null92", "" + s_oAN + sf_strU2);
-        test("null51", "" + s_oAN + sf_strU1);
-        test("nullnull", "" + s_oAN + s_iAN);
-        test("null-54", "" + s_oAN + f_bM);
-        test("null-87.0", "" + s_oAN + f_fM);
-        test("nullnull", "" + s_oAN + s_oAN);
-        test("null19", "" + s_oAN + f_str);
-        test("null-41", "" + s_oAN + sf_bM);
-        test("nullnull", "" + s_oAN + sf_IN);
-        test("nullT", "" + s_oAN + s_c);
-        test("null-42.0", "" + s_oAN + sf_fM);
-        test("null25", "" + s_oAN + s_b);
-        test("nullnull", "" + s_oAN + f_oN);
-        test("null-1410065408", "" + s_oAN + s_lM);
-        test("null8.0", "" + s_oAN + s_d);
-        test("null55.0", "" + s_oAN + s_f);
-        test("null97000000", "" + s_oAN + s_i);
-        test("null-9900", "" + s_oAN + f_sM);
-        test("null935228928", "" + s_oAN + s_l);
-        test("null-8400", "" + s_oAN + sf_sM);
-        test("nullC(82)", "" + s_oAN + s_o);
-        test("nullnull", "" + s_oAN + sf_oNtS);
-        test("nulltrue", "" + s_oAN + s_bl);
-        test("null3900", "" + s_oAN + s_s);
-        test("nullnull", "" + s_oAN + sf_oN);
-        test("null94000000", "" + s_oAN + f_I);
-        test("nullnull", "" + s_oAN + f_IN);
-        test("nulltrue", "" + s_oAN + sf_bl);
-        test("null5500", "" + s_oAN + sf_s);
-        test("null-2900", "" + s_oAN + s_sM);
-        test("null-194313216", "" + s_oAN + sf_l);
-        test("null12", "" + s_oAN + s_strU1);
-        test("nullC(87)", "" + s_oAN + sf_o);
-        test("null91", "" + s_oAN + s_strU2);
-        test("null21", "" + s_oAN + f_strU1);
-        test("null18", "" + s_oAN + f_strU2);
-        test("nullnull", "" + s_oAN + f_iAN);
-        test("nullnull", "" + s_oAN + s_oN);
-        test("null\u045180", "" + s_oAN + s_strU);
-        test("nullC", "" + s_oAN + sf_c);
-        test("null75", "" + s_oAN + sf_str);
-        test("null-43", "" + s_oAN + s_bM);
-        test("null80", "" + s_oAN + sf_b);
-        test("nullnull", "" + s_oAN + s_IN);
-        test("null-52.0", "" + s_oAN + s_fM);
-        test("null75000000", "" + s_oAN + sf_i);
-        test("null44", "" + s_oAN + f_b);
-        test("null-1705032704", "" + s_oAN + sf_lM);
-        test("nullnull", "" + s_oAN + f_oAN);
-        test("null83.0", "" + s_oAN + f_d);
-        test("nullI", "" + s_oAN + f_c);
-        test("null94.0", "" + s_oAN + f_f);
-        test("null12.0", "" + s_oAN + sf_d);
-        test("null-99.0", "" + s_oAN + f_dM);
-        test("null17.0", "" + s_oAN + sf_f);
-        test("null-84.0", "" + s_oAN + sf_dM);
-        test("null58000000", "" + s_oAN + f_i);
-        test("null-55000000", "" + s_oAN + f_iM);
-        test("null1460392448", "" + s_oAN + f_l);
-        test("nullC(70)", "" + s_oAN + f_o);
-        test("null\u04511", "" + s_oAN + sf_strU);
-        test("null8000", "" + s_oAN + f_s);
-        test("null18", "" + s_oAN + s_str);
-        test("null-1000000", "" + s_oAN + s_iM);
-        test("null1000000", "" + s_oAN + sf_I);
-        test("nullnull", "" + s_oAN + f_oNtS);
-        test("nullfalse", "" + s_oAN + f_bl);
-        test("nullnull", "" + s_oAN + sf_iAN);
-        test("null-2000000", "" + s_oAN + sf_iM);
-        test("null-820130816", "" + s_oAN + f_lM);
-        test("nullnull", "" + s_oAN + sf_oAN);
-        test("null25000000", "" + s_oAN + s_I);
-        test("19-96.0", "" + f_str + s_dM);
-        test("19null", "" + f_str + s_oNtS);
-        test("19\u045176", "" + f_str + f_strU);
-        test("1992", "" + f_str + sf_strU2);
-        test("1951", "" + f_str + sf_strU1);
-        test("19null", "" + f_str + s_iAN);
-        test("19-54", "" + f_str + f_bM);
-        test("19-87.0", "" + f_str + f_fM);
-        test("19null", "" + f_str + s_oAN);
-        test("1919", "" + f_str + f_str);
-        test("19-41", "" + f_str + sf_bM);
-        test("19null", "" + f_str + sf_IN);
-        test("19T", "" + f_str + s_c);
-        test("19-42.0", "" + f_str + sf_fM);
-        test("1925", "" + f_str + s_b);
-        test("19null", "" + f_str + f_oN);
-        test("19-1410065408", "" + f_str + s_lM);
-        test("198.0", "" + f_str + s_d);
-        test("1955.0", "" + f_str + s_f);
-        test("1997000000", "" + f_str + s_i);
-        test("19-9900", "" + f_str + f_sM);
-        test("19935228928", "" + f_str + s_l);
-        test("19-8400", "" + f_str + sf_sM);
-        test("19C(82)", "" + f_str + s_o);
-        test("19null", "" + f_str + sf_oNtS);
-        test("19true", "" + f_str + s_bl);
-        test("193900", "" + f_str + s_s);
-        test("19null", "" + f_str + sf_oN);
-        test("1994000000", "" + f_str + f_I);
-        test("19null", "" + f_str + f_IN);
-        test("19true", "" + f_str + sf_bl);
-        test("195500", "" + f_str + sf_s);
-        test("19-2900", "" + f_str + s_sM);
-        test("19-194313216", "" + f_str + sf_l);
-        test("1912", "" + f_str + s_strU1);
-        test("19C(87)", "" + f_str + sf_o);
-        test("1991", "" + f_str + s_strU2);
-        test("1921", "" + f_str + f_strU1);
-        test("1918", "" + f_str + f_strU2);
-        test("19null", "" + f_str + f_iAN);
-        test("19null", "" + f_str + s_oN);
-        test("19\u045180", "" + f_str + s_strU);
-        test("19C", "" + f_str + sf_c);
-        test("1975", "" + f_str + sf_str);
-        test("19-43", "" + f_str + s_bM);
-        test("1980", "" + f_str + sf_b);
-        test("19null", "" + f_str + s_IN);
-        test("19-52.0", "" + f_str + s_fM);
-        test("1975000000", "" + f_str + sf_i);
-        test("1944", "" + f_str + f_b);
-        test("19-1705032704", "" + f_str + sf_lM);
-        test("19null", "" + f_str + f_oAN);
-        test("1983.0", "" + f_str + f_d);
-        test("19I", "" + f_str + f_c);
-        test("1994.0", "" + f_str + f_f);
-        test("1912.0", "" + f_str + sf_d);
-        test("19-99.0", "" + f_str + f_dM);
-        test("1917.0", "" + f_str + sf_f);
-        test("19-84.0", "" + f_str + sf_dM);
-        test("1958000000", "" + f_str + f_i);
-        test("19-55000000", "" + f_str + f_iM);
-        test("191460392448", "" + f_str + f_l);
-        test("19C(70)", "" + f_str + f_o);
-        test("19\u04511", "" + f_str + sf_strU);
-        test("198000", "" + f_str + f_s);
-        test("1918", "" + f_str + s_str);
-        test("19-1000000", "" + f_str + s_iM);
-        test("191000000", "" + f_str + sf_I);
-        test("19null", "" + f_str + f_oNtS);
-        test("19false", "" + f_str + f_bl);
-        test("19null", "" + f_str + sf_iAN);
-        test("19-2000000", "" + f_str + sf_iM);
-        test("19-820130816", "" + f_str + f_lM);
-        test("19null", "" + f_str + sf_oAN);
-        test("1925000000", "" + f_str + s_I);
-        test("-41-96.0", "" + sf_bM + s_dM);
-        test("-41null", "" + sf_bM + s_oNtS);
-        test("-41\u045176", "" + sf_bM + f_strU);
-        test("-4192", "" + sf_bM + sf_strU2);
-        test("-4151", "" + sf_bM + sf_strU1);
-        test("-41null", "" + sf_bM + s_iAN);
-        test("-41-54", "" + sf_bM + f_bM);
-        test("-41-87.0", "" + sf_bM + f_fM);
-        test("-41null", "" + sf_bM + s_oAN);
-        test("-4119", "" + sf_bM + f_str);
-        test("-41-41", "" + sf_bM + sf_bM);
-        test("-41null", "" + sf_bM + sf_IN);
-        test("-41T", "" + sf_bM + s_c);
-        test("-41-42.0", "" + sf_bM + sf_fM);
-        test("-4125", "" + sf_bM + s_b);
-        test("-41null", "" + sf_bM + f_oN);
-        test("-41-1410065408", "" + sf_bM + s_lM);
-        test("-418.0", "" + sf_bM + s_d);
-        test("-4155.0", "" + sf_bM + s_f);
-        test("-4197000000", "" + sf_bM + s_i);
-        test("-41-9900", "" + sf_bM + f_sM);
-        test("-41935228928", "" + sf_bM + s_l);
-        test("-41-8400", "" + sf_bM + sf_sM);
-        test("-41C(82)", "" + sf_bM + s_o);
-        test("-41null", "" + sf_bM + sf_oNtS);
-        test("-41true", "" + sf_bM + s_bl);
-        test("-413900", "" + sf_bM + s_s);
-        test("-41null", "" + sf_bM + sf_oN);
-        test("-4194000000", "" + sf_bM + f_I);
-        test("-41null", "" + sf_bM + f_IN);
-        test("-41true", "" + sf_bM + sf_bl);
-        test("-415500", "" + sf_bM + sf_s);
-        test("-41-2900", "" + sf_bM + s_sM);
-        test("-41-194313216", "" + sf_bM + sf_l);
-        test("-4112", "" + sf_bM + s_strU1);
-        test("-41C(87)", "" + sf_bM + sf_o);
-        test("-4191", "" + sf_bM + s_strU2);
-        test("-4121", "" + sf_bM + f_strU1);
-        test("-4118", "" + sf_bM + f_strU2);
-        test("-41null", "" + sf_bM + f_iAN);
-        test("-41null", "" + sf_bM + s_oN);
-        test("-41\u045180", "" + sf_bM + s_strU);
-        test("-41C", "" + sf_bM + sf_c);
-        test("-4175", "" + sf_bM + sf_str);
-        test("-41-43", "" + sf_bM + s_bM);
-        test("-4180", "" + sf_bM + sf_b);
-        test("-41null", "" + sf_bM + s_IN);
-        test("-41-52.0", "" + sf_bM + s_fM);
-        test("-4175000000", "" + sf_bM + sf_i);
-        test("-4144", "" + sf_bM + f_b);
-        test("-41-1705032704", "" + sf_bM + sf_lM);
-        test("-41null", "" + sf_bM + f_oAN);
-        test("-4183.0", "" + sf_bM + f_d);
-        test("-41I", "" + sf_bM + f_c);
-        test("-4194.0", "" + sf_bM + f_f);
-        test("-4112.0", "" + sf_bM + sf_d);
-        test("-41-99.0", "" + sf_bM + f_dM);
-        test("-4117.0", "" + sf_bM + sf_f);
-        test("-41-84.0", "" + sf_bM + sf_dM);
-        test("-4158000000", "" + sf_bM + f_i);
-        test("-41-55000000", "" + sf_bM + f_iM);
-        test("-411460392448", "" + sf_bM + f_l);
-        test("-41C(70)", "" + sf_bM + f_o);
-        test("-41\u04511", "" + sf_bM + sf_strU);
-        test("-418000", "" + sf_bM + f_s);
-        test("-4118", "" + sf_bM + s_str);
-        test("-41-1000000", "" + sf_bM + s_iM);
-        test("-411000000", "" + sf_bM + sf_I);
-        test("-41null", "" + sf_bM + f_oNtS);
-        test("-41false", "" + sf_bM + f_bl);
-        test("-41null", "" + sf_bM + sf_iAN);
-        test("-41-2000000", "" + sf_bM + sf_iM);
-        test("-41-820130816", "" + sf_bM + f_lM);
-        test("-41null", "" + sf_bM + sf_oAN);
-        test("-4125000000", "" + sf_bM + s_I);
-        test("null-96.0", "" + sf_IN + s_dM);
-        test("nullnull", "" + sf_IN + s_oNtS);
-        test("null\u045176", "" + sf_IN + f_strU);
-        test("null92", "" + sf_IN + sf_strU2);
-        test("null51", "" + sf_IN + sf_strU1);
-        test("nullnull", "" + sf_IN + s_iAN);
-        test("null-54", "" + sf_IN + f_bM);
-        test("null-87.0", "" + sf_IN + f_fM);
-        test("nullnull", "" + sf_IN + s_oAN);
-        test("null19", "" + sf_IN + f_str);
-        test("null-41", "" + sf_IN + sf_bM);
-        test("nullnull", "" + sf_IN + sf_IN);
-        test("nullT", "" + sf_IN + s_c);
-        test("null-42.0", "" + sf_IN + sf_fM);
-        test("null25", "" + sf_IN + s_b);
-        test("nullnull", "" + sf_IN + f_oN);
-        test("null-1410065408", "" + sf_IN + s_lM);
-        test("null8.0", "" + sf_IN + s_d);
-        test("null55.0", "" + sf_IN + s_f);
-        test("null97000000", "" + sf_IN + s_i);
-        test("null-9900", "" + sf_IN + f_sM);
-        test("null935228928", "" + sf_IN + s_l);
-        test("null-8400", "" + sf_IN + sf_sM);
-        test("nullC(82)", "" + sf_IN + s_o);
-        test("nullnull", "" + sf_IN + sf_oNtS);
-        test("nulltrue", "" + sf_IN + s_bl);
-        test("null3900", "" + sf_IN + s_s);
-        test("nullnull", "" + sf_IN + sf_oN);
-        test("null94000000", "" + sf_IN + f_I);
-        test("nullnull", "" + sf_IN + f_IN);
-        test("nulltrue", "" + sf_IN + sf_bl);
-        test("null5500", "" + sf_IN + sf_s);
-        test("null-2900", "" + sf_IN + s_sM);
-        test("null-194313216", "" + sf_IN + sf_l);
-        test("null12", "" + sf_IN + s_strU1);
-        test("nullC(87)", "" + sf_IN + sf_o);
-        test("null91", "" + sf_IN + s_strU2);
-        test("null21", "" + sf_IN + f_strU1);
-        test("null18", "" + sf_IN + f_strU2);
-        test("nullnull", "" + sf_IN + f_iAN);
-        test("nullnull", "" + sf_IN + s_oN);
-        test("null\u045180", "" + sf_IN + s_strU);
-        test("nullC", "" + sf_IN + sf_c);
-        test("null75", "" + sf_IN + sf_str);
-        test("null-43", "" + sf_IN + s_bM);
-        test("null80", "" + sf_IN + sf_b);
-        test("nullnull", "" + sf_IN + s_IN);
-        test("null-52.0", "" + sf_IN + s_fM);
-        test("null75000000", "" + sf_IN + sf_i);
-        test("null44", "" + sf_IN + f_b);
-        test("null-1705032704", "" + sf_IN + sf_lM);
-        test("nullnull", "" + sf_IN + f_oAN);
-        test("null83.0", "" + sf_IN + f_d);
-        test("nullI", "" + sf_IN + f_c);
-        test("null94.0", "" + sf_IN + f_f);
-        test("null12.0", "" + sf_IN + sf_d);
-        test("null-99.0", "" + sf_IN + f_dM);
-        test("null17.0", "" + sf_IN + sf_f);
-        test("null-84.0", "" + sf_IN + sf_dM);
-        test("null58000000", "" + sf_IN + f_i);
-        test("null-55000000", "" + sf_IN + f_iM);
-        test("null1460392448", "" + sf_IN + f_l);
-        test("nullC(70)", "" + sf_IN + f_o);
-        test("null\u04511", "" + sf_IN + sf_strU);
-        test("null8000", "" + sf_IN + f_s);
-        test("null18", "" + sf_IN + s_str);
-        test("null-1000000", "" + sf_IN + s_iM);
-        test("null1000000", "" + sf_IN + sf_I);
-        test("nullnull", "" + sf_IN + f_oNtS);
-        test("nullfalse", "" + sf_IN + f_bl);
-        test("nullnull", "" + sf_IN + sf_iAN);
-        test("null-2000000", "" + sf_IN + sf_iM);
-        test("null-820130816", "" + sf_IN + f_lM);
-        test("nullnull", "" + sf_IN + sf_oAN);
-        test("null25000000", "" + sf_IN + s_I);
-        test("T-96.0", "" + s_c + s_dM);
-        test("Tnull", "" + s_c + s_oNtS);
-        test("T\u045176", "" + s_c + f_strU);
-        test("T92", "" + s_c + sf_strU2);
-        test("T51", "" + s_c + sf_strU1);
-        test("Tnull", "" + s_c + s_iAN);
-        test("T-54", "" + s_c + f_bM);
-        test("T-87.0", "" + s_c + f_fM);
-        test("Tnull", "" + s_c + s_oAN);
-        test("T19", "" + s_c + f_str);
-        test("T-41", "" + s_c + sf_bM);
-        test("Tnull", "" + s_c + sf_IN);
-        test("TT", "" + s_c + s_c);
-        test("T-42.0", "" + s_c + sf_fM);
-        test("T25", "" + s_c + s_b);
-        test("Tnull", "" + s_c + f_oN);
-        test("T-1410065408", "" + s_c + s_lM);
-        test("T8.0", "" + s_c + s_d);
-        test("T55.0", "" + s_c + s_f);
-        test("T97000000", "" + s_c + s_i);
-        test("T-9900", "" + s_c + f_sM);
-        test("T935228928", "" + s_c + s_l);
-        test("T-8400", "" + s_c + sf_sM);
-        test("TC(82)", "" + s_c + s_o);
-        test("Tnull", "" + s_c + sf_oNtS);
     }
 
     public void run1() {
-        test("Ttrue", "" + s_c + s_bl);
-        test("T3900", "" + s_c + s_s);
-        test("Tnull", "" + s_c + sf_oN);
-        test("T94000000", "" + s_c + f_I);
-        test("Tnull", "" + s_c + f_IN);
-        test("Ttrue", "" + s_c + sf_bl);
-        test("T5500", "" + s_c + sf_s);
-        test("T-2900", "" + s_c + s_sM);
-        test("T-194313216", "" + s_c + sf_l);
-        test("T12", "" + s_c + s_strU1);
-        test("TC(87)", "" + s_c + sf_o);
-        test("T91", "" + s_c + s_strU2);
-        test("T21", "" + s_c + f_strU1);
-        test("T18", "" + s_c + f_strU2);
-        test("Tnull", "" + s_c + f_iAN);
-        test("Tnull", "" + s_c + s_oN);
-        test("T\u045180", "" + s_c + s_strU);
-        test("TC", "" + s_c + sf_c);
-        test("T75", "" + s_c + sf_str);
-        test("T-43", "" + s_c + s_bM);
-        test("T80", "" + s_c + sf_b);
-        test("Tnull", "" + s_c + s_IN);
-        test("T-52.0", "" + s_c + s_fM);
-        test("T75000000", "" + s_c + sf_i);
-        test("T44", "" + s_c + f_b);
-        test("T-1705032704", "" + s_c + sf_lM);
-        test("Tnull", "" + s_c + f_oAN);
-        test("T83.0", "" + s_c + f_d);
-        test("TI", "" + s_c + f_c);
-        test("T94.0", "" + s_c + f_f);
-        test("T12.0", "" + s_c + sf_d);
-        test("T-99.0", "" + s_c + f_dM);
-        test("T17.0", "" + s_c + sf_f);
-        test("T-84.0", "" + s_c + sf_dM);
-        test("T58000000", "" + s_c + f_i);
-        test("T-55000000", "" + s_c + f_iM);
-        test("T1460392448", "" + s_c + f_l);
-        test("TC(70)", "" + s_c + f_o);
-        test("T\u04511", "" + s_c + sf_strU);
-        test("T8000", "" + s_c + f_s);
-        test("T18", "" + s_c + s_str);
-        test("T-1000000", "" + s_c + s_iM);
-        test("T1000000", "" + s_c + sf_I);
-        test("Tnull", "" + s_c + f_oNtS);
-        test("Tfalse", "" + s_c + f_bl);
-        test("Tnull", "" + s_c + sf_iAN);
-        test("T-2000000", "" + s_c + sf_iM);
-        test("T-820130816", "" + s_c + f_lM);
-        test("Tnull", "" + s_c + sf_oAN);
-        test("T25000000", "" + s_c + s_I);
-        test("-42.0-96.0", "" + sf_fM + s_dM);
-        test("-42.0null", "" + sf_fM + s_oNtS);
-        test("-42.0\u045176", "" + sf_fM + f_strU);
-        test("-42.092", "" + sf_fM + sf_strU2);
-        test("-42.051", "" + sf_fM + sf_strU1);
-        test("-42.0null", "" + sf_fM + s_iAN);
-        test("-42.0-54", "" + sf_fM + f_bM);
-        test("-42.0-87.0", "" + sf_fM + f_fM);
-        test("-42.0null", "" + sf_fM + s_oAN);
-        test("-42.019", "" + sf_fM + f_str);
-        test("-42.0-41", "" + sf_fM + sf_bM);
-        test("-42.0null", "" + sf_fM + sf_IN);
-        test("-42.0T", "" + sf_fM + s_c);
-        test("-42.0-42.0", "" + sf_fM + sf_fM);
-        test("-42.025", "" + sf_fM + s_b);
-        test("-42.0null", "" + sf_fM + f_oN);
-        test("-42.0-1410065408", "" + sf_fM + s_lM);
-        test("-42.08.0", "" + sf_fM + s_d);
-        test("-42.055.0", "" + sf_fM + s_f);
-        test("-42.097000000", "" + sf_fM + s_i);
-        test("-42.0-9900", "" + sf_fM + f_sM);
-        test("-42.0935228928", "" + sf_fM + s_l);
-        test("-42.0-8400", "" + sf_fM + sf_sM);
-        test("-42.0C(82)", "" + sf_fM + s_o);
-        test("-42.0null", "" + sf_fM + sf_oNtS);
-        test("-42.0true", "" + sf_fM + s_bl);
-        test("-42.03900", "" + sf_fM + s_s);
-        test("-42.0null", "" + sf_fM + sf_oN);
-        test("-42.094000000", "" + sf_fM + f_I);
-        test("-42.0null", "" + sf_fM + f_IN);
-        test("-42.0true", "" + sf_fM + sf_bl);
-        test("-42.05500", "" + sf_fM + sf_s);
-        test("-42.0-2900", "" + sf_fM + s_sM);
-        test("-42.0-194313216", "" + sf_fM + sf_l);
-        test("-42.012", "" + sf_fM + s_strU1);
-        test("-42.0C(87)", "" + sf_fM + sf_o);
-        test("-42.091", "" + sf_fM + s_strU2);
-        test("-42.021", "" + sf_fM + f_strU1);
-        test("-42.018", "" + sf_fM + f_strU2);
-        test("-42.0null", "" + sf_fM + f_iAN);
-        test("-42.0null", "" + sf_fM + s_oN);
-        test("-42.0\u045180", "" + sf_fM + s_strU);
-        test("-42.0C", "" + sf_fM + sf_c);
-        test("-42.075", "" + sf_fM + sf_str);
-        test("-42.0-43", "" + sf_fM + s_bM);
-        test("-42.080", "" + sf_fM + sf_b);
-        test("-42.0null", "" + sf_fM + s_IN);
-        test("-42.0-52.0", "" + sf_fM + s_fM);
-        test("-42.075000000", "" + sf_fM + sf_i);
-        test("-42.044", "" + sf_fM + f_b);
-        test("-42.0-1705032704", "" + sf_fM + sf_lM);
-        test("-42.0null", "" + sf_fM + f_oAN);
-        test("-42.083.0", "" + sf_fM + f_d);
-        test("-42.0I", "" + sf_fM + f_c);
-        test("-42.094.0", "" + sf_fM + f_f);
-        test("-42.012.0", "" + sf_fM + sf_d);
-        test("-42.0-99.0", "" + sf_fM + f_dM);
-        test("-42.017.0", "" + sf_fM + sf_f);
-        test("-42.0-84.0", "" + sf_fM + sf_dM);
-        test("-42.058000000", "" + sf_fM + f_i);
-        test("-42.0-55000000", "" + sf_fM + f_iM);
-        test("-42.01460392448", "" + sf_fM + f_l);
-        test("-42.0C(70)", "" + sf_fM + f_o);
-        test("-42.0\u04511", "" + sf_fM + sf_strU);
-        test("-42.08000", "" + sf_fM + f_s);
-        test("-42.018", "" + sf_fM + s_str);
-        test("-42.0-1000000", "" + sf_fM + s_iM);
-        test("-42.01000000", "" + sf_fM + sf_I);
-        test("-42.0null", "" + sf_fM + f_oNtS);
-        test("-42.0false", "" + sf_fM + f_bl);
-        test("-42.0null", "" + sf_fM + sf_iAN);
-        test("-42.0-2000000", "" + sf_fM + sf_iM);
-        test("-42.0-820130816", "" + sf_fM + f_lM);
-        test("-42.0null", "" + sf_fM + sf_oAN);
-        test("-42.025000000", "" + sf_fM + s_I);
-        test("25-96.0", "" + s_b + s_dM);
-        test("25null", "" + s_b + s_oNtS);
-        test("25\u045176", "" + s_b + f_strU);
-        test("2592", "" + s_b + sf_strU2);
-        test("2551", "" + s_b + sf_strU1);
-        test("25null", "" + s_b + s_iAN);
-        test("25-54", "" + s_b + f_bM);
-        test("25-87.0", "" + s_b + f_fM);
-        test("25null", "" + s_b + s_oAN);
-        test("2519", "" + s_b + f_str);
-        test("25-41", "" + s_b + sf_bM);
-        test("25null", "" + s_b + sf_IN);
-        test("25T", "" + s_b + s_c);
-        test("25-42.0", "" + s_b + sf_fM);
-        test("2525", "" + s_b + s_b);
-        test("25null", "" + s_b + f_oN);
-        test("25-1410065408", "" + s_b + s_lM);
-        test("258.0", "" + s_b + s_d);
-        test("2555.0", "" + s_b + s_f);
-        test("2597000000", "" + s_b + s_i);
-        test("25-9900", "" + s_b + f_sM);
-        test("25935228928", "" + s_b + s_l);
-        test("25-8400", "" + s_b + sf_sM);
-        test("25C(82)", "" + s_b + s_o);
-        test("25null", "" + s_b + sf_oNtS);
-        test("25true", "" + s_b + s_bl);
-        test("253900", "" + s_b + s_s);
-        test("25null", "" + s_b + sf_oN);
-        test("2594000000", "" + s_b + f_I);
-        test("25null", "" + s_b + f_IN);
-        test("25true", "" + s_b + sf_bl);
-        test("255500", "" + s_b + sf_s);
-        test("25-2900", "" + s_b + s_sM);
-        test("25-194313216", "" + s_b + sf_l);
-        test("2512", "" + s_b + s_strU1);
-        test("25C(87)", "" + s_b + sf_o);
-        test("2591", "" + s_b + s_strU2);
-        test("2521", "" + s_b + f_strU1);
-        test("2518", "" + s_b + f_strU2);
-        test("25null", "" + s_b + f_iAN);
-        test("25null", "" + s_b + s_oN);
-        test("25\u045180", "" + s_b + s_strU);
-        test("25C", "" + s_b + sf_c);
-        test("2575", "" + s_b + sf_str);
-        test("25-43", "" + s_b + s_bM);
-        test("2580", "" + s_b + sf_b);
-        test("25null", "" + s_b + s_IN);
-        test("25-52.0", "" + s_b + s_fM);
-        test("2575000000", "" + s_b + sf_i);
-        test("2544", "" + s_b + f_b);
-        test("25-1705032704", "" + s_b + sf_lM);
-        test("25null", "" + s_b + f_oAN);
-        test("2583.0", "" + s_b + f_d);
-        test("25I", "" + s_b + f_c);
-        test("2594.0", "" + s_b + f_f);
-        test("2512.0", "" + s_b + sf_d);
-        test("25-99.0", "" + s_b + f_dM);
-        test("2517.0", "" + s_b + sf_f);
-        test("25-84.0", "" + s_b + sf_dM);
-        test("2558000000", "" + s_b + f_i);
-        test("25-55000000", "" + s_b + f_iM);
-        test("251460392448", "" + s_b + f_l);
-        test("25C(70)", "" + s_b + f_o);
-        test("25\u04511", "" + s_b + sf_strU);
-        test("258000", "" + s_b + f_s);
-        test("2518", "" + s_b + s_str);
-        test("25-1000000", "" + s_b + s_iM);
-        test("251000000", "" + s_b + sf_I);
-        test("25null", "" + s_b + f_oNtS);
-        test("25false", "" + s_b + f_bl);
-        test("25null", "" + s_b + sf_iAN);
-        test("25-2000000", "" + s_b + sf_iM);
-        test("25-820130816", "" + s_b + f_lM);
-        test("25null", "" + s_b + sf_oAN);
-        test("2525000000", "" + s_b + s_I);
-        test("null-96.0", "" + f_oN + s_dM);
-        test("nullnull", "" + f_oN + s_oNtS);
-        test("null\u045176", "" + f_oN + f_strU);
-        test("null92", "" + f_oN + sf_strU2);
-        test("null51", "" + f_oN + sf_strU1);
-        test("nullnull", "" + f_oN + s_iAN);
-        test("null-54", "" + f_oN + f_bM);
-        test("null-87.0", "" + f_oN + f_fM);
-        test("nullnull", "" + f_oN + s_oAN);
-        test("null19", "" + f_oN + f_str);
-        test("null-41", "" + f_oN + sf_bM);
-        test("nullnull", "" + f_oN + sf_IN);
-        test("nullT", "" + f_oN + s_c);
-        test("null-42.0", "" + f_oN + sf_fM);
-        test("null25", "" + f_oN + s_b);
-        test("nullnull", "" + f_oN + f_oN);
-        test("null-1410065408", "" + f_oN + s_lM);
-        test("null8.0", "" + f_oN + s_d);
-        test("null55.0", "" + f_oN + s_f);
-        test("null97000000", "" + f_oN + s_i);
-        test("null-9900", "" + f_oN + f_sM);
-        test("null935228928", "" + f_oN + s_l);
-        test("null-8400", "" + f_oN + sf_sM);
-        test("nullC(82)", "" + f_oN + s_o);
-        test("nullnull", "" + f_oN + sf_oNtS);
-        test("nulltrue", "" + f_oN + s_bl);
-        test("null3900", "" + f_oN + s_s);
-        test("nullnull", "" + f_oN + sf_oN);
-        test("null94000000", "" + f_oN + f_I);
-        test("nullnull", "" + f_oN + f_IN);
-        test("nulltrue", "" + f_oN + sf_bl);
-        test("null5500", "" + f_oN + sf_s);
-        test("null-2900", "" + f_oN + s_sM);
-        test("null-194313216", "" + f_oN + sf_l);
-        test("null12", "" + f_oN + s_strU1);
-        test("nullC(87)", "" + f_oN + sf_o);
-        test("null91", "" + f_oN + s_strU2);
-        test("null21", "" + f_oN + f_strU1);
-        test("null18", "" + f_oN + f_strU2);
-        test("nullnull", "" + f_oN + f_iAN);
-        test("nullnull", "" + f_oN + s_oN);
-        test("null\u045180", "" + f_oN + s_strU);
-        test("nullC", "" + f_oN + sf_c);
-        test("null75", "" + f_oN + sf_str);
-        test("null-43", "" + f_oN + s_bM);
-        test("null80", "" + f_oN + sf_b);
-        test("nullnull", "" + f_oN + s_IN);
-        test("null-52.0", "" + f_oN + s_fM);
-        test("null75000000", "" + f_oN + sf_i);
-        test("null44", "" + f_oN + f_b);
-        test("null-1705032704", "" + f_oN + sf_lM);
-        test("nullnull", "" + f_oN + f_oAN);
-        test("null83.0", "" + f_oN + f_d);
-        test("nullI", "" + f_oN + f_c);
-        test("null94.0", "" + f_oN + f_f);
-        test("null12.0", "" + f_oN + sf_d);
-        test("null-99.0", "" + f_oN + f_dM);
-        test("null17.0", "" + f_oN + sf_f);
-        test("null-84.0", "" + f_oN + sf_dM);
-        test("null58000000", "" + f_oN + f_i);
-        test("null-55000000", "" + f_oN + f_iM);
-        test("null1460392448", "" + f_oN + f_l);
-        test("nullC(70)", "" + f_oN + f_o);
-        test("null\u04511", "" + f_oN + sf_strU);
-        test("null8000", "" + f_oN + f_s);
-        test("null18", "" + f_oN + s_str);
-        test("null-1000000", "" + f_oN + s_iM);
-        test("null1000000", "" + f_oN + sf_I);
-        test("nullnull", "" + f_oN + f_oNtS);
-        test("nullfalse", "" + f_oN + f_bl);
-        test("nullnull", "" + f_oN + sf_iAN);
-        test("null-2000000", "" + f_oN + sf_iM);
-        test("null-820130816", "" + f_oN + f_lM);
-        test("nullnull", "" + f_oN + sf_oAN);
-        test("null25000000", "" + f_oN + s_I);
-        test("-1410065408-96.0", "" + s_lM + s_dM);
-        test("-1410065408null", "" + s_lM + s_oNtS);
-        test("-1410065408\u045176", "" + s_lM + f_strU);
-        test("-141006540892", "" + s_lM + sf_strU2);
-        test("-141006540851", "" + s_lM + sf_strU1);
-        test("-1410065408null", "" + s_lM + s_iAN);
-        test("-1410065408-54", "" + s_lM + f_bM);
-        test("-1410065408-87.0", "" + s_lM + f_fM);
-        test("-1410065408null", "" + s_lM + s_oAN);
-        test("-141006540819", "" + s_lM + f_str);
-        test("-1410065408-41", "" + s_lM + sf_bM);
-        test("-1410065408null", "" + s_lM + sf_IN);
-        test("-1410065408T", "" + s_lM + s_c);
-        test("-1410065408-42.0", "" + s_lM + sf_fM);
-        test("-141006540825", "" + s_lM + s_b);
-        test("-1410065408null", "" + s_lM + f_oN);
-        test("-1410065408-1410065408", "" + s_lM + s_lM);
-        test("-14100654088.0", "" + s_lM + s_d);
-        test("-141006540855.0", "" + s_lM + s_f);
-        test("-141006540897000000", "" + s_lM + s_i);
-        test("-1410065408-9900", "" + s_lM + f_sM);
-        test("-1410065408935228928", "" + s_lM + s_l);
-        test("-1410065408-8400", "" + s_lM + sf_sM);
-        test("-1410065408C(82)", "" + s_lM + s_o);
-        test("-1410065408null", "" + s_lM + sf_oNtS);
-        test("-1410065408true", "" + s_lM + s_bl);
-        test("-14100654083900", "" + s_lM + s_s);
-        test("-1410065408null", "" + s_lM + sf_oN);
-        test("-141006540894000000", "" + s_lM + f_I);
-        test("-1410065408null", "" + s_lM + f_IN);
-        test("-1410065408true", "" + s_lM + sf_bl);
-        test("-14100654085500", "" + s_lM + sf_s);
-        test("-1410065408-2900", "" + s_lM + s_sM);
-        test("-1410065408-194313216", "" + s_lM + sf_l);
-        test("-141006540812", "" + s_lM + s_strU1);
-        test("-1410065408C(87)", "" + s_lM + sf_o);
-        test("-141006540891", "" + s_lM + s_strU2);
-        test("-141006540821", "" + s_lM + f_strU1);
-        test("-141006540818", "" + s_lM + f_strU2);
-        test("-1410065408null", "" + s_lM + f_iAN);
-        test("-1410065408null", "" + s_lM + s_oN);
-        test("-1410065408\u045180", "" + s_lM + s_strU);
-        test("-1410065408C", "" + s_lM + sf_c);
-        test("-141006540875", "" + s_lM + sf_str);
-        test("-1410065408-43", "" + s_lM + s_bM);
-        test("-141006540880", "" + s_lM + sf_b);
-        test("-1410065408null", "" + s_lM + s_IN);
-        test("-1410065408-52.0", "" + s_lM + s_fM);
-        test("-141006540875000000", "" + s_lM + sf_i);
-        test("-141006540844", "" + s_lM + f_b);
-        test("-1410065408-1705032704", "" + s_lM + sf_lM);
-        test("-1410065408null", "" + s_lM + f_oAN);
-        test("-141006540883.0", "" + s_lM + f_d);
-        test("-1410065408I", "" + s_lM + f_c);
-        test("-141006540894.0", "" + s_lM + f_f);
-        test("-141006540812.0", "" + s_lM + sf_d);
-        test("-1410065408-99.0", "" + s_lM + f_dM);
-        test("-141006540817.0", "" + s_lM + sf_f);
-        test("-1410065408-84.0", "" + s_lM + sf_dM);
-        test("-141006540858000000", "" + s_lM + f_i);
-        test("-1410065408-55000000", "" + s_lM + f_iM);
-        test("-14100654081460392448", "" + s_lM + f_l);
-        test("-1410065408C(70)", "" + s_lM + f_o);
-        test("-1410065408\u04511", "" + s_lM + sf_strU);
-        test("-14100654088000", "" + s_lM + f_s);
-        test("-141006540818", "" + s_lM + s_str);
-        test("-1410065408-1000000", "" + s_lM + s_iM);
-        test("-14100654081000000", "" + s_lM + sf_I);
-        test("-1410065408null", "" + s_lM + f_oNtS);
-        test("-1410065408false", "" + s_lM + f_bl);
-        test("-1410065408null", "" + s_lM + sf_iAN);
-        test("-1410065408-2000000", "" + s_lM + sf_iM);
-        test("-1410065408-820130816", "" + s_lM + f_lM);
-        test("-1410065408null", "" + s_lM + sf_oAN);
-        test("-141006540825000000", "" + s_lM + s_I);
-        test("8.0-96.0", "" + s_d + s_dM);
-        test("8.0null", "" + s_d + s_oNtS);
-        test("8.0\u045176", "" + s_d + f_strU);
-        test("8.092", "" + s_d + sf_strU2);
-        test("8.051", "" + s_d + sf_strU1);
-        test("8.0null", "" + s_d + s_iAN);
-        test("8.0-54", "" + s_d + f_bM);
-        test("8.0-87.0", "" + s_d + f_fM);
-        test("8.0null", "" + s_d + s_oAN);
-        test("8.019", "" + s_d + f_str);
-        test("8.0-41", "" + s_d + sf_bM);
-        test("8.0null", "" + s_d + sf_IN);
-        test("8.0T", "" + s_d + s_c);
-        test("8.0-42.0", "" + s_d + sf_fM);
-        test("8.025", "" + s_d + s_b);
-        test("8.0null", "" + s_d + f_oN);
-        test("8.0-1410065408", "" + s_d + s_lM);
-        test("8.08.0", "" + s_d + s_d);
-        test("8.055.0", "" + s_d + s_f);
-        test("8.097000000", "" + s_d + s_i);
-        test("8.0-9900", "" + s_d + f_sM);
-        test("8.0935228928", "" + s_d + s_l);
-        test("8.0-8400", "" + s_d + sf_sM);
-        test("8.0C(82)", "" + s_d + s_o);
-        test("8.0null", "" + s_d + sf_oNtS);
-        test("8.0true", "" + s_d + s_bl);
-        test("8.03900", "" + s_d + s_s);
-        test("8.0null", "" + s_d + sf_oN);
-        test("8.094000000", "" + s_d + f_I);
-        test("8.0null", "" + s_d + f_IN);
-        test("8.0true", "" + s_d + sf_bl);
-        test("8.05500", "" + s_d + sf_s);
-        test("8.0-2900", "" + s_d + s_sM);
-        test("8.0-194313216", "" + s_d + sf_l);
-        test("8.012", "" + s_d + s_strU1);
-        test("8.0C(87)", "" + s_d + sf_o);
-        test("8.091", "" + s_d + s_strU2);
-        test("8.021", "" + s_d + f_strU1);
-        test("8.018", "" + s_d + f_strU2);
-        test("8.0null", "" + s_d + f_iAN);
-        test("8.0null", "" + s_d + s_oN);
-        test("8.0\u045180", "" + s_d + s_strU);
-        test("8.0C", "" + s_d + sf_c);
-        test("8.075", "" + s_d + sf_str);
-        test("8.0-43", "" + s_d + s_bM);
-        test("8.080", "" + s_d + sf_b);
-        test("8.0null", "" + s_d + s_IN);
-        test("8.0-52.0", "" + s_d + s_fM);
-        test("8.075000000", "" + s_d + sf_i);
-        test("8.044", "" + s_d + f_b);
-        test("8.0-1705032704", "" + s_d + sf_lM);
-        test("8.0null", "" + s_d + f_oAN);
-        test("8.083.0", "" + s_d + f_d);
-        test("8.0I", "" + s_d + f_c);
-        test("8.094.0", "" + s_d + f_f);
-        test("8.012.0", "" + s_d + sf_d);
-        test("8.0-99.0", "" + s_d + f_dM);
-        test("8.017.0", "" + s_d + sf_f);
-        test("8.0-84.0", "" + s_d + sf_dM);
-        test("8.058000000", "" + s_d + f_i);
-        test("8.0-55000000", "" + s_d + f_iM);
-        test("8.01460392448", "" + s_d + f_l);
-        test("8.0C(70)", "" + s_d + f_o);
-        test("8.0\u04511", "" + s_d + sf_strU);
-        test("8.08000", "" + s_d + f_s);
-        test("8.018", "" + s_d + s_str);
-        test("8.0-1000000", "" + s_d + s_iM);
-        test("8.01000000", "" + s_d + sf_I);
-        test("8.0null", "" + s_d + f_oNtS);
-        test("8.0false", "" + s_d + f_bl);
-        test("8.0null", "" + s_d + sf_iAN);
-        test("8.0-2000000", "" + s_d + sf_iM);
-        test("8.0-820130816", "" + s_d + f_lM);
-        test("8.0null", "" + s_d + sf_oAN);
-        test("8.025000000", "" + s_d + s_I);
-        test("55.0-96.0", "" + s_f + s_dM);
-        test("55.0null", "" + s_f + s_oNtS);
-        test("55.0\u045176", "" + s_f + f_strU);
-        test("55.092", "" + s_f + sf_strU2);
-        test("55.051", "" + s_f + sf_strU1);
-        test("55.0null", "" + s_f + s_iAN);
-        test("55.0-54", "" + s_f + f_bM);
-        test("55.0-87.0", "" + s_f + f_fM);
-        test("55.0null", "" + s_f + s_oAN);
-        test("55.019", "" + s_f + f_str);
-        test("55.0-41", "" + s_f + sf_bM);
-        test("55.0null", "" + s_f + sf_IN);
-        test("55.0T", "" + s_f + s_c);
-        test("55.0-42.0", "" + s_f + sf_fM);
-        test("55.025", "" + s_f + s_b);
-        test("55.0null", "" + s_f + f_oN);
-        test("55.0-1410065408", "" + s_f + s_lM);
-        test("55.08.0", "" + s_f + s_d);
-        test("55.055.0", "" + s_f + s_f);
-        test("55.097000000", "" + s_f + s_i);
-        test("55.0-9900", "" + s_f + f_sM);
-        test("55.0935228928", "" + s_f + s_l);
-        test("55.0-8400", "" + s_f + sf_sM);
-        test("55.0C(82)", "" + s_f + s_o);
-        test("55.0null", "" + s_f + sf_oNtS);
-        test("55.0true", "" + s_f + s_bl);
-        test("55.03900", "" + s_f + s_s);
-        test("55.0null", "" + s_f + sf_oN);
-        test("55.094000000", "" + s_f + f_I);
-        test("55.0null", "" + s_f + f_IN);
-        test("55.0true", "" + s_f + sf_bl);
-        test("55.05500", "" + s_f + sf_s);
-        test("55.0-2900", "" + s_f + s_sM);
-        test("55.0-194313216", "" + s_f + sf_l);
-        test("55.012", "" + s_f + s_strU1);
-        test("55.0C(87)", "" + s_f + sf_o);
-        test("55.091", "" + s_f + s_strU2);
-        test("55.021", "" + s_f + f_strU1);
-        test("55.018", "" + s_f + f_strU2);
-        test("55.0null", "" + s_f + f_iAN);
-        test("55.0null", "" + s_f + s_oN);
-        test("55.0\u045180", "" + s_f + s_strU);
-        test("55.0C", "" + s_f + sf_c);
-        test("55.075", "" + s_f + sf_str);
-        test("55.0-43", "" + s_f + s_bM);
-        test("55.080", "" + s_f + sf_b);
-        test("55.0null", "" + s_f + s_IN);
-        test("55.0-52.0", "" + s_f + s_fM);
-        test("55.075000000", "" + s_f + sf_i);
-        test("55.044", "" + s_f + f_b);
-        test("55.0-1705032704", "" + s_f + sf_lM);
-        test("55.0null", "" + s_f + f_oAN);
-        test("55.083.0", "" + s_f + f_d);
-        test("55.0I", "" + s_f + f_c);
-        test("55.094.0", "" + s_f + f_f);
-        test("55.012.0", "" + s_f + sf_d);
-        test("55.0-99.0", "" + s_f + f_dM);
-        test("55.017.0", "" + s_f + sf_f);
-        test("55.0-84.0", "" + s_f + sf_dM);
-        test("55.058000000", "" + s_f + f_i);
-        test("55.0-55000000", "" + s_f + f_iM);
-        test("55.01460392448", "" + s_f + f_l);
-        test("55.0C(70)", "" + s_f + f_o);
-        test("55.0\u04511", "" + s_f + sf_strU);
-        test("55.08000", "" + s_f + f_s);
-        test("55.018", "" + s_f + s_str);
-        test("55.0-1000000", "" + s_f + s_iM);
-        test("55.01000000", "" + s_f + sf_I);
-        test("55.0null", "" + s_f + f_oNtS);
-        test("55.0false", "" + s_f + f_bl);
-        test("55.0null", "" + s_f + sf_iAN);
-        test("55.0-2000000", "" + s_f + sf_iM);
-        test("55.0-820130816", "" + s_f + f_lM);
-        test("55.0null", "" + s_f + sf_oAN);
-        test("55.025000000", "" + s_f + s_I);
-        test("97000000-96.0", "" + s_i + s_dM);
-        test("97000000null", "" + s_i + s_oNtS);
-        test("97000000\u045176", "" + s_i + f_strU);
-        test("9700000092", "" + s_i + sf_strU2);
-        test("9700000051", "" + s_i + sf_strU1);
-        test("97000000null", "" + s_i + s_iAN);
-        test("97000000-54", "" + s_i + f_bM);
-        test("97000000-87.0", "" + s_i + f_fM);
-        test("97000000null", "" + s_i + s_oAN);
-        test("9700000019", "" + s_i + f_str);
-        test("97000000-41", "" + s_i + sf_bM);
-        test("97000000null", "" + s_i + sf_IN);
-        test("97000000T", "" + s_i + s_c);
-        test("97000000-42.0", "" + s_i + sf_fM);
-        test("9700000025", "" + s_i + s_b);
-        test("97000000null", "" + s_i + f_oN);
-        test("97000000-1410065408", "" + s_i + s_lM);
-        test("970000008.0", "" + s_i + s_d);
-        test("9700000055.0", "" + s_i + s_f);
-        test("9700000097000000", "" + s_i + s_i);
-        test("97000000-9900", "" + s_i + f_sM);
-        test("97000000935228928", "" + s_i + s_l);
-        test("97000000-8400", "" + s_i + sf_sM);
-        test("97000000C(82)", "" + s_i + s_o);
-        test("97000000null", "" + s_i + sf_oNtS);
-        test("97000000true", "" + s_i + s_bl);
-        test("970000003900", "" + s_i + s_s);
-        test("97000000null", "" + s_i + sf_oN);
-        test("9700000094000000", "" + s_i + f_I);
-        test("97000000null", "" + s_i + f_IN);
-        test("97000000true", "" + s_i + sf_bl);
-        test("970000005500", "" + s_i + sf_s);
-        test("97000000-2900", "" + s_i + s_sM);
-        test("97000000-194313216", "" + s_i + sf_l);
-        test("9700000012", "" + s_i + s_strU1);
-        test("97000000C(87)", "" + s_i + sf_o);
-        test("9700000091", "" + s_i + s_strU2);
-        test("9700000021", "" + s_i + f_strU1);
-        test("9700000018", "" + s_i + f_strU2);
-        test("97000000null", "" + s_i + f_iAN);
-        test("97000000null", "" + s_i + s_oN);
-        test("97000000\u045180", "" + s_i + s_strU);
-        test("97000000C", "" + s_i + sf_c);
-        test("9700000075", "" + s_i + sf_str);
-        test("97000000-43", "" + s_i + s_bM);
-        test("9700000080", "" + s_i + sf_b);
-        test("97000000null", "" + s_i + s_IN);
-        test("97000000-52.0", "" + s_i + s_fM);
-        test("9700000075000000", "" + s_i + sf_i);
-        test("9700000044", "" + s_i + f_b);
-        test("97000000-1705032704", "" + s_i + sf_lM);
-        test("97000000null", "" + s_i + f_oAN);
-        test("9700000083.0", "" + s_i + f_d);
-        test("97000000I", "" + s_i + f_c);
-        test("9700000094.0", "" + s_i + f_f);
-        test("9700000012.0", "" + s_i + sf_d);
-        test("97000000-99.0", "" + s_i + f_dM);
-        test("9700000017.0", "" + s_i + sf_f);
-        test("97000000-84.0", "" + s_i + sf_dM);
-        test("9700000058000000", "" + s_i + f_i);
-        test("97000000-55000000", "" + s_i + f_iM);
-        test("970000001460392448", "" + s_i + f_l);
-        test("97000000C(70)", "" + s_i + f_o);
-        test("97000000\u04511", "" + s_i + sf_strU);
-        test("970000008000", "" + s_i + f_s);
-        test("9700000018", "" + s_i + s_str);
-        test("97000000-1000000", "" + s_i + s_iM);
-        test("970000001000000", "" + s_i + sf_I);
-        test("97000000null", "" + s_i + f_oNtS);
-        test("97000000false", "" + s_i + f_bl);
-        test("97000000null", "" + s_i + sf_iAN);
-        test("97000000-2000000", "" + s_i + sf_iM);
-        test("97000000-820130816", "" + s_i + f_lM);
-        test("97000000null", "" + s_i + sf_oAN);
-        test("9700000025000000", "" + s_i + s_I);
-        test("-9900-96.0", "" + f_sM + s_dM);
-        test("-9900null", "" + f_sM + s_oNtS);
-        test("-9900\u045176", "" + f_sM + f_strU);
-        test("-990092", "" + f_sM + sf_strU2);
-        test("-990051", "" + f_sM + sf_strU1);
-        test("-9900null", "" + f_sM + s_iAN);
-        test("-9900-54", "" + f_sM + f_bM);
-        test("-9900-87.0", "" + f_sM + f_fM);
-        test("-9900null", "" + f_sM + s_oAN);
-        test("-990019", "" + f_sM + f_str);
-        test("-9900-41", "" + f_sM + sf_bM);
-        test("-9900null", "" + f_sM + sf_IN);
-        test("-9900T", "" + f_sM + s_c);
-        test("-9900-42.0", "" + f_sM + sf_fM);
-        test("-990025", "" + f_sM + s_b);
-        test("-9900null", "" + f_sM + f_oN);
-        test("-9900-1410065408", "" + f_sM + s_lM);
-        test("-99008.0", "" + f_sM + s_d);
-        test("-990055.0", "" + f_sM + s_f);
-        test("-990097000000", "" + f_sM + s_i);
-        test("-9900-9900", "" + f_sM + f_sM);
-        test("-9900935228928", "" + f_sM + s_l);
-        test("-9900-8400", "" + f_sM + sf_sM);
-        test("-9900C(82)", "" + f_sM + s_o);
-        test("-9900null", "" + f_sM + sf_oNtS);
-        test("-9900true", "" + f_sM + s_bl);
-        test("-99003900", "" + f_sM + s_s);
-        test("-9900null", "" + f_sM + sf_oN);
-        test("-990094000000", "" + f_sM + f_I);
-        test("-9900null", "" + f_sM + f_IN);
-        test("-9900true", "" + f_sM + sf_bl);
-        test("-99005500", "" + f_sM + sf_s);
-        test("-9900-2900", "" + f_sM + s_sM);
-        test("-9900-194313216", "" + f_sM + sf_l);
-        test("-990012", "" + f_sM + s_strU1);
-        test("-9900C(87)", "" + f_sM + sf_o);
-        test("-990091", "" + f_sM + s_strU2);
-        test("-990021", "" + f_sM + f_strU1);
-        test("-990018", "" + f_sM + f_strU2);
-        test("-9900null", "" + f_sM + f_iAN);
-        test("-9900null", "" + f_sM + s_oN);
-        test("-9900\u045180", "" + f_sM + s_strU);
-        test("-9900C", "" + f_sM + sf_c);
-        test("-990075", "" + f_sM + sf_str);
-        test("-9900-43", "" + f_sM + s_bM);
-        test("-990080", "" + f_sM + sf_b);
-        test("-9900null", "" + f_sM + s_IN);
-        test("-9900-52.0", "" + f_sM + s_fM);
-        test("-990075000000", "" + f_sM + sf_i);
-        test("-990044", "" + f_sM + f_b);
-        test("-9900-1705032704", "" + f_sM + sf_lM);
-        test("-9900null", "" + f_sM + f_oAN);
-        test("-990083.0", "" + f_sM + f_d);
-        test("-9900I", "" + f_sM + f_c);
-        test("-990094.0", "" + f_sM + f_f);
-        test("-990012.0", "" + f_sM + sf_d);
-        test("-9900-99.0", "" + f_sM + f_dM);
-        test("-990017.0", "" + f_sM + sf_f);
-        test("-9900-84.0", "" + f_sM + sf_dM);
-        test("-990058000000", "" + f_sM + f_i);
-        test("-9900-55000000", "" + f_sM + f_iM);
-        test("-99001460392448", "" + f_sM + f_l);
-        test("-9900C(70)", "" + f_sM + f_o);
-        test("-9900\u04511", "" + f_sM + sf_strU);
-        test("-99008000", "" + f_sM + f_s);
-        test("-990018", "" + f_sM + s_str);
-        test("-9900-1000000", "" + f_sM + s_iM);
-        test("-99001000000", "" + f_sM + sf_I);
-        test("-9900null", "" + f_sM + f_oNtS);
-        test("-9900false", "" + f_sM + f_bl);
-        test("-9900null", "" + f_sM + sf_iAN);
-        test("-9900-2000000", "" + f_sM + sf_iM);
-        test("-9900-820130816", "" + f_sM + f_lM);
-        test("-9900null", "" + f_sM + sf_oAN);
-        test("-990025000000", "" + f_sM + s_I);
-        test("935228928-96.0", "" + s_l + s_dM);
-        test("935228928null", "" + s_l + s_oNtS);
-        test("935228928\u045176", "" + s_l + f_strU);
-        test("93522892892", "" + s_l + sf_strU2);
-        test("93522892851", "" + s_l + sf_strU1);
-        test("935228928null", "" + s_l + s_iAN);
-        test("935228928-54", "" + s_l + f_bM);
-        test("935228928-87.0", "" + s_l + f_fM);
-        test("935228928null", "" + s_l + s_oAN);
-        test("93522892819", "" + s_l + f_str);
-        test("935228928-41", "" + s_l + sf_bM);
-        test("935228928null", "" + s_l + sf_IN);
-        test("935228928T", "" + s_l + s_c);
-        test("935228928-42.0", "" + s_l + sf_fM);
-        test("93522892825", "" + s_l + s_b);
-        test("935228928null", "" + s_l + f_oN);
-        test("935228928-1410065408", "" + s_l + s_lM);
-        test("9352289288.0", "" + s_l + s_d);
-        test("93522892855.0", "" + s_l + s_f);
-        test("93522892897000000", "" + s_l + s_i);
-        test("935228928-9900", "" + s_l + f_sM);
-        test("935228928935228928", "" + s_l + s_l);
-        test("935228928-8400", "" + s_l + sf_sM);
-        test("935228928C(82)", "" + s_l + s_o);
-        test("935228928null", "" + s_l + sf_oNtS);
-        test("935228928true", "" + s_l + s_bl);
-        test("9352289283900", "" + s_l + s_s);
-        test("935228928null", "" + s_l + sf_oN);
-        test("93522892894000000", "" + s_l + f_I);
-        test("935228928null", "" + s_l + f_IN);
-        test("935228928true", "" + s_l + sf_bl);
-        test("9352289285500", "" + s_l + sf_s);
-        test("935228928-2900", "" + s_l + s_sM);
-        test("935228928-194313216", "" + s_l + sf_l);
-        test("93522892812", "" + s_l + s_strU1);
-        test("935228928C(87)", "" + s_l + sf_o);
-        test("93522892891", "" + s_l + s_strU2);
-        test("93522892821", "" + s_l + f_strU1);
-        test("93522892818", "" + s_l + f_strU2);
-        test("935228928null", "" + s_l + f_iAN);
-        test("935228928null", "" + s_l + s_oN);
-        test("935228928\u045180", "" + s_l + s_strU);
-        test("935228928C", "" + s_l + sf_c);
-        test("93522892875", "" + s_l + sf_str);
-        test("935228928-43", "" + s_l + s_bM);
-        test("93522892880", "" + s_l + sf_b);
-        test("935228928null", "" + s_l + s_IN);
-        test("935228928-52.0", "" + s_l + s_fM);
-        test("93522892875000000", "" + s_l + sf_i);
-        test("93522892844", "" + s_l + f_b);
-        test("935228928-1705032704", "" + s_l + sf_lM);
-        test("935228928null", "" + s_l + f_oAN);
-        test("93522892883.0", "" + s_l + f_d);
-        test("935228928I", "" + s_l + f_c);
-        test("93522892894.0", "" + s_l + f_f);
-        test("93522892812.0", "" + s_l + sf_d);
-        test("935228928-99.0", "" + s_l + f_dM);
-        test("93522892817.0", "" + s_l + sf_f);
-        test("935228928-84.0", "" + s_l + sf_dM);
-        test("93522892858000000", "" + s_l + f_i);
-        test("935228928-55000000", "" + s_l + f_iM);
-        test("9352289281460392448", "" + s_l + f_l);
-        test("935228928C(70)", "" + s_l + f_o);
-        test("935228928\u04511", "" + s_l + sf_strU);
-        test("9352289288000", "" + s_l + f_s);
-        test("93522892818", "" + s_l + s_str);
-        test("935228928-1000000", "" + s_l + s_iM);
-        test("9352289281000000", "" + s_l + sf_I);
-        test("935228928null", "" + s_l + f_oNtS);
-        test("935228928false", "" + s_l + f_bl);
-        test("935228928null", "" + s_l + sf_iAN);
-        test("935228928-2000000", "" + s_l + sf_iM);
-        test("935228928-820130816", "" + s_l + f_lM);
-        test("935228928null", "" + s_l + sf_oAN);
-        test("93522892825000000", "" + s_l + s_I);
-        test("-8400-96.0", "" + sf_sM + s_dM);
-        test("-8400null", "" + sf_sM + s_oNtS);
-        test("-8400\u045176", "" + sf_sM + f_strU);
-        test("-840092", "" + sf_sM + sf_strU2);
-        test("-840051", "" + sf_sM + sf_strU1);
-        test("-8400null", "" + sf_sM + s_iAN);
-        test("-8400-54", "" + sf_sM + f_bM);
-        test("-8400-87.0", "" + sf_sM + f_fM);
-        test("-8400null", "" + sf_sM + s_oAN);
-        test("-840019", "" + sf_sM + f_str);
-        test("-8400-41", "" + sf_sM + sf_bM);
-        test("-8400null", "" + sf_sM + sf_IN);
-        test("-8400T", "" + sf_sM + s_c);
-        test("-8400-42.0", "" + sf_sM + sf_fM);
-        test("-840025", "" + sf_sM + s_b);
-        test("-8400null", "" + sf_sM + f_oN);
-        test("-8400-1410065408", "" + sf_sM + s_lM);
-        test("-84008.0", "" + sf_sM + s_d);
-        test("-840055.0", "" + sf_sM + s_f);
-        test("-840097000000", "" + sf_sM + s_i);
-        test("-8400-9900", "" + sf_sM + f_sM);
-        test("-8400935228928", "" + sf_sM + s_l);
-        test("-8400-8400", "" + sf_sM + sf_sM);
-        test("-8400C(82)", "" + sf_sM + s_o);
-        test("-8400null", "" + sf_sM + sf_oNtS);
-        test("-8400true", "" + sf_sM + s_bl);
-        test("-84003900", "" + sf_sM + s_s);
-        test("-8400null", "" + sf_sM + sf_oN);
-        test("-840094000000", "" + sf_sM + f_I);
-        test("-8400null", "" + sf_sM + f_IN);
-        test("-8400true", "" + sf_sM + sf_bl);
-        test("-84005500", "" + sf_sM + sf_s);
-        test("-8400-2900", "" + sf_sM + s_sM);
-        test("-8400-194313216", "" + sf_sM + sf_l);
-        test("-840012", "" + sf_sM + s_strU1);
-        test("-8400C(87)", "" + sf_sM + sf_o);
-        test("-840091", "" + sf_sM + s_strU2);
-        test("-840021", "" + sf_sM + f_strU1);
-        test("-840018", "" + sf_sM + f_strU2);
-        test("-8400null", "" + sf_sM + f_iAN);
-        test("-8400null", "" + sf_sM + s_oN);
-        test("-8400\u045180", "" + sf_sM + s_strU);
-        test("-8400C", "" + sf_sM + sf_c);
-        test("-840075", "" + sf_sM + sf_str);
-        test("-8400-43", "" + sf_sM + s_bM);
-        test("-840080", "" + sf_sM + sf_b);
-        test("-8400null", "" + sf_sM + s_IN);
-        test("-8400-52.0", "" + sf_sM + s_fM);
-        test("-840075000000", "" + sf_sM + sf_i);
-        test("-840044", "" + sf_sM + f_b);
-        test("-8400-1705032704", "" + sf_sM + sf_lM);
-        test("-8400null", "" + sf_sM + f_oAN);
-        test("-840083.0", "" + sf_sM + f_d);
-        test("-8400I", "" + sf_sM + f_c);
-        test("-840094.0", "" + sf_sM + f_f);
-        test("-840012.0", "" + sf_sM + sf_d);
-        test("-8400-99.0", "" + sf_sM + f_dM);
-        test("-840017.0", "" + sf_sM + sf_f);
-        test("-8400-84.0", "" + sf_sM + sf_dM);
-        test("-840058000000", "" + sf_sM + f_i);
-        test("-8400-55000000", "" + sf_sM + f_iM);
-        test("-84001460392448", "" + sf_sM + f_l);
-        test("-8400C(70)", "" + sf_sM + f_o);
-        test("-8400\u04511", "" + sf_sM + sf_strU);
-        test("-84008000", "" + sf_sM + f_s);
-        test("-840018", "" + sf_sM + s_str);
-        test("-8400-1000000", "" + sf_sM + s_iM);
-        test("-84001000000", "" + sf_sM + sf_I);
-        test("-8400null", "" + sf_sM + f_oNtS);
-        test("-8400false", "" + sf_sM + f_bl);
-        test("-8400null", "" + sf_sM + sf_iAN);
-        test("-8400-2000000", "" + sf_sM + sf_iM);
-        test("-8400-820130816", "" + sf_sM + f_lM);
-        test("-8400null", "" + sf_sM + sf_oAN);
-        test("-840025000000", "" + sf_sM + s_I);
-        test("C(82)-96.0", "" + s_o + s_dM);
-        test("C(82)null", "" + s_o + s_oNtS);
-        test("C(82)\u045176", "" + s_o + f_strU);
-        test("C(82)92", "" + s_o + sf_strU2);
-        test("C(82)51", "" + s_o + sf_strU1);
-        test("C(82)null", "" + s_o + s_iAN);
-        test("C(82)-54", "" + s_o + f_bM);
-        test("C(82)-87.0", "" + s_o + f_fM);
-        test("C(82)null", "" + s_o + s_oAN);
-        test("C(82)19", "" + s_o + f_str);
-        test("C(82)-41", "" + s_o + sf_bM);
-        test("C(82)null", "" + s_o + sf_IN);
-        test("C(82)T", "" + s_o + s_c);
-        test("C(82)-42.0", "" + s_o + sf_fM);
-        test("C(82)25", "" + s_o + s_b);
-        test("C(82)null", "" + s_o + f_oN);
-        test("C(82)-1410065408", "" + s_o + s_lM);
-        test("C(82)8.0", "" + s_o + s_d);
-        test("C(82)55.0", "" + s_o + s_f);
-        test("C(82)97000000", "" + s_o + s_i);
-        test("C(82)-9900", "" + s_o + f_sM);
-        test("C(82)935228928", "" + s_o + s_l);
-        test("C(82)-8400", "" + s_o + sf_sM);
-        test("C(82)C(82)", "" + s_o + s_o);
-        test("C(82)null", "" + s_o + sf_oNtS);
-        test("C(82)true", "" + s_o + s_bl);
-        test("C(82)3900", "" + s_o + s_s);
-        test("C(82)null", "" + s_o + sf_oN);
-        test("C(82)94000000", "" + s_o + f_I);
-        test("C(82)null", "" + s_o + f_IN);
-        test("C(82)true", "" + s_o + sf_bl);
-        test("C(82)5500", "" + s_o + sf_s);
-        test("C(82)-2900", "" + s_o + s_sM);
-        test("C(82)-194313216", "" + s_o + sf_l);
-        test("C(82)12", "" + s_o + s_strU1);
-        test("C(82)C(87)", "" + s_o + sf_o);
-        test("C(82)91", "" + s_o + s_strU2);
-        test("C(82)21", "" + s_o + f_strU1);
-        test("C(82)18", "" + s_o + f_strU2);
-        test("C(82)null", "" + s_o + f_iAN);
-        test("C(82)null", "" + s_o + s_oN);
-        test("C(82)\u045180", "" + s_o + s_strU);
-        test("C(82)C", "" + s_o + sf_c);
-        test("C(82)75", "" + s_o + sf_str);
-        test("C(82)-43", "" + s_o + s_bM);
-        test("C(82)80", "" + s_o + sf_b);
-        test("C(82)null", "" + s_o + s_IN);
-        test("C(82)-52.0", "" + s_o + s_fM);
-        test("C(82)75000000", "" + s_o + sf_i);
-        test("C(82)44", "" + s_o + f_b);
-        test("C(82)-1705032704", "" + s_o + sf_lM);
-        test("C(82)null", "" + s_o + f_oAN);
-        test("C(82)83.0", "" + s_o + f_d);
-        test("C(82)I", "" + s_o + f_c);
-        test("C(82)94.0", "" + s_o + f_f);
-        test("C(82)12.0", "" + s_o + sf_d);
-        test("C(82)-99.0", "" + s_o + f_dM);
-        test("C(82)17.0", "" + s_o + sf_f);
-        test("C(82)-84.0", "" + s_o + sf_dM);
-        test("C(82)58000000", "" + s_o + f_i);
-        test("C(82)-55000000", "" + s_o + f_iM);
-        test("C(82)1460392448", "" + s_o + f_l);
-        test("C(82)C(70)", "" + s_o + f_o);
-        test("C(82)\u04511", "" + s_o + sf_strU);
-        test("C(82)8000", "" + s_o + f_s);
-        test("C(82)18", "" + s_o + s_str);
-        test("C(82)-1000000", "" + s_o + s_iM);
-        test("C(82)1000000", "" + s_o + sf_I);
-        test("C(82)null", "" + s_o + f_oNtS);
-        test("C(82)false", "" + s_o + f_bl);
-        test("C(82)null", "" + s_o + sf_iAN);
-        test("C(82)-2000000", "" + s_o + sf_iM);
-        test("C(82)-820130816", "" + s_o + f_lM);
-        test("C(82)null", "" + s_o + sf_oAN);
-        test("C(82)25000000", "" + s_o + s_I);
-        test("null-96.0", "" + sf_oNtS + s_dM);
-        test("nullnull", "" + sf_oNtS + s_oNtS);
-        test("null\u045176", "" + sf_oNtS + f_strU);
-        test("null92", "" + sf_oNtS + sf_strU2);
-        test("null51", "" + sf_oNtS + sf_strU1);
-        test("nullnull", "" + sf_oNtS + s_iAN);
-        test("null-54", "" + sf_oNtS + f_bM);
-        test("null-87.0", "" + sf_oNtS + f_fM);
-        test("nullnull", "" + sf_oNtS + s_oAN);
-        test("null19", "" + sf_oNtS + f_str);
-        test("null-41", "" + sf_oNtS + sf_bM);
-        test("nullnull", "" + sf_oNtS + sf_IN);
-        test("nullT", "" + sf_oNtS + s_c);
-        test("null-42.0", "" + sf_oNtS + sf_fM);
-        test("null25", "" + sf_oNtS + s_b);
-        test("nullnull", "" + sf_oNtS + f_oN);
-        test("null-1410065408", "" + sf_oNtS + s_lM);
-        test("null8.0", "" + sf_oNtS + s_d);
-        test("null55.0", "" + sf_oNtS + s_f);
-        test("null97000000", "" + sf_oNtS + s_i);
-        test("null-9900", "" + sf_oNtS + f_sM);
-        test("null935228928", "" + sf_oNtS + s_l);
-        test("null-8400", "" + sf_oNtS + sf_sM);
-        test("nullC(82)", "" + sf_oNtS + s_o);
-        test("nullnull", "" + sf_oNtS + sf_oNtS);
-        test("nulltrue", "" + sf_oNtS + s_bl);
-        test("null3900", "" + sf_oNtS + s_s);
-        test("nullnull", "" + sf_oNtS + sf_oN);
-        test("null94000000", "" + sf_oNtS + f_I);
-        test("nullnull", "" + sf_oNtS + f_IN);
-        test("nulltrue", "" + sf_oNtS + sf_bl);
-        test("null5500", "" + sf_oNtS + sf_s);
-        test("null-2900", "" + sf_oNtS + s_sM);
-        test("null-194313216", "" + sf_oNtS + sf_l);
-        test("null12", "" + sf_oNtS + s_strU1);
-        test("nullC(87)", "" + sf_oNtS + sf_o);
-        test("null91", "" + sf_oNtS + s_strU2);
-        test("null21", "" + sf_oNtS + f_strU1);
-        test("null18", "" + sf_oNtS + f_strU2);
-        test("nullnull", "" + sf_oNtS + f_iAN);
-        test("nullnull", "" + sf_oNtS + s_oN);
-        test("null\u045180", "" + sf_oNtS + s_strU);
-        test("nullC", "" + sf_oNtS + sf_c);
-        test("null75", "" + sf_oNtS + sf_str);
-        test("null-43", "" + sf_oNtS + s_bM);
-        test("null80", "" + sf_oNtS + sf_b);
-        test("nullnull", "" + sf_oNtS + s_IN);
-        test("null-52.0", "" + sf_oNtS + s_fM);
-        test("null75000000", "" + sf_oNtS + sf_i);
-        test("null44", "" + sf_oNtS + f_b);
-        test("null-1705032704", "" + sf_oNtS + sf_lM);
-        test("nullnull", "" + sf_oNtS + f_oAN);
-        test("null83.0", "" + sf_oNtS + f_d);
-        test("nullI", "" + sf_oNtS + f_c);
-        test("null94.0", "" + sf_oNtS + f_f);
-        test("null12.0", "" + sf_oNtS + sf_d);
-        test("null-99.0", "" + sf_oNtS + f_dM);
-        test("null17.0", "" + sf_oNtS + sf_f);
-        test("null-84.0", "" + sf_oNtS + sf_dM);
-        test("null58000000", "" + sf_oNtS + f_i);
-        test("null-55000000", "" + sf_oNtS + f_iM);
-        test("null1460392448", "" + sf_oNtS + f_l);
-        test("nullC(70)", "" + sf_oNtS + f_o);
-        test("null\u04511", "" + sf_oNtS + sf_strU);
-        test("null8000", "" + sf_oNtS + f_s);
-        test("null18", "" + sf_oNtS + s_str);
-        test("null-1000000", "" + sf_oNtS + s_iM);
-        test("null1000000", "" + sf_oNtS + sf_I);
-        test("nullnull", "" + sf_oNtS + f_oNtS);
-        test("nullfalse", "" + sf_oNtS + f_bl);
-        test("nullnull", "" + sf_oNtS + sf_iAN);
-        test("null-2000000", "" + sf_oNtS + sf_iM);
-        test("null-820130816", "" + sf_oNtS + f_lM);
-        test("nullnull", "" + sf_oNtS + sf_oAN);
-        test("null25000000", "" + sf_oNtS + s_I);
-        test("true-96.0", "" + s_bl + s_dM);
-        test("truenull", "" + s_bl + s_oNtS);
-        test("true\u045176", "" + s_bl + f_strU);
-        test("true92", "" + s_bl + sf_strU2);
-        test("true51", "" + s_bl + sf_strU1);
-        test("truenull", "" + s_bl + s_iAN);
-        test("true-54", "" + s_bl + f_bM);
-        test("true-87.0", "" + s_bl + f_fM);
-        test("truenull", "" + s_bl + s_oAN);
-        test("true19", "" + s_bl + f_str);
-        test("true-41", "" + s_bl + sf_bM);
-        test("truenull", "" + s_bl + sf_IN);
-        test("trueT", "" + s_bl + s_c);
-        test("true-42.0", "" + s_bl + sf_fM);
-        test("true25", "" + s_bl + s_b);
-        test("truenull", "" + s_bl + f_oN);
-        test("true-1410065408", "" + s_bl + s_lM);
-        test("true8.0", "" + s_bl + s_d);
-        test("true55.0", "" + s_bl + s_f);
-        test("true97000000", "" + s_bl + s_i);
-        test("true-9900", "" + s_bl + f_sM);
-        test("true935228928", "" + s_bl + s_l);
-        test("true-8400", "" + s_bl + sf_sM);
-        test("trueC(82)", "" + s_bl + s_o);
-        test("truenull", "" + s_bl + sf_oNtS);
-        test("truetrue", "" + s_bl + s_bl);
-        test("true3900", "" + s_bl + s_s);
-        test("truenull", "" + s_bl + sf_oN);
-        test("true94000000", "" + s_bl + f_I);
-        test("truenull", "" + s_bl + f_IN);
-        test("truetrue", "" + s_bl + sf_bl);
-        test("true5500", "" + s_bl + sf_s);
-        test("true-2900", "" + s_bl + s_sM);
-        test("true-194313216", "" + s_bl + sf_l);
-        test("true12", "" + s_bl + s_strU1);
-        test("trueC(87)", "" + s_bl + sf_o);
-        test("true91", "" + s_bl + s_strU2);
-        test("true21", "" + s_bl + f_strU1);
-        test("true18", "" + s_bl + f_strU2);
-        test("truenull", "" + s_bl + f_iAN);
-        test("truenull", "" + s_bl + s_oN);
-        test("true\u045180", "" + s_bl + s_strU);
-        test("trueC", "" + s_bl + sf_c);
-        test("true75", "" + s_bl + sf_str);
-        test("true-43", "" + s_bl + s_bM);
-        test("true80", "" + s_bl + sf_b);
-        test("truenull", "" + s_bl + s_IN);
-        test("true-52.0", "" + s_bl + s_fM);
-        test("true75000000", "" + s_bl + sf_i);
-        test("true44", "" + s_bl + f_b);
+        test("92nullsuffix", "" + sf_strU2 + s_oAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + s_oAN + "suffix2");
+        test("9219", "" + sf_strU2 + f_str);
+        test("9219suffix", "" + sf_strU2 + f_str + "suffix");
+        test("prefix92suffix119suffix2", "prefix" + sf_strU2 + "suffix1" + f_str + "suffix2");
+        test("92-41", "" + sf_strU2 + sf_bM);
+        test("92-41suffix", "" + sf_strU2 + sf_bM + "suffix");
+        test("prefix92suffix1-41suffix2", "prefix" + sf_strU2 + "suffix1" + sf_bM + "suffix2");
+        test("92null", "" + sf_strU2 + sf_IN);
+        test("92nullsuffix", "" + sf_strU2 + sf_IN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + sf_IN + "suffix2");
+        test("92T", "" + sf_strU2 + s_c);
+        test("92Tsuffix", "" + sf_strU2 + s_c + "suffix");
+        test("prefix92suffix1Tsuffix2", "prefix" + sf_strU2 + "suffix1" + s_c + "suffix2");
+        test("92-42.0", "" + sf_strU2 + sf_fM);
+        test("92-42.0suffix", "" + sf_strU2 + sf_fM + "suffix");
+        test("prefix92suffix1-42.0suffix2", "prefix" + sf_strU2 + "suffix1" + sf_fM + "suffix2");
+        test("9225", "" + sf_strU2 + s_b);
+        test("9225suffix", "" + sf_strU2 + s_b + "suffix");
+        test("prefix92suffix125suffix2", "prefix" + sf_strU2 + "suffix1" + s_b + "suffix2");
+        test("92null", "" + sf_strU2 + f_oN);
+        test("92nullsuffix", "" + sf_strU2 + f_oN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + f_oN + "suffix2");
+        test("92-1410065408", "" + sf_strU2 + s_lM);
+        test("92-1410065408suffix", "" + sf_strU2 + s_lM + "suffix");
+        test("prefix92suffix1-1410065408suffix2", "prefix" + sf_strU2 + "suffix1" + s_lM + "suffix2");
+        test("928.0", "" + sf_strU2 + s_d);
+        test("928.0suffix", "" + sf_strU2 + s_d + "suffix");
+        test("prefix92suffix18.0suffix2", "prefix" + sf_strU2 + "suffix1" + s_d + "suffix2");
+        test("9255.0", "" + sf_strU2 + s_f);
+        test("9255.0suffix", "" + sf_strU2 + s_f + "suffix");
+        test("prefix92suffix155.0suffix2", "prefix" + sf_strU2 + "suffix1" + s_f + "suffix2");
+        test("9297000000", "" + sf_strU2 + s_i);
+        test("9297000000suffix", "" + sf_strU2 + s_i + "suffix");
+        test("prefix92suffix197000000suffix2", "prefix" + sf_strU2 + "suffix1" + s_i + "suffix2");
+        test("92-9900", "" + sf_strU2 + f_sM);
+        test("92-9900suffix", "" + sf_strU2 + f_sM + "suffix");
+        test("prefix92suffix1-9900suffix2", "prefix" + sf_strU2 + "suffix1" + f_sM + "suffix2");
+        test("92935228928", "" + sf_strU2 + s_l);
+        test("92935228928suffix", "" + sf_strU2 + s_l + "suffix");
+        test("prefix92suffix1935228928suffix2", "prefix" + sf_strU2 + "suffix1" + s_l + "suffix2");
+        test("92-8400", "" + sf_strU2 + sf_sM);
+        test("92-8400suffix", "" + sf_strU2 + sf_sM + "suffix");
+        test("prefix92suffix1-8400suffix2", "prefix" + sf_strU2 + "suffix1" + sf_sM + "suffix2");
+        test("92C(82)", "" + sf_strU2 + s_o);
+        test("92C(82)suffix", "" + sf_strU2 + s_o + "suffix");
+        test("prefix92suffix1C(82)suffix2", "prefix" + sf_strU2 + "suffix1" + s_o + "suffix2");
+        test("92null", "" + sf_strU2 + sf_oNtS);
+        test("92nullsuffix", "" + sf_strU2 + sf_oNtS + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + sf_oNtS + "suffix2");
+        test("92true", "" + sf_strU2 + s_bl);
+        test("92truesuffix", "" + sf_strU2 + s_bl + "suffix");
+        test("prefix92suffix1truesuffix2", "prefix" + sf_strU2 + "suffix1" + s_bl + "suffix2");
+        test("923900", "" + sf_strU2 + s_s);
+        test("923900suffix", "" + sf_strU2 + s_s + "suffix");
+        test("prefix92suffix13900suffix2", "prefix" + sf_strU2 + "suffix1" + s_s + "suffix2");
+        test("92null", "" + sf_strU2 + sf_oN);
+        test("92nullsuffix", "" + sf_strU2 + sf_oN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + sf_oN + "suffix2");
+        test("9294000000", "" + sf_strU2 + f_I);
+        test("9294000000suffix", "" + sf_strU2 + f_I + "suffix");
+        test("prefix92suffix194000000suffix2", "prefix" + sf_strU2 + "suffix1" + f_I + "suffix2");
+        test("92null", "" + sf_strU2 + f_IN);
+        test("92nullsuffix", "" + sf_strU2 + f_IN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + f_IN + "suffix2");
+        test("92true", "" + sf_strU2 + sf_bl);
+        test("92truesuffix", "" + sf_strU2 + sf_bl + "suffix");
+        test("prefix92suffix1truesuffix2", "prefix" + sf_strU2 + "suffix1" + sf_bl + "suffix2");
+        test("925500", "" + sf_strU2 + sf_s);
+        test("925500suffix", "" + sf_strU2 + sf_s + "suffix");
+        test("prefix92suffix15500suffix2", "prefix" + sf_strU2 + "suffix1" + sf_s + "suffix2");
+        test("92-2900", "" + sf_strU2 + s_sM);
+        test("92-2900suffix", "" + sf_strU2 + s_sM + "suffix");
+        test("prefix92suffix1-2900suffix2", "prefix" + sf_strU2 + "suffix1" + s_sM + "suffix2");
+        test("92-194313216", "" + sf_strU2 + sf_l);
+        test("92-194313216suffix", "" + sf_strU2 + sf_l + "suffix");
+        test("prefix92suffix1-194313216suffix2", "prefix" + sf_strU2 + "suffix1" + sf_l + "suffix2");
+        test("9212", "" + sf_strU2 + s_strU1);
+        test("9212suffix", "" + sf_strU2 + s_strU1 + "suffix");
+        test("prefix92suffix112suffix2", "prefix" + sf_strU2 + "suffix1" + s_strU1 + "suffix2");
+        test("92C(87)", "" + sf_strU2 + sf_o);
+        test("92C(87)suffix", "" + sf_strU2 + sf_o + "suffix");
+        test("prefix92suffix1C(87)suffix2", "prefix" + sf_strU2 + "suffix1" + sf_o + "suffix2");
+        test("9291", "" + sf_strU2 + s_strU2);
+        test("9291suffix", "" + sf_strU2 + s_strU2 + "suffix");
+        test("prefix92suffix191suffix2", "prefix" + sf_strU2 + "suffix1" + s_strU2 + "suffix2");
+        test("9221", "" + sf_strU2 + f_strU1);
+        test("9221suffix", "" + sf_strU2 + f_strU1 + "suffix");
+        test("prefix92suffix121suffix2", "prefix" + sf_strU2 + "suffix1" + f_strU1 + "suffix2");
+        test("9218", "" + sf_strU2 + f_strU2);
+        test("9218suffix", "" + sf_strU2 + f_strU2 + "suffix");
+        test("prefix92suffix118suffix2", "prefix" + sf_strU2 + "suffix1" + f_strU2 + "suffix2");
+        test("92null", "" + sf_strU2 + f_iAN);
+        test("92nullsuffix", "" + sf_strU2 + f_iAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + f_iAN + "suffix2");
+        test("92null", "" + sf_strU2 + s_oN);
+        test("92nullsuffix", "" + sf_strU2 + s_oN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + s_oN + "suffix2");
+        test("92\u045180", "" + sf_strU2 + s_strU);
+        test("92\u045180suffix", "" + sf_strU2 + s_strU + "suffix");
+        test("prefix92suffix1\u045180suffix2", "prefix" + sf_strU2 + "suffix1" + s_strU + "suffix2");
+        test("92C", "" + sf_strU2 + sf_c);
+        test("92Csuffix", "" + sf_strU2 + sf_c + "suffix");
+        test("prefix92suffix1Csuffix2", "prefix" + sf_strU2 + "suffix1" + sf_c + "suffix2");
+        test("9275", "" + sf_strU2 + sf_str);
+        test("9275suffix", "" + sf_strU2 + sf_str + "suffix");
+        test("prefix92suffix175suffix2", "prefix" + sf_strU2 + "suffix1" + sf_str + "suffix2");
+        test("92-43", "" + sf_strU2 + s_bM);
+        test("92-43suffix", "" + sf_strU2 + s_bM + "suffix");
+        test("prefix92suffix1-43suffix2", "prefix" + sf_strU2 + "suffix1" + s_bM + "suffix2");
+        test("9280", "" + sf_strU2 + sf_b);
+        test("9280suffix", "" + sf_strU2 + sf_b + "suffix");
+        test("prefix92suffix180suffix2", "prefix" + sf_strU2 + "suffix1" + sf_b + "suffix2");
+        test("92null", "" + sf_strU2 + s_IN);
+        test("92nullsuffix", "" + sf_strU2 + s_IN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + s_IN + "suffix2");
+        test("92-52.0", "" + sf_strU2 + s_fM);
+        test("92-52.0suffix", "" + sf_strU2 + s_fM + "suffix");
+        test("prefix92suffix1-52.0suffix2", "prefix" + sf_strU2 + "suffix1" + s_fM + "suffix2");
+        test("9275000000", "" + sf_strU2 + sf_i);
+        test("9275000000suffix", "" + sf_strU2 + sf_i + "suffix");
+        test("prefix92suffix175000000suffix2", "prefix" + sf_strU2 + "suffix1" + sf_i + "suffix2");
+        test("9244", "" + sf_strU2 + f_b);
+        test("9244suffix", "" + sf_strU2 + f_b + "suffix");
+        test("prefix92suffix144suffix2", "prefix" + sf_strU2 + "suffix1" + f_b + "suffix2");
+        test("92-1705032704", "" + sf_strU2 + sf_lM);
+        test("92-1705032704suffix", "" + sf_strU2 + sf_lM + "suffix");
+        test("prefix92suffix1-1705032704suffix2", "prefix" + sf_strU2 + "suffix1" + sf_lM + "suffix2");
+        test("92null", "" + sf_strU2 + f_oAN);
+        test("92nullsuffix", "" + sf_strU2 + f_oAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + f_oAN + "suffix2");
+        test("9283.0", "" + sf_strU2 + f_d);
+        test("9283.0suffix", "" + sf_strU2 + f_d + "suffix");
+        test("prefix92suffix183.0suffix2", "prefix" + sf_strU2 + "suffix1" + f_d + "suffix2");
+        test("92I", "" + sf_strU2 + f_c);
+        test("92Isuffix", "" + sf_strU2 + f_c + "suffix");
+        test("prefix92suffix1Isuffix2", "prefix" + sf_strU2 + "suffix1" + f_c + "suffix2");
+        test("9294.0", "" + sf_strU2 + f_f);
+        test("9294.0suffix", "" + sf_strU2 + f_f + "suffix");
+        test("prefix92suffix194.0suffix2", "prefix" + sf_strU2 + "suffix1" + f_f + "suffix2");
+        test("9212.0", "" + sf_strU2 + sf_d);
+        test("9212.0suffix", "" + sf_strU2 + sf_d + "suffix");
+        test("prefix92suffix112.0suffix2", "prefix" + sf_strU2 + "suffix1" + sf_d + "suffix2");
+        test("92-99.0", "" + sf_strU2 + f_dM);
+        test("92-99.0suffix", "" + sf_strU2 + f_dM + "suffix");
+        test("prefix92suffix1-99.0suffix2", "prefix" + sf_strU2 + "suffix1" + f_dM + "suffix2");
+        test("9217.0", "" + sf_strU2 + sf_f);
+        test("9217.0suffix", "" + sf_strU2 + sf_f + "suffix");
+        test("prefix92suffix117.0suffix2", "prefix" + sf_strU2 + "suffix1" + sf_f + "suffix2");
+        test("92-84.0", "" + sf_strU2 + sf_dM);
+        test("92-84.0suffix", "" + sf_strU2 + sf_dM + "suffix");
+        test("prefix92suffix1-84.0suffix2", "prefix" + sf_strU2 + "suffix1" + sf_dM + "suffix2");
+        test("9258000000", "" + sf_strU2 + f_i);
+        test("9258000000suffix", "" + sf_strU2 + f_i + "suffix");
+        test("prefix92suffix158000000suffix2", "prefix" + sf_strU2 + "suffix1" + f_i + "suffix2");
+        test("92-55000000", "" + sf_strU2 + f_iM);
+        test("92-55000000suffix", "" + sf_strU2 + f_iM + "suffix");
+        test("prefix92suffix1-55000000suffix2", "prefix" + sf_strU2 + "suffix1" + f_iM + "suffix2");
+        test("921460392448", "" + sf_strU2 + f_l);
+        test("921460392448suffix", "" + sf_strU2 + f_l + "suffix");
+        test("prefix92suffix11460392448suffix2", "prefix" + sf_strU2 + "suffix1" + f_l + "suffix2");
+        test("92C(70)", "" + sf_strU2 + f_o);
+        test("92C(70)suffix", "" + sf_strU2 + f_o + "suffix");
+        test("prefix92suffix1C(70)suffix2", "prefix" + sf_strU2 + "suffix1" + f_o + "suffix2");
+        test("92\u04511", "" + sf_strU2 + sf_strU);
+        test("92\u04511suffix", "" + sf_strU2 + sf_strU + "suffix");
+        test("prefix92suffix1\u04511suffix2", "prefix" + sf_strU2 + "suffix1" + sf_strU + "suffix2");
+        test("928000", "" + sf_strU2 + f_s);
+        test("928000suffix", "" + sf_strU2 + f_s + "suffix");
+        test("prefix92suffix18000suffix2", "prefix" + sf_strU2 + "suffix1" + f_s + "suffix2");
+        test("9218", "" + sf_strU2 + s_str);
+        test("9218suffix", "" + sf_strU2 + s_str + "suffix");
+        test("prefix92suffix118suffix2", "prefix" + sf_strU2 + "suffix1" + s_str + "suffix2");
+        test("92-1000000", "" + sf_strU2 + s_iM);
+        test("92-1000000suffix", "" + sf_strU2 + s_iM + "suffix");
+        test("prefix92suffix1-1000000suffix2", "prefix" + sf_strU2 + "suffix1" + s_iM + "suffix2");
+        test("921000000", "" + sf_strU2 + sf_I);
+        test("921000000suffix", "" + sf_strU2 + sf_I + "suffix");
+        test("prefix92suffix11000000suffix2", "prefix" + sf_strU2 + "suffix1" + sf_I + "suffix2");
+        test("92null", "" + sf_strU2 + f_oNtS);
+        test("92nullsuffix", "" + sf_strU2 + f_oNtS + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + f_oNtS + "suffix2");
+        test("92false", "" + sf_strU2 + f_bl);
+        test("92falsesuffix", "" + sf_strU2 + f_bl + "suffix");
+        test("prefix92suffix1falsesuffix2", "prefix" + sf_strU2 + "suffix1" + f_bl + "suffix2");
+        test("92null", "" + sf_strU2 + sf_iAN);
+        test("92nullsuffix", "" + sf_strU2 + sf_iAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + sf_iAN + "suffix2");
+        test("92-2000000", "" + sf_strU2 + sf_iM);
+        test("92-2000000suffix", "" + sf_strU2 + sf_iM + "suffix");
+        test("prefix92suffix1-2000000suffix2", "prefix" + sf_strU2 + "suffix1" + sf_iM + "suffix2");
+        test("92-820130816", "" + sf_strU2 + f_lM);
+        test("92-820130816suffix", "" + sf_strU2 + f_lM + "suffix");
+        test("prefix92suffix1-820130816suffix2", "prefix" + sf_strU2 + "suffix1" + f_lM + "suffix2");
+        test("92null", "" + sf_strU2 + sf_oAN);
+        test("92nullsuffix", "" + sf_strU2 + sf_oAN + "suffix");
+        test("prefix92suffix1nullsuffix2", "prefix" + sf_strU2 + "suffix1" + sf_oAN + "suffix2");
+        test("9225000000", "" + sf_strU2 + s_I);
+        test("9225000000suffix", "" + sf_strU2 + s_I + "suffix");
+        test("prefix92suffix125000000suffix2", "prefix" + sf_strU2 + "suffix1" + s_I + "suffix2");
+        test("51-96.0", "" + sf_strU1 + s_dM);
+        test("51-96.0suffix", "" + sf_strU1 + s_dM + "suffix");
+        test("prefix51suffix1-96.0suffix2", "prefix" + sf_strU1 + "suffix1" + s_dM + "suffix2");
+        test("51null", "" + sf_strU1 + s_oNtS);
+        test("51nullsuffix", "" + sf_strU1 + s_oNtS + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + s_oNtS + "suffix2");
+        test("51\u045176", "" + sf_strU1 + f_strU);
+        test("51\u045176suffix", "" + sf_strU1 + f_strU + "suffix");
+        test("prefix51suffix1\u045176suffix2", "prefix" + sf_strU1 + "suffix1" + f_strU + "suffix2");
+        test("5192", "" + sf_strU1 + sf_strU2);
+        test("5192suffix", "" + sf_strU1 + sf_strU2 + "suffix");
+        test("prefix51suffix192suffix2", "prefix" + sf_strU1 + "suffix1" + sf_strU2 + "suffix2");
+        test("5151", "" + sf_strU1 + sf_strU1);
+        test("5151suffix", "" + sf_strU1 + sf_strU1 + "suffix");
+        test("prefix51suffix151suffix2", "prefix" + sf_strU1 + "suffix1" + sf_strU1 + "suffix2");
+        test("51null", "" + sf_strU1 + s_iAN);
+        test("51nullsuffix", "" + sf_strU1 + s_iAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + s_iAN + "suffix2");
+        test("51-54", "" + sf_strU1 + f_bM);
+        test("51-54suffix", "" + sf_strU1 + f_bM + "suffix");
+        test("prefix51suffix1-54suffix2", "prefix" + sf_strU1 + "suffix1" + f_bM + "suffix2");
+        test("51-87.0", "" + sf_strU1 + f_fM);
+        test("51-87.0suffix", "" + sf_strU1 + f_fM + "suffix");
+        test("prefix51suffix1-87.0suffix2", "prefix" + sf_strU1 + "suffix1" + f_fM + "suffix2");
+        test("51null", "" + sf_strU1 + s_oAN);
+        test("51nullsuffix", "" + sf_strU1 + s_oAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + s_oAN + "suffix2");
+        test("5119", "" + sf_strU1 + f_str);
+        test("5119suffix", "" + sf_strU1 + f_str + "suffix");
+        test("prefix51suffix119suffix2", "prefix" + sf_strU1 + "suffix1" + f_str + "suffix2");
+        test("51-41", "" + sf_strU1 + sf_bM);
+        test("51-41suffix", "" + sf_strU1 + sf_bM + "suffix");
+        test("prefix51suffix1-41suffix2", "prefix" + sf_strU1 + "suffix1" + sf_bM + "suffix2");
+        test("51null", "" + sf_strU1 + sf_IN);
+        test("51nullsuffix", "" + sf_strU1 + sf_IN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + sf_IN + "suffix2");
+        test("51T", "" + sf_strU1 + s_c);
+        test("51Tsuffix", "" + sf_strU1 + s_c + "suffix");
+        test("prefix51suffix1Tsuffix2", "prefix" + sf_strU1 + "suffix1" + s_c + "suffix2");
+        test("51-42.0", "" + sf_strU1 + sf_fM);
+        test("51-42.0suffix", "" + sf_strU1 + sf_fM + "suffix");
+        test("prefix51suffix1-42.0suffix2", "prefix" + sf_strU1 + "suffix1" + sf_fM + "suffix2");
+        test("5125", "" + sf_strU1 + s_b);
+        test("5125suffix", "" + sf_strU1 + s_b + "suffix");
+        test("prefix51suffix125suffix2", "prefix" + sf_strU1 + "suffix1" + s_b + "suffix2");
+        test("51null", "" + sf_strU1 + f_oN);
+        test("51nullsuffix", "" + sf_strU1 + f_oN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + f_oN + "suffix2");
+        test("51-1410065408", "" + sf_strU1 + s_lM);
+        test("51-1410065408suffix", "" + sf_strU1 + s_lM + "suffix");
+        test("prefix51suffix1-1410065408suffix2", "prefix" + sf_strU1 + "suffix1" + s_lM + "suffix2");
+        test("518.0", "" + sf_strU1 + s_d);
+        test("518.0suffix", "" + sf_strU1 + s_d + "suffix");
+        test("prefix51suffix18.0suffix2", "prefix" + sf_strU1 + "suffix1" + s_d + "suffix2");
+        test("5155.0", "" + sf_strU1 + s_f);
+        test("5155.0suffix", "" + sf_strU1 + s_f + "suffix");
+        test("prefix51suffix155.0suffix2", "prefix" + sf_strU1 + "suffix1" + s_f + "suffix2");
+        test("5197000000", "" + sf_strU1 + s_i);
+        test("5197000000suffix", "" + sf_strU1 + s_i + "suffix");
+        test("prefix51suffix197000000suffix2", "prefix" + sf_strU1 + "suffix1" + s_i + "suffix2");
+        test("51-9900", "" + sf_strU1 + f_sM);
+        test("51-9900suffix", "" + sf_strU1 + f_sM + "suffix");
+        test("prefix51suffix1-9900suffix2", "prefix" + sf_strU1 + "suffix1" + f_sM + "suffix2");
+        test("51935228928", "" + sf_strU1 + s_l);
+        test("51935228928suffix", "" + sf_strU1 + s_l + "suffix");
+        test("prefix51suffix1935228928suffix2", "prefix" + sf_strU1 + "suffix1" + s_l + "suffix2");
+        test("51-8400", "" + sf_strU1 + sf_sM);
+        test("51-8400suffix", "" + sf_strU1 + sf_sM + "suffix");
+        test("prefix51suffix1-8400suffix2", "prefix" + sf_strU1 + "suffix1" + sf_sM + "suffix2");
+        test("51C(82)", "" + sf_strU1 + s_o);
+        test("51C(82)suffix", "" + sf_strU1 + s_o + "suffix");
+        test("prefix51suffix1C(82)suffix2", "prefix" + sf_strU1 + "suffix1" + s_o + "suffix2");
+        test("51null", "" + sf_strU1 + sf_oNtS);
+        test("51nullsuffix", "" + sf_strU1 + sf_oNtS + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + sf_oNtS + "suffix2");
+        test("51true", "" + sf_strU1 + s_bl);
+        test("51truesuffix", "" + sf_strU1 + s_bl + "suffix");
+        test("prefix51suffix1truesuffix2", "prefix" + sf_strU1 + "suffix1" + s_bl + "suffix2");
+        test("513900", "" + sf_strU1 + s_s);
+        test("513900suffix", "" + sf_strU1 + s_s + "suffix");
+        test("prefix51suffix13900suffix2", "prefix" + sf_strU1 + "suffix1" + s_s + "suffix2");
+        test("51null", "" + sf_strU1 + sf_oN);
+        test("51nullsuffix", "" + sf_strU1 + sf_oN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + sf_oN + "suffix2");
+        test("5194000000", "" + sf_strU1 + f_I);
+        test("5194000000suffix", "" + sf_strU1 + f_I + "suffix");
+        test("prefix51suffix194000000suffix2", "prefix" + sf_strU1 + "suffix1" + f_I + "suffix2");
+        test("51null", "" + sf_strU1 + f_IN);
+        test("51nullsuffix", "" + sf_strU1 + f_IN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + f_IN + "suffix2");
+        test("51true", "" + sf_strU1 + sf_bl);
+        test("51truesuffix", "" + sf_strU1 + sf_bl + "suffix");
+        test("prefix51suffix1truesuffix2", "prefix" + sf_strU1 + "suffix1" + sf_bl + "suffix2");
+        test("515500", "" + sf_strU1 + sf_s);
+        test("515500suffix", "" + sf_strU1 + sf_s + "suffix");
+        test("prefix51suffix15500suffix2", "prefix" + sf_strU1 + "suffix1" + sf_s + "suffix2");
+        test("51-2900", "" + sf_strU1 + s_sM);
+        test("51-2900suffix", "" + sf_strU1 + s_sM + "suffix");
+        test("prefix51suffix1-2900suffix2", "prefix" + sf_strU1 + "suffix1" + s_sM + "suffix2");
+        test("51-194313216", "" + sf_strU1 + sf_l);
+        test("51-194313216suffix", "" + sf_strU1 + sf_l + "suffix");
+        test("prefix51suffix1-194313216suffix2", "prefix" + sf_strU1 + "suffix1" + sf_l + "suffix2");
+        test("5112", "" + sf_strU1 + s_strU1);
+        test("5112suffix", "" + sf_strU1 + s_strU1 + "suffix");
+        test("prefix51suffix112suffix2", "prefix" + sf_strU1 + "suffix1" + s_strU1 + "suffix2");
+        test("51C(87)", "" + sf_strU1 + sf_o);
+        test("51C(87)suffix", "" + sf_strU1 + sf_o + "suffix");
+        test("prefix51suffix1C(87)suffix2", "prefix" + sf_strU1 + "suffix1" + sf_o + "suffix2");
+        test("5191", "" + sf_strU1 + s_strU2);
+        test("5191suffix", "" + sf_strU1 + s_strU2 + "suffix");
+        test("prefix51suffix191suffix2", "prefix" + sf_strU1 + "suffix1" + s_strU2 + "suffix2");
+        test("5121", "" + sf_strU1 + f_strU1);
+        test("5121suffix", "" + sf_strU1 + f_strU1 + "suffix");
+        test("prefix51suffix121suffix2", "prefix" + sf_strU1 + "suffix1" + f_strU1 + "suffix2");
+        test("5118", "" + sf_strU1 + f_strU2);
+        test("5118suffix", "" + sf_strU1 + f_strU2 + "suffix");
+        test("prefix51suffix118suffix2", "prefix" + sf_strU1 + "suffix1" + f_strU2 + "suffix2");
+        test("51null", "" + sf_strU1 + f_iAN);
+        test("51nullsuffix", "" + sf_strU1 + f_iAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + f_iAN + "suffix2");
+        test("51null", "" + sf_strU1 + s_oN);
+        test("51nullsuffix", "" + sf_strU1 + s_oN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + s_oN + "suffix2");
+        test("51\u045180", "" + sf_strU1 + s_strU);
+        test("51\u045180suffix", "" + sf_strU1 + s_strU + "suffix");
+        test("prefix51suffix1\u045180suffix2", "prefix" + sf_strU1 + "suffix1" + s_strU + "suffix2");
+        test("51C", "" + sf_strU1 + sf_c);
+        test("51Csuffix", "" + sf_strU1 + sf_c + "suffix");
+        test("prefix51suffix1Csuffix2", "prefix" + sf_strU1 + "suffix1" + sf_c + "suffix2");
+        test("5175", "" + sf_strU1 + sf_str);
+        test("5175suffix", "" + sf_strU1 + sf_str + "suffix");
+        test("prefix51suffix175suffix2", "prefix" + sf_strU1 + "suffix1" + sf_str + "suffix2");
+        test("51-43", "" + sf_strU1 + s_bM);
+        test("51-43suffix", "" + sf_strU1 + s_bM + "suffix");
+        test("prefix51suffix1-43suffix2", "prefix" + sf_strU1 + "suffix1" + s_bM + "suffix2");
+        test("5180", "" + sf_strU1 + sf_b);
+        test("5180suffix", "" + sf_strU1 + sf_b + "suffix");
+        test("prefix51suffix180suffix2", "prefix" + sf_strU1 + "suffix1" + sf_b + "suffix2");
+        test("51null", "" + sf_strU1 + s_IN);
+        test("51nullsuffix", "" + sf_strU1 + s_IN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + s_IN + "suffix2");
+        test("51-52.0", "" + sf_strU1 + s_fM);
+        test("51-52.0suffix", "" + sf_strU1 + s_fM + "suffix");
+        test("prefix51suffix1-52.0suffix2", "prefix" + sf_strU1 + "suffix1" + s_fM + "suffix2");
+        test("5175000000", "" + sf_strU1 + sf_i);
+        test("5175000000suffix", "" + sf_strU1 + sf_i + "suffix");
+        test("prefix51suffix175000000suffix2", "prefix" + sf_strU1 + "suffix1" + sf_i + "suffix2");
+        test("5144", "" + sf_strU1 + f_b);
+        test("5144suffix", "" + sf_strU1 + f_b + "suffix");
+        test("prefix51suffix144suffix2", "prefix" + sf_strU1 + "suffix1" + f_b + "suffix2");
+        test("51-1705032704", "" + sf_strU1 + sf_lM);
+        test("51-1705032704suffix", "" + sf_strU1 + sf_lM + "suffix");
+        test("prefix51suffix1-1705032704suffix2", "prefix" + sf_strU1 + "suffix1" + sf_lM + "suffix2");
+        test("51null", "" + sf_strU1 + f_oAN);
+        test("51nullsuffix", "" + sf_strU1 + f_oAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + f_oAN + "suffix2");
+        test("5183.0", "" + sf_strU1 + f_d);
+        test("5183.0suffix", "" + sf_strU1 + f_d + "suffix");
+        test("prefix51suffix183.0suffix2", "prefix" + sf_strU1 + "suffix1" + f_d + "suffix2");
+        test("51I", "" + sf_strU1 + f_c);
+        test("51Isuffix", "" + sf_strU1 + f_c + "suffix");
+        test("prefix51suffix1Isuffix2", "prefix" + sf_strU1 + "suffix1" + f_c + "suffix2");
+        test("5194.0", "" + sf_strU1 + f_f);
+        test("5194.0suffix", "" + sf_strU1 + f_f + "suffix");
+        test("prefix51suffix194.0suffix2", "prefix" + sf_strU1 + "suffix1" + f_f + "suffix2");
+        test("5112.0", "" + sf_strU1 + sf_d);
+        test("5112.0suffix", "" + sf_strU1 + sf_d + "suffix");
+        test("prefix51suffix112.0suffix2", "prefix" + sf_strU1 + "suffix1" + sf_d + "suffix2");
+        test("51-99.0", "" + sf_strU1 + f_dM);
+        test("51-99.0suffix", "" + sf_strU1 + f_dM + "suffix");
+        test("prefix51suffix1-99.0suffix2", "prefix" + sf_strU1 + "suffix1" + f_dM + "suffix2");
+        test("5117.0", "" + sf_strU1 + sf_f);
+        test("5117.0suffix", "" + sf_strU1 + sf_f + "suffix");
+        test("prefix51suffix117.0suffix2", "prefix" + sf_strU1 + "suffix1" + sf_f + "suffix2");
+        test("51-84.0", "" + sf_strU1 + sf_dM);
+        test("51-84.0suffix", "" + sf_strU1 + sf_dM + "suffix");
+        test("prefix51suffix1-84.0suffix2", "prefix" + sf_strU1 + "suffix1" + sf_dM + "suffix2");
+        test("5158000000", "" + sf_strU1 + f_i);
+        test("5158000000suffix", "" + sf_strU1 + f_i + "suffix");
+        test("prefix51suffix158000000suffix2", "prefix" + sf_strU1 + "suffix1" + f_i + "suffix2");
+        test("51-55000000", "" + sf_strU1 + f_iM);
+        test("51-55000000suffix", "" + sf_strU1 + f_iM + "suffix");
+        test("prefix51suffix1-55000000suffix2", "prefix" + sf_strU1 + "suffix1" + f_iM + "suffix2");
+        test("511460392448", "" + sf_strU1 + f_l);
+        test("511460392448suffix", "" + sf_strU1 + f_l + "suffix");
+        test("prefix51suffix11460392448suffix2", "prefix" + sf_strU1 + "suffix1" + f_l + "suffix2");
+        test("51C(70)", "" + sf_strU1 + f_o);
+        test("51C(70)suffix", "" + sf_strU1 + f_o + "suffix");
+        test("prefix51suffix1C(70)suffix2", "prefix" + sf_strU1 + "suffix1" + f_o + "suffix2");
+        test("51\u04511", "" + sf_strU1 + sf_strU);
+        test("51\u04511suffix", "" + sf_strU1 + sf_strU + "suffix");
+        test("prefix51suffix1\u04511suffix2", "prefix" + sf_strU1 + "suffix1" + sf_strU + "suffix2");
+        test("518000", "" + sf_strU1 + f_s);
+        test("518000suffix", "" + sf_strU1 + f_s + "suffix");
+        test("prefix51suffix18000suffix2", "prefix" + sf_strU1 + "suffix1" + f_s + "suffix2");
+        test("5118", "" + sf_strU1 + s_str);
+        test("5118suffix", "" + sf_strU1 + s_str + "suffix");
+        test("prefix51suffix118suffix2", "prefix" + sf_strU1 + "suffix1" + s_str + "suffix2");
+        test("51-1000000", "" + sf_strU1 + s_iM);
+        test("51-1000000suffix", "" + sf_strU1 + s_iM + "suffix");
+        test("prefix51suffix1-1000000suffix2", "prefix" + sf_strU1 + "suffix1" + s_iM + "suffix2");
+        test("511000000", "" + sf_strU1 + sf_I);
+        test("511000000suffix", "" + sf_strU1 + sf_I + "suffix");
+        test("prefix51suffix11000000suffix2", "prefix" + sf_strU1 + "suffix1" + sf_I + "suffix2");
+        test("51null", "" + sf_strU1 + f_oNtS);
+        test("51nullsuffix", "" + sf_strU1 + f_oNtS + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + f_oNtS + "suffix2");
+        test("51false", "" + sf_strU1 + f_bl);
+        test("51falsesuffix", "" + sf_strU1 + f_bl + "suffix");
+        test("prefix51suffix1falsesuffix2", "prefix" + sf_strU1 + "suffix1" + f_bl + "suffix2");
+        test("51null", "" + sf_strU1 + sf_iAN);
+        test("51nullsuffix", "" + sf_strU1 + sf_iAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + sf_iAN + "suffix2");
+        test("51-2000000", "" + sf_strU1 + sf_iM);
+        test("51-2000000suffix", "" + sf_strU1 + sf_iM + "suffix");
+        test("prefix51suffix1-2000000suffix2", "prefix" + sf_strU1 + "suffix1" + sf_iM + "suffix2");
+        test("51-820130816", "" + sf_strU1 + f_lM);
+        test("51-820130816suffix", "" + sf_strU1 + f_lM + "suffix");
+        test("prefix51suffix1-820130816suffix2", "prefix" + sf_strU1 + "suffix1" + f_lM + "suffix2");
+        test("51null", "" + sf_strU1 + sf_oAN);
+        test("51nullsuffix", "" + sf_strU1 + sf_oAN + "suffix");
+        test("prefix51suffix1nullsuffix2", "prefix" + sf_strU1 + "suffix1" + sf_oAN + "suffix2");
+        test("5125000000", "" + sf_strU1 + s_I);
+        test("5125000000suffix", "" + sf_strU1 + s_I + "suffix");
+        test("prefix51suffix125000000suffix2", "prefix" + sf_strU1 + "suffix1" + s_I + "suffix2");
+        test("null-96.0", "" + s_iAN + s_dM);
+        test("null-96.0suffix", "" + s_iAN + s_dM + "suffix");
+        test("prefixnullsuffix1-96.0suffix2", "prefix" + s_iAN + "suffix1" + s_dM + "suffix2");
+        test("nullnull", "" + s_iAN + s_oNtS);
+        test("nullnullsuffix", "" + s_iAN + s_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + s_oNtS + "suffix2");
+        test("null\u045176", "" + s_iAN + f_strU);
+        test("null\u045176suffix", "" + s_iAN + f_strU + "suffix");
+        test("prefixnullsuffix1\u045176suffix2", "prefix" + s_iAN + "suffix1" + f_strU + "suffix2");
+        test("null92", "" + s_iAN + sf_strU2);
+        test("null92suffix", "" + s_iAN + sf_strU2 + "suffix");
+        test("prefixnullsuffix192suffix2", "prefix" + s_iAN + "suffix1" + sf_strU2 + "suffix2");
+        test("null51", "" + s_iAN + sf_strU1);
+        test("null51suffix", "" + s_iAN + sf_strU1 + "suffix");
+        test("prefixnullsuffix151suffix2", "prefix" + s_iAN + "suffix1" + sf_strU1 + "suffix2");
+        test("nullnull", "" + s_iAN + s_iAN);
+        test("nullnullsuffix", "" + s_iAN + s_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + s_iAN + "suffix2");
+        test("null-54", "" + s_iAN + f_bM);
+        test("null-54suffix", "" + s_iAN + f_bM + "suffix");
+        test("prefixnullsuffix1-54suffix2", "prefix" + s_iAN + "suffix1" + f_bM + "suffix2");
+        test("null-87.0", "" + s_iAN + f_fM);
+        test("null-87.0suffix", "" + s_iAN + f_fM + "suffix");
+        test("prefixnullsuffix1-87.0suffix2", "prefix" + s_iAN + "suffix1" + f_fM + "suffix2");
+        test("nullnull", "" + s_iAN + s_oAN);
+        test("nullnullsuffix", "" + s_iAN + s_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + s_oAN + "suffix2");
+        test("null19", "" + s_iAN + f_str);
+        test("null19suffix", "" + s_iAN + f_str + "suffix");
+        test("prefixnullsuffix119suffix2", "prefix" + s_iAN + "suffix1" + f_str + "suffix2");
+        test("null-41", "" + s_iAN + sf_bM);
+        test("null-41suffix", "" + s_iAN + sf_bM + "suffix");
+        test("prefixnullsuffix1-41suffix2", "prefix" + s_iAN + "suffix1" + sf_bM + "suffix2");
+        test("nullnull", "" + s_iAN + sf_IN);
+        test("nullnullsuffix", "" + s_iAN + sf_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + sf_IN + "suffix2");
+        test("nullT", "" + s_iAN + s_c);
+        test("nullTsuffix", "" + s_iAN + s_c + "suffix");
+        test("prefixnullsuffix1Tsuffix2", "prefix" + s_iAN + "suffix1" + s_c + "suffix2");
+        test("null-42.0", "" + s_iAN + sf_fM);
+        test("null-42.0suffix", "" + s_iAN + sf_fM + "suffix");
+        test("prefixnullsuffix1-42.0suffix2", "prefix" + s_iAN + "suffix1" + sf_fM + "suffix2");
+        test("null25", "" + s_iAN + s_b);
+        test("null25suffix", "" + s_iAN + s_b + "suffix");
+        test("prefixnullsuffix125suffix2", "prefix" + s_iAN + "suffix1" + s_b + "suffix2");
+        test("nullnull", "" + s_iAN + f_oN);
+        test("nullnullsuffix", "" + s_iAN + f_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + f_oN + "suffix2");
+        test("null-1410065408", "" + s_iAN + s_lM);
+        test("null-1410065408suffix", "" + s_iAN + s_lM + "suffix");
+        test("prefixnullsuffix1-1410065408suffix2", "prefix" + s_iAN + "suffix1" + s_lM + "suffix2");
+        test("null8.0", "" + s_iAN + s_d);
+        test("null8.0suffix", "" + s_iAN + s_d + "suffix");
+        test("prefixnullsuffix18.0suffix2", "prefix" + s_iAN + "suffix1" + s_d + "suffix2");
+        test("null55.0", "" + s_iAN + s_f);
+        test("null55.0suffix", "" + s_iAN + s_f + "suffix");
+        test("prefixnullsuffix155.0suffix2", "prefix" + s_iAN + "suffix1" + s_f + "suffix2");
+        test("null97000000", "" + s_iAN + s_i);
+        test("null97000000suffix", "" + s_iAN + s_i + "suffix");
+        test("prefixnullsuffix197000000suffix2", "prefix" + s_iAN + "suffix1" + s_i + "suffix2");
+        test("null-9900", "" + s_iAN + f_sM);
+        test("null-9900suffix", "" + s_iAN + f_sM + "suffix");
+        test("prefixnullsuffix1-9900suffix2", "prefix" + s_iAN + "suffix1" + f_sM + "suffix2");
+        test("null935228928", "" + s_iAN + s_l);
+        test("null935228928suffix", "" + s_iAN + s_l + "suffix");
+        test("prefixnullsuffix1935228928suffix2", "prefix" + s_iAN + "suffix1" + s_l + "suffix2");
+        test("null-8400", "" + s_iAN + sf_sM);
+        test("null-8400suffix", "" + s_iAN + sf_sM + "suffix");
+        test("prefixnullsuffix1-8400suffix2", "prefix" + s_iAN + "suffix1" + sf_sM + "suffix2");
+        test("nullC(82)", "" + s_iAN + s_o);
+        test("nullC(82)suffix", "" + s_iAN + s_o + "suffix");
+        test("prefixnullsuffix1C(82)suffix2", "prefix" + s_iAN + "suffix1" + s_o + "suffix2");
+        test("nullnull", "" + s_iAN + sf_oNtS);
+        test("nullnullsuffix", "" + s_iAN + sf_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + sf_oNtS + "suffix2");
+        test("nulltrue", "" + s_iAN + s_bl);
+        test("nulltruesuffix", "" + s_iAN + s_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_iAN + "suffix1" + s_bl + "suffix2");
+        test("null3900", "" + s_iAN + s_s);
+        test("null3900suffix", "" + s_iAN + s_s + "suffix");
+        test("prefixnullsuffix13900suffix2", "prefix" + s_iAN + "suffix1" + s_s + "suffix2");
+        test("nullnull", "" + s_iAN + sf_oN);
+        test("nullnullsuffix", "" + s_iAN + sf_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + sf_oN + "suffix2");
+        test("null94000000", "" + s_iAN + f_I);
+        test("null94000000suffix", "" + s_iAN + f_I + "suffix");
+        test("prefixnullsuffix194000000suffix2", "prefix" + s_iAN + "suffix1" + f_I + "suffix2");
+        test("nullnull", "" + s_iAN + f_IN);
+        test("nullnullsuffix", "" + s_iAN + f_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + f_IN + "suffix2");
+        test("nulltrue", "" + s_iAN + sf_bl);
+        test("nulltruesuffix", "" + s_iAN + sf_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_iAN + "suffix1" + sf_bl + "suffix2");
+        test("null5500", "" + s_iAN + sf_s);
+        test("null5500suffix", "" + s_iAN + sf_s + "suffix");
+        test("prefixnullsuffix15500suffix2", "prefix" + s_iAN + "suffix1" + sf_s + "suffix2");
+        test("null-2900", "" + s_iAN + s_sM);
+        test("null-2900suffix", "" + s_iAN + s_sM + "suffix");
+        test("prefixnullsuffix1-2900suffix2", "prefix" + s_iAN + "suffix1" + s_sM + "suffix2");
+        test("null-194313216", "" + s_iAN + sf_l);
+        test("null-194313216suffix", "" + s_iAN + sf_l + "suffix");
+        test("prefixnullsuffix1-194313216suffix2", "prefix" + s_iAN + "suffix1" + sf_l + "suffix2");
+        test("null12", "" + s_iAN + s_strU1);
+        test("null12suffix", "" + s_iAN + s_strU1 + "suffix");
+        test("prefixnullsuffix112suffix2", "prefix" + s_iAN + "suffix1" + s_strU1 + "suffix2");
+        test("nullC(87)", "" + s_iAN + sf_o);
+        test("nullC(87)suffix", "" + s_iAN + sf_o + "suffix");
+        test("prefixnullsuffix1C(87)suffix2", "prefix" + s_iAN + "suffix1" + sf_o + "suffix2");
+        test("null91", "" + s_iAN + s_strU2);
+        test("null91suffix", "" + s_iAN + s_strU2 + "suffix");
+        test("prefixnullsuffix191suffix2", "prefix" + s_iAN + "suffix1" + s_strU2 + "suffix2");
+        test("null21", "" + s_iAN + f_strU1);
+        test("null21suffix", "" + s_iAN + f_strU1 + "suffix");
+        test("prefixnullsuffix121suffix2", "prefix" + s_iAN + "suffix1" + f_strU1 + "suffix2");
+        test("null18", "" + s_iAN + f_strU2);
+        test("null18suffix", "" + s_iAN + f_strU2 + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_iAN + "suffix1" + f_strU2 + "suffix2");
+        test("nullnull", "" + s_iAN + f_iAN);
+        test("nullnullsuffix", "" + s_iAN + f_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + f_iAN + "suffix2");
+        test("nullnull", "" + s_iAN + s_oN);
+        test("nullnullsuffix", "" + s_iAN + s_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + s_oN + "suffix2");
+        test("null\u045180", "" + s_iAN + s_strU);
+        test("null\u045180suffix", "" + s_iAN + s_strU + "suffix");
+        test("prefixnullsuffix1\u045180suffix2", "prefix" + s_iAN + "suffix1" + s_strU + "suffix2");
+        test("nullC", "" + s_iAN + sf_c);
+        test("nullCsuffix", "" + s_iAN + sf_c + "suffix");
+        test("prefixnullsuffix1Csuffix2", "prefix" + s_iAN + "suffix1" + sf_c + "suffix2");
+        test("null75", "" + s_iAN + sf_str);
+        test("null75suffix", "" + s_iAN + sf_str + "suffix");
+        test("prefixnullsuffix175suffix2", "prefix" + s_iAN + "suffix1" + sf_str + "suffix2");
+        test("null-43", "" + s_iAN + s_bM);
+        test("null-43suffix", "" + s_iAN + s_bM + "suffix");
+        test("prefixnullsuffix1-43suffix2", "prefix" + s_iAN + "suffix1" + s_bM + "suffix2");
+        test("null80", "" + s_iAN + sf_b);
+        test("null80suffix", "" + s_iAN + sf_b + "suffix");
+        test("prefixnullsuffix180suffix2", "prefix" + s_iAN + "suffix1" + sf_b + "suffix2");
+        test("nullnull", "" + s_iAN + s_IN);
+        test("nullnullsuffix", "" + s_iAN + s_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + s_IN + "suffix2");
+        test("null-52.0", "" + s_iAN + s_fM);
+        test("null-52.0suffix", "" + s_iAN + s_fM + "suffix");
+        test("prefixnullsuffix1-52.0suffix2", "prefix" + s_iAN + "suffix1" + s_fM + "suffix2");
+        test("null75000000", "" + s_iAN + sf_i);
+        test("null75000000suffix", "" + s_iAN + sf_i + "suffix");
+        test("prefixnullsuffix175000000suffix2", "prefix" + s_iAN + "suffix1" + sf_i + "suffix2");
+        test("null44", "" + s_iAN + f_b);
+        test("null44suffix", "" + s_iAN + f_b + "suffix");
+        test("prefixnullsuffix144suffix2", "prefix" + s_iAN + "suffix1" + f_b + "suffix2");
+        test("null-1705032704", "" + s_iAN + sf_lM);
+        test("null-1705032704suffix", "" + s_iAN + sf_lM + "suffix");
+        test("prefixnullsuffix1-1705032704suffix2", "prefix" + s_iAN + "suffix1" + sf_lM + "suffix2");
+        test("nullnull", "" + s_iAN + f_oAN);
+        test("nullnullsuffix", "" + s_iAN + f_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + f_oAN + "suffix2");
+        test("null83.0", "" + s_iAN + f_d);
+        test("null83.0suffix", "" + s_iAN + f_d + "suffix");
+        test("prefixnullsuffix183.0suffix2", "prefix" + s_iAN + "suffix1" + f_d + "suffix2");
+        test("nullI", "" + s_iAN + f_c);
+        test("nullIsuffix", "" + s_iAN + f_c + "suffix");
+        test("prefixnullsuffix1Isuffix2", "prefix" + s_iAN + "suffix1" + f_c + "suffix2");
+        test("null94.0", "" + s_iAN + f_f);
+        test("null94.0suffix", "" + s_iAN + f_f + "suffix");
+        test("prefixnullsuffix194.0suffix2", "prefix" + s_iAN + "suffix1" + f_f + "suffix2");
+        test("null12.0", "" + s_iAN + sf_d);
+        test("null12.0suffix", "" + s_iAN + sf_d + "suffix");
+        test("prefixnullsuffix112.0suffix2", "prefix" + s_iAN + "suffix1" + sf_d + "suffix2");
+        test("null-99.0", "" + s_iAN + f_dM);
+        test("null-99.0suffix", "" + s_iAN + f_dM + "suffix");
+        test("prefixnullsuffix1-99.0suffix2", "prefix" + s_iAN + "suffix1" + f_dM + "suffix2");
+        test("null17.0", "" + s_iAN + sf_f);
+        test("null17.0suffix", "" + s_iAN + sf_f + "suffix");
+        test("prefixnullsuffix117.0suffix2", "prefix" + s_iAN + "suffix1" + sf_f + "suffix2");
+        test("null-84.0", "" + s_iAN + sf_dM);
+        test("null-84.0suffix", "" + s_iAN + sf_dM + "suffix");
+        test("prefixnullsuffix1-84.0suffix2", "prefix" + s_iAN + "suffix1" + sf_dM + "suffix2");
+        test("null58000000", "" + s_iAN + f_i);
+        test("null58000000suffix", "" + s_iAN + f_i + "suffix");
+        test("prefixnullsuffix158000000suffix2", "prefix" + s_iAN + "suffix1" + f_i + "suffix2");
+        test("null-55000000", "" + s_iAN + f_iM);
+        test("null-55000000suffix", "" + s_iAN + f_iM + "suffix");
+        test("prefixnullsuffix1-55000000suffix2", "prefix" + s_iAN + "suffix1" + f_iM + "suffix2");
+        test("null1460392448", "" + s_iAN + f_l);
+        test("null1460392448suffix", "" + s_iAN + f_l + "suffix");
+        test("prefixnullsuffix11460392448suffix2", "prefix" + s_iAN + "suffix1" + f_l + "suffix2");
+        test("nullC(70)", "" + s_iAN + f_o);
+        test("nullC(70)suffix", "" + s_iAN + f_o + "suffix");
+        test("prefixnullsuffix1C(70)suffix2", "prefix" + s_iAN + "suffix1" + f_o + "suffix2");
+        test("null\u04511", "" + s_iAN + sf_strU);
+        test("null\u04511suffix", "" + s_iAN + sf_strU + "suffix");
+        test("prefixnullsuffix1\u04511suffix2", "prefix" + s_iAN + "suffix1" + sf_strU + "suffix2");
+        test("null8000", "" + s_iAN + f_s);
+        test("null8000suffix", "" + s_iAN + f_s + "suffix");
+        test("prefixnullsuffix18000suffix2", "prefix" + s_iAN + "suffix1" + f_s + "suffix2");
+        test("null18", "" + s_iAN + s_str);
+        test("null18suffix", "" + s_iAN + s_str + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_iAN + "suffix1" + s_str + "suffix2");
+        test("null-1000000", "" + s_iAN + s_iM);
+        test("null-1000000suffix", "" + s_iAN + s_iM + "suffix");
+        test("prefixnullsuffix1-1000000suffix2", "prefix" + s_iAN + "suffix1" + s_iM + "suffix2");
+        test("null1000000", "" + s_iAN + sf_I);
+        test("null1000000suffix", "" + s_iAN + sf_I + "suffix");
+        test("prefixnullsuffix11000000suffix2", "prefix" + s_iAN + "suffix1" + sf_I + "suffix2");
+        test("nullnull", "" + s_iAN + f_oNtS);
+        test("nullnullsuffix", "" + s_iAN + f_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + f_oNtS + "suffix2");
+        test("nullfalse", "" + s_iAN + f_bl);
+        test("nullfalsesuffix", "" + s_iAN + f_bl + "suffix");
+        test("prefixnullsuffix1falsesuffix2", "prefix" + s_iAN + "suffix1" + f_bl + "suffix2");
+        test("nullnull", "" + s_iAN + sf_iAN);
+        test("nullnullsuffix", "" + s_iAN + sf_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + sf_iAN + "suffix2");
+        test("null-2000000", "" + s_iAN + sf_iM);
+        test("null-2000000suffix", "" + s_iAN + sf_iM + "suffix");
+        test("prefixnullsuffix1-2000000suffix2", "prefix" + s_iAN + "suffix1" + sf_iM + "suffix2");
+        test("null-820130816", "" + s_iAN + f_lM);
+        test("null-820130816suffix", "" + s_iAN + f_lM + "suffix");
+        test("prefixnullsuffix1-820130816suffix2", "prefix" + s_iAN + "suffix1" + f_lM + "suffix2");
+        test("nullnull", "" + s_iAN + sf_oAN);
+        test("nullnullsuffix", "" + s_iAN + sf_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_iAN + "suffix1" + sf_oAN + "suffix2");
+        test("null25000000", "" + s_iAN + s_I);
+        test("null25000000suffix", "" + s_iAN + s_I + "suffix");
+        test("prefixnullsuffix125000000suffix2", "prefix" + s_iAN + "suffix1" + s_I + "suffix2");
+        test("-54-96.0", "" + f_bM + s_dM);
+        test("-54-96.0suffix", "" + f_bM + s_dM + "suffix");
+        test("prefix-54suffix1-96.0suffix2", "prefix" + f_bM + "suffix1" + s_dM + "suffix2");
+        test("-54null", "" + f_bM + s_oNtS);
+        test("-54nullsuffix", "" + f_bM + s_oNtS + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + s_oNtS + "suffix2");
+        test("-54\u045176", "" + f_bM + f_strU);
+        test("-54\u045176suffix", "" + f_bM + f_strU + "suffix");
+        test("prefix-54suffix1\u045176suffix2", "prefix" + f_bM + "suffix1" + f_strU + "suffix2");
+        test("-5492", "" + f_bM + sf_strU2);
+        test("-5492suffix", "" + f_bM + sf_strU2 + "suffix");
+        test("prefix-54suffix192suffix2", "prefix" + f_bM + "suffix1" + sf_strU2 + "suffix2");
+        test("-5451", "" + f_bM + sf_strU1);
+        test("-5451suffix", "" + f_bM + sf_strU1 + "suffix");
+        test("prefix-54suffix151suffix2", "prefix" + f_bM + "suffix1" + sf_strU1 + "suffix2");
+        test("-54null", "" + f_bM + s_iAN);
+        test("-54nullsuffix", "" + f_bM + s_iAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + s_iAN + "suffix2");
+        test("-54-54", "" + f_bM + f_bM);
+        test("-54-54suffix", "" + f_bM + f_bM + "suffix");
+        test("prefix-54suffix1-54suffix2", "prefix" + f_bM + "suffix1" + f_bM + "suffix2");
+        test("-54-87.0", "" + f_bM + f_fM);
+        test("-54-87.0suffix", "" + f_bM + f_fM + "suffix");
+        test("prefix-54suffix1-87.0suffix2", "prefix" + f_bM + "suffix1" + f_fM + "suffix2");
+        test("-54null", "" + f_bM + s_oAN);
+        test("-54nullsuffix", "" + f_bM + s_oAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + s_oAN + "suffix2");
+        test("-5419", "" + f_bM + f_str);
+        test("-5419suffix", "" + f_bM + f_str + "suffix");
+        test("prefix-54suffix119suffix2", "prefix" + f_bM + "suffix1" + f_str + "suffix2");
+        test("-54-41", "" + f_bM + sf_bM);
+        test("-54-41suffix", "" + f_bM + sf_bM + "suffix");
+        test("prefix-54suffix1-41suffix2", "prefix" + f_bM + "suffix1" + sf_bM + "suffix2");
+        test("-54null", "" + f_bM + sf_IN);
+        test("-54nullsuffix", "" + f_bM + sf_IN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + sf_IN + "suffix2");
+        test("-54T", "" + f_bM + s_c);
+        test("-54Tsuffix", "" + f_bM + s_c + "suffix");
+        test("prefix-54suffix1Tsuffix2", "prefix" + f_bM + "suffix1" + s_c + "suffix2");
+        test("-54-42.0", "" + f_bM + sf_fM);
+        test("-54-42.0suffix", "" + f_bM + sf_fM + "suffix");
+        test("prefix-54suffix1-42.0suffix2", "prefix" + f_bM + "suffix1" + sf_fM + "suffix2");
+        test("-5425", "" + f_bM + s_b);
+        test("-5425suffix", "" + f_bM + s_b + "suffix");
+        test("prefix-54suffix125suffix2", "prefix" + f_bM + "suffix1" + s_b + "suffix2");
+        test("-54null", "" + f_bM + f_oN);
+        test("-54nullsuffix", "" + f_bM + f_oN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + f_oN + "suffix2");
+        test("-54-1410065408", "" + f_bM + s_lM);
+        test("-54-1410065408suffix", "" + f_bM + s_lM + "suffix");
+        test("prefix-54suffix1-1410065408suffix2", "prefix" + f_bM + "suffix1" + s_lM + "suffix2");
+        test("-548.0", "" + f_bM + s_d);
+        test("-548.0suffix", "" + f_bM + s_d + "suffix");
+        test("prefix-54suffix18.0suffix2", "prefix" + f_bM + "suffix1" + s_d + "suffix2");
+        test("-5455.0", "" + f_bM + s_f);
+        test("-5455.0suffix", "" + f_bM + s_f + "suffix");
+        test("prefix-54suffix155.0suffix2", "prefix" + f_bM + "suffix1" + s_f + "suffix2");
+        test("-5497000000", "" + f_bM + s_i);
+        test("-5497000000suffix", "" + f_bM + s_i + "suffix");
+        test("prefix-54suffix197000000suffix2", "prefix" + f_bM + "suffix1" + s_i + "suffix2");
+        test("-54-9900", "" + f_bM + f_sM);
+        test("-54-9900suffix", "" + f_bM + f_sM + "suffix");
+        test("prefix-54suffix1-9900suffix2", "prefix" + f_bM + "suffix1" + f_sM + "suffix2");
+        test("-54935228928", "" + f_bM + s_l);
+        test("-54935228928suffix", "" + f_bM + s_l + "suffix");
+        test("prefix-54suffix1935228928suffix2", "prefix" + f_bM + "suffix1" + s_l + "suffix2");
+        test("-54-8400", "" + f_bM + sf_sM);
+        test("-54-8400suffix", "" + f_bM + sf_sM + "suffix");
+        test("prefix-54suffix1-8400suffix2", "prefix" + f_bM + "suffix1" + sf_sM + "suffix2");
+        test("-54C(82)", "" + f_bM + s_o);
+        test("-54C(82)suffix", "" + f_bM + s_o + "suffix");
+        test("prefix-54suffix1C(82)suffix2", "prefix" + f_bM + "suffix1" + s_o + "suffix2");
+        test("-54null", "" + f_bM + sf_oNtS);
+        test("-54nullsuffix", "" + f_bM + sf_oNtS + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + sf_oNtS + "suffix2");
+        test("-54true", "" + f_bM + s_bl);
+        test("-54truesuffix", "" + f_bM + s_bl + "suffix");
+        test("prefix-54suffix1truesuffix2", "prefix" + f_bM + "suffix1" + s_bl + "suffix2");
+        test("-543900", "" + f_bM + s_s);
+        test("-543900suffix", "" + f_bM + s_s + "suffix");
+        test("prefix-54suffix13900suffix2", "prefix" + f_bM + "suffix1" + s_s + "suffix2");
+        test("-54null", "" + f_bM + sf_oN);
+        test("-54nullsuffix", "" + f_bM + sf_oN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + sf_oN + "suffix2");
+        test("-5494000000", "" + f_bM + f_I);
+        test("-5494000000suffix", "" + f_bM + f_I + "suffix");
+        test("prefix-54suffix194000000suffix2", "prefix" + f_bM + "suffix1" + f_I + "suffix2");
+        test("-54null", "" + f_bM + f_IN);
+        test("-54nullsuffix", "" + f_bM + f_IN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + f_IN + "suffix2");
+        test("-54true", "" + f_bM + sf_bl);
+        test("-54truesuffix", "" + f_bM + sf_bl + "suffix");
+        test("prefix-54suffix1truesuffix2", "prefix" + f_bM + "suffix1" + sf_bl + "suffix2");
+        test("-545500", "" + f_bM + sf_s);
+        test("-545500suffix", "" + f_bM + sf_s + "suffix");
+        test("prefix-54suffix15500suffix2", "prefix" + f_bM + "suffix1" + sf_s + "suffix2");
+        test("-54-2900", "" + f_bM + s_sM);
+        test("-54-2900suffix", "" + f_bM + s_sM + "suffix");
+        test("prefix-54suffix1-2900suffix2", "prefix" + f_bM + "suffix1" + s_sM + "suffix2");
+        test("-54-194313216", "" + f_bM + sf_l);
+        test("-54-194313216suffix", "" + f_bM + sf_l + "suffix");
+        test("prefix-54suffix1-194313216suffix2", "prefix" + f_bM + "suffix1" + sf_l + "suffix2");
+        test("-5412", "" + f_bM + s_strU1);
+        test("-5412suffix", "" + f_bM + s_strU1 + "suffix");
+        test("prefix-54suffix112suffix2", "prefix" + f_bM + "suffix1" + s_strU1 + "suffix2");
+        test("-54C(87)", "" + f_bM + sf_o);
+        test("-54C(87)suffix", "" + f_bM + sf_o + "suffix");
+        test("prefix-54suffix1C(87)suffix2", "prefix" + f_bM + "suffix1" + sf_o + "suffix2");
+        test("-5491", "" + f_bM + s_strU2);
+        test("-5491suffix", "" + f_bM + s_strU2 + "suffix");
+        test("prefix-54suffix191suffix2", "prefix" + f_bM + "suffix1" + s_strU2 + "suffix2");
+        test("-5421", "" + f_bM + f_strU1);
+        test("-5421suffix", "" + f_bM + f_strU1 + "suffix");
+        test("prefix-54suffix121suffix2", "prefix" + f_bM + "suffix1" + f_strU1 + "suffix2");
+        test("-5418", "" + f_bM + f_strU2);
+        test("-5418suffix", "" + f_bM + f_strU2 + "suffix");
+        test("prefix-54suffix118suffix2", "prefix" + f_bM + "suffix1" + f_strU2 + "suffix2");
+        test("-54null", "" + f_bM + f_iAN);
+        test("-54nullsuffix", "" + f_bM + f_iAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + f_iAN + "suffix2");
+        test("-54null", "" + f_bM + s_oN);
+        test("-54nullsuffix", "" + f_bM + s_oN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + s_oN + "suffix2");
+        test("-54\u045180", "" + f_bM + s_strU);
+        test("-54\u045180suffix", "" + f_bM + s_strU + "suffix");
+        test("prefix-54suffix1\u045180suffix2", "prefix" + f_bM + "suffix1" + s_strU + "suffix2");
+        test("-54C", "" + f_bM + sf_c);
+        test("-54Csuffix", "" + f_bM + sf_c + "suffix");
+        test("prefix-54suffix1Csuffix2", "prefix" + f_bM + "suffix1" + sf_c + "suffix2");
+        test("-5475", "" + f_bM + sf_str);
+        test("-5475suffix", "" + f_bM + sf_str + "suffix");
+        test("prefix-54suffix175suffix2", "prefix" + f_bM + "suffix1" + sf_str + "suffix2");
+        test("-54-43", "" + f_bM + s_bM);
+        test("-54-43suffix", "" + f_bM + s_bM + "suffix");
+        test("prefix-54suffix1-43suffix2", "prefix" + f_bM + "suffix1" + s_bM + "suffix2");
+        test("-5480", "" + f_bM + sf_b);
+        test("-5480suffix", "" + f_bM + sf_b + "suffix");
+        test("prefix-54suffix180suffix2", "prefix" + f_bM + "suffix1" + sf_b + "suffix2");
+        test("-54null", "" + f_bM + s_IN);
+        test("-54nullsuffix", "" + f_bM + s_IN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + s_IN + "suffix2");
+        test("-54-52.0", "" + f_bM + s_fM);
+        test("-54-52.0suffix", "" + f_bM + s_fM + "suffix");
+        test("prefix-54suffix1-52.0suffix2", "prefix" + f_bM + "suffix1" + s_fM + "suffix2");
+        test("-5475000000", "" + f_bM + sf_i);
+        test("-5475000000suffix", "" + f_bM + sf_i + "suffix");
+        test("prefix-54suffix175000000suffix2", "prefix" + f_bM + "suffix1" + sf_i + "suffix2");
+        test("-5444", "" + f_bM + f_b);
+        test("-5444suffix", "" + f_bM + f_b + "suffix");
+        test("prefix-54suffix144suffix2", "prefix" + f_bM + "suffix1" + f_b + "suffix2");
+        test("-54-1705032704", "" + f_bM + sf_lM);
+        test("-54-1705032704suffix", "" + f_bM + sf_lM + "suffix");
+        test("prefix-54suffix1-1705032704suffix2", "prefix" + f_bM + "suffix1" + sf_lM + "suffix2");
+        test("-54null", "" + f_bM + f_oAN);
+        test("-54nullsuffix", "" + f_bM + f_oAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + f_oAN + "suffix2");
+        test("-5483.0", "" + f_bM + f_d);
+        test("-5483.0suffix", "" + f_bM + f_d + "suffix");
+        test("prefix-54suffix183.0suffix2", "prefix" + f_bM + "suffix1" + f_d + "suffix2");
+        test("-54I", "" + f_bM + f_c);
+        test("-54Isuffix", "" + f_bM + f_c + "suffix");
+        test("prefix-54suffix1Isuffix2", "prefix" + f_bM + "suffix1" + f_c + "suffix2");
+        test("-5494.0", "" + f_bM + f_f);
+        test("-5494.0suffix", "" + f_bM + f_f + "suffix");
+        test("prefix-54suffix194.0suffix2", "prefix" + f_bM + "suffix1" + f_f + "suffix2");
+        test("-5412.0", "" + f_bM + sf_d);
+        test("-5412.0suffix", "" + f_bM + sf_d + "suffix");
+        test("prefix-54suffix112.0suffix2", "prefix" + f_bM + "suffix1" + sf_d + "suffix2");
+        test("-54-99.0", "" + f_bM + f_dM);
+        test("-54-99.0suffix", "" + f_bM + f_dM + "suffix");
+        test("prefix-54suffix1-99.0suffix2", "prefix" + f_bM + "suffix1" + f_dM + "suffix2");
+        test("-5417.0", "" + f_bM + sf_f);
+        test("-5417.0suffix", "" + f_bM + sf_f + "suffix");
+        test("prefix-54suffix117.0suffix2", "prefix" + f_bM + "suffix1" + sf_f + "suffix2");
+        test("-54-84.0", "" + f_bM + sf_dM);
+        test("-54-84.0suffix", "" + f_bM + sf_dM + "suffix");
+        test("prefix-54suffix1-84.0suffix2", "prefix" + f_bM + "suffix1" + sf_dM + "suffix2");
+        test("-5458000000", "" + f_bM + f_i);
+        test("-5458000000suffix", "" + f_bM + f_i + "suffix");
+        test("prefix-54suffix158000000suffix2", "prefix" + f_bM + "suffix1" + f_i + "suffix2");
+        test("-54-55000000", "" + f_bM + f_iM);
+        test("-54-55000000suffix", "" + f_bM + f_iM + "suffix");
+        test("prefix-54suffix1-55000000suffix2", "prefix" + f_bM + "suffix1" + f_iM + "suffix2");
+        test("-541460392448", "" + f_bM + f_l);
+        test("-541460392448suffix", "" + f_bM + f_l + "suffix");
+        test("prefix-54suffix11460392448suffix2", "prefix" + f_bM + "suffix1" + f_l + "suffix2");
+        test("-54C(70)", "" + f_bM + f_o);
+        test("-54C(70)suffix", "" + f_bM + f_o + "suffix");
+        test("prefix-54suffix1C(70)suffix2", "prefix" + f_bM + "suffix1" + f_o + "suffix2");
+        test("-54\u04511", "" + f_bM + sf_strU);
+        test("-54\u04511suffix", "" + f_bM + sf_strU + "suffix");
+        test("prefix-54suffix1\u04511suffix2", "prefix" + f_bM + "suffix1" + sf_strU + "suffix2");
+        test("-548000", "" + f_bM + f_s);
+        test("-548000suffix", "" + f_bM + f_s + "suffix");
+        test("prefix-54suffix18000suffix2", "prefix" + f_bM + "suffix1" + f_s + "suffix2");
+        test("-5418", "" + f_bM + s_str);
+        test("-5418suffix", "" + f_bM + s_str + "suffix");
+        test("prefix-54suffix118suffix2", "prefix" + f_bM + "suffix1" + s_str + "suffix2");
+        test("-54-1000000", "" + f_bM + s_iM);
+        test("-54-1000000suffix", "" + f_bM + s_iM + "suffix");
+        test("prefix-54suffix1-1000000suffix2", "prefix" + f_bM + "suffix1" + s_iM + "suffix2");
+        test("-541000000", "" + f_bM + sf_I);
+        test("-541000000suffix", "" + f_bM + sf_I + "suffix");
+        test("prefix-54suffix11000000suffix2", "prefix" + f_bM + "suffix1" + sf_I + "suffix2");
+        test("-54null", "" + f_bM + f_oNtS);
+        test("-54nullsuffix", "" + f_bM + f_oNtS + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + f_oNtS + "suffix2");
+        test("-54false", "" + f_bM + f_bl);
+        test("-54falsesuffix", "" + f_bM + f_bl + "suffix");
+        test("prefix-54suffix1falsesuffix2", "prefix" + f_bM + "suffix1" + f_bl + "suffix2");
+        test("-54null", "" + f_bM + sf_iAN);
+        test("-54nullsuffix", "" + f_bM + sf_iAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + sf_iAN + "suffix2");
+        test("-54-2000000", "" + f_bM + sf_iM);
+        test("-54-2000000suffix", "" + f_bM + sf_iM + "suffix");
+        test("prefix-54suffix1-2000000suffix2", "prefix" + f_bM + "suffix1" + sf_iM + "suffix2");
+        test("-54-820130816", "" + f_bM + f_lM);
+        test("-54-820130816suffix", "" + f_bM + f_lM + "suffix");
+        test("prefix-54suffix1-820130816suffix2", "prefix" + f_bM + "suffix1" + f_lM + "suffix2");
+        test("-54null", "" + f_bM + sf_oAN);
+        test("-54nullsuffix", "" + f_bM + sf_oAN + "suffix");
+        test("prefix-54suffix1nullsuffix2", "prefix" + f_bM + "suffix1" + sf_oAN + "suffix2");
+        test("-5425000000", "" + f_bM + s_I);
+        test("-5425000000suffix", "" + f_bM + s_I + "suffix");
+        test("prefix-54suffix125000000suffix2", "prefix" + f_bM + "suffix1" + s_I + "suffix2");
+        test("-87.0-96.0", "" + f_fM + s_dM);
+        test("-87.0-96.0suffix", "" + f_fM + s_dM + "suffix");
+        test("prefix-87.0suffix1-96.0suffix2", "prefix" + f_fM + "suffix1" + s_dM + "suffix2");
+        test("-87.0null", "" + f_fM + s_oNtS);
+        test("-87.0nullsuffix", "" + f_fM + s_oNtS + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + s_oNtS + "suffix2");
+        test("-87.0\u045176", "" + f_fM + f_strU);
+        test("-87.0\u045176suffix", "" + f_fM + f_strU + "suffix");
+        test("prefix-87.0suffix1\u045176suffix2", "prefix" + f_fM + "suffix1" + f_strU + "suffix2");
+        test("-87.092", "" + f_fM + sf_strU2);
+        test("-87.092suffix", "" + f_fM + sf_strU2 + "suffix");
+        test("prefix-87.0suffix192suffix2", "prefix" + f_fM + "suffix1" + sf_strU2 + "suffix2");
+        test("-87.051", "" + f_fM + sf_strU1);
+        test("-87.051suffix", "" + f_fM + sf_strU1 + "suffix");
+        test("prefix-87.0suffix151suffix2", "prefix" + f_fM + "suffix1" + sf_strU1 + "suffix2");
+        test("-87.0null", "" + f_fM + s_iAN);
+        test("-87.0nullsuffix", "" + f_fM + s_iAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + s_iAN + "suffix2");
+        test("-87.0-54", "" + f_fM + f_bM);
+        test("-87.0-54suffix", "" + f_fM + f_bM + "suffix");
+        test("prefix-87.0suffix1-54suffix2", "prefix" + f_fM + "suffix1" + f_bM + "suffix2");
+        test("-87.0-87.0", "" + f_fM + f_fM);
+        test("-87.0-87.0suffix", "" + f_fM + f_fM + "suffix");
+        test("prefix-87.0suffix1-87.0suffix2", "prefix" + f_fM + "suffix1" + f_fM + "suffix2");
+        test("-87.0null", "" + f_fM + s_oAN);
+        test("-87.0nullsuffix", "" + f_fM + s_oAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + s_oAN + "suffix2");
+        test("-87.019", "" + f_fM + f_str);
+        test("-87.019suffix", "" + f_fM + f_str + "suffix");
+        test("prefix-87.0suffix119suffix2", "prefix" + f_fM + "suffix1" + f_str + "suffix2");
+        test("-87.0-41", "" + f_fM + sf_bM);
+        test("-87.0-41suffix", "" + f_fM + sf_bM + "suffix");
+        test("prefix-87.0suffix1-41suffix2", "prefix" + f_fM + "suffix1" + sf_bM + "suffix2");
+        test("-87.0null", "" + f_fM + sf_IN);
+        test("-87.0nullsuffix", "" + f_fM + sf_IN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + sf_IN + "suffix2");
+        test("-87.0T", "" + f_fM + s_c);
+        test("-87.0Tsuffix", "" + f_fM + s_c + "suffix");
+        test("prefix-87.0suffix1Tsuffix2", "prefix" + f_fM + "suffix1" + s_c + "suffix2");
+        test("-87.0-42.0", "" + f_fM + sf_fM);
+        test("-87.0-42.0suffix", "" + f_fM + sf_fM + "suffix");
+        test("prefix-87.0suffix1-42.0suffix2", "prefix" + f_fM + "suffix1" + sf_fM + "suffix2");
+        test("-87.025", "" + f_fM + s_b);
+        test("-87.025suffix", "" + f_fM + s_b + "suffix");
+        test("prefix-87.0suffix125suffix2", "prefix" + f_fM + "suffix1" + s_b + "suffix2");
+        test("-87.0null", "" + f_fM + f_oN);
+        test("-87.0nullsuffix", "" + f_fM + f_oN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + f_oN + "suffix2");
+        test("-87.0-1410065408", "" + f_fM + s_lM);
+        test("-87.0-1410065408suffix", "" + f_fM + s_lM + "suffix");
+        test("prefix-87.0suffix1-1410065408suffix2", "prefix" + f_fM + "suffix1" + s_lM + "suffix2");
+        test("-87.08.0", "" + f_fM + s_d);
+        test("-87.08.0suffix", "" + f_fM + s_d + "suffix");
+        test("prefix-87.0suffix18.0suffix2", "prefix" + f_fM + "suffix1" + s_d + "suffix2");
+        test("-87.055.0", "" + f_fM + s_f);
+        test("-87.055.0suffix", "" + f_fM + s_f + "suffix");
+        test("prefix-87.0suffix155.0suffix2", "prefix" + f_fM + "suffix1" + s_f + "suffix2");
+        test("-87.097000000", "" + f_fM + s_i);
+        test("-87.097000000suffix", "" + f_fM + s_i + "suffix");
+        test("prefix-87.0suffix197000000suffix2", "prefix" + f_fM + "suffix1" + s_i + "suffix2");
+        test("-87.0-9900", "" + f_fM + f_sM);
+        test("-87.0-9900suffix", "" + f_fM + f_sM + "suffix");
+        test("prefix-87.0suffix1-9900suffix2", "prefix" + f_fM + "suffix1" + f_sM + "suffix2");
+        test("-87.0935228928", "" + f_fM + s_l);
+        test("-87.0935228928suffix", "" + f_fM + s_l + "suffix");
+        test("prefix-87.0suffix1935228928suffix2", "prefix" + f_fM + "suffix1" + s_l + "suffix2");
+        test("-87.0-8400", "" + f_fM + sf_sM);
+        test("-87.0-8400suffix", "" + f_fM + sf_sM + "suffix");
+        test("prefix-87.0suffix1-8400suffix2", "prefix" + f_fM + "suffix1" + sf_sM + "suffix2");
+        test("-87.0C(82)", "" + f_fM + s_o);
+        test("-87.0C(82)suffix", "" + f_fM + s_o + "suffix");
+        test("prefix-87.0suffix1C(82)suffix2", "prefix" + f_fM + "suffix1" + s_o + "suffix2");
+        test("-87.0null", "" + f_fM + sf_oNtS);
+        test("-87.0nullsuffix", "" + f_fM + sf_oNtS + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + sf_oNtS + "suffix2");
+        test("-87.0true", "" + f_fM + s_bl);
+        test("-87.0truesuffix", "" + f_fM + s_bl + "suffix");
+        test("prefix-87.0suffix1truesuffix2", "prefix" + f_fM + "suffix1" + s_bl + "suffix2");
+        test("-87.03900", "" + f_fM + s_s);
+        test("-87.03900suffix", "" + f_fM + s_s + "suffix");
+        test("prefix-87.0suffix13900suffix2", "prefix" + f_fM + "suffix1" + s_s + "suffix2");
+        test("-87.0null", "" + f_fM + sf_oN);
+        test("-87.0nullsuffix", "" + f_fM + sf_oN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + sf_oN + "suffix2");
+        test("-87.094000000", "" + f_fM + f_I);
+        test("-87.094000000suffix", "" + f_fM + f_I + "suffix");
+        test("prefix-87.0suffix194000000suffix2", "prefix" + f_fM + "suffix1" + f_I + "suffix2");
+        test("-87.0null", "" + f_fM + f_IN);
+        test("-87.0nullsuffix", "" + f_fM + f_IN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + f_IN + "suffix2");
+        test("-87.0true", "" + f_fM + sf_bl);
+        test("-87.0truesuffix", "" + f_fM + sf_bl + "suffix");
+        test("prefix-87.0suffix1truesuffix2", "prefix" + f_fM + "suffix1" + sf_bl + "suffix2");
+        test("-87.05500", "" + f_fM + sf_s);
+        test("-87.05500suffix", "" + f_fM + sf_s + "suffix");
+        test("prefix-87.0suffix15500suffix2", "prefix" + f_fM + "suffix1" + sf_s + "suffix2");
+        test("-87.0-2900", "" + f_fM + s_sM);
+        test("-87.0-2900suffix", "" + f_fM + s_sM + "suffix");
+        test("prefix-87.0suffix1-2900suffix2", "prefix" + f_fM + "suffix1" + s_sM + "suffix2");
+        test("-87.0-194313216", "" + f_fM + sf_l);
+        test("-87.0-194313216suffix", "" + f_fM + sf_l + "suffix");
+        test("prefix-87.0suffix1-194313216suffix2", "prefix" + f_fM + "suffix1" + sf_l + "suffix2");
+        test("-87.012", "" + f_fM + s_strU1);
+        test("-87.012suffix", "" + f_fM + s_strU1 + "suffix");
+        test("prefix-87.0suffix112suffix2", "prefix" + f_fM + "suffix1" + s_strU1 + "suffix2");
+        test("-87.0C(87)", "" + f_fM + sf_o);
+        test("-87.0C(87)suffix", "" + f_fM + sf_o + "suffix");
+        test("prefix-87.0suffix1C(87)suffix2", "prefix" + f_fM + "suffix1" + sf_o + "suffix2");
+        test("-87.091", "" + f_fM + s_strU2);
+        test("-87.091suffix", "" + f_fM + s_strU2 + "suffix");
+        test("prefix-87.0suffix191suffix2", "prefix" + f_fM + "suffix1" + s_strU2 + "suffix2");
+        test("-87.021", "" + f_fM + f_strU1);
+        test("-87.021suffix", "" + f_fM + f_strU1 + "suffix");
+        test("prefix-87.0suffix121suffix2", "prefix" + f_fM + "suffix1" + f_strU1 + "suffix2");
+        test("-87.018", "" + f_fM + f_strU2);
+        test("-87.018suffix", "" + f_fM + f_strU2 + "suffix");
+        test("prefix-87.0suffix118suffix2", "prefix" + f_fM + "suffix1" + f_strU2 + "suffix2");
+        test("-87.0null", "" + f_fM + f_iAN);
+        test("-87.0nullsuffix", "" + f_fM + f_iAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + f_iAN + "suffix2");
+        test("-87.0null", "" + f_fM + s_oN);
+        test("-87.0nullsuffix", "" + f_fM + s_oN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + s_oN + "suffix2");
+        test("-87.0\u045180", "" + f_fM + s_strU);
+        test("-87.0\u045180suffix", "" + f_fM + s_strU + "suffix");
     }
 
     public void run2() {
-        test("true-1705032704", "" + s_bl + sf_lM);
-        test("truenull", "" + s_bl + f_oAN);
-        test("true83.0", "" + s_bl + f_d);
-        test("trueI", "" + s_bl + f_c);
-        test("true94.0", "" + s_bl + f_f);
-        test("true12.0", "" + s_bl + sf_d);
-        test("true-99.0", "" + s_bl + f_dM);
-        test("true17.0", "" + s_bl + sf_f);
-        test("true-84.0", "" + s_bl + sf_dM);
-        test("true58000000", "" + s_bl + f_i);
-        test("true-55000000", "" + s_bl + f_iM);
-        test("true1460392448", "" + s_bl + f_l);
-        test("trueC(70)", "" + s_bl + f_o);
-        test("true\u04511", "" + s_bl + sf_strU);
-        test("true8000", "" + s_bl + f_s);
-        test("true18", "" + s_bl + s_str);
-        test("true-1000000", "" + s_bl + s_iM);
-        test("true1000000", "" + s_bl + sf_I);
-        test("truenull", "" + s_bl + f_oNtS);
-        test("truefalse", "" + s_bl + f_bl);
-        test("truenull", "" + s_bl + sf_iAN);
-        test("true-2000000", "" + s_bl + sf_iM);
-        test("true-820130816", "" + s_bl + f_lM);
-        test("truenull", "" + s_bl + sf_oAN);
-        test("true25000000", "" + s_bl + s_I);
-        test("3900-96.0", "" + s_s + s_dM);
-        test("3900null", "" + s_s + s_oNtS);
-        test("3900\u045176", "" + s_s + f_strU);
-        test("390092", "" + s_s + sf_strU2);
-        test("390051", "" + s_s + sf_strU1);
-        test("3900null", "" + s_s + s_iAN);
-        test("3900-54", "" + s_s + f_bM);
-        test("3900-87.0", "" + s_s + f_fM);
-        test("3900null", "" + s_s + s_oAN);
-        test("390019", "" + s_s + f_str);
-        test("3900-41", "" + s_s + sf_bM);
-        test("3900null", "" + s_s + sf_IN);
-        test("3900T", "" + s_s + s_c);
-        test("3900-42.0", "" + s_s + sf_fM);
-        test("390025", "" + s_s + s_b);
-        test("3900null", "" + s_s + f_oN);
-        test("3900-1410065408", "" + s_s + s_lM);
-        test("39008.0", "" + s_s + s_d);
-        test("390055.0", "" + s_s + s_f);
-        test("390097000000", "" + s_s + s_i);
-        test("3900-9900", "" + s_s + f_sM);
-        test("3900935228928", "" + s_s + s_l);
-        test("3900-8400", "" + s_s + sf_sM);
-        test("3900C(82)", "" + s_s + s_o);
-        test("3900null", "" + s_s + sf_oNtS);
-        test("3900true", "" + s_s + s_bl);
-        test("39003900", "" + s_s + s_s);
-        test("3900null", "" + s_s + sf_oN);
-        test("390094000000", "" + s_s + f_I);
-        test("3900null", "" + s_s + f_IN);
-        test("3900true", "" + s_s + sf_bl);
-        test("39005500", "" + s_s + sf_s);
-        test("3900-2900", "" + s_s + s_sM);
-        test("3900-194313216", "" + s_s + sf_l);
-        test("390012", "" + s_s + s_strU1);
-        test("3900C(87)", "" + s_s + sf_o);
-        test("390091", "" + s_s + s_strU2);
-        test("390021", "" + s_s + f_strU1);
-        test("390018", "" + s_s + f_strU2);
-        test("3900null", "" + s_s + f_iAN);
-        test("3900null", "" + s_s + s_oN);
-        test("3900\u045180", "" + s_s + s_strU);
-        test("3900C", "" + s_s + sf_c);
-        test("390075", "" + s_s + sf_str);
-        test("3900-43", "" + s_s + s_bM);
-        test("390080", "" + s_s + sf_b);
-        test("3900null", "" + s_s + s_IN);
-        test("3900-52.0", "" + s_s + s_fM);
-        test("390075000000", "" + s_s + sf_i);
-        test("390044", "" + s_s + f_b);
-        test("3900-1705032704", "" + s_s + sf_lM);
-        test("3900null", "" + s_s + f_oAN);
-        test("390083.0", "" + s_s + f_d);
-        test("3900I", "" + s_s + f_c);
-        test("390094.0", "" + s_s + f_f);
-        test("390012.0", "" + s_s + sf_d);
-        test("3900-99.0", "" + s_s + f_dM);
-        test("390017.0", "" + s_s + sf_f);
-        test("3900-84.0", "" + s_s + sf_dM);
-        test("390058000000", "" + s_s + f_i);
-        test("3900-55000000", "" + s_s + f_iM);
-        test("39001460392448", "" + s_s + f_l);
-        test("3900C(70)", "" + s_s + f_o);
-        test("3900\u04511", "" + s_s + sf_strU);
-        test("39008000", "" + s_s + f_s);
-        test("390018", "" + s_s + s_str);
-        test("3900-1000000", "" + s_s + s_iM);
-        test("39001000000", "" + s_s + sf_I);
-        test("3900null", "" + s_s + f_oNtS);
-        test("3900false", "" + s_s + f_bl);
-        test("3900null", "" + s_s + sf_iAN);
-        test("3900-2000000", "" + s_s + sf_iM);
-        test("3900-820130816", "" + s_s + f_lM);
-        test("3900null", "" + s_s + sf_oAN);
-        test("390025000000", "" + s_s + s_I);
-        test("null-96.0", "" + sf_oN + s_dM);
-        test("nullnull", "" + sf_oN + s_oNtS);
-        test("null\u045176", "" + sf_oN + f_strU);
-        test("null92", "" + sf_oN + sf_strU2);
-        test("null51", "" + sf_oN + sf_strU1);
-        test("nullnull", "" + sf_oN + s_iAN);
-        test("null-54", "" + sf_oN + f_bM);
-        test("null-87.0", "" + sf_oN + f_fM);
-        test("nullnull", "" + sf_oN + s_oAN);
-        test("null19", "" + sf_oN + f_str);
-        test("null-41", "" + sf_oN + sf_bM);
-        test("nullnull", "" + sf_oN + sf_IN);
-        test("nullT", "" + sf_oN + s_c);
-        test("null-42.0", "" + sf_oN + sf_fM);
-        test("null25", "" + sf_oN + s_b);
-        test("nullnull", "" + sf_oN + f_oN);
-        test("null-1410065408", "" + sf_oN + s_lM);
-        test("null8.0", "" + sf_oN + s_d);
-        test("null55.0", "" + sf_oN + s_f);
-        test("null97000000", "" + sf_oN + s_i);
-        test("null-9900", "" + sf_oN + f_sM);
-        test("null935228928", "" + sf_oN + s_l);
-        test("null-8400", "" + sf_oN + sf_sM);
-        test("nullC(82)", "" + sf_oN + s_o);
-        test("nullnull", "" + sf_oN + sf_oNtS);
-        test("nulltrue", "" + sf_oN + s_bl);
-        test("null3900", "" + sf_oN + s_s);
-        test("nullnull", "" + sf_oN + sf_oN);
-        test("null94000000", "" + sf_oN + f_I);
-        test("nullnull", "" + sf_oN + f_IN);
-        test("nulltrue", "" + sf_oN + sf_bl);
-        test("null5500", "" + sf_oN + sf_s);
-        test("null-2900", "" + sf_oN + s_sM);
-        test("null-194313216", "" + sf_oN + sf_l);
-        test("null12", "" + sf_oN + s_strU1);
-        test("nullC(87)", "" + sf_oN + sf_o);
-        test("null91", "" + sf_oN + s_strU2);
-        test("null21", "" + sf_oN + f_strU1);
-        test("null18", "" + sf_oN + f_strU2);
-        test("nullnull", "" + sf_oN + f_iAN);
-        test("nullnull", "" + sf_oN + s_oN);
-        test("null\u045180", "" + sf_oN + s_strU);
-        test("nullC", "" + sf_oN + sf_c);
-        test("null75", "" + sf_oN + sf_str);
-        test("null-43", "" + sf_oN + s_bM);
-        test("null80", "" + sf_oN + sf_b);
-        test("nullnull", "" + sf_oN + s_IN);
-        test("null-52.0", "" + sf_oN + s_fM);
-        test("null75000000", "" + sf_oN + sf_i);
-        test("null44", "" + sf_oN + f_b);
-        test("null-1705032704", "" + sf_oN + sf_lM);
-        test("nullnull", "" + sf_oN + f_oAN);
-        test("null83.0", "" + sf_oN + f_d);
-        test("nullI", "" + sf_oN + f_c);
-        test("null94.0", "" + sf_oN + f_f);
-        test("null12.0", "" + sf_oN + sf_d);
-        test("null-99.0", "" + sf_oN + f_dM);
-        test("null17.0", "" + sf_oN + sf_f);
-        test("null-84.0", "" + sf_oN + sf_dM);
-        test("null58000000", "" + sf_oN + f_i);
-        test("null-55000000", "" + sf_oN + f_iM);
-        test("null1460392448", "" + sf_oN + f_l);
-        test("nullC(70)", "" + sf_oN + f_o);
-        test("null\u04511", "" + sf_oN + sf_strU);
-        test("null8000", "" + sf_oN + f_s);
-        test("null18", "" + sf_oN + s_str);
-        test("null-1000000", "" + sf_oN + s_iM);
-        test("null1000000", "" + sf_oN + sf_I);
-        test("nullnull", "" + sf_oN + f_oNtS);
-        test("nullfalse", "" + sf_oN + f_bl);
-        test("nullnull", "" + sf_oN + sf_iAN);
-        test("null-2000000", "" + sf_oN + sf_iM);
-        test("null-820130816", "" + sf_oN + f_lM);
-        test("nullnull", "" + sf_oN + sf_oAN);
-        test("null25000000", "" + sf_oN + s_I);
-        test("94000000-96.0", "" + f_I + s_dM);
-        test("94000000null", "" + f_I + s_oNtS);
-        test("94000000\u045176", "" + f_I + f_strU);
-        test("9400000092", "" + f_I + sf_strU2);
-        test("9400000051", "" + f_I + sf_strU1);
-        test("94000000null", "" + f_I + s_iAN);
-        test("94000000-54", "" + f_I + f_bM);
-        test("94000000-87.0", "" + f_I + f_fM);
-        test("94000000null", "" + f_I + s_oAN);
-        test("9400000019", "" + f_I + f_str);
-        test("94000000-41", "" + f_I + sf_bM);
-        test("94000000null", "" + f_I + sf_IN);
-        test("94000000T", "" + f_I + s_c);
-        test("94000000-42.0", "" + f_I + sf_fM);
-        test("9400000025", "" + f_I + s_b);
-        test("94000000null", "" + f_I + f_oN);
-        test("94000000-1410065408", "" + f_I + s_lM);
-        test("940000008.0", "" + f_I + s_d);
-        test("9400000055.0", "" + f_I + s_f);
-        test("9400000097000000", "" + f_I + s_i);
-        test("94000000-9900", "" + f_I + f_sM);
-        test("94000000935228928", "" + f_I + s_l);
-        test("94000000-8400", "" + f_I + sf_sM);
-        test("94000000C(82)", "" + f_I + s_o);
-        test("94000000null", "" + f_I + sf_oNtS);
-        test("94000000true", "" + f_I + s_bl);
-        test("940000003900", "" + f_I + s_s);
-        test("94000000null", "" + f_I + sf_oN);
-        test("9400000094000000", "" + f_I + f_I);
-        test("94000000null", "" + f_I + f_IN);
-        test("94000000true", "" + f_I + sf_bl);
-        test("940000005500", "" + f_I + sf_s);
-        test("94000000-2900", "" + f_I + s_sM);
-        test("94000000-194313216", "" + f_I + sf_l);
-        test("9400000012", "" + f_I + s_strU1);
-        test("94000000C(87)", "" + f_I + sf_o);
-        test("9400000091", "" + f_I + s_strU2);
-        test("9400000021", "" + f_I + f_strU1);
-        test("9400000018", "" + f_I + f_strU2);
-        test("94000000null", "" + f_I + f_iAN);
-        test("94000000null", "" + f_I + s_oN);
-        test("94000000\u045180", "" + f_I + s_strU);
-        test("94000000C", "" + f_I + sf_c);
-        test("9400000075", "" + f_I + sf_str);
-        test("94000000-43", "" + f_I + s_bM);
-        test("9400000080", "" + f_I + sf_b);
-        test("94000000null", "" + f_I + s_IN);
-        test("94000000-52.0", "" + f_I + s_fM);
-        test("9400000075000000", "" + f_I + sf_i);
-        test("9400000044", "" + f_I + f_b);
-        test("94000000-1705032704", "" + f_I + sf_lM);
-        test("94000000null", "" + f_I + f_oAN);
-        test("9400000083.0", "" + f_I + f_d);
-        test("94000000I", "" + f_I + f_c);
-        test("9400000094.0", "" + f_I + f_f);
-        test("9400000012.0", "" + f_I + sf_d);
-        test("94000000-99.0", "" + f_I + f_dM);
-        test("9400000017.0", "" + f_I + sf_f);
-        test("94000000-84.0", "" + f_I + sf_dM);
-        test("9400000058000000", "" + f_I + f_i);
-        test("94000000-55000000", "" + f_I + f_iM);
-        test("940000001460392448", "" + f_I + f_l);
-        test("94000000C(70)", "" + f_I + f_o);
-        test("94000000\u04511", "" + f_I + sf_strU);
-        test("940000008000", "" + f_I + f_s);
-        test("9400000018", "" + f_I + s_str);
-        test("94000000-1000000", "" + f_I + s_iM);
-        test("940000001000000", "" + f_I + sf_I);
-        test("94000000null", "" + f_I + f_oNtS);
-        test("94000000false", "" + f_I + f_bl);
-        test("94000000null", "" + f_I + sf_iAN);
-        test("94000000-2000000", "" + f_I + sf_iM);
-        test("94000000-820130816", "" + f_I + f_lM);
-        test("94000000null", "" + f_I + sf_oAN);
-        test("9400000025000000", "" + f_I + s_I);
-        test("null-96.0", "" + f_IN + s_dM);
-        test("nullnull", "" + f_IN + s_oNtS);
-        test("null\u045176", "" + f_IN + f_strU);
-        test("null92", "" + f_IN + sf_strU2);
-        test("null51", "" + f_IN + sf_strU1);
-        test("nullnull", "" + f_IN + s_iAN);
-        test("null-54", "" + f_IN + f_bM);
-        test("null-87.0", "" + f_IN + f_fM);
-        test("nullnull", "" + f_IN + s_oAN);
-        test("null19", "" + f_IN + f_str);
-        test("null-41", "" + f_IN + sf_bM);
-        test("nullnull", "" + f_IN + sf_IN);
-        test("nullT", "" + f_IN + s_c);
-        test("null-42.0", "" + f_IN + sf_fM);
-        test("null25", "" + f_IN + s_b);
-        test("nullnull", "" + f_IN + f_oN);
-        test("null-1410065408", "" + f_IN + s_lM);
-        test("null8.0", "" + f_IN + s_d);
-        test("null55.0", "" + f_IN + s_f);
-        test("null97000000", "" + f_IN + s_i);
-        test("null-9900", "" + f_IN + f_sM);
-        test("null935228928", "" + f_IN + s_l);
-        test("null-8400", "" + f_IN + sf_sM);
-        test("nullC(82)", "" + f_IN + s_o);
-        test("nullnull", "" + f_IN + sf_oNtS);
-        test("nulltrue", "" + f_IN + s_bl);
-        test("null3900", "" + f_IN + s_s);
-        test("nullnull", "" + f_IN + sf_oN);
-        test("null94000000", "" + f_IN + f_I);
-        test("nullnull", "" + f_IN + f_IN);
-        test("nulltrue", "" + f_IN + sf_bl);
-        test("null5500", "" + f_IN + sf_s);
-        test("null-2900", "" + f_IN + s_sM);
-        test("null-194313216", "" + f_IN + sf_l);
-        test("null12", "" + f_IN + s_strU1);
-        test("nullC(87)", "" + f_IN + sf_o);
-        test("null91", "" + f_IN + s_strU2);
-        test("null21", "" + f_IN + f_strU1);
-        test("null18", "" + f_IN + f_strU2);
-        test("nullnull", "" + f_IN + f_iAN);
-        test("nullnull", "" + f_IN + s_oN);
-        test("null\u045180", "" + f_IN + s_strU);
-        test("nullC", "" + f_IN + sf_c);
-        test("null75", "" + f_IN + sf_str);
-        test("null-43", "" + f_IN + s_bM);
-        test("null80", "" + f_IN + sf_b);
-        test("nullnull", "" + f_IN + s_IN);
-        test("null-52.0", "" + f_IN + s_fM);
-        test("null75000000", "" + f_IN + sf_i);
-        test("null44", "" + f_IN + f_b);
-        test("null-1705032704", "" + f_IN + sf_lM);
-        test("nullnull", "" + f_IN + f_oAN);
-        test("null83.0", "" + f_IN + f_d);
-        test("nullI", "" + f_IN + f_c);
-        test("null94.0", "" + f_IN + f_f);
-        test("null12.0", "" + f_IN + sf_d);
-        test("null-99.0", "" + f_IN + f_dM);
-        test("null17.0", "" + f_IN + sf_f);
-        test("null-84.0", "" + f_IN + sf_dM);
-        test("null58000000", "" + f_IN + f_i);
-        test("null-55000000", "" + f_IN + f_iM);
-        test("null1460392448", "" + f_IN + f_l);
-        test("nullC(70)", "" + f_IN + f_o);
-        test("null\u04511", "" + f_IN + sf_strU);
-        test("null8000", "" + f_IN + f_s);
-        test("null18", "" + f_IN + s_str);
-        test("null-1000000", "" + f_IN + s_iM);
-        test("null1000000", "" + f_IN + sf_I);
-        test("nullnull", "" + f_IN + f_oNtS);
-        test("nullfalse", "" + f_IN + f_bl);
-        test("nullnull", "" + f_IN + sf_iAN);
-        test("null-2000000", "" + f_IN + sf_iM);
-        test("null-820130816", "" + f_IN + f_lM);
-        test("nullnull", "" + f_IN + sf_oAN);
-        test("null25000000", "" + f_IN + s_I);
-        test("true-96.0", "" + sf_bl + s_dM);
-        test("truenull", "" + sf_bl + s_oNtS);
-        test("true\u045176", "" + sf_bl + f_strU);
-        test("true92", "" + sf_bl + sf_strU2);
-        test("true51", "" + sf_bl + sf_strU1);
-        test("truenull", "" + sf_bl + s_iAN);
-        test("true-54", "" + sf_bl + f_bM);
-        test("true-87.0", "" + sf_bl + f_fM);
-        test("truenull", "" + sf_bl + s_oAN);
-        test("true19", "" + sf_bl + f_str);
-        test("true-41", "" + sf_bl + sf_bM);
-        test("truenull", "" + sf_bl + sf_IN);
-        test("trueT", "" + sf_bl + s_c);
-        test("true-42.0", "" + sf_bl + sf_fM);
-        test("true25", "" + sf_bl + s_b);
-        test("truenull", "" + sf_bl + f_oN);
-        test("true-1410065408", "" + sf_bl + s_lM);
-        test("true8.0", "" + sf_bl + s_d);
-        test("true55.0", "" + sf_bl + s_f);
-        test("true97000000", "" + sf_bl + s_i);
-        test("true-9900", "" + sf_bl + f_sM);
-        test("true935228928", "" + sf_bl + s_l);
-        test("true-8400", "" + sf_bl + sf_sM);
-        test("trueC(82)", "" + sf_bl + s_o);
-        test("truenull", "" + sf_bl + sf_oNtS);
-        test("truetrue", "" + sf_bl + s_bl);
-        test("true3900", "" + sf_bl + s_s);
-        test("truenull", "" + sf_bl + sf_oN);
-        test("true94000000", "" + sf_bl + f_I);
-        test("truenull", "" + sf_bl + f_IN);
-        test("truetrue", "" + sf_bl + sf_bl);
-        test("true5500", "" + sf_bl + sf_s);
-        test("true-2900", "" + sf_bl + s_sM);
-        test("true-194313216", "" + sf_bl + sf_l);
-        test("true12", "" + sf_bl + s_strU1);
-        test("trueC(87)", "" + sf_bl + sf_o);
-        test("true91", "" + sf_bl + s_strU2);
-        test("true21", "" + sf_bl + f_strU1);
-        test("true18", "" + sf_bl + f_strU2);
-        test("truenull", "" + sf_bl + f_iAN);
-        test("truenull", "" + sf_bl + s_oN);
-        test("true\u045180", "" + sf_bl + s_strU);
-        test("trueC", "" + sf_bl + sf_c);
-        test("true75", "" + sf_bl + sf_str);
-        test("true-43", "" + sf_bl + s_bM);
-        test("true80", "" + sf_bl + sf_b);
-        test("truenull", "" + sf_bl + s_IN);
-        test("true-52.0", "" + sf_bl + s_fM);
-        test("true75000000", "" + sf_bl + sf_i);
-        test("true44", "" + sf_bl + f_b);
-        test("true-1705032704", "" + sf_bl + sf_lM);
-        test("truenull", "" + sf_bl + f_oAN);
-        test("true83.0", "" + sf_bl + f_d);
-        test("trueI", "" + sf_bl + f_c);
-        test("true94.0", "" + sf_bl + f_f);
-        test("true12.0", "" + sf_bl + sf_d);
-        test("true-99.0", "" + sf_bl + f_dM);
-        test("true17.0", "" + sf_bl + sf_f);
-        test("true-84.0", "" + sf_bl + sf_dM);
-        test("true58000000", "" + sf_bl + f_i);
-        test("true-55000000", "" + sf_bl + f_iM);
-        test("true1460392448", "" + sf_bl + f_l);
-        test("trueC(70)", "" + sf_bl + f_o);
-        test("true\u04511", "" + sf_bl + sf_strU);
-        test("true8000", "" + sf_bl + f_s);
-        test("true18", "" + sf_bl + s_str);
-        test("true-1000000", "" + sf_bl + s_iM);
-        test("true1000000", "" + sf_bl + sf_I);
-        test("truenull", "" + sf_bl + f_oNtS);
-        test("truefalse", "" + sf_bl + f_bl);
-        test("truenull", "" + sf_bl + sf_iAN);
-        test("true-2000000", "" + sf_bl + sf_iM);
-        test("true-820130816", "" + sf_bl + f_lM);
-        test("truenull", "" + sf_bl + sf_oAN);
-        test("true25000000", "" + sf_bl + s_I);
-        test("5500-96.0", "" + sf_s + s_dM);
-        test("5500null", "" + sf_s + s_oNtS);
-        test("5500\u045176", "" + sf_s + f_strU);
-        test("550092", "" + sf_s + sf_strU2);
-        test("550051", "" + sf_s + sf_strU1);
-        test("5500null", "" + sf_s + s_iAN);
-        test("5500-54", "" + sf_s + f_bM);
-        test("5500-87.0", "" + sf_s + f_fM);
-        test("5500null", "" + sf_s + s_oAN);
-        test("550019", "" + sf_s + f_str);
-        test("5500-41", "" + sf_s + sf_bM);
-        test("5500null", "" + sf_s + sf_IN);
-        test("5500T", "" + sf_s + s_c);
-        test("5500-42.0", "" + sf_s + sf_fM);
-        test("550025", "" + sf_s + s_b);
-        test("5500null", "" + sf_s + f_oN);
-        test("5500-1410065408", "" + sf_s + s_lM);
-        test("55008.0", "" + sf_s + s_d);
-        test("550055.0", "" + sf_s + s_f);
-        test("550097000000", "" + sf_s + s_i);
-        test("5500-9900", "" + sf_s + f_sM);
-        test("5500935228928", "" + sf_s + s_l);
-        test("5500-8400", "" + sf_s + sf_sM);
-        test("5500C(82)", "" + sf_s + s_o);
-        test("5500null", "" + sf_s + sf_oNtS);
-        test("5500true", "" + sf_s + s_bl);
-        test("55003900", "" + sf_s + s_s);
-        test("5500null", "" + sf_s + sf_oN);
-        test("550094000000", "" + sf_s + f_I);
-        test("5500null", "" + sf_s + f_IN);
-        test("5500true", "" + sf_s + sf_bl);
-        test("55005500", "" + sf_s + sf_s);
-        test("5500-2900", "" + sf_s + s_sM);
-        test("5500-194313216", "" + sf_s + sf_l);
-        test("550012", "" + sf_s + s_strU1);
-        test("5500C(87)", "" + sf_s + sf_o);
-        test("550091", "" + sf_s + s_strU2);
-        test("550021", "" + sf_s + f_strU1);
-        test("550018", "" + sf_s + f_strU2);
-        test("5500null", "" + sf_s + f_iAN);
-        test("5500null", "" + sf_s + s_oN);
-        test("5500\u045180", "" + sf_s + s_strU);
-        test("5500C", "" + sf_s + sf_c);
-        test("550075", "" + sf_s + sf_str);
-        test("5500-43", "" + sf_s + s_bM);
-        test("550080", "" + sf_s + sf_b);
-        test("5500null", "" + sf_s + s_IN);
-        test("5500-52.0", "" + sf_s + s_fM);
-        test("550075000000", "" + sf_s + sf_i);
-        test("550044", "" + sf_s + f_b);
-        test("5500-1705032704", "" + sf_s + sf_lM);
-        test("5500null", "" + sf_s + f_oAN);
-        test("550083.0", "" + sf_s + f_d);
-        test("5500I", "" + sf_s + f_c);
-        test("550094.0", "" + sf_s + f_f);
-        test("550012.0", "" + sf_s + sf_d);
-        test("5500-99.0", "" + sf_s + f_dM);
-        test("550017.0", "" + sf_s + sf_f);
-        test("5500-84.0", "" + sf_s + sf_dM);
-        test("550058000000", "" + sf_s + f_i);
-        test("5500-55000000", "" + sf_s + f_iM);
-        test("55001460392448", "" + sf_s + f_l);
-        test("5500C(70)", "" + sf_s + f_o);
-        test("5500\u04511", "" + sf_s + sf_strU);
-        test("55008000", "" + sf_s + f_s);
-        test("550018", "" + sf_s + s_str);
-        test("5500-1000000", "" + sf_s + s_iM);
-        test("55001000000", "" + sf_s + sf_I);
-        test("5500null", "" + sf_s + f_oNtS);
-        test("5500false", "" + sf_s + f_bl);
-        test("5500null", "" + sf_s + sf_iAN);
-        test("5500-2000000", "" + sf_s + sf_iM);
-        test("5500-820130816", "" + sf_s + f_lM);
-        test("5500null", "" + sf_s + sf_oAN);
-        test("550025000000", "" + sf_s + s_I);
-        test("-2900-96.0", "" + s_sM + s_dM);
-        test("-2900null", "" + s_sM + s_oNtS);
-        test("-2900\u045176", "" + s_sM + f_strU);
-        test("-290092", "" + s_sM + sf_strU2);
-        test("-290051", "" + s_sM + sf_strU1);
-        test("-2900null", "" + s_sM + s_iAN);
-        test("-2900-54", "" + s_sM + f_bM);
-        test("-2900-87.0", "" + s_sM + f_fM);
-        test("-2900null", "" + s_sM + s_oAN);
-        test("-290019", "" + s_sM + f_str);
-        test("-2900-41", "" + s_sM + sf_bM);
-        test("-2900null", "" + s_sM + sf_IN);
-        test("-2900T", "" + s_sM + s_c);
-        test("-2900-42.0", "" + s_sM + sf_fM);
-        test("-290025", "" + s_sM + s_b);
-        test("-2900null", "" + s_sM + f_oN);
-        test("-2900-1410065408", "" + s_sM + s_lM);
-        test("-29008.0", "" + s_sM + s_d);
-        test("-290055.0", "" + s_sM + s_f);
-        test("-290097000000", "" + s_sM + s_i);
-        test("-2900-9900", "" + s_sM + f_sM);
-        test("-2900935228928", "" + s_sM + s_l);
-        test("-2900-8400", "" + s_sM + sf_sM);
-        test("-2900C(82)", "" + s_sM + s_o);
-        test("-2900null", "" + s_sM + sf_oNtS);
-        test("-2900true", "" + s_sM + s_bl);
-        test("-29003900", "" + s_sM + s_s);
-        test("-2900null", "" + s_sM + sf_oN);
-        test("-290094000000", "" + s_sM + f_I);
-        test("-2900null", "" + s_sM + f_IN);
-        test("-2900true", "" + s_sM + sf_bl);
-        test("-29005500", "" + s_sM + sf_s);
-        test("-2900-2900", "" + s_sM + s_sM);
-        test("-2900-194313216", "" + s_sM + sf_l);
-        test("-290012", "" + s_sM + s_strU1);
-        test("-2900C(87)", "" + s_sM + sf_o);
-        test("-290091", "" + s_sM + s_strU2);
-        test("-290021", "" + s_sM + f_strU1);
-        test("-290018", "" + s_sM + f_strU2);
-        test("-2900null", "" + s_sM + f_iAN);
-        test("-2900null", "" + s_sM + s_oN);
-        test("-2900\u045180", "" + s_sM + s_strU);
-        test("-2900C", "" + s_sM + sf_c);
-        test("-290075", "" + s_sM + sf_str);
-        test("-2900-43", "" + s_sM + s_bM);
-        test("-290080", "" + s_sM + sf_b);
-        test("-2900null", "" + s_sM + s_IN);
-        test("-2900-52.0", "" + s_sM + s_fM);
-        test("-290075000000", "" + s_sM + sf_i);
-        test("-290044", "" + s_sM + f_b);
-        test("-2900-1705032704", "" + s_sM + sf_lM);
-        test("-2900null", "" + s_sM + f_oAN);
-        test("-290083.0", "" + s_sM + f_d);
-        test("-2900I", "" + s_sM + f_c);
-        test("-290094.0", "" + s_sM + f_f);
-        test("-290012.0", "" + s_sM + sf_d);
-        test("-2900-99.0", "" + s_sM + f_dM);
-        test("-290017.0", "" + s_sM + sf_f);
-        test("-2900-84.0", "" + s_sM + sf_dM);
-        test("-290058000000", "" + s_sM + f_i);
-        test("-2900-55000000", "" + s_sM + f_iM);
-        test("-29001460392448", "" + s_sM + f_l);
-        test("-2900C(70)", "" + s_sM + f_o);
-        test("-2900\u04511", "" + s_sM + sf_strU);
-        test("-29008000", "" + s_sM + f_s);
-        test("-290018", "" + s_sM + s_str);
-        test("-2900-1000000", "" + s_sM + s_iM);
-        test("-29001000000", "" + s_sM + sf_I);
-        test("-2900null", "" + s_sM + f_oNtS);
-        test("-2900false", "" + s_sM + f_bl);
-        test("-2900null", "" + s_sM + sf_iAN);
-        test("-2900-2000000", "" + s_sM + sf_iM);
-        test("-2900-820130816", "" + s_sM + f_lM);
-        test("-2900null", "" + s_sM + sf_oAN);
-        test("-290025000000", "" + s_sM + s_I);
-        test("-194313216-96.0", "" + sf_l + s_dM);
-        test("-194313216null", "" + sf_l + s_oNtS);
-        test("-194313216\u045176", "" + sf_l + f_strU);
-        test("-19431321692", "" + sf_l + sf_strU2);
-        test("-19431321651", "" + sf_l + sf_strU1);
-        test("-194313216null", "" + sf_l + s_iAN);
-        test("-194313216-54", "" + sf_l + f_bM);
-        test("-194313216-87.0", "" + sf_l + f_fM);
-        test("-194313216null", "" + sf_l + s_oAN);
-        test("-19431321619", "" + sf_l + f_str);
-        test("-194313216-41", "" + sf_l + sf_bM);
-        test("-194313216null", "" + sf_l + sf_IN);
-        test("-194313216T", "" + sf_l + s_c);
-        test("-194313216-42.0", "" + sf_l + sf_fM);
-        test("-19431321625", "" + sf_l + s_b);
-        test("-194313216null", "" + sf_l + f_oN);
-        test("-194313216-1410065408", "" + sf_l + s_lM);
-        test("-1943132168.0", "" + sf_l + s_d);
-        test("-19431321655.0", "" + sf_l + s_f);
-        test("-19431321697000000", "" + sf_l + s_i);
-        test("-194313216-9900", "" + sf_l + f_sM);
-        test("-194313216935228928", "" + sf_l + s_l);
-        test("-194313216-8400", "" + sf_l + sf_sM);
-        test("-194313216C(82)", "" + sf_l + s_o);
-        test("-194313216null", "" + sf_l + sf_oNtS);
-        test("-194313216true", "" + sf_l + s_bl);
-        test("-1943132163900", "" + sf_l + s_s);
-        test("-194313216null", "" + sf_l + sf_oN);
-        test("-19431321694000000", "" + sf_l + f_I);
-        test("-194313216null", "" + sf_l + f_IN);
-        test("-194313216true", "" + sf_l + sf_bl);
-        test("-1943132165500", "" + sf_l + sf_s);
-        test("-194313216-2900", "" + sf_l + s_sM);
-        test("-194313216-194313216", "" + sf_l + sf_l);
-        test("-19431321612", "" + sf_l + s_strU1);
-        test("-194313216C(87)", "" + sf_l + sf_o);
-        test("-19431321691", "" + sf_l + s_strU2);
-        test("-19431321621", "" + sf_l + f_strU1);
-        test("-19431321618", "" + sf_l + f_strU2);
-        test("-194313216null", "" + sf_l + f_iAN);
-        test("-194313216null", "" + sf_l + s_oN);
-        test("-194313216\u045180", "" + sf_l + s_strU);
-        test("-194313216C", "" + sf_l + sf_c);
-        test("-19431321675", "" + sf_l + sf_str);
-        test("-194313216-43", "" + sf_l + s_bM);
-        test("-19431321680", "" + sf_l + sf_b);
-        test("-194313216null", "" + sf_l + s_IN);
-        test("-194313216-52.0", "" + sf_l + s_fM);
-        test("-19431321675000000", "" + sf_l + sf_i);
-        test("-19431321644", "" + sf_l + f_b);
-        test("-194313216-1705032704", "" + sf_l + sf_lM);
-        test("-194313216null", "" + sf_l + f_oAN);
-        test("-19431321683.0", "" + sf_l + f_d);
-        test("-194313216I", "" + sf_l + f_c);
-        test("-19431321694.0", "" + sf_l + f_f);
-        test("-19431321612.0", "" + sf_l + sf_d);
-        test("-194313216-99.0", "" + sf_l + f_dM);
-        test("-19431321617.0", "" + sf_l + sf_f);
-        test("-194313216-84.0", "" + sf_l + sf_dM);
-        test("-19431321658000000", "" + sf_l + f_i);
-        test("-194313216-55000000", "" + sf_l + f_iM);
-        test("-1943132161460392448", "" + sf_l + f_l);
-        test("-194313216C(70)", "" + sf_l + f_o);
-        test("-194313216\u04511", "" + sf_l + sf_strU);
-        test("-1943132168000", "" + sf_l + f_s);
-        test("-19431321618", "" + sf_l + s_str);
-        test("-194313216-1000000", "" + sf_l + s_iM);
-        test("-1943132161000000", "" + sf_l + sf_I);
-        test("-194313216null", "" + sf_l + f_oNtS);
-        test("-194313216false", "" + sf_l + f_bl);
-        test("-194313216null", "" + sf_l + sf_iAN);
-        test("-194313216-2000000", "" + sf_l + sf_iM);
-        test("-194313216-820130816", "" + sf_l + f_lM);
-        test("-194313216null", "" + sf_l + sf_oAN);
-        test("-19431321625000000", "" + sf_l + s_I);
-        test("12-96.0", "" + s_strU1 + s_dM);
-        test("12null", "" + s_strU1 + s_oNtS);
-        test("12\u045176", "" + s_strU1 + f_strU);
-        test("1292", "" + s_strU1 + sf_strU2);
-        test("1251", "" + s_strU1 + sf_strU1);
-        test("12null", "" + s_strU1 + s_iAN);
-        test("12-54", "" + s_strU1 + f_bM);
-        test("12-87.0", "" + s_strU1 + f_fM);
-        test("12null", "" + s_strU1 + s_oAN);
-        test("1219", "" + s_strU1 + f_str);
-        test("12-41", "" + s_strU1 + sf_bM);
-        test("12null", "" + s_strU1 + sf_IN);
-        test("12T", "" + s_strU1 + s_c);
-        test("12-42.0", "" + s_strU1 + sf_fM);
-        test("1225", "" + s_strU1 + s_b);
-        test("12null", "" + s_strU1 + f_oN);
-        test("12-1410065408", "" + s_strU1 + s_lM);
-        test("128.0", "" + s_strU1 + s_d);
-        test("1255.0", "" + s_strU1 + s_f);
-        test("1297000000", "" + s_strU1 + s_i);
-        test("12-9900", "" + s_strU1 + f_sM);
-        test("12935228928", "" + s_strU1 + s_l);
-        test("12-8400", "" + s_strU1 + sf_sM);
-        test("12C(82)", "" + s_strU1 + s_o);
-        test("12null", "" + s_strU1 + sf_oNtS);
-        test("12true", "" + s_strU1 + s_bl);
-        test("123900", "" + s_strU1 + s_s);
-        test("12null", "" + s_strU1 + sf_oN);
-        test("1294000000", "" + s_strU1 + f_I);
-        test("12null", "" + s_strU1 + f_IN);
-        test("12true", "" + s_strU1 + sf_bl);
-        test("125500", "" + s_strU1 + sf_s);
-        test("12-2900", "" + s_strU1 + s_sM);
-        test("12-194313216", "" + s_strU1 + sf_l);
-        test("1212", "" + s_strU1 + s_strU1);
-        test("12C(87)", "" + s_strU1 + sf_o);
-        test("1291", "" + s_strU1 + s_strU2);
-        test("1221", "" + s_strU1 + f_strU1);
-        test("1218", "" + s_strU1 + f_strU2);
-        test("12null", "" + s_strU1 + f_iAN);
-        test("12null", "" + s_strU1 + s_oN);
-        test("12\u045180", "" + s_strU1 + s_strU);
-        test("12C", "" + s_strU1 + sf_c);
-        test("1275", "" + s_strU1 + sf_str);
-        test("12-43", "" + s_strU1 + s_bM);
-        test("1280", "" + s_strU1 + sf_b);
-        test("12null", "" + s_strU1 + s_IN);
-        test("12-52.0", "" + s_strU1 + s_fM);
-        test("1275000000", "" + s_strU1 + sf_i);
-        test("1244", "" + s_strU1 + f_b);
-        test("12-1705032704", "" + s_strU1 + sf_lM);
-        test("12null", "" + s_strU1 + f_oAN);
-        test("1283.0", "" + s_strU1 + f_d);
-        test("12I", "" + s_strU1 + f_c);
-        test("1294.0", "" + s_strU1 + f_f);
-        test("1212.0", "" + s_strU1 + sf_d);
-        test("12-99.0", "" + s_strU1 + f_dM);
-        test("1217.0", "" + s_strU1 + sf_f);
-        test("12-84.0", "" + s_strU1 + sf_dM);
-        test("1258000000", "" + s_strU1 + f_i);
-        test("12-55000000", "" + s_strU1 + f_iM);
-        test("121460392448", "" + s_strU1 + f_l);
-        test("12C(70)", "" + s_strU1 + f_o);
-        test("12\u04511", "" + s_strU1 + sf_strU);
-        test("128000", "" + s_strU1 + f_s);
-        test("1218", "" + s_strU1 + s_str);
-        test("12-1000000", "" + s_strU1 + s_iM);
-        test("121000000", "" + s_strU1 + sf_I);
-        test("12null", "" + s_strU1 + f_oNtS);
-        test("12false", "" + s_strU1 + f_bl);
-        test("12null", "" + s_strU1 + sf_iAN);
-        test("12-2000000", "" + s_strU1 + sf_iM);
-        test("12-820130816", "" + s_strU1 + f_lM);
-        test("12null", "" + s_strU1 + sf_oAN);
-        test("1225000000", "" + s_strU1 + s_I);
-        test("C(87)-96.0", "" + sf_o + s_dM);
-        test("C(87)null", "" + sf_o + s_oNtS);
-        test("C(87)\u045176", "" + sf_o + f_strU);
-        test("C(87)92", "" + sf_o + sf_strU2);
-        test("C(87)51", "" + sf_o + sf_strU1);
-        test("C(87)null", "" + sf_o + s_iAN);
-        test("C(87)-54", "" + sf_o + f_bM);
-        test("C(87)-87.0", "" + sf_o + f_fM);
-        test("C(87)null", "" + sf_o + s_oAN);
-        test("C(87)19", "" + sf_o + f_str);
-        test("C(87)-41", "" + sf_o + sf_bM);
-        test("C(87)null", "" + sf_o + sf_IN);
-        test("C(87)T", "" + sf_o + s_c);
-        test("C(87)-42.0", "" + sf_o + sf_fM);
-        test("C(87)25", "" + sf_o + s_b);
-        test("C(87)null", "" + sf_o + f_oN);
-        test("C(87)-1410065408", "" + sf_o + s_lM);
-        test("C(87)8.0", "" + sf_o + s_d);
-        test("C(87)55.0", "" + sf_o + s_f);
-        test("C(87)97000000", "" + sf_o + s_i);
-        test("C(87)-9900", "" + sf_o + f_sM);
-        test("C(87)935228928", "" + sf_o + s_l);
-        test("C(87)-8400", "" + sf_o + sf_sM);
-        test("C(87)C(82)", "" + sf_o + s_o);
-        test("C(87)null", "" + sf_o + sf_oNtS);
-        test("C(87)true", "" + sf_o + s_bl);
-        test("C(87)3900", "" + sf_o + s_s);
-        test("C(87)null", "" + sf_o + sf_oN);
-        test("C(87)94000000", "" + sf_o + f_I);
-        test("C(87)null", "" + sf_o + f_IN);
-        test("C(87)true", "" + sf_o + sf_bl);
-        test("C(87)5500", "" + sf_o + sf_s);
-        test("C(87)-2900", "" + sf_o + s_sM);
-        test("C(87)-194313216", "" + sf_o + sf_l);
-        test("C(87)12", "" + sf_o + s_strU1);
-        test("C(87)C(87)", "" + sf_o + sf_o);
-        test("C(87)91", "" + sf_o + s_strU2);
-        test("C(87)21", "" + sf_o + f_strU1);
-        test("C(87)18", "" + sf_o + f_strU2);
-        test("C(87)null", "" + sf_o + f_iAN);
-        test("C(87)null", "" + sf_o + s_oN);
-        test("C(87)\u045180", "" + sf_o + s_strU);
-        test("C(87)C", "" + sf_o + sf_c);
-        test("C(87)75", "" + sf_o + sf_str);
-        test("C(87)-43", "" + sf_o + s_bM);
-        test("C(87)80", "" + sf_o + sf_b);
-        test("C(87)null", "" + sf_o + s_IN);
-        test("C(87)-52.0", "" + sf_o + s_fM);
-        test("C(87)75000000", "" + sf_o + sf_i);
-        test("C(87)44", "" + sf_o + f_b);
-        test("C(87)-1705032704", "" + sf_o + sf_lM);
-        test("C(87)null", "" + sf_o + f_oAN);
-        test("C(87)83.0", "" + sf_o + f_d);
-        test("C(87)I", "" + sf_o + f_c);
-        test("C(87)94.0", "" + sf_o + f_f);
-        test("C(87)12.0", "" + sf_o + sf_d);
-        test("C(87)-99.0", "" + sf_o + f_dM);
-        test("C(87)17.0", "" + sf_o + sf_f);
-        test("C(87)-84.0", "" + sf_o + sf_dM);
-        test("C(87)58000000", "" + sf_o + f_i);
-        test("C(87)-55000000", "" + sf_o + f_iM);
-        test("C(87)1460392448", "" + sf_o + f_l);
-        test("C(87)C(70)", "" + sf_o + f_o);
-        test("C(87)\u04511", "" + sf_o + sf_strU);
-        test("C(87)8000", "" + sf_o + f_s);
-        test("C(87)18", "" + sf_o + s_str);
-        test("C(87)-1000000", "" + sf_o + s_iM);
-        test("C(87)1000000", "" + sf_o + sf_I);
-        test("C(87)null", "" + sf_o + f_oNtS);
-        test("C(87)false", "" + sf_o + f_bl);
-        test("C(87)null", "" + sf_o + sf_iAN);
-        test("C(87)-2000000", "" + sf_o + sf_iM);
-        test("C(87)-820130816", "" + sf_o + f_lM);
-        test("C(87)null", "" + sf_o + sf_oAN);
-        test("C(87)25000000", "" + sf_o + s_I);
-        test("91-96.0", "" + s_strU2 + s_dM);
-        test("91null", "" + s_strU2 + s_oNtS);
-        test("91\u045176", "" + s_strU2 + f_strU);
-        test("9192", "" + s_strU2 + sf_strU2);
-        test("9151", "" + s_strU2 + sf_strU1);
-        test("91null", "" + s_strU2 + s_iAN);
-        test("91-54", "" + s_strU2 + f_bM);
-        test("91-87.0", "" + s_strU2 + f_fM);
-        test("91null", "" + s_strU2 + s_oAN);
-        test("9119", "" + s_strU2 + f_str);
-        test("91-41", "" + s_strU2 + sf_bM);
-        test("91null", "" + s_strU2 + sf_IN);
-        test("91T", "" + s_strU2 + s_c);
-        test("91-42.0", "" + s_strU2 + sf_fM);
-        test("9125", "" + s_strU2 + s_b);
-        test("91null", "" + s_strU2 + f_oN);
-        test("91-1410065408", "" + s_strU2 + s_lM);
-        test("918.0", "" + s_strU2 + s_d);
-        test("9155.0", "" + s_strU2 + s_f);
-        test("9197000000", "" + s_strU2 + s_i);
-        test("91-9900", "" + s_strU2 + f_sM);
-        test("91935228928", "" + s_strU2 + s_l);
-        test("91-8400", "" + s_strU2 + sf_sM);
-        test("91C(82)", "" + s_strU2 + s_o);
-        test("91null", "" + s_strU2 + sf_oNtS);
-        test("91true", "" + s_strU2 + s_bl);
-        test("913900", "" + s_strU2 + s_s);
-        test("91null", "" + s_strU2 + sf_oN);
-        test("9194000000", "" + s_strU2 + f_I);
-        test("91null", "" + s_strU2 + f_IN);
-        test("91true", "" + s_strU2 + sf_bl);
-        test("915500", "" + s_strU2 + sf_s);
-        test("91-2900", "" + s_strU2 + s_sM);
-        test("91-194313216", "" + s_strU2 + sf_l);
-        test("9112", "" + s_strU2 + s_strU1);
-        test("91C(87)", "" + s_strU2 + sf_o);
-        test("9191", "" + s_strU2 + s_strU2);
-        test("9121", "" + s_strU2 + f_strU1);
-        test("9118", "" + s_strU2 + f_strU2);
-        test("91null", "" + s_strU2 + f_iAN);
-        test("91null", "" + s_strU2 + s_oN);
-        test("91\u045180", "" + s_strU2 + s_strU);
-        test("91C", "" + s_strU2 + sf_c);
-        test("9175", "" + s_strU2 + sf_str);
-        test("91-43", "" + s_strU2 + s_bM);
-        test("9180", "" + s_strU2 + sf_b);
-        test("91null", "" + s_strU2 + s_IN);
-        test("91-52.0", "" + s_strU2 + s_fM);
-        test("9175000000", "" + s_strU2 + sf_i);
-        test("9144", "" + s_strU2 + f_b);
-        test("91-1705032704", "" + s_strU2 + sf_lM);
-        test("91null", "" + s_strU2 + f_oAN);
-        test("9183.0", "" + s_strU2 + f_d);
-        test("91I", "" + s_strU2 + f_c);
-        test("9194.0", "" + s_strU2 + f_f);
-        test("9112.0", "" + s_strU2 + sf_d);
-        test("91-99.0", "" + s_strU2 + f_dM);
-        test("9117.0", "" + s_strU2 + sf_f);
-        test("91-84.0", "" + s_strU2 + sf_dM);
-        test("9158000000", "" + s_strU2 + f_i);
-        test("91-55000000", "" + s_strU2 + f_iM);
-        test("911460392448", "" + s_strU2 + f_l);
-        test("91C(70)", "" + s_strU2 + f_o);
-        test("91\u04511", "" + s_strU2 + sf_strU);
-        test("918000", "" + s_strU2 + f_s);
-        test("9118", "" + s_strU2 + s_str);
-        test("91-1000000", "" + s_strU2 + s_iM);
-        test("911000000", "" + s_strU2 + sf_I);
-        test("91null", "" + s_strU2 + f_oNtS);
-        test("91false", "" + s_strU2 + f_bl);
-        test("91null", "" + s_strU2 + sf_iAN);
-        test("91-2000000", "" + s_strU2 + sf_iM);
-        test("91-820130816", "" + s_strU2 + f_lM);
-        test("91null", "" + s_strU2 + sf_oAN);
-        test("9125000000", "" + s_strU2 + s_I);
-        test("21-96.0", "" + f_strU1 + s_dM);
-        test("21null", "" + f_strU1 + s_oNtS);
-        test("21\u045176", "" + f_strU1 + f_strU);
-        test("2192", "" + f_strU1 + sf_strU2);
-        test("2151", "" + f_strU1 + sf_strU1);
-        test("21null", "" + f_strU1 + s_iAN);
-        test("21-54", "" + f_strU1 + f_bM);
-        test("21-87.0", "" + f_strU1 + f_fM);
-        test("21null", "" + f_strU1 + s_oAN);
-        test("2119", "" + f_strU1 + f_str);
-        test("21-41", "" + f_strU1 + sf_bM);
-        test("21null", "" + f_strU1 + sf_IN);
-        test("21T", "" + f_strU1 + s_c);
-        test("21-42.0", "" + f_strU1 + sf_fM);
-        test("2125", "" + f_strU1 + s_b);
-        test("21null", "" + f_strU1 + f_oN);
-        test("21-1410065408", "" + f_strU1 + s_lM);
-        test("218.0", "" + f_strU1 + s_d);
-        test("2155.0", "" + f_strU1 + s_f);
-        test("2197000000", "" + f_strU1 + s_i);
-        test("21-9900", "" + f_strU1 + f_sM);
-        test("21935228928", "" + f_strU1 + s_l);
-        test("21-8400", "" + f_strU1 + sf_sM);
-        test("21C(82)", "" + f_strU1 + s_o);
-        test("21null", "" + f_strU1 + sf_oNtS);
-        test("21true", "" + f_strU1 + s_bl);
-        test("213900", "" + f_strU1 + s_s);
-        test("21null", "" + f_strU1 + sf_oN);
-        test("2194000000", "" + f_strU1 + f_I);
-        test("21null", "" + f_strU1 + f_IN);
-        test("21true", "" + f_strU1 + sf_bl);
-        test("215500", "" + f_strU1 + sf_s);
-        test("21-2900", "" + f_strU1 + s_sM);
-        test("21-194313216", "" + f_strU1 + sf_l);
-        test("2112", "" + f_strU1 + s_strU1);
-        test("21C(87)", "" + f_strU1 + sf_o);
-        test("2191", "" + f_strU1 + s_strU2);
-        test("2121", "" + f_strU1 + f_strU1);
-        test("2118", "" + f_strU1 + f_strU2);
-        test("21null", "" + f_strU1 + f_iAN);
-        test("21null", "" + f_strU1 + s_oN);
-        test("21\u045180", "" + f_strU1 + s_strU);
-        test("21C", "" + f_strU1 + sf_c);
-        test("2175", "" + f_strU1 + sf_str);
-        test("21-43", "" + f_strU1 + s_bM);
-        test("2180", "" + f_strU1 + sf_b);
-        test("21null", "" + f_strU1 + s_IN);
-        test("21-52.0", "" + f_strU1 + s_fM);
-        test("2175000000", "" + f_strU1 + sf_i);
-        test("2144", "" + f_strU1 + f_b);
-        test("21-1705032704", "" + f_strU1 + sf_lM);
-        test("21null", "" + f_strU1 + f_oAN);
-        test("2183.0", "" + f_strU1 + f_d);
-        test("21I", "" + f_strU1 + f_c);
-        test("2194.0", "" + f_strU1 + f_f);
-        test("2112.0", "" + f_strU1 + sf_d);
-        test("21-99.0", "" + f_strU1 + f_dM);
-        test("2117.0", "" + f_strU1 + sf_f);
-        test("21-84.0", "" + f_strU1 + sf_dM);
-        test("2158000000", "" + f_strU1 + f_i);
-        test("21-55000000", "" + f_strU1 + f_iM);
-        test("211460392448", "" + f_strU1 + f_l);
-        test("21C(70)", "" + f_strU1 + f_o);
-        test("21\u04511", "" + f_strU1 + sf_strU);
-        test("218000", "" + f_strU1 + f_s);
-        test("2118", "" + f_strU1 + s_str);
-        test("21-1000000", "" + f_strU1 + s_iM);
-        test("211000000", "" + f_strU1 + sf_I);
-        test("21null", "" + f_strU1 + f_oNtS);
-        test("21false", "" + f_strU1 + f_bl);
-        test("21null", "" + f_strU1 + sf_iAN);
-        test("21-2000000", "" + f_strU1 + sf_iM);
-        test("21-820130816", "" + f_strU1 + f_lM);
-        test("21null", "" + f_strU1 + sf_oAN);
-        test("2125000000", "" + f_strU1 + s_I);
-        test("18-96.0", "" + f_strU2 + s_dM);
-        test("18null", "" + f_strU2 + s_oNtS);
-        test("18\u045176", "" + f_strU2 + f_strU);
-        test("1892", "" + f_strU2 + sf_strU2);
-        test("1851", "" + f_strU2 + sf_strU1);
-        test("18null", "" + f_strU2 + s_iAN);
-        test("18-54", "" + f_strU2 + f_bM);
-        test("18-87.0", "" + f_strU2 + f_fM);
-        test("18null", "" + f_strU2 + s_oAN);
-        test("1819", "" + f_strU2 + f_str);
-        test("18-41", "" + f_strU2 + sf_bM);
-        test("18null", "" + f_strU2 + sf_IN);
-        test("18T", "" + f_strU2 + s_c);
-        test("18-42.0", "" + f_strU2 + sf_fM);
-        test("1825", "" + f_strU2 + s_b);
-        test("18null", "" + f_strU2 + f_oN);
-        test("18-1410065408", "" + f_strU2 + s_lM);
-        test("188.0", "" + f_strU2 + s_d);
-        test("1855.0", "" + f_strU2 + s_f);
-        test("1897000000", "" + f_strU2 + s_i);
-        test("18-9900", "" + f_strU2 + f_sM);
-        test("18935228928", "" + f_strU2 + s_l);
-        test("18-8400", "" + f_strU2 + sf_sM);
-        test("18C(82)", "" + f_strU2 + s_o);
-        test("18null", "" + f_strU2 + sf_oNtS);
-        test("18true", "" + f_strU2 + s_bl);
-        test("183900", "" + f_strU2 + s_s);
-        test("18null", "" + f_strU2 + sf_oN);
-        test("1894000000", "" + f_strU2 + f_I);
-        test("18null", "" + f_strU2 + f_IN);
-        test("18true", "" + f_strU2 + sf_bl);
-        test("185500", "" + f_strU2 + sf_s);
-        test("18-2900", "" + f_strU2 + s_sM);
-        test("18-194313216", "" + f_strU2 + sf_l);
-        test("1812", "" + f_strU2 + s_strU1);
-        test("18C(87)", "" + f_strU2 + sf_o);
-        test("1891", "" + f_strU2 + s_strU2);
-        test("1821", "" + f_strU2 + f_strU1);
-        test("1818", "" + f_strU2 + f_strU2);
-        test("18null", "" + f_strU2 + f_iAN);
-        test("18null", "" + f_strU2 + s_oN);
-        test("18\u045180", "" + f_strU2 + s_strU);
-        test("18C", "" + f_strU2 + sf_c);
-        test("1875", "" + f_strU2 + sf_str);
-        test("18-43", "" + f_strU2 + s_bM);
-        test("1880", "" + f_strU2 + sf_b);
-        test("18null", "" + f_strU2 + s_IN);
-        test("18-52.0", "" + f_strU2 + s_fM);
-        test("1875000000", "" + f_strU2 + sf_i);
-        test("1844", "" + f_strU2 + f_b);
-        test("18-1705032704", "" + f_strU2 + sf_lM);
-        test("18null", "" + f_strU2 + f_oAN);
-        test("1883.0", "" + f_strU2 + f_d);
-        test("18I", "" + f_strU2 + f_c);
-        test("1894.0", "" + f_strU2 + f_f);
-        test("1812.0", "" + f_strU2 + sf_d);
-        test("18-99.0", "" + f_strU2 + f_dM);
-        test("1817.0", "" + f_strU2 + sf_f);
-        test("18-84.0", "" + f_strU2 + sf_dM);
-        test("1858000000", "" + f_strU2 + f_i);
-        test("18-55000000", "" + f_strU2 + f_iM);
-        test("181460392448", "" + f_strU2 + f_l);
-        test("18C(70)", "" + f_strU2 + f_o);
-        test("18\u04511", "" + f_strU2 + sf_strU);
-        test("188000", "" + f_strU2 + f_s);
-        test("1818", "" + f_strU2 + s_str);
-        test("18-1000000", "" + f_strU2 + s_iM);
-        test("181000000", "" + f_strU2 + sf_I);
-        test("18null", "" + f_strU2 + f_oNtS);
-        test("18false", "" + f_strU2 + f_bl);
-        test("18null", "" + f_strU2 + sf_iAN);
-        test("18-2000000", "" + f_strU2 + sf_iM);
-        test("18-820130816", "" + f_strU2 + f_lM);
-        test("18null", "" + f_strU2 + sf_oAN);
-        test("1825000000", "" + f_strU2 + s_I);
+        test("prefix-87.0suffix1\u045180suffix2", "prefix" + f_fM + "suffix1" + s_strU + "suffix2");
+        test("-87.0C", "" + f_fM + sf_c);
+        test("-87.0Csuffix", "" + f_fM + sf_c + "suffix");
+        test("prefix-87.0suffix1Csuffix2", "prefix" + f_fM + "suffix1" + sf_c + "suffix2");
+        test("-87.075", "" + f_fM + sf_str);
+        test("-87.075suffix", "" + f_fM + sf_str + "suffix");
+        test("prefix-87.0suffix175suffix2", "prefix" + f_fM + "suffix1" + sf_str + "suffix2");
+        test("-87.0-43", "" + f_fM + s_bM);
+        test("-87.0-43suffix", "" + f_fM + s_bM + "suffix");
+        test("prefix-87.0suffix1-43suffix2", "prefix" + f_fM + "suffix1" + s_bM + "suffix2");
+        test("-87.080", "" + f_fM + sf_b);
+        test("-87.080suffix", "" + f_fM + sf_b + "suffix");
+        test("prefix-87.0suffix180suffix2", "prefix" + f_fM + "suffix1" + sf_b + "suffix2");
+        test("-87.0null", "" + f_fM + s_IN);
+        test("-87.0nullsuffix", "" + f_fM + s_IN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + s_IN + "suffix2");
+        test("-87.0-52.0", "" + f_fM + s_fM);
+        test("-87.0-52.0suffix", "" + f_fM + s_fM + "suffix");
+        test("prefix-87.0suffix1-52.0suffix2", "prefix" + f_fM + "suffix1" + s_fM + "suffix2");
+        test("-87.075000000", "" + f_fM + sf_i);
+        test("-87.075000000suffix", "" + f_fM + sf_i + "suffix");
+        test("prefix-87.0suffix175000000suffix2", "prefix" + f_fM + "suffix1" + sf_i + "suffix2");
+        test("-87.044", "" + f_fM + f_b);
+        test("-87.044suffix", "" + f_fM + f_b + "suffix");
+        test("prefix-87.0suffix144suffix2", "prefix" + f_fM + "suffix1" + f_b + "suffix2");
+        test("-87.0-1705032704", "" + f_fM + sf_lM);
+        test("-87.0-1705032704suffix", "" + f_fM + sf_lM + "suffix");
+        test("prefix-87.0suffix1-1705032704suffix2", "prefix" + f_fM + "suffix1" + sf_lM + "suffix2");
+        test("-87.0null", "" + f_fM + f_oAN);
+        test("-87.0nullsuffix", "" + f_fM + f_oAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + f_oAN + "suffix2");
+        test("-87.083.0", "" + f_fM + f_d);
+        test("-87.083.0suffix", "" + f_fM + f_d + "suffix");
+        test("prefix-87.0suffix183.0suffix2", "prefix" + f_fM + "suffix1" + f_d + "suffix2");
+        test("-87.0I", "" + f_fM + f_c);
+        test("-87.0Isuffix", "" + f_fM + f_c + "suffix");
+        test("prefix-87.0suffix1Isuffix2", "prefix" + f_fM + "suffix1" + f_c + "suffix2");
+        test("-87.094.0", "" + f_fM + f_f);
+        test("-87.094.0suffix", "" + f_fM + f_f + "suffix");
+        test("prefix-87.0suffix194.0suffix2", "prefix" + f_fM + "suffix1" + f_f + "suffix2");
+        test("-87.012.0", "" + f_fM + sf_d);
+        test("-87.012.0suffix", "" + f_fM + sf_d + "suffix");
+        test("prefix-87.0suffix112.0suffix2", "prefix" + f_fM + "suffix1" + sf_d + "suffix2");
+        test("-87.0-99.0", "" + f_fM + f_dM);
+        test("-87.0-99.0suffix", "" + f_fM + f_dM + "suffix");
+        test("prefix-87.0suffix1-99.0suffix2", "prefix" + f_fM + "suffix1" + f_dM + "suffix2");
+        test("-87.017.0", "" + f_fM + sf_f);
+        test("-87.017.0suffix", "" + f_fM + sf_f + "suffix");
+        test("prefix-87.0suffix117.0suffix2", "prefix" + f_fM + "suffix1" + sf_f + "suffix2");
+        test("-87.0-84.0", "" + f_fM + sf_dM);
+        test("-87.0-84.0suffix", "" + f_fM + sf_dM + "suffix");
+        test("prefix-87.0suffix1-84.0suffix2", "prefix" + f_fM + "suffix1" + sf_dM + "suffix2");
+        test("-87.058000000", "" + f_fM + f_i);
+        test("-87.058000000suffix", "" + f_fM + f_i + "suffix");
+        test("prefix-87.0suffix158000000suffix2", "prefix" + f_fM + "suffix1" + f_i + "suffix2");
+        test("-87.0-55000000", "" + f_fM + f_iM);
+        test("-87.0-55000000suffix", "" + f_fM + f_iM + "suffix");
+        test("prefix-87.0suffix1-55000000suffix2", "prefix" + f_fM + "suffix1" + f_iM + "suffix2");
+        test("-87.01460392448", "" + f_fM + f_l);
+        test("-87.01460392448suffix", "" + f_fM + f_l + "suffix");
+        test("prefix-87.0suffix11460392448suffix2", "prefix" + f_fM + "suffix1" + f_l + "suffix2");
+        test("-87.0C(70)", "" + f_fM + f_o);
+        test("-87.0C(70)suffix", "" + f_fM + f_o + "suffix");
+        test("prefix-87.0suffix1C(70)suffix2", "prefix" + f_fM + "suffix1" + f_o + "suffix2");
+        test("-87.0\u04511", "" + f_fM + sf_strU);
+        test("-87.0\u04511suffix", "" + f_fM + sf_strU + "suffix");
+        test("prefix-87.0suffix1\u04511suffix2", "prefix" + f_fM + "suffix1" + sf_strU + "suffix2");
+        test("-87.08000", "" + f_fM + f_s);
+        test("-87.08000suffix", "" + f_fM + f_s + "suffix");
+        test("prefix-87.0suffix18000suffix2", "prefix" + f_fM + "suffix1" + f_s + "suffix2");
+        test("-87.018", "" + f_fM + s_str);
+        test("-87.018suffix", "" + f_fM + s_str + "suffix");
+        test("prefix-87.0suffix118suffix2", "prefix" + f_fM + "suffix1" + s_str + "suffix2");
+        test("-87.0-1000000", "" + f_fM + s_iM);
+        test("-87.0-1000000suffix", "" + f_fM + s_iM + "suffix");
+        test("prefix-87.0suffix1-1000000suffix2", "prefix" + f_fM + "suffix1" + s_iM + "suffix2");
+        test("-87.01000000", "" + f_fM + sf_I);
+        test("-87.01000000suffix", "" + f_fM + sf_I + "suffix");
+        test("prefix-87.0suffix11000000suffix2", "prefix" + f_fM + "suffix1" + sf_I + "suffix2");
+        test("-87.0null", "" + f_fM + f_oNtS);
+        test("-87.0nullsuffix", "" + f_fM + f_oNtS + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + f_oNtS + "suffix2");
+        test("-87.0false", "" + f_fM + f_bl);
+        test("-87.0falsesuffix", "" + f_fM + f_bl + "suffix");
+        test("prefix-87.0suffix1falsesuffix2", "prefix" + f_fM + "suffix1" + f_bl + "suffix2");
+        test("-87.0null", "" + f_fM + sf_iAN);
+        test("-87.0nullsuffix", "" + f_fM + sf_iAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + sf_iAN + "suffix2");
+        test("-87.0-2000000", "" + f_fM + sf_iM);
+        test("-87.0-2000000suffix", "" + f_fM + sf_iM + "suffix");
+        test("prefix-87.0suffix1-2000000suffix2", "prefix" + f_fM + "suffix1" + sf_iM + "suffix2");
+        test("-87.0-820130816", "" + f_fM + f_lM);
+        test("-87.0-820130816suffix", "" + f_fM + f_lM + "suffix");
+        test("prefix-87.0suffix1-820130816suffix2", "prefix" + f_fM + "suffix1" + f_lM + "suffix2");
+        test("-87.0null", "" + f_fM + sf_oAN);
+        test("-87.0nullsuffix", "" + f_fM + sf_oAN + "suffix");
+        test("prefix-87.0suffix1nullsuffix2", "prefix" + f_fM + "suffix1" + sf_oAN + "suffix2");
+        test("-87.025000000", "" + f_fM + s_I);
+        test("-87.025000000suffix", "" + f_fM + s_I + "suffix");
+        test("prefix-87.0suffix125000000suffix2", "prefix" + f_fM + "suffix1" + s_I + "suffix2");
+        test("null-96.0", "" + s_oAN + s_dM);
+        test("null-96.0suffix", "" + s_oAN + s_dM + "suffix");
+        test("prefixnullsuffix1-96.0suffix2", "prefix" + s_oAN + "suffix1" + s_dM + "suffix2");
+        test("nullnull", "" + s_oAN + s_oNtS);
+        test("nullnullsuffix", "" + s_oAN + s_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + s_oNtS + "suffix2");
+        test("null\u045176", "" + s_oAN + f_strU);
+        test("null\u045176suffix", "" + s_oAN + f_strU + "suffix");
+        test("prefixnullsuffix1\u045176suffix2", "prefix" + s_oAN + "suffix1" + f_strU + "suffix2");
+        test("null92", "" + s_oAN + sf_strU2);
+        test("null92suffix", "" + s_oAN + sf_strU2 + "suffix");
+        test("prefixnullsuffix192suffix2", "prefix" + s_oAN + "suffix1" + sf_strU2 + "suffix2");
+        test("null51", "" + s_oAN + sf_strU1);
+        test("null51suffix", "" + s_oAN + sf_strU1 + "suffix");
+        test("prefixnullsuffix151suffix2", "prefix" + s_oAN + "suffix1" + sf_strU1 + "suffix2");
+        test("nullnull", "" + s_oAN + s_iAN);
+        test("nullnullsuffix", "" + s_oAN + s_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + s_iAN + "suffix2");
+        test("null-54", "" + s_oAN + f_bM);
+        test("null-54suffix", "" + s_oAN + f_bM + "suffix");
+        test("prefixnullsuffix1-54suffix2", "prefix" + s_oAN + "suffix1" + f_bM + "suffix2");
+        test("null-87.0", "" + s_oAN + f_fM);
+        test("null-87.0suffix", "" + s_oAN + f_fM + "suffix");
+        test("prefixnullsuffix1-87.0suffix2", "prefix" + s_oAN + "suffix1" + f_fM + "suffix2");
+        test("nullnull", "" + s_oAN + s_oAN);
+        test("nullnullsuffix", "" + s_oAN + s_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + s_oAN + "suffix2");
+        test("null19", "" + s_oAN + f_str);
+        test("null19suffix", "" + s_oAN + f_str + "suffix");
+        test("prefixnullsuffix119suffix2", "prefix" + s_oAN + "suffix1" + f_str + "suffix2");
+        test("null-41", "" + s_oAN + sf_bM);
+        test("null-41suffix", "" + s_oAN + sf_bM + "suffix");
+        test("prefixnullsuffix1-41suffix2", "prefix" + s_oAN + "suffix1" + sf_bM + "suffix2");
+        test("nullnull", "" + s_oAN + sf_IN);
+        test("nullnullsuffix", "" + s_oAN + sf_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + sf_IN + "suffix2");
+        test("nullT", "" + s_oAN + s_c);
+        test("nullTsuffix", "" + s_oAN + s_c + "suffix");
+        test("prefixnullsuffix1Tsuffix2", "prefix" + s_oAN + "suffix1" + s_c + "suffix2");
+        test("null-42.0", "" + s_oAN + sf_fM);
+        test("null-42.0suffix", "" + s_oAN + sf_fM + "suffix");
+        test("prefixnullsuffix1-42.0suffix2", "prefix" + s_oAN + "suffix1" + sf_fM + "suffix2");
+        test("null25", "" + s_oAN + s_b);
+        test("null25suffix", "" + s_oAN + s_b + "suffix");
+        test("prefixnullsuffix125suffix2", "prefix" + s_oAN + "suffix1" + s_b + "suffix2");
+        test("nullnull", "" + s_oAN + f_oN);
+        test("nullnullsuffix", "" + s_oAN + f_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + f_oN + "suffix2");
+        test("null-1410065408", "" + s_oAN + s_lM);
+        test("null-1410065408suffix", "" + s_oAN + s_lM + "suffix");
+        test("prefixnullsuffix1-1410065408suffix2", "prefix" + s_oAN + "suffix1" + s_lM + "suffix2");
+        test("null8.0", "" + s_oAN + s_d);
+        test("null8.0suffix", "" + s_oAN + s_d + "suffix");
+        test("prefixnullsuffix18.0suffix2", "prefix" + s_oAN + "suffix1" + s_d + "suffix2");
+        test("null55.0", "" + s_oAN + s_f);
+        test("null55.0suffix", "" + s_oAN + s_f + "suffix");
+        test("prefixnullsuffix155.0suffix2", "prefix" + s_oAN + "suffix1" + s_f + "suffix2");
+        test("null97000000", "" + s_oAN + s_i);
+        test("null97000000suffix", "" + s_oAN + s_i + "suffix");
+        test("prefixnullsuffix197000000suffix2", "prefix" + s_oAN + "suffix1" + s_i + "suffix2");
+        test("null-9900", "" + s_oAN + f_sM);
+        test("null-9900suffix", "" + s_oAN + f_sM + "suffix");
+        test("prefixnullsuffix1-9900suffix2", "prefix" + s_oAN + "suffix1" + f_sM + "suffix2");
+        test("null935228928", "" + s_oAN + s_l);
+        test("null935228928suffix", "" + s_oAN + s_l + "suffix");
+        test("prefixnullsuffix1935228928suffix2", "prefix" + s_oAN + "suffix1" + s_l + "suffix2");
+        test("null-8400", "" + s_oAN + sf_sM);
+        test("null-8400suffix", "" + s_oAN + sf_sM + "suffix");
+        test("prefixnullsuffix1-8400suffix2", "prefix" + s_oAN + "suffix1" + sf_sM + "suffix2");
+        test("nullC(82)", "" + s_oAN + s_o);
+        test("nullC(82)suffix", "" + s_oAN + s_o + "suffix");
+        test("prefixnullsuffix1C(82)suffix2", "prefix" + s_oAN + "suffix1" + s_o + "suffix2");
+        test("nullnull", "" + s_oAN + sf_oNtS);
+        test("nullnullsuffix", "" + s_oAN + sf_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + sf_oNtS + "suffix2");
+        test("nulltrue", "" + s_oAN + s_bl);
+        test("nulltruesuffix", "" + s_oAN + s_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_oAN + "suffix1" + s_bl + "suffix2");
+        test("null3900", "" + s_oAN + s_s);
+        test("null3900suffix", "" + s_oAN + s_s + "suffix");
+        test("prefixnullsuffix13900suffix2", "prefix" + s_oAN + "suffix1" + s_s + "suffix2");
+        test("nullnull", "" + s_oAN + sf_oN);
+        test("nullnullsuffix", "" + s_oAN + sf_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + sf_oN + "suffix2");
+        test("null94000000", "" + s_oAN + f_I);
+        test("null94000000suffix", "" + s_oAN + f_I + "suffix");
+        test("prefixnullsuffix194000000suffix2", "prefix" + s_oAN + "suffix1" + f_I + "suffix2");
+        test("nullnull", "" + s_oAN + f_IN);
+        test("nullnullsuffix", "" + s_oAN + f_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + f_IN + "suffix2");
+        test("nulltrue", "" + s_oAN + sf_bl);
+        test("nulltruesuffix", "" + s_oAN + sf_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + s_oAN + "suffix1" + sf_bl + "suffix2");
+        test("null5500", "" + s_oAN + sf_s);
+        test("null5500suffix", "" + s_oAN + sf_s + "suffix");
+        test("prefixnullsuffix15500suffix2", "prefix" + s_oAN + "suffix1" + sf_s + "suffix2");
+        test("null-2900", "" + s_oAN + s_sM);
+        test("null-2900suffix", "" + s_oAN + s_sM + "suffix");
+        test("prefixnullsuffix1-2900suffix2", "prefix" + s_oAN + "suffix1" + s_sM + "suffix2");
+        test("null-194313216", "" + s_oAN + sf_l);
+        test("null-194313216suffix", "" + s_oAN + sf_l + "suffix");
+        test("prefixnullsuffix1-194313216suffix2", "prefix" + s_oAN + "suffix1" + sf_l + "suffix2");
+        test("null12", "" + s_oAN + s_strU1);
+        test("null12suffix", "" + s_oAN + s_strU1 + "suffix");
+        test("prefixnullsuffix112suffix2", "prefix" + s_oAN + "suffix1" + s_strU1 + "suffix2");
+        test("nullC(87)", "" + s_oAN + sf_o);
+        test("nullC(87)suffix", "" + s_oAN + sf_o + "suffix");
+        test("prefixnullsuffix1C(87)suffix2", "prefix" + s_oAN + "suffix1" + sf_o + "suffix2");
+        test("null91", "" + s_oAN + s_strU2);
+        test("null91suffix", "" + s_oAN + s_strU2 + "suffix");
+        test("prefixnullsuffix191suffix2", "prefix" + s_oAN + "suffix1" + s_strU2 + "suffix2");
+        test("null21", "" + s_oAN + f_strU1);
+        test("null21suffix", "" + s_oAN + f_strU1 + "suffix");
+        test("prefixnullsuffix121suffix2", "prefix" + s_oAN + "suffix1" + f_strU1 + "suffix2");
+        test("null18", "" + s_oAN + f_strU2);
+        test("null18suffix", "" + s_oAN + f_strU2 + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_oAN + "suffix1" + f_strU2 + "suffix2");
+        test("nullnull", "" + s_oAN + f_iAN);
+        test("nullnullsuffix", "" + s_oAN + f_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + f_iAN + "suffix2");
+        test("nullnull", "" + s_oAN + s_oN);
+        test("nullnullsuffix", "" + s_oAN + s_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + s_oN + "suffix2");
+        test("null\u045180", "" + s_oAN + s_strU);
+        test("null\u045180suffix", "" + s_oAN + s_strU + "suffix");
+        test("prefixnullsuffix1\u045180suffix2", "prefix" + s_oAN + "suffix1" + s_strU + "suffix2");
+        test("nullC", "" + s_oAN + sf_c);
+        test("nullCsuffix", "" + s_oAN + sf_c + "suffix");
+        test("prefixnullsuffix1Csuffix2", "prefix" + s_oAN + "suffix1" + sf_c + "suffix2");
+        test("null75", "" + s_oAN + sf_str);
+        test("null75suffix", "" + s_oAN + sf_str + "suffix");
+        test("prefixnullsuffix175suffix2", "prefix" + s_oAN + "suffix1" + sf_str + "suffix2");
+        test("null-43", "" + s_oAN + s_bM);
+        test("null-43suffix", "" + s_oAN + s_bM + "suffix");
+        test("prefixnullsuffix1-43suffix2", "prefix" + s_oAN + "suffix1" + s_bM + "suffix2");
+        test("null80", "" + s_oAN + sf_b);
+        test("null80suffix", "" + s_oAN + sf_b + "suffix");
+        test("prefixnullsuffix180suffix2", "prefix" + s_oAN + "suffix1" + sf_b + "suffix2");
+        test("nullnull", "" + s_oAN + s_IN);
+        test("nullnullsuffix", "" + s_oAN + s_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + s_IN + "suffix2");
+        test("null-52.0", "" + s_oAN + s_fM);
+        test("null-52.0suffix", "" + s_oAN + s_fM + "suffix");
+        test("prefixnullsuffix1-52.0suffix2", "prefix" + s_oAN + "suffix1" + s_fM + "suffix2");
+        test("null75000000", "" + s_oAN + sf_i);
+        test("null75000000suffix", "" + s_oAN + sf_i + "suffix");
+        test("prefixnullsuffix175000000suffix2", "prefix" + s_oAN + "suffix1" + sf_i + "suffix2");
+        test("null44", "" + s_oAN + f_b);
+        test("null44suffix", "" + s_oAN + f_b + "suffix");
+        test("prefixnullsuffix144suffix2", "prefix" + s_oAN + "suffix1" + f_b + "suffix2");
+        test("null-1705032704", "" + s_oAN + sf_lM);
+        test("null-1705032704suffix", "" + s_oAN + sf_lM + "suffix");
+        test("prefixnullsuffix1-1705032704suffix2", "prefix" + s_oAN + "suffix1" + sf_lM + "suffix2");
+        test("nullnull", "" + s_oAN + f_oAN);
+        test("nullnullsuffix", "" + s_oAN + f_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + f_oAN + "suffix2");
+        test("null83.0", "" + s_oAN + f_d);
+        test("null83.0suffix", "" + s_oAN + f_d + "suffix");
+        test("prefixnullsuffix183.0suffix2", "prefix" + s_oAN + "suffix1" + f_d + "suffix2");
+        test("nullI", "" + s_oAN + f_c);
+        test("nullIsuffix", "" + s_oAN + f_c + "suffix");
+        test("prefixnullsuffix1Isuffix2", "prefix" + s_oAN + "suffix1" + f_c + "suffix2");
+        test("null94.0", "" + s_oAN + f_f);
+        test("null94.0suffix", "" + s_oAN + f_f + "suffix");
+        test("prefixnullsuffix194.0suffix2", "prefix" + s_oAN + "suffix1" + f_f + "suffix2");
+        test("null12.0", "" + s_oAN + sf_d);
+        test("null12.0suffix", "" + s_oAN + sf_d + "suffix");
+        test("prefixnullsuffix112.0suffix2", "prefix" + s_oAN + "suffix1" + sf_d + "suffix2");
+        test("null-99.0", "" + s_oAN + f_dM);
+        test("null-99.0suffix", "" + s_oAN + f_dM + "suffix");
+        test("prefixnullsuffix1-99.0suffix2", "prefix" + s_oAN + "suffix1" + f_dM + "suffix2");
+        test("null17.0", "" + s_oAN + sf_f);
+        test("null17.0suffix", "" + s_oAN + sf_f + "suffix");
+        test("prefixnullsuffix117.0suffix2", "prefix" + s_oAN + "suffix1" + sf_f + "suffix2");
+        test("null-84.0", "" + s_oAN + sf_dM);
+        test("null-84.0suffix", "" + s_oAN + sf_dM + "suffix");
+        test("prefixnullsuffix1-84.0suffix2", "prefix" + s_oAN + "suffix1" + sf_dM + "suffix2");
+        test("null58000000", "" + s_oAN + f_i);
+        test("null58000000suffix", "" + s_oAN + f_i + "suffix");
+        test("prefixnullsuffix158000000suffix2", "prefix" + s_oAN + "suffix1" + f_i + "suffix2");
+        test("null-55000000", "" + s_oAN + f_iM);
+        test("null-55000000suffix", "" + s_oAN + f_iM + "suffix");
+        test("prefixnullsuffix1-55000000suffix2", "prefix" + s_oAN + "suffix1" + f_iM + "suffix2");
+        test("null1460392448", "" + s_oAN + f_l);
+        test("null1460392448suffix", "" + s_oAN + f_l + "suffix");
+        test("prefixnullsuffix11460392448suffix2", "prefix" + s_oAN + "suffix1" + f_l + "suffix2");
+        test("nullC(70)", "" + s_oAN + f_o);
+        test("nullC(70)suffix", "" + s_oAN + f_o + "suffix");
+        test("prefixnullsuffix1C(70)suffix2", "prefix" + s_oAN + "suffix1" + f_o + "suffix2");
+        test("null\u04511", "" + s_oAN + sf_strU);
+        test("null\u04511suffix", "" + s_oAN + sf_strU + "suffix");
+        test("prefixnullsuffix1\u04511suffix2", "prefix" + s_oAN + "suffix1" + sf_strU + "suffix2");
+        test("null8000", "" + s_oAN + f_s);
+        test("null8000suffix", "" + s_oAN + f_s + "suffix");
+        test("prefixnullsuffix18000suffix2", "prefix" + s_oAN + "suffix1" + f_s + "suffix2");
+        test("null18", "" + s_oAN + s_str);
+        test("null18suffix", "" + s_oAN + s_str + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + s_oAN + "suffix1" + s_str + "suffix2");
+        test("null-1000000", "" + s_oAN + s_iM);
+        test("null-1000000suffix", "" + s_oAN + s_iM + "suffix");
+        test("prefixnullsuffix1-1000000suffix2", "prefix" + s_oAN + "suffix1" + s_iM + "suffix2");
+        test("null1000000", "" + s_oAN + sf_I);
+        test("null1000000suffix", "" + s_oAN + sf_I + "suffix");
+        test("prefixnullsuffix11000000suffix2", "prefix" + s_oAN + "suffix1" + sf_I + "suffix2");
+        test("nullnull", "" + s_oAN + f_oNtS);
+        test("nullnullsuffix", "" + s_oAN + f_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + f_oNtS + "suffix2");
+        test("nullfalse", "" + s_oAN + f_bl);
+        test("nullfalsesuffix", "" + s_oAN + f_bl + "suffix");
+        test("prefixnullsuffix1falsesuffix2", "prefix" + s_oAN + "suffix1" + f_bl + "suffix2");
+        test("nullnull", "" + s_oAN + sf_iAN);
+        test("nullnullsuffix", "" + s_oAN + sf_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + sf_iAN + "suffix2");
+        test("null-2000000", "" + s_oAN + sf_iM);
+        test("null-2000000suffix", "" + s_oAN + sf_iM + "suffix");
+        test("prefixnullsuffix1-2000000suffix2", "prefix" + s_oAN + "suffix1" + sf_iM + "suffix2");
+        test("null-820130816", "" + s_oAN + f_lM);
+        test("null-820130816suffix", "" + s_oAN + f_lM + "suffix");
+        test("prefixnullsuffix1-820130816suffix2", "prefix" + s_oAN + "suffix1" + f_lM + "suffix2");
+        test("nullnull", "" + s_oAN + sf_oAN);
+        test("nullnullsuffix", "" + s_oAN + sf_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + s_oAN + "suffix1" + sf_oAN + "suffix2");
+        test("null25000000", "" + s_oAN + s_I);
+        test("null25000000suffix", "" + s_oAN + s_I + "suffix");
+        test("prefixnullsuffix125000000suffix2", "prefix" + s_oAN + "suffix1" + s_I + "suffix2");
+        test("19-96.0", "" + f_str + s_dM);
+        test("19-96.0suffix", "" + f_str + s_dM + "suffix");
+        test("prefix19suffix1-96.0suffix2", "prefix" + f_str + "suffix1" + s_dM + "suffix2");
+        test("19null", "" + f_str + s_oNtS);
+        test("19nullsuffix", "" + f_str + s_oNtS + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + s_oNtS + "suffix2");
+        test("19\u045176", "" + f_str + f_strU);
+        test("19\u045176suffix", "" + f_str + f_strU + "suffix");
+        test("prefix19suffix1\u045176suffix2", "prefix" + f_str + "suffix1" + f_strU + "suffix2");
+        test("1992", "" + f_str + sf_strU2);
+        test("1992suffix", "" + f_str + sf_strU2 + "suffix");
+        test("prefix19suffix192suffix2", "prefix" + f_str + "suffix1" + sf_strU2 + "suffix2");
+        test("1951", "" + f_str + sf_strU1);
+        test("1951suffix", "" + f_str + sf_strU1 + "suffix");
+        test("prefix19suffix151suffix2", "prefix" + f_str + "suffix1" + sf_strU1 + "suffix2");
+        test("19null", "" + f_str + s_iAN);
+        test("19nullsuffix", "" + f_str + s_iAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + s_iAN + "suffix2");
+        test("19-54", "" + f_str + f_bM);
+        test("19-54suffix", "" + f_str + f_bM + "suffix");
+        test("prefix19suffix1-54suffix2", "prefix" + f_str + "suffix1" + f_bM + "suffix2");
+        test("19-87.0", "" + f_str + f_fM);
+        test("19-87.0suffix", "" + f_str + f_fM + "suffix");
+        test("prefix19suffix1-87.0suffix2", "prefix" + f_str + "suffix1" + f_fM + "suffix2");
+        test("19null", "" + f_str + s_oAN);
+        test("19nullsuffix", "" + f_str + s_oAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + s_oAN + "suffix2");
+        test("1919", "" + f_str + f_str);
+        test("1919suffix", "" + f_str + f_str + "suffix");
+        test("prefix19suffix119suffix2", "prefix" + f_str + "suffix1" + f_str + "suffix2");
+        test("19-41", "" + f_str + sf_bM);
+        test("19-41suffix", "" + f_str + sf_bM + "suffix");
+        test("prefix19suffix1-41suffix2", "prefix" + f_str + "suffix1" + sf_bM + "suffix2");
+        test("19null", "" + f_str + sf_IN);
+        test("19nullsuffix", "" + f_str + sf_IN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + sf_IN + "suffix2");
+        test("19T", "" + f_str + s_c);
+        test("19Tsuffix", "" + f_str + s_c + "suffix");
+        test("prefix19suffix1Tsuffix2", "prefix" + f_str + "suffix1" + s_c + "suffix2");
+        test("19-42.0", "" + f_str + sf_fM);
+        test("19-42.0suffix", "" + f_str + sf_fM + "suffix");
+        test("prefix19suffix1-42.0suffix2", "prefix" + f_str + "suffix1" + sf_fM + "suffix2");
+        test("1925", "" + f_str + s_b);
+        test("1925suffix", "" + f_str + s_b + "suffix");
+        test("prefix19suffix125suffix2", "prefix" + f_str + "suffix1" + s_b + "suffix2");
+        test("19null", "" + f_str + f_oN);
+        test("19nullsuffix", "" + f_str + f_oN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + f_oN + "suffix2");
+        test("19-1410065408", "" + f_str + s_lM);
+        test("19-1410065408suffix", "" + f_str + s_lM + "suffix");
+        test("prefix19suffix1-1410065408suffix2", "prefix" + f_str + "suffix1" + s_lM + "suffix2");
+        test("198.0", "" + f_str + s_d);
+        test("198.0suffix", "" + f_str + s_d + "suffix");
+        test("prefix19suffix18.0suffix2", "prefix" + f_str + "suffix1" + s_d + "suffix2");
+        test("1955.0", "" + f_str + s_f);
+        test("1955.0suffix", "" + f_str + s_f + "suffix");
+        test("prefix19suffix155.0suffix2", "prefix" + f_str + "suffix1" + s_f + "suffix2");
+        test("1997000000", "" + f_str + s_i);
+        test("1997000000suffix", "" + f_str + s_i + "suffix");
+        test("prefix19suffix197000000suffix2", "prefix" + f_str + "suffix1" + s_i + "suffix2");
+        test("19-9900", "" + f_str + f_sM);
+        test("19-9900suffix", "" + f_str + f_sM + "suffix");
+        test("prefix19suffix1-9900suffix2", "prefix" + f_str + "suffix1" + f_sM + "suffix2");
+        test("19935228928", "" + f_str + s_l);
+        test("19935228928suffix", "" + f_str + s_l + "suffix");
+        test("prefix19suffix1935228928suffix2", "prefix" + f_str + "suffix1" + s_l + "suffix2");
+        test("19-8400", "" + f_str + sf_sM);
+        test("19-8400suffix", "" + f_str + sf_sM + "suffix");
+        test("prefix19suffix1-8400suffix2", "prefix" + f_str + "suffix1" + sf_sM + "suffix2");
+        test("19C(82)", "" + f_str + s_o);
+        test("19C(82)suffix", "" + f_str + s_o + "suffix");
+        test("prefix19suffix1C(82)suffix2", "prefix" + f_str + "suffix1" + s_o + "suffix2");
+        test("19null", "" + f_str + sf_oNtS);
+        test("19nullsuffix", "" + f_str + sf_oNtS + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + sf_oNtS + "suffix2");
+        test("19true", "" + f_str + s_bl);
+        test("19truesuffix", "" + f_str + s_bl + "suffix");
+        test("prefix19suffix1truesuffix2", "prefix" + f_str + "suffix1" + s_bl + "suffix2");
+        test("193900", "" + f_str + s_s);
+        test("193900suffix", "" + f_str + s_s + "suffix");
+        test("prefix19suffix13900suffix2", "prefix" + f_str + "suffix1" + s_s + "suffix2");
+        test("19null", "" + f_str + sf_oN);
+        test("19nullsuffix", "" + f_str + sf_oN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + sf_oN + "suffix2");
+        test("1994000000", "" + f_str + f_I);
+        test("1994000000suffix", "" + f_str + f_I + "suffix");
+        test("prefix19suffix194000000suffix2", "prefix" + f_str + "suffix1" + f_I + "suffix2");
+        test("19null", "" + f_str + f_IN);
+        test("19nullsuffix", "" + f_str + f_IN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + f_IN + "suffix2");
+        test("19true", "" + f_str + sf_bl);
+        test("19truesuffix", "" + f_str + sf_bl + "suffix");
+        test("prefix19suffix1truesuffix2", "prefix" + f_str + "suffix1" + sf_bl + "suffix2");
+        test("195500", "" + f_str + sf_s);
+        test("195500suffix", "" + f_str + sf_s + "suffix");
+        test("prefix19suffix15500suffix2", "prefix" + f_str + "suffix1" + sf_s + "suffix2");
+        test("19-2900", "" + f_str + s_sM);
+        test("19-2900suffix", "" + f_str + s_sM + "suffix");
+        test("prefix19suffix1-2900suffix2", "prefix" + f_str + "suffix1" + s_sM + "suffix2");
+        test("19-194313216", "" + f_str + sf_l);
+        test("19-194313216suffix", "" + f_str + sf_l + "suffix");
+        test("prefix19suffix1-194313216suffix2", "prefix" + f_str + "suffix1" + sf_l + "suffix2");
+        test("1912", "" + f_str + s_strU1);
+        test("1912suffix", "" + f_str + s_strU1 + "suffix");
+        test("prefix19suffix112suffix2", "prefix" + f_str + "suffix1" + s_strU1 + "suffix2");
+        test("19C(87)", "" + f_str + sf_o);
+        test("19C(87)suffix", "" + f_str + sf_o + "suffix");
+        test("prefix19suffix1C(87)suffix2", "prefix" + f_str + "suffix1" + sf_o + "suffix2");
+        test("1991", "" + f_str + s_strU2);
+        test("1991suffix", "" + f_str + s_strU2 + "suffix");
+        test("prefix19suffix191suffix2", "prefix" + f_str + "suffix1" + s_strU2 + "suffix2");
+        test("1921", "" + f_str + f_strU1);
+        test("1921suffix", "" + f_str + f_strU1 + "suffix");
+        test("prefix19suffix121suffix2", "prefix" + f_str + "suffix1" + f_strU1 + "suffix2");
+        test("1918", "" + f_str + f_strU2);
+        test("1918suffix", "" + f_str + f_strU2 + "suffix");
+        test("prefix19suffix118suffix2", "prefix" + f_str + "suffix1" + f_strU2 + "suffix2");
+        test("19null", "" + f_str + f_iAN);
+        test("19nullsuffix", "" + f_str + f_iAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + f_iAN + "suffix2");
+        test("19null", "" + f_str + s_oN);
+        test("19nullsuffix", "" + f_str + s_oN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + s_oN + "suffix2");
+        test("19\u045180", "" + f_str + s_strU);
+        test("19\u045180suffix", "" + f_str + s_strU + "suffix");
+        test("prefix19suffix1\u045180suffix2", "prefix" + f_str + "suffix1" + s_strU + "suffix2");
+        test("19C", "" + f_str + sf_c);
+        test("19Csuffix", "" + f_str + sf_c + "suffix");
+        test("prefix19suffix1Csuffix2", "prefix" + f_str + "suffix1" + sf_c + "suffix2");
+        test("1975", "" + f_str + sf_str);
+        test("1975suffix", "" + f_str + sf_str + "suffix");
+        test("prefix19suffix175suffix2", "prefix" + f_str + "suffix1" + sf_str + "suffix2");
+        test("19-43", "" + f_str + s_bM);
+        test("19-43suffix", "" + f_str + s_bM + "suffix");
+        test("prefix19suffix1-43suffix2", "prefix" + f_str + "suffix1" + s_bM + "suffix2");
+        test("1980", "" + f_str + sf_b);
+        test("1980suffix", "" + f_str + sf_b + "suffix");
+        test("prefix19suffix180suffix2", "prefix" + f_str + "suffix1" + sf_b + "suffix2");
+        test("19null", "" + f_str + s_IN);
+        test("19nullsuffix", "" + f_str + s_IN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + s_IN + "suffix2");
+        test("19-52.0", "" + f_str + s_fM);
+        test("19-52.0suffix", "" + f_str + s_fM + "suffix");
+        test("prefix19suffix1-52.0suffix2", "prefix" + f_str + "suffix1" + s_fM + "suffix2");
+        test("1975000000", "" + f_str + sf_i);
+        test("1975000000suffix", "" + f_str + sf_i + "suffix");
+        test("prefix19suffix175000000suffix2", "prefix" + f_str + "suffix1" + sf_i + "suffix2");
+        test("1944", "" + f_str + f_b);
+        test("1944suffix", "" + f_str + f_b + "suffix");
+        test("prefix19suffix144suffix2", "prefix" + f_str + "suffix1" + f_b + "suffix2");
+        test("19-1705032704", "" + f_str + sf_lM);
+        test("19-1705032704suffix", "" + f_str + sf_lM + "suffix");
+        test("prefix19suffix1-1705032704suffix2", "prefix" + f_str + "suffix1" + sf_lM + "suffix2");
+        test("19null", "" + f_str + f_oAN);
+        test("19nullsuffix", "" + f_str + f_oAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + f_oAN + "suffix2");
+        test("1983.0", "" + f_str + f_d);
+        test("1983.0suffix", "" + f_str + f_d + "suffix");
+        test("prefix19suffix183.0suffix2", "prefix" + f_str + "suffix1" + f_d + "suffix2");
+        test("19I", "" + f_str + f_c);
+        test("19Isuffix", "" + f_str + f_c + "suffix");
+        test("prefix19suffix1Isuffix2", "prefix" + f_str + "suffix1" + f_c + "suffix2");
+        test("1994.0", "" + f_str + f_f);
+        test("1994.0suffix", "" + f_str + f_f + "suffix");
+        test("prefix19suffix194.0suffix2", "prefix" + f_str + "suffix1" + f_f + "suffix2");
+        test("1912.0", "" + f_str + sf_d);
+        test("1912.0suffix", "" + f_str + sf_d + "suffix");
+        test("prefix19suffix112.0suffix2", "prefix" + f_str + "suffix1" + sf_d + "suffix2");
+        test("19-99.0", "" + f_str + f_dM);
+        test("19-99.0suffix", "" + f_str + f_dM + "suffix");
+        test("prefix19suffix1-99.0suffix2", "prefix" + f_str + "suffix1" + f_dM + "suffix2");
+        test("1917.0", "" + f_str + sf_f);
+        test("1917.0suffix", "" + f_str + sf_f + "suffix");
+        test("prefix19suffix117.0suffix2", "prefix" + f_str + "suffix1" + sf_f + "suffix2");
+        test("19-84.0", "" + f_str + sf_dM);
+        test("19-84.0suffix", "" + f_str + sf_dM + "suffix");
+        test("prefix19suffix1-84.0suffix2", "prefix" + f_str + "suffix1" + sf_dM + "suffix2");
+        test("1958000000", "" + f_str + f_i);
+        test("1958000000suffix", "" + f_str + f_i + "suffix");
+        test("prefix19suffix158000000suffix2", "prefix" + f_str + "suffix1" + f_i + "suffix2");
+        test("19-55000000", "" + f_str + f_iM);
+        test("19-55000000suffix", "" + f_str + f_iM + "suffix");
+        test("prefix19suffix1-55000000suffix2", "prefix" + f_str + "suffix1" + f_iM + "suffix2");
+        test("191460392448", "" + f_str + f_l);
+        test("191460392448suffix", "" + f_str + f_l + "suffix");
+        test("prefix19suffix11460392448suffix2", "prefix" + f_str + "suffix1" + f_l + "suffix2");
+        test("19C(70)", "" + f_str + f_o);
+        test("19C(70)suffix", "" + f_str + f_o + "suffix");
+        test("prefix19suffix1C(70)suffix2", "prefix" + f_str + "suffix1" + f_o + "suffix2");
+        test("19\u04511", "" + f_str + sf_strU);
+        test("19\u04511suffix", "" + f_str + sf_strU + "suffix");
+        test("prefix19suffix1\u04511suffix2", "prefix" + f_str + "suffix1" + sf_strU + "suffix2");
+        test("198000", "" + f_str + f_s);
+        test("198000suffix", "" + f_str + f_s + "suffix");
+        test("prefix19suffix18000suffix2", "prefix" + f_str + "suffix1" + f_s + "suffix2");
+        test("1918", "" + f_str + s_str);
+        test("1918suffix", "" + f_str + s_str + "suffix");
+        test("prefix19suffix118suffix2", "prefix" + f_str + "suffix1" + s_str + "suffix2");
+        test("19-1000000", "" + f_str + s_iM);
+        test("19-1000000suffix", "" + f_str + s_iM + "suffix");
+        test("prefix19suffix1-1000000suffix2", "prefix" + f_str + "suffix1" + s_iM + "suffix2");
+        test("191000000", "" + f_str + sf_I);
+        test("191000000suffix", "" + f_str + sf_I + "suffix");
+        test("prefix19suffix11000000suffix2", "prefix" + f_str + "suffix1" + sf_I + "suffix2");
+        test("19null", "" + f_str + f_oNtS);
+        test("19nullsuffix", "" + f_str + f_oNtS + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + f_oNtS + "suffix2");
+        test("19false", "" + f_str + f_bl);
+        test("19falsesuffix", "" + f_str + f_bl + "suffix");
+        test("prefix19suffix1falsesuffix2", "prefix" + f_str + "suffix1" + f_bl + "suffix2");
+        test("19null", "" + f_str + sf_iAN);
+        test("19nullsuffix", "" + f_str + sf_iAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + sf_iAN + "suffix2");
+        test("19-2000000", "" + f_str + sf_iM);
+        test("19-2000000suffix", "" + f_str + sf_iM + "suffix");
+        test("prefix19suffix1-2000000suffix2", "prefix" + f_str + "suffix1" + sf_iM + "suffix2");
+        test("19-820130816", "" + f_str + f_lM);
+        test("19-820130816suffix", "" + f_str + f_lM + "suffix");
+        test("prefix19suffix1-820130816suffix2", "prefix" + f_str + "suffix1" + f_lM + "suffix2");
+        test("19null", "" + f_str + sf_oAN);
+        test("19nullsuffix", "" + f_str + sf_oAN + "suffix");
+        test("prefix19suffix1nullsuffix2", "prefix" + f_str + "suffix1" + sf_oAN + "suffix2");
+        test("1925000000", "" + f_str + s_I);
+        test("1925000000suffix", "" + f_str + s_I + "suffix");
+        test("prefix19suffix125000000suffix2", "prefix" + f_str + "suffix1" + s_I + "suffix2");
+        test("-41-96.0", "" + sf_bM + s_dM);
+        test("-41-96.0suffix", "" + sf_bM + s_dM + "suffix");
+        test("prefix-41suffix1-96.0suffix2", "prefix" + sf_bM + "suffix1" + s_dM + "suffix2");
+        test("-41null", "" + sf_bM + s_oNtS);
+        test("-41nullsuffix", "" + sf_bM + s_oNtS + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + s_oNtS + "suffix2");
+        test("-41\u045176", "" + sf_bM + f_strU);
+        test("-41\u045176suffix", "" + sf_bM + f_strU + "suffix");
+        test("prefix-41suffix1\u045176suffix2", "prefix" + sf_bM + "suffix1" + f_strU + "suffix2");
+        test("-4192", "" + sf_bM + sf_strU2);
+        test("-4192suffix", "" + sf_bM + sf_strU2 + "suffix");
+        test("prefix-41suffix192suffix2", "prefix" + sf_bM + "suffix1" + sf_strU2 + "suffix2");
+        test("-4151", "" + sf_bM + sf_strU1);
+        test("-4151suffix", "" + sf_bM + sf_strU1 + "suffix");
+        test("prefix-41suffix151suffix2", "prefix" + sf_bM + "suffix1" + sf_strU1 + "suffix2");
+        test("-41null", "" + sf_bM + s_iAN);
+        test("-41nullsuffix", "" + sf_bM + s_iAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + s_iAN + "suffix2");
+        test("-41-54", "" + sf_bM + f_bM);
+        test("-41-54suffix", "" + sf_bM + f_bM + "suffix");
+        test("prefix-41suffix1-54suffix2", "prefix" + sf_bM + "suffix1" + f_bM + "suffix2");
+        test("-41-87.0", "" + sf_bM + f_fM);
+        test("-41-87.0suffix", "" + sf_bM + f_fM + "suffix");
+        test("prefix-41suffix1-87.0suffix2", "prefix" + sf_bM + "suffix1" + f_fM + "suffix2");
+        test("-41null", "" + sf_bM + s_oAN);
+        test("-41nullsuffix", "" + sf_bM + s_oAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + s_oAN + "suffix2");
+        test("-4119", "" + sf_bM + f_str);
+        test("-4119suffix", "" + sf_bM + f_str + "suffix");
+        test("prefix-41suffix119suffix2", "prefix" + sf_bM + "suffix1" + f_str + "suffix2");
+        test("-41-41", "" + sf_bM + sf_bM);
+        test("-41-41suffix", "" + sf_bM + sf_bM + "suffix");
+        test("prefix-41suffix1-41suffix2", "prefix" + sf_bM + "suffix1" + sf_bM + "suffix2");
+        test("-41null", "" + sf_bM + sf_IN);
+        test("-41nullsuffix", "" + sf_bM + sf_IN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + sf_IN + "suffix2");
+        test("-41T", "" + sf_bM + s_c);
+        test("-41Tsuffix", "" + sf_bM + s_c + "suffix");
+        test("prefix-41suffix1Tsuffix2", "prefix" + sf_bM + "suffix1" + s_c + "suffix2");
+        test("-41-42.0", "" + sf_bM + sf_fM);
+        test("-41-42.0suffix", "" + sf_bM + sf_fM + "suffix");
+        test("prefix-41suffix1-42.0suffix2", "prefix" + sf_bM + "suffix1" + sf_fM + "suffix2");
+        test("-4125", "" + sf_bM + s_b);
+        test("-4125suffix", "" + sf_bM + s_b + "suffix");
+        test("prefix-41suffix125suffix2", "prefix" + sf_bM + "suffix1" + s_b + "suffix2");
+        test("-41null", "" + sf_bM + f_oN);
+        test("-41nullsuffix", "" + sf_bM + f_oN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + f_oN + "suffix2");
+        test("-41-1410065408", "" + sf_bM + s_lM);
+        test("-41-1410065408suffix", "" + sf_bM + s_lM + "suffix");
+        test("prefix-41suffix1-1410065408suffix2", "prefix" + sf_bM + "suffix1" + s_lM + "suffix2");
+        test("-418.0", "" + sf_bM + s_d);
+        test("-418.0suffix", "" + sf_bM + s_d + "suffix");
+        test("prefix-41suffix18.0suffix2", "prefix" + sf_bM + "suffix1" + s_d + "suffix2");
+        test("-4155.0", "" + sf_bM + s_f);
+        test("-4155.0suffix", "" + sf_bM + s_f + "suffix");
+        test("prefix-41suffix155.0suffix2", "prefix" + sf_bM + "suffix1" + s_f + "suffix2");
+        test("-4197000000", "" + sf_bM + s_i);
+        test("-4197000000suffix", "" + sf_bM + s_i + "suffix");
+        test("prefix-41suffix197000000suffix2", "prefix" + sf_bM + "suffix1" + s_i + "suffix2");
+        test("-41-9900", "" + sf_bM + f_sM);
+        test("-41-9900suffix", "" + sf_bM + f_sM + "suffix");
+        test("prefix-41suffix1-9900suffix2", "prefix" + sf_bM + "suffix1" + f_sM + "suffix2");
+        test("-41935228928", "" + sf_bM + s_l);
+        test("-41935228928suffix", "" + sf_bM + s_l + "suffix");
+        test("prefix-41suffix1935228928suffix2", "prefix" + sf_bM + "suffix1" + s_l + "suffix2");
+        test("-41-8400", "" + sf_bM + sf_sM);
+        test("-41-8400suffix", "" + sf_bM + sf_sM + "suffix");
+        test("prefix-41suffix1-8400suffix2", "prefix" + sf_bM + "suffix1" + sf_sM + "suffix2");
+        test("-41C(82)", "" + sf_bM + s_o);
+        test("-41C(82)suffix", "" + sf_bM + s_o + "suffix");
+        test("prefix-41suffix1C(82)suffix2", "prefix" + sf_bM + "suffix1" + s_o + "suffix2");
+        test("-41null", "" + sf_bM + sf_oNtS);
+        test("-41nullsuffix", "" + sf_bM + sf_oNtS + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + sf_oNtS + "suffix2");
+        test("-41true", "" + sf_bM + s_bl);
+        test("-41truesuffix", "" + sf_bM + s_bl + "suffix");
+        test("prefix-41suffix1truesuffix2", "prefix" + sf_bM + "suffix1" + s_bl + "suffix2");
+        test("-413900", "" + sf_bM + s_s);
+        test("-413900suffix", "" + sf_bM + s_s + "suffix");
+        test("prefix-41suffix13900suffix2", "prefix" + sf_bM + "suffix1" + s_s + "suffix2");
+        test("-41null", "" + sf_bM + sf_oN);
+        test("-41nullsuffix", "" + sf_bM + sf_oN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + sf_oN + "suffix2");
+        test("-4194000000", "" + sf_bM + f_I);
+        test("-4194000000suffix", "" + sf_bM + f_I + "suffix");
+        test("prefix-41suffix194000000suffix2", "prefix" + sf_bM + "suffix1" + f_I + "suffix2");
+        test("-41null", "" + sf_bM + f_IN);
+        test("-41nullsuffix", "" + sf_bM + f_IN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + f_IN + "suffix2");
+        test("-41true", "" + sf_bM + sf_bl);
+        test("-41truesuffix", "" + sf_bM + sf_bl + "suffix");
+        test("prefix-41suffix1truesuffix2", "prefix" + sf_bM + "suffix1" + sf_bl + "suffix2");
+        test("-415500", "" + sf_bM + sf_s);
+        test("-415500suffix", "" + sf_bM + sf_s + "suffix");
+        test("prefix-41suffix15500suffix2", "prefix" + sf_bM + "suffix1" + sf_s + "suffix2");
+        test("-41-2900", "" + sf_bM + s_sM);
+        test("-41-2900suffix", "" + sf_bM + s_sM + "suffix");
+        test("prefix-41suffix1-2900suffix2", "prefix" + sf_bM + "suffix1" + s_sM + "suffix2");
+        test("-41-194313216", "" + sf_bM + sf_l);
+        test("-41-194313216suffix", "" + sf_bM + sf_l + "suffix");
+        test("prefix-41suffix1-194313216suffix2", "prefix" + sf_bM + "suffix1" + sf_l + "suffix2");
+        test("-4112", "" + sf_bM + s_strU1);
+        test("-4112suffix", "" + sf_bM + s_strU1 + "suffix");
+        test("prefix-41suffix112suffix2", "prefix" + sf_bM + "suffix1" + s_strU1 + "suffix2");
+        test("-41C(87)", "" + sf_bM + sf_o);
+        test("-41C(87)suffix", "" + sf_bM + sf_o + "suffix");
+        test("prefix-41suffix1C(87)suffix2", "prefix" + sf_bM + "suffix1" + sf_o + "suffix2");
+        test("-4191", "" + sf_bM + s_strU2);
+        test("-4191suffix", "" + sf_bM + s_strU2 + "suffix");
+        test("prefix-41suffix191suffix2", "prefix" + sf_bM + "suffix1" + s_strU2 + "suffix2");
+        test("-4121", "" + sf_bM + f_strU1);
+        test("-4121suffix", "" + sf_bM + f_strU1 + "suffix");
+        test("prefix-41suffix121suffix2", "prefix" + sf_bM + "suffix1" + f_strU1 + "suffix2");
+        test("-4118", "" + sf_bM + f_strU2);
+        test("-4118suffix", "" + sf_bM + f_strU2 + "suffix");
+        test("prefix-41suffix118suffix2", "prefix" + sf_bM + "suffix1" + f_strU2 + "suffix2");
+        test("-41null", "" + sf_bM + f_iAN);
+        test("-41nullsuffix", "" + sf_bM + f_iAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + f_iAN + "suffix2");
+        test("-41null", "" + sf_bM + s_oN);
+        test("-41nullsuffix", "" + sf_bM + s_oN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + s_oN + "suffix2");
+        test("-41\u045180", "" + sf_bM + s_strU);
+        test("-41\u045180suffix", "" + sf_bM + s_strU + "suffix");
+        test("prefix-41suffix1\u045180suffix2", "prefix" + sf_bM + "suffix1" + s_strU + "suffix2");
+        test("-41C", "" + sf_bM + sf_c);
+        test("-41Csuffix", "" + sf_bM + sf_c + "suffix");
+        test("prefix-41suffix1Csuffix2", "prefix" + sf_bM + "suffix1" + sf_c + "suffix2");
+        test("-4175", "" + sf_bM + sf_str);
+        test("-4175suffix", "" + sf_bM + sf_str + "suffix");
+        test("prefix-41suffix175suffix2", "prefix" + sf_bM + "suffix1" + sf_str + "suffix2");
+        test("-41-43", "" + sf_bM + s_bM);
+        test("-41-43suffix", "" + sf_bM + s_bM + "suffix");
+        test("prefix-41suffix1-43suffix2", "prefix" + sf_bM + "suffix1" + s_bM + "suffix2");
+        test("-4180", "" + sf_bM + sf_b);
+        test("-4180suffix", "" + sf_bM + sf_b + "suffix");
+        test("prefix-41suffix180suffix2", "prefix" + sf_bM + "suffix1" + sf_b + "suffix2");
+        test("-41null", "" + sf_bM + s_IN);
+        test("-41nullsuffix", "" + sf_bM + s_IN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + s_IN + "suffix2");
+        test("-41-52.0", "" + sf_bM + s_fM);
+        test("-41-52.0suffix", "" + sf_bM + s_fM + "suffix");
+        test("prefix-41suffix1-52.0suffix2", "prefix" + sf_bM + "suffix1" + s_fM + "suffix2");
+        test("-4175000000", "" + sf_bM + sf_i);
+        test("-4175000000suffix", "" + sf_bM + sf_i + "suffix");
+        test("prefix-41suffix175000000suffix2", "prefix" + sf_bM + "suffix1" + sf_i + "suffix2");
+        test("-4144", "" + sf_bM + f_b);
+        test("-4144suffix", "" + sf_bM + f_b + "suffix");
+        test("prefix-41suffix144suffix2", "prefix" + sf_bM + "suffix1" + f_b + "suffix2");
+        test("-41-1705032704", "" + sf_bM + sf_lM);
+        test("-41-1705032704suffix", "" + sf_bM + sf_lM + "suffix");
+        test("prefix-41suffix1-1705032704suffix2", "prefix" + sf_bM + "suffix1" + sf_lM + "suffix2");
+        test("-41null", "" + sf_bM + f_oAN);
+        test("-41nullsuffix", "" + sf_bM + f_oAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + f_oAN + "suffix2");
+        test("-4183.0", "" + sf_bM + f_d);
+        test("-4183.0suffix", "" + sf_bM + f_d + "suffix");
+        test("prefix-41suffix183.0suffix2", "prefix" + sf_bM + "suffix1" + f_d + "suffix2");
+        test("-41I", "" + sf_bM + f_c);
+        test("-41Isuffix", "" + sf_bM + f_c + "suffix");
+        test("prefix-41suffix1Isuffix2", "prefix" + sf_bM + "suffix1" + f_c + "suffix2");
+        test("-4194.0", "" + sf_bM + f_f);
+        test("-4194.0suffix", "" + sf_bM + f_f + "suffix");
+        test("prefix-41suffix194.0suffix2", "prefix" + sf_bM + "suffix1" + f_f + "suffix2");
+        test("-4112.0", "" + sf_bM + sf_d);
+        test("-4112.0suffix", "" + sf_bM + sf_d + "suffix");
+        test("prefix-41suffix112.0suffix2", "prefix" + sf_bM + "suffix1" + sf_d + "suffix2");
+        test("-41-99.0", "" + sf_bM + f_dM);
+        test("-41-99.0suffix", "" + sf_bM + f_dM + "suffix");
+        test("prefix-41suffix1-99.0suffix2", "prefix" + sf_bM + "suffix1" + f_dM + "suffix2");
+        test("-4117.0", "" + sf_bM + sf_f);
+        test("-4117.0suffix", "" + sf_bM + sf_f + "suffix");
+        test("prefix-41suffix117.0suffix2", "prefix" + sf_bM + "suffix1" + sf_f + "suffix2");
+        test("-41-84.0", "" + sf_bM + sf_dM);
+        test("-41-84.0suffix", "" + sf_bM + sf_dM + "suffix");
+        test("prefix-41suffix1-84.0suffix2", "prefix" + sf_bM + "suffix1" + sf_dM + "suffix2");
+        test("-4158000000", "" + sf_bM + f_i);
+        test("-4158000000suffix", "" + sf_bM + f_i + "suffix");
+        test("prefix-41suffix158000000suffix2", "prefix" + sf_bM + "suffix1" + f_i + "suffix2");
+        test("-41-55000000", "" + sf_bM + f_iM);
+        test("-41-55000000suffix", "" + sf_bM + f_iM + "suffix");
+        test("prefix-41suffix1-55000000suffix2", "prefix" + sf_bM + "suffix1" + f_iM + "suffix2");
+        test("-411460392448", "" + sf_bM + f_l);
+        test("-411460392448suffix", "" + sf_bM + f_l + "suffix");
+        test("prefix-41suffix11460392448suffix2", "prefix" + sf_bM + "suffix1" + f_l + "suffix2");
+        test("-41C(70)", "" + sf_bM + f_o);
+        test("-41C(70)suffix", "" + sf_bM + f_o + "suffix");
+        test("prefix-41suffix1C(70)suffix2", "prefix" + sf_bM + "suffix1" + f_o + "suffix2");
+        test("-41\u04511", "" + sf_bM + sf_strU);
+        test("-41\u04511suffix", "" + sf_bM + sf_strU + "suffix");
+        test("prefix-41suffix1\u04511suffix2", "prefix" + sf_bM + "suffix1" + sf_strU + "suffix2");
+        test("-418000", "" + sf_bM + f_s);
+        test("-418000suffix", "" + sf_bM + f_s + "suffix");
+        test("prefix-41suffix18000suffix2", "prefix" + sf_bM + "suffix1" + f_s + "suffix2");
+        test("-4118", "" + sf_bM + s_str);
+        test("-4118suffix", "" + sf_bM + s_str + "suffix");
+        test("prefix-41suffix118suffix2", "prefix" + sf_bM + "suffix1" + s_str + "suffix2");
+        test("-41-1000000", "" + sf_bM + s_iM);
+        test("-41-1000000suffix", "" + sf_bM + s_iM + "suffix");
+        test("prefix-41suffix1-1000000suffix2", "prefix" + sf_bM + "suffix1" + s_iM + "suffix2");
+        test("-411000000", "" + sf_bM + sf_I);
+        test("-411000000suffix", "" + sf_bM + sf_I + "suffix");
+        test("prefix-41suffix11000000suffix2", "prefix" + sf_bM + "suffix1" + sf_I + "suffix2");
+        test("-41null", "" + sf_bM + f_oNtS);
+        test("-41nullsuffix", "" + sf_bM + f_oNtS + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + f_oNtS + "suffix2");
+        test("-41false", "" + sf_bM + f_bl);
+        test("-41falsesuffix", "" + sf_bM + f_bl + "suffix");
+        test("prefix-41suffix1falsesuffix2", "prefix" + sf_bM + "suffix1" + f_bl + "suffix2");
+        test("-41null", "" + sf_bM + sf_iAN);
+        test("-41nullsuffix", "" + sf_bM + sf_iAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + sf_iAN + "suffix2");
+        test("-41-2000000", "" + sf_bM + sf_iM);
+        test("-41-2000000suffix", "" + sf_bM + sf_iM + "suffix");
+        test("prefix-41suffix1-2000000suffix2", "prefix" + sf_bM + "suffix1" + sf_iM + "suffix2");
+        test("-41-820130816", "" + sf_bM + f_lM);
+        test("-41-820130816suffix", "" + sf_bM + f_lM + "suffix");
+        test("prefix-41suffix1-820130816suffix2", "prefix" + sf_bM + "suffix1" + f_lM + "suffix2");
+        test("-41null", "" + sf_bM + sf_oAN);
+        test("-41nullsuffix", "" + sf_bM + sf_oAN + "suffix");
+        test("prefix-41suffix1nullsuffix2", "prefix" + sf_bM + "suffix1" + sf_oAN + "suffix2");
+        test("-4125000000", "" + sf_bM + s_I);
+        test("-4125000000suffix", "" + sf_bM + s_I + "suffix");
+        test("prefix-41suffix125000000suffix2", "prefix" + sf_bM + "suffix1" + s_I + "suffix2");
+        test("null-96.0", "" + sf_IN + s_dM);
+        test("null-96.0suffix", "" + sf_IN + s_dM + "suffix");
+        test("prefixnullsuffix1-96.0suffix2", "prefix" + sf_IN + "suffix1" + s_dM + "suffix2");
+        test("nullnull", "" + sf_IN + s_oNtS);
+        test("nullnullsuffix", "" + sf_IN + s_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + s_oNtS + "suffix2");
+        test("null\u045176", "" + sf_IN + f_strU);
+        test("null\u045176suffix", "" + sf_IN + f_strU + "suffix");
+        test("prefixnullsuffix1\u045176suffix2", "prefix" + sf_IN + "suffix1" + f_strU + "suffix2");
+        test("null92", "" + sf_IN + sf_strU2);
+        test("null92suffix", "" + sf_IN + sf_strU2 + "suffix");
+        test("prefixnullsuffix192suffix2", "prefix" + sf_IN + "suffix1" + sf_strU2 + "suffix2");
+        test("null51", "" + sf_IN + sf_strU1);
+        test("null51suffix", "" + sf_IN + sf_strU1 + "suffix");
+        test("prefixnullsuffix151suffix2", "prefix" + sf_IN + "suffix1" + sf_strU1 + "suffix2");
+        test("nullnull", "" + sf_IN + s_iAN);
+        test("nullnullsuffix", "" + sf_IN + s_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + s_iAN + "suffix2");
+        test("null-54", "" + sf_IN + f_bM);
+        test("null-54suffix", "" + sf_IN + f_bM + "suffix");
+        test("prefixnullsuffix1-54suffix2", "prefix" + sf_IN + "suffix1" + f_bM + "suffix2");
+        test("null-87.0", "" + sf_IN + f_fM);
+        test("null-87.0suffix", "" + sf_IN + f_fM + "suffix");
+        test("prefixnullsuffix1-87.0suffix2", "prefix" + sf_IN + "suffix1" + f_fM + "suffix2");
+        test("nullnull", "" + sf_IN + s_oAN);
+        test("nullnullsuffix", "" + sf_IN + s_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + s_oAN + "suffix2");
+        test("null19", "" + sf_IN + f_str);
+        test("null19suffix", "" + sf_IN + f_str + "suffix");
+        test("prefixnullsuffix119suffix2", "prefix" + sf_IN + "suffix1" + f_str + "suffix2");
+        test("null-41", "" + sf_IN + sf_bM);
+        test("null-41suffix", "" + sf_IN + sf_bM + "suffix");
+        test("prefixnullsuffix1-41suffix2", "prefix" + sf_IN + "suffix1" + sf_bM + "suffix2");
+        test("nullnull", "" + sf_IN + sf_IN);
+        test("nullnullsuffix", "" + sf_IN + sf_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + sf_IN + "suffix2");
+        test("nullT", "" + sf_IN + s_c);
+        test("nullTsuffix", "" + sf_IN + s_c + "suffix");
+        test("prefixnullsuffix1Tsuffix2", "prefix" + sf_IN + "suffix1" + s_c + "suffix2");
+        test("null-42.0", "" + sf_IN + sf_fM);
+        test("null-42.0suffix", "" + sf_IN + sf_fM + "suffix");
+        test("prefixnullsuffix1-42.0suffix2", "prefix" + sf_IN + "suffix1" + sf_fM + "suffix2");
+        test("null25", "" + sf_IN + s_b);
+        test("null25suffix", "" + sf_IN + s_b + "suffix");
+        test("prefixnullsuffix125suffix2", "prefix" + sf_IN + "suffix1" + s_b + "suffix2");
+        test("nullnull", "" + sf_IN + f_oN);
+        test("nullnullsuffix", "" + sf_IN + f_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + f_oN + "suffix2");
+        test("null-1410065408", "" + sf_IN + s_lM);
+        test("null-1410065408suffix", "" + sf_IN + s_lM + "suffix");
+        test("prefixnullsuffix1-1410065408suffix2", "prefix" + sf_IN + "suffix1" + s_lM + "suffix2");
+        test("null8.0", "" + sf_IN + s_d);
+        test("null8.0suffix", "" + sf_IN + s_d + "suffix");
+        test("prefixnullsuffix18.0suffix2", "prefix" + sf_IN + "suffix1" + s_d + "suffix2");
+        test("null55.0", "" + sf_IN + s_f);
+        test("null55.0suffix", "" + sf_IN + s_f + "suffix");
+        test("prefixnullsuffix155.0suffix2", "prefix" + sf_IN + "suffix1" + s_f + "suffix2");
+        test("null97000000", "" + sf_IN + s_i);
+        test("null97000000suffix", "" + sf_IN + s_i + "suffix");
+        test("prefixnullsuffix197000000suffix2", "prefix" + sf_IN + "suffix1" + s_i + "suffix2");
+        test("null-9900", "" + sf_IN + f_sM);
+        test("null-9900suffix", "" + sf_IN + f_sM + "suffix");
+        test("prefixnullsuffix1-9900suffix2", "prefix" + sf_IN + "suffix1" + f_sM + "suffix2");
+        test("null935228928", "" + sf_IN + s_l);
+        test("null935228928suffix", "" + sf_IN + s_l + "suffix");
+        test("prefixnullsuffix1935228928suffix2", "prefix" + sf_IN + "suffix1" + s_l + "suffix2");
+        test("null-8400", "" + sf_IN + sf_sM);
+        test("null-8400suffix", "" + sf_IN + sf_sM + "suffix");
+        test("prefixnullsuffix1-8400suffix2", "prefix" + sf_IN + "suffix1" + sf_sM + "suffix2");
+        test("nullC(82)", "" + sf_IN + s_o);
+        test("nullC(82)suffix", "" + sf_IN + s_o + "suffix");
+        test("prefixnullsuffix1C(82)suffix2", "prefix" + sf_IN + "suffix1" + s_o + "suffix2");
+        test("nullnull", "" + sf_IN + sf_oNtS);
+        test("nullnullsuffix", "" + sf_IN + sf_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + sf_oNtS + "suffix2");
+        test("nulltrue", "" + sf_IN + s_bl);
+        test("nulltruesuffix", "" + sf_IN + s_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + sf_IN + "suffix1" + s_bl + "suffix2");
+        test("null3900", "" + sf_IN + s_s);
+        test("null3900suffix", "" + sf_IN + s_s + "suffix");
+        test("prefixnullsuffix13900suffix2", "prefix" + sf_IN + "suffix1" + s_s + "suffix2");
+        test("nullnull", "" + sf_IN + sf_oN);
+        test("nullnullsuffix", "" + sf_IN + sf_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + sf_oN + "suffix2");
+        test("null94000000", "" + sf_IN + f_I);
+        test("null94000000suffix", "" + sf_IN + f_I + "suffix");
+        test("prefixnullsuffix194000000suffix2", "prefix" + sf_IN + "suffix1" + f_I + "suffix2");
+        test("nullnull", "" + sf_IN + f_IN);
+        test("nullnullsuffix", "" + sf_IN + f_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + f_IN + "suffix2");
+        test("nulltrue", "" + sf_IN + sf_bl);
+        test("nulltruesuffix", "" + sf_IN + sf_bl + "suffix");
+        test("prefixnullsuffix1truesuffix2", "prefix" + sf_IN + "suffix1" + sf_bl + "suffix2");
+        test("null5500", "" + sf_IN + sf_s);
+        test("null5500suffix", "" + sf_IN + sf_s + "suffix");
+        test("prefixnullsuffix15500suffix2", "prefix" + sf_IN + "suffix1" + sf_s + "suffix2");
+        test("null-2900", "" + sf_IN + s_sM);
+        test("null-2900suffix", "" + sf_IN + s_sM + "suffix");
+        test("prefixnullsuffix1-2900suffix2", "prefix" + sf_IN + "suffix1" + s_sM + "suffix2");
+        test("null-194313216", "" + sf_IN + sf_l);
+        test("null-194313216suffix", "" + sf_IN + sf_l + "suffix");
+        test("prefixnullsuffix1-194313216suffix2", "prefix" + sf_IN + "suffix1" + sf_l + "suffix2");
+        test("null12", "" + sf_IN + s_strU1);
+        test("null12suffix", "" + sf_IN + s_strU1 + "suffix");
+        test("prefixnullsuffix112suffix2", "prefix" + sf_IN + "suffix1" + s_strU1 + "suffix2");
+        test("nullC(87)", "" + sf_IN + sf_o);
+        test("nullC(87)suffix", "" + sf_IN + sf_o + "suffix");
+        test("prefixnullsuffix1C(87)suffix2", "prefix" + sf_IN + "suffix1" + sf_o + "suffix2");
+        test("null91", "" + sf_IN + s_strU2);
+        test("null91suffix", "" + sf_IN + s_strU2 + "suffix");
+        test("prefixnullsuffix191suffix2", "prefix" + sf_IN + "suffix1" + s_strU2 + "suffix2");
+        test("null21", "" + sf_IN + f_strU1);
+        test("null21suffix", "" + sf_IN + f_strU1 + "suffix");
+        test("prefixnullsuffix121suffix2", "prefix" + sf_IN + "suffix1" + f_strU1 + "suffix2");
+        test("null18", "" + sf_IN + f_strU2);
+        test("null18suffix", "" + sf_IN + f_strU2 + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + sf_IN + "suffix1" + f_strU2 + "suffix2");
+        test("nullnull", "" + sf_IN + f_iAN);
+        test("nullnullsuffix", "" + sf_IN + f_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + f_iAN + "suffix2");
+        test("nullnull", "" + sf_IN + s_oN);
+        test("nullnullsuffix", "" + sf_IN + s_oN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + s_oN + "suffix2");
+        test("null\u045180", "" + sf_IN + s_strU);
+        test("null\u045180suffix", "" + sf_IN + s_strU + "suffix");
+        test("prefixnullsuffix1\u045180suffix2", "prefix" + sf_IN + "suffix1" + s_strU + "suffix2");
+        test("nullC", "" + sf_IN + sf_c);
+        test("nullCsuffix", "" + sf_IN + sf_c + "suffix");
+        test("prefixnullsuffix1Csuffix2", "prefix" + sf_IN + "suffix1" + sf_c + "suffix2");
+        test("null75", "" + sf_IN + sf_str);
+        test("null75suffix", "" + sf_IN + sf_str + "suffix");
+        test("prefixnullsuffix175suffix2", "prefix" + sf_IN + "suffix1" + sf_str + "suffix2");
+        test("null-43", "" + sf_IN + s_bM);
+        test("null-43suffix", "" + sf_IN + s_bM + "suffix");
+        test("prefixnullsuffix1-43suffix2", "prefix" + sf_IN + "suffix1" + s_bM + "suffix2");
+        test("null80", "" + sf_IN + sf_b);
+        test("null80suffix", "" + sf_IN + sf_b + "suffix");
+        test("prefixnullsuffix180suffix2", "prefix" + sf_IN + "suffix1" + sf_b + "suffix2");
+        test("nullnull", "" + sf_IN + s_IN);
+        test("nullnullsuffix", "" + sf_IN + s_IN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + s_IN + "suffix2");
+        test("null-52.0", "" + sf_IN + s_fM);
+        test("null-52.0suffix", "" + sf_IN + s_fM + "suffix");
+        test("prefixnullsuffix1-52.0suffix2", "prefix" + sf_IN + "suffix1" + s_fM + "suffix2");
+        test("null75000000", "" + sf_IN + sf_i);
+        test("null75000000suffix", "" + sf_IN + sf_i + "suffix");
+        test("prefixnullsuffix175000000suffix2", "prefix" + sf_IN + "suffix1" + sf_i + "suffix2");
+        test("null44", "" + sf_IN + f_b);
+        test("null44suffix", "" + sf_IN + f_b + "suffix");
+        test("prefixnullsuffix144suffix2", "prefix" + sf_IN + "suffix1" + f_b + "suffix2");
+        test("null-1705032704", "" + sf_IN + sf_lM);
+        test("null-1705032704suffix", "" + sf_IN + sf_lM + "suffix");
+        test("prefixnullsuffix1-1705032704suffix2", "prefix" + sf_IN + "suffix1" + sf_lM + "suffix2");
+        test("nullnull", "" + sf_IN + f_oAN);
+        test("nullnullsuffix", "" + sf_IN + f_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + f_oAN + "suffix2");
+        test("null83.0", "" + sf_IN + f_d);
+        test("null83.0suffix", "" + sf_IN + f_d + "suffix");
+        test("prefixnullsuffix183.0suffix2", "prefix" + sf_IN + "suffix1" + f_d + "suffix2");
+        test("nullI", "" + sf_IN + f_c);
+        test("nullIsuffix", "" + sf_IN + f_c + "suffix");
+        test("prefixnullsuffix1Isuffix2", "prefix" + sf_IN + "suffix1" + f_c + "suffix2");
+        test("null94.0", "" + sf_IN + f_f);
+        test("null94.0suffix", "" + sf_IN + f_f + "suffix");
+        test("prefixnullsuffix194.0suffix2", "prefix" + sf_IN + "suffix1" + f_f + "suffix2");
+        test("null12.0", "" + sf_IN + sf_d);
+        test("null12.0suffix", "" + sf_IN + sf_d + "suffix");
+        test("prefixnullsuffix112.0suffix2", "prefix" + sf_IN + "suffix1" + sf_d + "suffix2");
+        test("null-99.0", "" + sf_IN + f_dM);
+        test("null-99.0suffix", "" + sf_IN + f_dM + "suffix");
+        test("prefixnullsuffix1-99.0suffix2", "prefix" + sf_IN + "suffix1" + f_dM + "suffix2");
+        test("null17.0", "" + sf_IN + sf_f);
+        test("null17.0suffix", "" + sf_IN + sf_f + "suffix");
+        test("prefixnullsuffix117.0suffix2", "prefix" + sf_IN + "suffix1" + sf_f + "suffix2");
+        test("null-84.0", "" + sf_IN + sf_dM);
+        test("null-84.0suffix", "" + sf_IN + sf_dM + "suffix");
+        test("prefixnullsuffix1-84.0suffix2", "prefix" + sf_IN + "suffix1" + sf_dM + "suffix2");
+        test("null58000000", "" + sf_IN + f_i);
+        test("null58000000suffix", "" + sf_IN + f_i + "suffix");
+        test("prefixnullsuffix158000000suffix2", "prefix" + sf_IN + "suffix1" + f_i + "suffix2");
+        test("null-55000000", "" + sf_IN + f_iM);
+        test("null-55000000suffix", "" + sf_IN + f_iM + "suffix");
+        test("prefixnullsuffix1-55000000suffix2", "prefix" + sf_IN + "suffix1" + f_iM + "suffix2");
+        test("null1460392448", "" + sf_IN + f_l);
+        test("null1460392448suffix", "" + sf_IN + f_l + "suffix");
+        test("prefixnullsuffix11460392448suffix2", "prefix" + sf_IN + "suffix1" + f_l + "suffix2");
+        test("nullC(70)", "" + sf_IN + f_o);
+        test("nullC(70)suffix", "" + sf_IN + f_o + "suffix");
+        test("prefixnullsuffix1C(70)suffix2", "prefix" + sf_IN + "suffix1" + f_o + "suffix2");
+        test("null\u04511", "" + sf_IN + sf_strU);
+        test("null\u04511suffix", "" + sf_IN + sf_strU + "suffix");
+        test("prefixnullsuffix1\u04511suffix2", "prefix" + sf_IN + "suffix1" + sf_strU + "suffix2");
+        test("null8000", "" + sf_IN + f_s);
+        test("null8000suffix", "" + sf_IN + f_s + "suffix");
+        test("prefixnullsuffix18000suffix2", "prefix" + sf_IN + "suffix1" + f_s + "suffix2");
+        test("null18", "" + sf_IN + s_str);
+        test("null18suffix", "" + sf_IN + s_str + "suffix");
+        test("prefixnullsuffix118suffix2", "prefix" + sf_IN + "suffix1" + s_str + "suffix2");
+        test("null-1000000", "" + sf_IN + s_iM);
+        test("null-1000000suffix", "" + sf_IN + s_iM + "suffix");
+        test("prefixnullsuffix1-1000000suffix2", "prefix" + sf_IN + "suffix1" + s_iM + "suffix2");
+        test("null1000000", "" + sf_IN + sf_I);
+        test("null1000000suffix", "" + sf_IN + sf_I + "suffix");
+        test("prefixnullsuffix11000000suffix2", "prefix" + sf_IN + "suffix1" + sf_I + "suffix2");
+        test("nullnull", "" + sf_IN + f_oNtS);
+        test("nullnullsuffix", "" + sf_IN + f_oNtS + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + f_oNtS + "suffix2");
+        test("nullfalse", "" + sf_IN + f_bl);
+        test("nullfalsesuffix", "" + sf_IN + f_bl + "suffix");
+        test("prefixnullsuffix1falsesuffix2", "prefix" + sf_IN + "suffix1" + f_bl + "suffix2");
+        test("nullnull", "" + sf_IN + sf_iAN);
+        test("nullnullsuffix", "" + sf_IN + sf_iAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + sf_iAN + "suffix2");
+        test("null-2000000", "" + sf_IN + sf_iM);
+        test("null-2000000suffix", "" + sf_IN + sf_iM + "suffix");
+        test("prefixnullsuffix1-2000000suffix2", "prefix" + sf_IN + "suffix1" + sf_iM + "suffix2");
+        test("null-820130816", "" + sf_IN + f_lM);
+        test("null-820130816suffix", "" + sf_IN + f_lM + "suffix");
+        test("prefixnullsuffix1-820130816suffix2", "prefix" + sf_IN + "suffix1" + f_lM + "suffix2");
+        test("nullnull", "" + sf_IN + sf_oAN);
+        test("nullnullsuffix", "" + sf_IN + sf_oAN + "suffix");
+        test("prefixnullsuffix1nullsuffix2", "prefix" + sf_IN + "suffix1" + sf_oAN + "suffix2");
+        test("null25000000", "" + sf_IN + s_I);
+        test("null25000000suffix", "" + sf_IN + s_I + "suffix");
+        test("prefixnullsuffix125000000suffix2", "prefix" + sf_IN + "suffix1" + s_I + "suffix2");
     }
 
     public void run3() {
-        test("null-96.0", "" + f_iAN + s_dM);
-        test("nullnull", "" + f_iAN + s_oNtS);
-        test("null\u045176", "" + f_iAN + f_strU);
-        test("null92", "" + f_iAN + sf_strU2);
-        test("null51", "" + f_iAN + sf_strU1);
-        test("nullnull", "" + f_iAN + s_iAN);
-        test("null-54", "" + f_iAN + f_bM);
-        test("null-87.0", "" + f_iAN + f_fM);
-        test("nullnull", "" + f_iAN + s_oAN);
-        test("null19", "" + f_iAN + f_str);
-        test("null-41", "" + f_iAN + sf_bM);
-        test("nullnull", "" + f_iAN + sf_IN);
-        test("nullT", "" + f_iAN + s_c);
-        test("null-42.0", "" + f_iAN + sf_fM);
-        test("null25", "" + f_iAN + s_b);
-        test("nullnull", "" + f_iAN + f_oN);
-        test("null-1410065408", "" + f_iAN + s_lM);
-        test("null8.0", "" + f_iAN + s_d);
-        test("null55.0", "" + f_iAN + s_f);
-        test("null97000000", "" + f_iAN + s_i);
-        test("null-9900", "" + f_iAN + f_sM);
-        test("null935228928", "" + f_iAN + s_l);
-        test("null-8400", "" + f_iAN + sf_sM);
-        test("nullC(82)", "" + f_iAN + s_o);
-        test("nullnull", "" + f_iAN + sf_oNtS);
-        test("nulltrue", "" + f_iAN + s_bl);
-        test("null3900", "" + f_iAN + s_s);
-        test("nullnull", "" + f_iAN + sf_oN);
-        test("null94000000", "" + f_iAN + f_I);
-        test("nullnull", "" + f_iAN + f_IN);
-        test("nulltrue", "" + f_iAN + sf_bl);
-        test("null5500", "" + f_iAN + sf_s);
-        test("null-2900", "" + f_iAN + s_sM);
-        test("null-194313216", "" + f_iAN + sf_l);
-        test("null12", "" + f_iAN + s_strU1);
-        test("nullC(87)", "" + f_iAN + sf_o);
-        test("null91", "" + f_iAN + s_strU2);
-        test("null21", "" + f_iAN + f_strU1);
-        test("null18", "" + f_iAN + f_strU2);
-        test("nullnull", "" + f_iAN + f_iAN);
-        test("nullnull", "" + f_iAN + s_oN);
-        test("null\u045180", "" + f_iAN + s_strU);
-        test("nullC", "" + f_iAN + sf_c);
-        test("null75", "" + f_iAN + sf_str);
-        test("null-43", "" + f_iAN + s_bM);
-        test("null80", "" + f_iAN + sf_b);
-        test("nullnull", "" + f_iAN + s_IN);
-        test("null-52.0", "" + f_iAN + s_fM);
-        test("null75000000", "" + f_iAN + sf_i);
-        test("null44", "" + f_iAN + f_b);
-        test("null-1705032704", "" + f_iAN + sf_lM);
-        test("nullnull", "" + f_iAN + f_oAN);
-        test("null83.0", "" + f_iAN + f_d);
-        test("nullI", "" + f_iAN + f_c);
-        test("null94.0", "" + f_iAN + f_f);
-        test("null12.0", "" + f_iAN + sf_d);
-        test("null-99.0", "" + f_iAN + f_dM);
-        test("null17.0", "" + f_iAN + sf_f);
-        test("null-84.0", "" + f_iAN + sf_dM);
-        test("null58000000", "" + f_iAN + f_i);
-        test("null-55000000", "" + f_iAN + f_iM);
-        test("null1460392448", "" + f_iAN + f_l);
-        test("nullC(70)", "" + f_iAN + f_o);
-        test("null\u04511", "" + f_iAN + sf_strU);
-        test("null8000", "" + f_iAN + f_s);
-        test("null18", "" + f_iAN + s_str);
-        test("null-1000000", "" + f_iAN + s_iM);
-        test("null1000000", "" + f_iAN + sf_I);
-        test("nullnull", "" + f_iAN + f_oNtS);
-        test("nullfalse", "" + f_iAN + f_bl);
-        test("nullnull", "" + f_iAN + sf_iAN);
-        test("null-2000000", "" + f_iAN + sf_iM);
-        test("null-820130816", "" + f_iAN + f_lM);
-        test("nullnull", "" + f_iAN + sf_oAN);
-        test("null25000000", "" + f_iAN + s_I);
-        test("null-96.0", "" + s_oN + s_dM);
-        test("nullnull", "" + s_oN + s_oNtS);
-        test("null\u045176", "" + s_oN + f_strU);
-        test("null92", "" + s_oN + sf_strU2);
-        test("null51", "" + s_oN + sf_strU1);
-        test("nullnull", "" + s_oN + s_iAN);
-        test("null-54", "" + s_oN + f_bM);
-        test("null-87.0", "" + s_oN + f_fM);
-        test("nullnull", "" + s_oN + s_oAN);
-        test("null19", "" + s_oN + f_str);
-        test("null-41", "" + s_oN + sf_bM);
-        test("nullnull", "" + s_oN + sf_IN);
-        test("nullT", "" + s_oN + s_c);
-        test("null-42.0", "" + s_oN + sf_fM);
-        test("null25", "" + s_oN + s_b);
-        test("nullnull", "" + s_oN + f_oN);
-        test("null-1410065408", "" + s_oN + s_lM);
-        test("null8.0", "" + s_oN + s_d);
-        test("null55.0", "" + s_oN + s_f);
-        test("null97000000", "" + s_oN + s_i);
-        test("null-9900", "" + s_oN + f_sM);
-        test("null935228928", "" + s_oN + s_l);
-        test("null-8400", "" + s_oN + sf_sM);
-        test("nullC(82)", "" + s_oN + s_o);
-        test("nullnull", "" + s_oN + sf_oNtS);
-        test("nulltrue", "" + s_oN + s_bl);
-        test("null3900", "" + s_oN + s_s);
-        test("nullnull", "" + s_oN + sf_oN);
-        test("null94000000", "" + s_oN + f_I);
-        test("nullnull", "" + s_oN + f_IN);
-        test("nulltrue", "" + s_oN + sf_bl);
-        test("null5500", "" + s_oN + sf_s);
-        test("null-2900", "" + s_oN + s_sM);
-        test("null-194313216", "" + s_oN + sf_l);
-        test("null12", "" + s_oN + s_strU1);
-        test("nullC(87)", "" + s_oN + sf_o);
-        test("null91", "" + s_oN + s_strU2);
-        test("null21", "" + s_oN + f_strU1);
-        test("null18", "" + s_oN + f_strU2);
-        test("nullnull", "" + s_oN + f_iAN);
-        test("nullnull", "" + s_oN + s_oN);
-        test("null\u045180", "" + s_oN + s_strU);
-        test("nullC", "" + s_oN + sf_c);
-        test("null75", "" + s_oN + sf_str);
-        test("null-43", "" + s_oN + s_bM);
-        test("null80", "" + s_oN + sf_b);
-        test("nullnull", "" + s_oN + s_IN);
-        test("null-52.0", "" + s_oN + s_fM);
-        test("null75000000", "" + s_oN + sf_i);
-        test("null44", "" + s_oN + f_b);
-        test("null-1705032704", "" + s_oN + sf_lM);
-        test("nullnull", "" + s_oN + f_oAN);
-        test("null83.0", "" + s_oN + f_d);
-        test("nullI", "" + s_oN + f_c);
-        test("null94.0", "" + s_oN + f_f);
-        test("null12.0", "" + s_oN + sf_d);
-        test("null-99.0", "" + s_oN + f_dM);
-        test("null17.0", "" + s_oN + sf_f);
-        test("null-84.0", "" + s_oN + sf_dM);
-        test("null58000000", "" + s_oN + f_i);
-        test("null-55000000", "" + s_oN + f_iM);
-        test("null1460392448", "" + s_oN + f_l);
-        test("nullC(70)", "" + s_oN + f_o);
-        test("null\u04511", "" + s_oN + sf_strU);
-        test("null8000", "" + s_oN + f_s);
-        test("null18", "" + s_oN + s_str);
-        test("null-1000000", "" + s_oN + s_iM);
-        test("null1000000", "" + s_oN + sf_I);
-        test("nullnull", "" + s_oN + f_oNtS);
-        test("nullfalse", "" + s_oN + f_bl);
-        test("nullnull", "" + s_oN + sf_iAN);
-        test("null-2000000", "" + s_oN + sf_iM);
-        test("null-820130816", "" + s_oN + f_lM);
-        test("nullnull", "" + s_oN + sf_oAN);
-        test("null25000000", "" + s_oN + s_I);
-        test("\u045180-96.0", "" + s_strU + s_dM);
-        test("\u045180null", "" + s_strU + s_oNtS);
-        test("\u045180\u045176", "" + s_strU + f_strU);
-        test("\u04518092", "" + s_strU + sf_strU2);
-        test("\u04518051", "" + s_strU + sf_strU1);
-        test("\u045180null", "" + s_strU + s_iAN);
-        test("\u045180-54", "" + s_strU + f_bM);
-        test("\u045180-87.0", "" + s_strU + f_fM);
-        test("\u045180null", "" + s_strU + s_oAN);
-        test("\u04518019", "" + s_strU + f_str);
-        test("\u045180-41", "" + s_strU + sf_bM);
-        test("\u045180null", "" + s_strU + sf_IN);
-        test("\u045180T", "" + s_strU + s_c);
-        test("\u045180-42.0", "" + s_strU + sf_fM);
-        test("\u04518025", "" + s_strU + s_b);
-        test("\u045180null", "" + s_strU + f_oN);
-        test("\u045180-1410065408", "" + s_strU + s_lM);
-        test("\u0451808.0", "" + s_strU + s_d);
-        test("\u04518055.0", "" + s_strU + s_f);
-        test("\u04518097000000", "" + s_strU + s_i);
-        test("\u045180-9900", "" + s_strU + f_sM);
-        test("\u045180935228928", "" + s_strU + s_l);
-        test("\u045180-8400", "" + s_strU + sf_sM);
-        test("\u045180C(82)", "" + s_strU + s_o);
-        test("\u045180null", "" + s_strU + sf_oNtS);
-        test("\u045180true", "" + s_strU + s_bl);
-        test("\u0451803900", "" + s_strU + s_s);
-        test("\u045180null", "" + s_strU + sf_oN);
-        test("\u04518094000000", "" + s_strU + f_I);
-        test("\u045180null", "" + s_strU + f_IN);
-        test("\u045180true", "" + s_strU + sf_bl);
-        test("\u0451805500", "" + s_strU + sf_s);
-        test("\u045180-2900", "" + s_strU + s_sM);
-        test("\u045180-194313216", "" + s_strU + sf_l);
-        test("\u04518012", "" + s_strU + s_strU1);
-        test("\u045180C(87)", "" + s_strU + sf_o);
-        test("\u04518091", "" + s_strU + s_strU2);
-        test("\u04518021", "" + s_strU + f_strU1);
-        test("\u04518018", "" + s_strU + f_strU2);
-        test("\u045180null", "" + s_strU + f_iAN);
-        test("\u045180null", "" + s_strU + s_oN);
-        test("\u045180\u045180", "" + s_strU + s_strU);
-        test("\u045180C", "" + s_strU + sf_c);
-        test("\u04518075", "" + s_strU + sf_str);
-        test("\u045180-43", "" + s_strU + s_bM);
-        test("\u04518080", "" + s_strU + sf_b);
-        test("\u045180null", "" + s_strU + s_IN);
-        test("\u045180-52.0", "" + s_strU + s_fM);
-        test("\u04518075000000", "" + s_strU + sf_i);
-        test("\u04518044", "" + s_strU + f_b);
-        test("\u045180-1705032704", "" + s_strU + sf_lM);
-        test("\u045180null", "" + s_strU + f_oAN);
-        test("\u04518083.0", "" + s_strU + f_d);
-        test("\u045180I", "" + s_strU + f_c);
-        test("\u04518094.0", "" + s_strU + f_f);
-        test("\u04518012.0", "" + s_strU + sf_d);
-        test("\u045180-99.0", "" + s_strU + f_dM);
-        test("\u04518017.0", "" + s_strU + sf_f);
-        test("\u045180-84.0", "" + s_strU + sf_dM);
-        test("\u04518058000000", "" + s_strU + f_i);
-        test("\u045180-55000000", "" + s_strU + f_iM);
-        test("\u0451801460392448", "" + s_strU + f_l);
-        test("\u045180C(70)", "" + s_strU + f_o);
-        test("\u045180\u04511", "" + s_strU + sf_strU);
-        test("\u0451808000", "" + s_strU + f_s);
-        test("\u04518018", "" + s_strU + s_str);
-        test("\u045180-1000000", "" + s_strU + s_iM);
-        test("\u0451801000000", "" + s_strU + sf_I);
-        test("\u045180null", "" + s_strU + f_oNtS);
-        test("\u045180false", "" + s_strU + f_bl);
-        test("\u045180null", "" + s_strU + sf_iAN);
-        test("\u045180-2000000", "" + s_strU + sf_iM);
-        test("\u045180-820130816", "" + s_strU + f_lM);
-        test("\u045180null", "" + s_strU + sf_oAN);
-        test("\u04518025000000", "" + s_strU + s_I);
-        test("C-96.0", "" + sf_c + s_dM);
-        test("Cnull", "" + sf_c + s_oNtS);
-        test("C\u045176", "" + sf_c + f_strU);
-        test("C92", "" + sf_c + sf_strU2);
-        test("C51", "" + sf_c + sf_strU1);
-        test("Cnull", "" + sf_c + s_iAN);
-        test("C-54", "" + sf_c + f_bM);
-        test("C-87.0", "" + sf_c + f_fM);
-        test("Cnull", "" + sf_c + s_oAN);
-        test("C19", "" + sf_c + f_str);
-        test("C-41", "" + sf_c + sf_bM);
-        test("Cnull", "" + sf_c + sf_IN);
-        test("CT", "" + sf_c + s_c);
-        test("C-42.0", "" + sf_c + sf_fM);
-        test("C25", "" + sf_c + s_b);
-        test("Cnull", "" + sf_c + f_oN);
-        test("C-1410065408", "" + sf_c + s_lM);
-        test("C8.0", "" + sf_c + s_d);
-        test("C55.0", "" + sf_c + s_f);
-        test("C97000000", "" + sf_c + s_i);
-        test("C-9900", "" + sf_c + f_sM);
-        test("C935228928", "" + sf_c + s_l);
-        test("C-8400", "" + sf_c + sf_sM);
-        test("CC(82)", "" + sf_c + s_o);
-        test("Cnull", "" + sf_c + sf_oNtS);
-        test("Ctrue", "" + sf_c + s_bl);
-        test("C3900", "" + sf_c + s_s);
-        test("Cnull", "" + sf_c + sf_oN);
-        test("C94000000", "" + sf_c + f_I);
-        test("Cnull", "" + sf_c + f_IN);
-        test("Ctrue", "" + sf_c + sf_bl);
-        test("C5500", "" + sf_c + sf_s);
-        test("C-2900", "" + sf_c + s_sM);
-        test("C-194313216", "" + sf_c + sf_l);
-        test("C12", "" + sf_c + s_strU1);
-        test("CC(87)", "" + sf_c + sf_o);
-        test("C91", "" + sf_c + s_strU2);
-        test("C21", "" + sf_c + f_strU1);
-        test("C18", "" + sf_c + f_strU2);
-        test("Cnull", "" + sf_c + f_iAN);
-        test("Cnull", "" + sf_c + s_oN);
-        test("C\u045180", "" + sf_c + s_strU);
-        test("CC", "" + sf_c + sf_c);
-        test("C75", "" + sf_c + sf_str);
-        test("C-43", "" + sf_c + s_bM);
-        test("C80", "" + sf_c + sf_b);
-        test("Cnull", "" + sf_c + s_IN);
-        test("C-52.0", "" + sf_c + s_fM);
-        test("C75000000", "" + sf_c + sf_i);
-        test("C44", "" + sf_c + f_b);
-        test("C-1705032704", "" + sf_c + sf_lM);
-        test("Cnull", "" + sf_c + f_oAN);
-        test("C83.0", "" + sf_c + f_d);
-        test("CI", "" + sf_c + f_c);
-        test("C94.0", "" + sf_c + f_f);
-        test("C12.0", "" + sf_c + sf_d);
-        test("C-99.0", "" + sf_c + f_dM);
-        test("C17.0", "" + sf_c + sf_f);
-        test("C-84.0", "" + sf_c + sf_dM);
-        test("C58000000", "" + sf_c + f_i);
-        test("C-55000000", "" + sf_c + f_iM);
-        test("C1460392448", "" + sf_c + f_l);
-        test("CC(70)", "" + sf_c + f_o);
-        test("C\u04511", "" + sf_c + sf_strU);
-        test("C8000", "" + sf_c + f_s);
-        test("C18", "" + sf_c + s_str);
-        test("C-1000000", "" + sf_c + s_iM);
-        test("C1000000", "" + sf_c + sf_I);
-        test("Cnull", "" + sf_c + f_oNtS);
-        test("Cfalse", "" + sf_c + f_bl);
-        test("Cnull", "" + sf_c + sf_iAN);
-        test("C-2000000", "" + sf_c + sf_iM);
-        test("C-820130816", "" + sf_c + f_lM);
-        test("Cnull", "" + sf_c + sf_oAN);
-        test("C25000000", "" + sf_c + s_I);
-        test("75-96.0", "" + sf_str + s_dM);
-        test("75null", "" + sf_str + s_oNtS);
-        test("75\u045176", "" + sf_str + f_strU);
-        test("7592", "" + sf_str + sf_strU2);
-        test("7551", "" + sf_str + sf_strU1);
-        test("75null", "" + sf_str + s_iAN);
-        test("75-54", "" + sf_str + f_bM);
-        test("75-87.0", "" + sf_str + f_fM);
-        test("75null", "" + sf_str + s_oAN);
-        test("7519", "" + sf_str + f_str);
-        test("75-41", "" + sf_str + sf_bM);
-        test("75null", "" + sf_str + sf_IN);
-        test("75T", "" + sf_str + s_c);
-        test("75-42.0", "" + sf_str + sf_fM);
-        test("7525", "" + sf_str + s_b);
-        test("75null", "" + sf_str + f_oN);
-        test("75-1410065408", "" + sf_str + s_lM);
-        test("758.0", "" + sf_str + s_d);
-        test("7555.0", "" + sf_str + s_f);
-        test("7597000000", "" + sf_str + s_i);
-        test("75-9900", "" + sf_str + f_sM);
-        test("75935228928", "" + sf_str + s_l);
-        test("75-8400", "" + sf_str + sf_sM);
-        test("75C(82)", "" + sf_str + s_o);
-        test("75null", "" + sf_str + sf_oNtS);
-        test("75true", "" + sf_str + s_bl);
-        test("753900", "" + sf_str + s_s);
-        test("75null", "" + sf_str + sf_oN);
-        test("7594000000", "" + sf_str + f_I);
-        test("75null", "" + sf_str + f_IN);
-        test("75true", "" + sf_str + sf_bl);
-        test("755500", "" + sf_str + sf_s);
-        test("75-2900", "" + sf_str + s_sM);
-        test("75-194313216", "" + sf_str + sf_l);
-        test("7512", "" + sf_str + s_strU1);
-        test("75C(87)", "" + sf_str + sf_o);
-        test("7591", "" + sf_str + s_strU2);
-        test("7521", "" + sf_str + f_strU1);
-        test("7518", "" + sf_str + f_strU2);
-        test("75null", "" + sf_str + f_iAN);
-        test("75null", "" + sf_str + s_oN);
-        test("75\u045180", "" + sf_str + s_strU);
-        test("75C", "" + sf_str + sf_c);
-        test("7575", "" + sf_str + sf_str);
-        test("75-43", "" + sf_str + s_bM);
-        test("7580", "" + sf_str + sf_b);
-        test("75null", "" + sf_str + s_IN);
-        test("75-52.0", "" + sf_str + s_fM);
-        test("7575000000", "" + sf_str + sf_i);
-        test("7544", "" + sf_str + f_b);
-        test("75-1705032704", "" + sf_str + sf_lM);
-        test("75null", "" + sf_str + f_oAN);
-        test("7583.0", "" + sf_str + f_d);
-        test("75I", "" + sf_str + f_c);
-        test("7594.0", "" + sf_str + f_f);
-        test("7512.0", "" + sf_str + sf_d);
-        test("75-99.0", "" + sf_str + f_dM);
-        test("7517.0", "" + sf_str + sf_f);
-        test("75-84.0", "" + sf_str + sf_dM);
-        test("7558000000", "" + sf_str + f_i);
-        test("75-55000000", "" + sf_str + f_iM);
-        test("751460392448", "" + sf_str + f_l);
-        test("75C(70)", "" + sf_str + f_o);
-        test("75\u04511", "" + sf_str + sf_strU);
-        test("758000", "" + sf_str + f_s);
-        test("7518", "" + sf_str + s_str);
-        test("75-1000000", "" + sf_str + s_iM);
-        test("751000000", "" + sf_str + sf_I);
-        test("75null", "" + sf_str + f_oNtS);
-        test("75false", "" + sf_str + f_bl);
-        test("75null", "" + sf_str + sf_iAN);
-        test("75-2000000", "" + sf_str + sf_iM);
-        test("75-820130816", "" + sf_str + f_lM);
-        test("75null", "" + sf_str + sf_oAN);
-        test("7525000000", "" + sf_str + s_I);
-        test("-43-96.0", "" + s_bM + s_dM);
-        test("-43null", "" + s_bM + s_oNtS);
-        test("-43\u045176", "" + s_bM + f_strU);
-        test("-4392", "" + s_bM + sf_strU2);
-        test("-4351", "" + s_bM + sf_strU1);
-        test("-43null", "" + s_bM + s_iAN);
-        test("-43-54", "" + s_bM + f_bM);
-        test("-43-87.0", "" + s_bM + f_fM);
-        test("-43null", "" + s_bM + s_oAN);
-        test("-4319", "" + s_bM + f_str);
-        test("-43-41", "" + s_bM + sf_bM);
-        test("-43null", "" + s_bM + sf_IN);
-        test("-43T", "" + s_bM + s_c);
-        test("-43-42.0", "" + s_bM + sf_fM);
-        test("-4325", "" + s_bM + s_b);
-        test("-43null", "" + s_bM + f_oN);
-        test("-43-1410065408", "" + s_bM + s_lM);
-        test("-438.0", "" + s_bM + s_d);
-        test("-4355.0", "" + s_bM + s_f);
-        test("-4397000000", "" + s_bM + s_i);
-        test("-43-9900", "" + s_bM + f_sM);
-        test("-43935228928", "" + s_bM + s_l);
-        test("-43-8400", "" + s_bM + sf_sM);
-        test("-43C(82)", "" + s_bM + s_o);
-        test("-43null", "" + s_bM + sf_oNtS);
-        test("-43true", "" + s_bM + s_bl);
-        test("-433900", "" + s_bM + s_s);
-        test("-43null", "" + s_bM + sf_oN);
-        test("-4394000000", "" + s_bM + f_I);
-        test("-43null", "" + s_bM + f_IN);
-        test("-43true", "" + s_bM + sf_bl);
-        test("-435500", "" + s_bM + sf_s);
-        test("-43-2900", "" + s_bM + s_sM);
-        test("-43-194313216", "" + s_bM + sf_l);
-        test("-4312", "" + s_bM + s_strU1);
-        test("-43C(87)", "" + s_bM + sf_o);
-        test("-4391", "" + s_bM + s_strU2);
-        test("-4321", "" + s_bM + f_strU1);
-        test("-4318", "" + s_bM + f_strU2);
-        test("-43null", "" + s_bM + f_iAN);
-        test("-43null", "" + s_bM + s_oN);
-        test("-43\u045180", "" + s_bM + s_strU);
-        test("-43C", "" + s_bM + sf_c);
-        test("-4375", "" + s_bM + sf_str);
-        test("-43-43", "" + s_bM + s_bM);
-        test("-4380", "" + s_bM + sf_b);
-        test("-43null", "" + s_bM + s_IN);
-        test("-43-52.0", "" + s_bM + s_fM);
-        test("-4375000000", "" + s_bM + sf_i);
-        test("-4344", "" + s_bM + f_b);
-        test("-43-1705032704", "" + s_bM + sf_lM);
-        test("-43null", "" + s_bM + f_oAN);
-        test("-4383.0", "" + s_bM + f_d);
-        test("-43I", "" + s_bM + f_c);
-        test("-4394.0", "" + s_bM + f_f);
-        test("-4312.0", "" + s_bM + sf_d);
-        test("-43-99.0", "" + s_bM + f_dM);
-        test("-4317.0", "" + s_bM + sf_f);
-        test("-43-84.0", "" + s_bM + sf_dM);
-        test("-4358000000", "" + s_bM + f_i);
-        test("-43-55000000", "" + s_bM + f_iM);
-        test("-431460392448", "" + s_bM + f_l);
-        test("-43C(70)", "" + s_bM + f_o);
-        test("-43\u04511", "" + s_bM + sf_strU);
-        test("-438000", "" + s_bM + f_s);
-        test("-4318", "" + s_bM + s_str);
-        test("-43-1000000", "" + s_bM + s_iM);
-        test("-431000000", "" + s_bM + sf_I);
-        test("-43null", "" + s_bM + f_oNtS);
-        test("-43false", "" + s_bM + f_bl);
-        test("-43null", "" + s_bM + sf_iAN);
-        test("-43-2000000", "" + s_bM + sf_iM);
-        test("-43-820130816", "" + s_bM + f_lM);
-        test("-43null", "" + s_bM + sf_oAN);
-        test("-4325000000", "" + s_bM + s_I);
-        test("80-96.0", "" + sf_b + s_dM);
-        test("80null", "" + sf_b + s_oNtS);
-        test("80\u045176", "" + sf_b + f_strU);
-        test("8092", "" + sf_b + sf_strU2);
-        test("8051", "" + sf_b + sf_strU1);
-        test("80null", "" + sf_b + s_iAN);
-        test("80-54", "" + sf_b + f_bM);
-        test("80-87.0", "" + sf_b + f_fM);
-        test("80null", "" + sf_b + s_oAN);
-        test("8019", "" + sf_b + f_str);
-        test("80-41", "" + sf_b + sf_bM);
-        test("80null", "" + sf_b + sf_IN);
-        test("80T", "" + sf_b + s_c);
-        test("80-42.0", "" + sf_b + sf_fM);
-        test("8025", "" + sf_b + s_b);
-        test("80null", "" + sf_b + f_oN);
-        test("80-1410065408", "" + sf_b + s_lM);
-        test("808.0", "" + sf_b + s_d);
-        test("8055.0", "" + sf_b + s_f);
-        test("8097000000", "" + sf_b + s_i);
-        test("80-9900", "" + sf_b + f_sM);
-        test("80935228928", "" + sf_b + s_l);
-        test("80-8400", "" + sf_b + sf_sM);
-        test("80C(82)", "" + sf_b + s_o);
-        test("80null", "" + sf_b + sf_oNtS);
-        test("80true", "" + sf_b + s_bl);
-        test("803900", "" + sf_b + s_s);
-        test("80null", "" + sf_b + sf_oN);
-        test("8094000000", "" + sf_b + f_I);
-        test("80null", "" + sf_b + f_IN);
-        test("80true", "" + sf_b + sf_bl);
-        test("805500", "" + sf_b + sf_s);
-        test("80-2900", "" + sf_b + s_sM);
-        test("80-194313216", "" + sf_b + sf_l);
-        test("8012", "" + sf_b + s_strU1);
-        test("80C(87)", "" + sf_b + sf_o);
-        test("8091", "" + sf_b + s_strU2);
-        test("8021", "" + sf_b + f_strU1);
-        test("8018", "" + sf_b + f_strU2);
-        test("80null", "" + sf_b + f_iAN);
-        test("80null", "" + sf_b + s_oN);
-        test("80\u045180", "" + sf_b + s_strU);
-        test("80C", "" + sf_b + sf_c);
-        test("8075", "" + sf_b + sf_str);
-        test("80-43", "" + sf_b + s_bM);
-        test("8080", "" + sf_b + sf_b);
-        test("80null", "" + sf_b + s_IN);
-        test("80-52.0", "" + sf_b + s_fM);
-        test("8075000000", "" + sf_b + sf_i);
-        test("8044", "" + sf_b + f_b);
-        test("80-1705032704", "" + sf_b + sf_lM);
-        test("80null", "" + sf_b + f_oAN);
-        test("8083.0", "" + sf_b + f_d);
-        test("80I", "" + sf_b + f_c);
-        test("8094.0", "" + sf_b + f_f);
-        test("8012.0", "" + sf_b + sf_d);
-        test("80-99.0", "" + sf_b + f_dM);
-        test("8017.0", "" + sf_b + sf_f);
-        test("80-84.0", "" + sf_b + sf_dM);
-        test("8058000000", "" + sf_b + f_i);
-        test("80-55000000", "" + sf_b + f_iM);
-        test("801460392448", "" + sf_b + f_l);
-        test("80C(70)", "" + sf_b + f_o);
-        test("80\u04511", "" + sf_b + sf_strU);
-        test("808000", "" + sf_b + f_s);
-        test("8018", "" + sf_b + s_str);
-        test("80-1000000", "" + sf_b + s_iM);
-        test("801000000", "" + sf_b + sf_I);
-        test("80null", "" + sf_b + f_oNtS);
-        test("80false", "" + sf_b + f_bl);
-        test("80null", "" + sf_b + sf_iAN);
-        test("80-2000000", "" + sf_b + sf_iM);
-        test("80-820130816", "" + sf_b + f_lM);
-        test("80null", "" + sf_b + sf_oAN);
-        test("8025000000", "" + sf_b + s_I);
-        test("null-96.0", "" + s_IN + s_dM);
-        test("nullnull", "" + s_IN + s_oNtS);
-        test("null\u045176", "" + s_IN + f_strU);
-        test("null92", "" + s_IN + sf_strU2);
-        test("null51", "" + s_IN + sf_strU1);
-        test("nullnull", "" + s_IN + s_iAN);
-        test("null-54", "" + s_IN + f_bM);
-        test("null-87.0", "" + s_IN + f_fM);
-        test("nullnull", "" + s_IN + s_oAN);
-        test("null19", "" + s_IN + f_str);
-        test("null-41", "" + s_IN + sf_bM);
-        test("nullnull", "" + s_IN + sf_IN);
-        test("nullT", "" + s_IN + s_c);
-        test("null-42.0", "" + s_IN + sf_fM);
-        test("null25", "" + s_IN + s_b);
-        test("nullnull", "" + s_IN + f_oN);
-        test("null-1410065408", "" + s_IN + s_lM);
-        test("null8.0", "" + s_IN + s_d);
-        test("null55.0", "" + s_IN + s_f);
-        test("null97000000", "" + s_IN + s_i);
-        test("null-9900", "" + s_IN + f_sM);
-        test("null935228928", "" + s_IN + s_l);
-        test("null-8400", "" + s_IN + sf_sM);
-        test("nullC(82)", "" + s_IN + s_o);
-        test("nullnull", "" + s_IN + sf_oNtS);
-        test("nulltrue", "" + s_IN + s_bl);
-        test("null3900", "" + s_IN + s_s);
-        test("nullnull", "" + s_IN + sf_oN);
-        test("null94000000", "" + s_IN + f_I);
-        test("nullnull", "" + s_IN + f_IN);
-        test("nulltrue", "" + s_IN + sf_bl);
-        test("null5500", "" + s_IN + sf_s);
-        test("null-2900", "" + s_IN + s_sM);
-        test("null-194313216", "" + s_IN + sf_l);
-        test("null12", "" + s_IN + s_strU1);
-        test("nullC(87)", "" + s_IN + sf_o);
-        test("null91", "" + s_IN + s_strU2);
-        test("null21", "" + s_IN + f_strU1);
-        test("null18", "" + s_IN + f_strU2);
-        test("nullnull", "" + s_IN + f_iAN);
-        test("nullnull", "" + s_IN + s_oN);
-        test("null\u045180", "" + s_IN + s_strU);
-        test("nullC", "" + s_IN + sf_c);
-        test("null75", "" + s_IN + sf_str);
-        test("null-43", "" + s_IN + s_bM);
-        test("null80", "" + s_IN + sf_b);
-        test("nullnull", "" + s_IN + s_IN);
-        test("null-52.0", "" + s_IN + s_fM);
-        test("null75000000", "" + s_IN + sf_i);
-        test("null44", "" + s_IN + f_b);
-        test("null-1705032704", "" + s_IN + sf_lM);
-        test("nullnull", "" + s_IN + f_oAN);
-        test("null83.0", "" + s_IN + f_d);
-        test("nullI", "" + s_IN + f_c);
-        test("null94.0", "" + s_IN + f_f);
-        test("null12.0", "" + s_IN + sf_d);
-        test("null-99.0", "" + s_IN + f_dM);
-        test("null17.0", "" + s_IN + sf_f);
-        test("null-84.0", "" + s_IN + sf_dM);
-        test("null58000000", "" + s_IN + f_i);
-        test("null-55000000", "" + s_IN + f_iM);
-        test("null1460392448", "" + s_IN + f_l);
-        test("nullC(70)", "" + s_IN + f_o);
-        test("null\u04511", "" + s_IN + sf_strU);
-        test("null8000", "" + s_IN + f_s);
-        test("null18", "" + s_IN + s_str);
-        test("null-1000000", "" + s_IN + s_iM);
-        test("null1000000", "" + s_IN + sf_I);
-        test("nullnull", "" + s_IN + f_oNtS);
-        test("nullfalse", "" + s_IN + f_bl);
-        test("nullnull", "" + s_IN + sf_iAN);
-        test("null-2000000", "" + s_IN + sf_iM);
-        test("null-820130816", "" + s_IN + f_lM);
-        test("nullnull", "" + s_IN + sf_oAN);
-        test("null25000000", "" + s_IN + s_I);
-        test("-52.0-96.0", "" + s_fM + s_dM);
-        test("-52.0null", "" + s_fM + s_oNtS);
-        test("-52.0\u045176", "" + s_fM + f_strU);
-        test("-52.092", "" + s_fM + sf_strU2);
-        test("-52.051", "" + s_fM + sf_strU1);
-        test("-52.0null", "" + s_fM + s_iAN);
-        test("-52.0-54", "" + s_fM + f_bM);
-        test("-52.0-87.0", "" + s_fM + f_fM);
-        test("-52.0null", "" + s_fM + s_oAN);
-        test("-52.019", "" + s_fM + f_str);
-        test("-52.0-41", "" + s_fM + sf_bM);
-        test("-52.0null", "" + s_fM + sf_IN);
-        test("-52.0T", "" + s_fM + s_c);
-        test("-52.0-42.0", "" + s_fM + sf_fM);
-        test("-52.025", "" + s_fM + s_b);
-        test("-52.0null", "" + s_fM + f_oN);
-        test("-52.0-1410065408", "" + s_fM + s_lM);
-        test("-52.08.0", "" + s_fM + s_d);
-        test("-52.055.0", "" + s_fM + s_f);
-        test("-52.097000000", "" + s_fM + s_i);
-        test("-52.0-9900", "" + s_fM + f_sM);
-        test("-52.0935228928", "" + s_fM + s_l);
-        test("-52.0-8400", "" + s_fM + sf_sM);
-        test("-52.0C(82)", "" + s_fM + s_o);
-        test("-52.0null", "" + s_fM + sf_oNtS);
-        test("-52.0true", "" + s_fM + s_bl);
-        test("-52.03900", "" + s_fM + s_s);
-        test("-52.0null", "" + s_fM + sf_oN);
-        test("-52.094000000", "" + s_fM + f_I);
-        test("-52.0null", "" + s_fM + f_IN);
-        test("-52.0true", "" + s_fM + sf_bl);
-        test("-52.05500", "" + s_fM + sf_s);
-        test("-52.0-2900", "" + s_fM + s_sM);
-        test("-52.0-194313216", "" + s_fM + sf_l);
-        test("-52.012", "" + s_fM + s_strU1);
-        test("-52.0C(87)", "" + s_fM + sf_o);
-        test("-52.091", "" + s_fM + s_strU2);
-        test("-52.021", "" + s_fM + f_strU1);
-        test("-52.018", "" + s_fM + f_strU2);
-        test("-52.0null", "" + s_fM + f_iAN);
-        test("-52.0null", "" + s_fM + s_oN);
-        test("-52.0\u045180", "" + s_fM + s_strU);
-        test("-52.0C", "" + s_fM + sf_c);
-        test("-52.075", "" + s_fM + sf_str);
-        test("-52.0-43", "" + s_fM + s_bM);
-        test("-52.080", "" + s_fM + sf_b);
-        test("-52.0null", "" + s_fM + s_IN);
-        test("-52.0-52.0", "" + s_fM + s_fM);
-        test("-52.075000000", "" + s_fM + sf_i);
-        test("-52.044", "" + s_fM + f_b);
-        test("-52.0-1705032704", "" + s_fM + sf_lM);
-        test("-52.0null", "" + s_fM + f_oAN);
-        test("-52.083.0", "" + s_fM + f_d);
-        test("-52.0I", "" + s_fM + f_c);
-        test("-52.094.0", "" + s_fM + f_f);
-        test("-52.012.0", "" + s_fM + sf_d);
-        test("-52.0-99.0", "" + s_fM + f_dM);
-        test("-52.017.0", "" + s_fM + sf_f);
-        test("-52.0-84.0", "" + s_fM + sf_dM);
-        test("-52.058000000", "" + s_fM + f_i);
-        test("-52.0-55000000", "" + s_fM + f_iM);
-        test("-52.01460392448", "" + s_fM + f_l);
-        test("-52.0C(70)", "" + s_fM + f_o);
-        test("-52.0\u04511", "" + s_fM + sf_strU);
-        test("-52.08000", "" + s_fM + f_s);
-        test("-52.018", "" + s_fM + s_str);
-        test("-52.0-1000000", "" + s_fM + s_iM);
-        test("-52.01000000", "" + s_fM + sf_I);
-        test("-52.0null", "" + s_fM + f_oNtS);
-        test("-52.0false", "" + s_fM + f_bl);
-        test("-52.0null", "" + s_fM + sf_iAN);
-        test("-52.0-2000000", "" + s_fM + sf_iM);
-        test("-52.0-820130816", "" + s_fM + f_lM);
-        test("-52.0null", "" + s_fM + sf_oAN);
-        test("-52.025000000", "" + s_fM + s_I);
-        test("75000000-96.0", "" + sf_i + s_dM);
-        test("75000000null", "" + sf_i + s_oNtS);
-        test("75000000\u045176", "" + sf_i + f_strU);
-        test("7500000092", "" + sf_i + sf_strU2);
-        test("7500000051", "" + sf_i + sf_strU1);
-        test("75000000null", "" + sf_i + s_iAN);
-        test("75000000-54", "" + sf_i + f_bM);
-        test("75000000-87.0", "" + sf_i + f_fM);
-        test("75000000null", "" + sf_i + s_oAN);
-        test("7500000019", "" + sf_i + f_str);
-        test("75000000-41", "" + sf_i + sf_bM);
-        test("75000000null", "" + sf_i + sf_IN);
-        test("75000000T", "" + sf_i + s_c);
-        test("75000000-42.0", "" + sf_i + sf_fM);
-        test("7500000025", "" + sf_i + s_b);
-        test("75000000null", "" + sf_i + f_oN);
-        test("75000000-1410065408", "" + sf_i + s_lM);
-        test("750000008.0", "" + sf_i + s_d);
-        test("7500000055.0", "" + sf_i + s_f);
-        test("7500000097000000", "" + sf_i + s_i);
-        test("75000000-9900", "" + sf_i + f_sM);
-        test("75000000935228928", "" + sf_i + s_l);
-        test("75000000-8400", "" + sf_i + sf_sM);
-        test("75000000C(82)", "" + sf_i + s_o);
-        test("75000000null", "" + sf_i + sf_oNtS);
-        test("75000000true", "" + sf_i + s_bl);
-        test("750000003900", "" + sf_i + s_s);
-        test("75000000null", "" + sf_i + sf_oN);
-        test("7500000094000000", "" + sf_i + f_I);
-        test("75000000null", "" + sf_i + f_IN);
-        test("75000000true", "" + sf_i + sf_bl);
-        test("750000005500", "" + sf_i + sf_s);
-        test("75000000-2900", "" + sf_i + s_sM);
-        test("75000000-194313216", "" + sf_i + sf_l);
-        test("7500000012", "" + sf_i + s_strU1);
-        test("75000000C(87)", "" + sf_i + sf_o);
-        test("7500000091", "" + sf_i + s_strU2);
-        test("7500000021", "" + sf_i + f_strU1);
-        test("7500000018", "" + sf_i + f_strU2);
-        test("75000000null", "" + sf_i + f_iAN);
-        test("75000000null", "" + sf_i + s_oN);
-        test("75000000\u045180", "" + sf_i + s_strU);
-        test("75000000C", "" + sf_i + sf_c);
-        test("7500000075", "" + sf_i + sf_str);
-        test("75000000-43", "" + sf_i + s_bM);
-        test("7500000080", "" + sf_i + sf_b);
-        test("75000000null", "" + sf_i + s_IN);
-        test("75000000-52.0", "" + sf_i + s_fM);
-        test("7500000075000000", "" + sf_i + sf_i);
-        test("7500000044", "" + sf_i + f_b);
-        test("75000000-1705032704", "" + sf_i + sf_lM);
-        test("75000000null", "" + sf_i + f_oAN);
-        test("7500000083.0", "" + sf_i + f_d);
-        test("75000000I", "" + sf_i + f_c);
-        test("7500000094.0", "" + sf_i + f_f);
-        test("7500000012.0", "" + sf_i + sf_d);
-        test("75000000-99.0", "" + sf_i + f_dM);
-        test("7500000017.0", "" + sf_i + sf_f);
-        test("75000000-84.0", "" + sf_i + sf_dM);
-        test("7500000058000000", "" + sf_i + f_i);
-        test("75000000-55000000", "" + sf_i + f_iM);
-        test("750000001460392448", "" + sf_i + f_l);
-        test("75000000C(70)", "" + sf_i + f_o);
-        test("75000000\u04511", "" + sf_i + sf_strU);
-        test("750000008000", "" + sf_i + f_s);
-        test("7500000018", "" + sf_i + s_str);
-        test("75000000-1000000", "" + sf_i + s_iM);
-        test("750000001000000", "" + sf_i + sf_I);
-        test("75000000null", "" + sf_i + f_oNtS);
-        test("75000000false", "" + sf_i + f_bl);
-        test("75000000null", "" + sf_i + sf_iAN);
-        test("75000000-2000000", "" + sf_i + sf_iM);
-        test("75000000-820130816", "" + sf_i + f_lM);
-        test("75000000null", "" + sf_i + sf_oAN);
-        test("7500000025000000", "" + sf_i + s_I);
-        test("44-96.0", "" + f_b + s_dM);
-        test("44null", "" + f_b + s_oNtS);
-        test("44\u045176", "" + f_b + f_strU);
-        test("4492", "" + f_b + sf_strU2);
-        test("4451", "" + f_b + sf_strU1);
-        test("44null", "" + f_b + s_iAN);
-        test("44-54", "" + f_b + f_bM);
-        test("44-87.0", "" + f_b + f_fM);
-        test("44null", "" + f_b + s_oAN);
-        test("4419", "" + f_b + f_str);
-        test("44-41", "" + f_b + sf_bM);
-        test("44null", "" + f_b + sf_IN);
-        test("44T", "" + f_b + s_c);
-        test("44-42.0", "" + f_b + sf_fM);
-        test("4425", "" + f_b + s_b);
-        test("44null", "" + f_b + f_oN);
-        test("44-1410065408", "" + f_b + s_lM);
-        test("448.0", "" + f_b + s_d);
-        test("4455.0", "" + f_b + s_f);
-        test("4497000000", "" + f_b + s_i);
-        test("44-9900", "" + f_b + f_sM);
-        test("44935228928", "" + f_b + s_l);
-        test("44-8400", "" + f_b + sf_sM);
-        test("44C(82)", "" + f_b + s_o);
-        test("44null", "" + f_b + sf_oNtS);
-        test("44true", "" + f_b + s_bl);
-        test("443900", "" + f_b + s_s);
-        test("44null", "" + f_b + sf_oN);
-        test("4494000000", "" + f_b + f_I);
-        test("44null", "" + f_b + f_IN);
-        test("44true", "" + f_b + sf_bl);
-        test("445500", "" + f_b + sf_s);
-        test("44-2900", "" + f_b + s_sM);
-        test("44-194313216", "" + f_b + sf_l);
-        test("4412", "" + f_b + s_strU1);
-        test("44C(87)", "" + f_b + sf_o);
-        test("4491", "" + f_b + s_strU2);
-        test("4421", "" + f_b + f_strU1);
-        test("4418", "" + f_b + f_strU2);
-        test("44null", "" + f_b + f_iAN);
-        test("44null", "" + f_b + s_oN);
-        test("44\u045180", "" + f_b + s_strU);
-        test("44C", "" + f_b + sf_c);
-        test("4475", "" + f_b + sf_str);
-        test("44-43", "" + f_b + s_bM);
-        test("4480", "" + f_b + sf_b);
-        test("44null", "" + f_b + s_IN);
-        test("44-52.0", "" + f_b + s_fM);
-        test("4475000000", "" + f_b + sf_i);
-        test("4444", "" + f_b + f_b);
-        test("44-1705032704", "" + f_b + sf_lM);
-        test("44null", "" + f_b + f_oAN);
-        test("4483.0", "" + f_b + f_d);
-        test("44I", "" + f_b + f_c);
-        test("4494.0", "" + f_b + f_f);
-        test("4412.0", "" + f_b + sf_d);
-        test("44-99.0", "" + f_b + f_dM);
-        test("4417.0", "" + f_b + sf_f);
-        test("44-84.0", "" + f_b + sf_dM);
-        test("4458000000", "" + f_b + f_i);
-        test("44-55000000", "" + f_b + f_iM);
-        test("441460392448", "" + f_b + f_l);
-        test("44C(70)", "" + f_b + f_o);
-        test("44\u04511", "" + f_b + sf_strU);
-        test("448000", "" + f_b + f_s);
-        test("4418", "" + f_b + s_str);
-        test("44-1000000", "" + f_b + s_iM);
-        test("441000000", "" + f_b + sf_I);
-        test("44null", "" + f_b + f_oNtS);
-        test("44false", "" + f_b + f_bl);
-        test("44null", "" + f_b + sf_iAN);
-        test("44-2000000", "" + f_b + sf_iM);
-        test("44-820130816", "" + f_b + f_lM);
-        test("44null", "" + f_b + sf_oAN);
-        test("4425000000", "" + f_b + s_I);
-        test("-1705032704-96.0", "" + sf_lM + s_dM);
-        test("-1705032704null", "" + sf_lM + s_oNtS);
-        test("-1705032704\u045176", "" + sf_lM + f_strU);
-        test("-170503270492", "" + sf_lM + sf_strU2);
-        test("-170503270451", "" + sf_lM + sf_strU1);
-        test("-1705032704null", "" + sf_lM + s_iAN);
-        test("-1705032704-54", "" + sf_lM + f_bM);
-        test("-1705032704-87.0", "" + sf_lM + f_fM);
-        test("-1705032704null", "" + sf_lM + s_oAN);
-        test("-170503270419", "" + sf_lM + f_str);
-        test("-1705032704-41", "" + sf_lM + sf_bM);
-        test("-1705032704null", "" + sf_lM + sf_IN);
-        test("-1705032704T", "" + sf_lM + s_c);
-        test("-1705032704-42.0", "" + sf_lM + sf_fM);
-        test("-170503270425", "" + sf_lM + s_b);
-        test("-1705032704null", "" + sf_lM + f_oN);
-        test("-1705032704-1410065408", "" + sf_lM + s_lM);
-        test("-17050327048.0", "" + sf_lM + s_d);
-        test("-170503270455.0", "" + sf_lM + s_f);
-        test("-170503270497000000", "" + sf_lM + s_i);
-        test("-1705032704-9900", "" + sf_lM + f_sM);
-        test("-1705032704935228928", "" + sf_lM + s_l);
-        test("-1705032704-8400", "" + sf_lM + sf_sM);
-        test("-1705032704C(82)", "" + sf_lM + s_o);
-        test("-1705032704null", "" + sf_lM + sf_oNtS);
-        test("-1705032704true", "" + sf_lM + s_bl);
-        test("-17050327043900", "" + sf_lM + s_s);
-        test("-1705032704null", "" + sf_lM + sf_oN);
-        test("-170503270494000000", "" + sf_lM + f_I);
-        test("-1705032704null", "" + sf_lM + f_IN);
-        test("-1705032704true", "" + sf_lM + sf_bl);
-        test("-17050327045500", "" + sf_lM + sf_s);
-        test("-1705032704-2900", "" + sf_lM + s_sM);
-        test("-1705032704-194313216", "" + sf_lM + sf_l);
-        test("-170503270412", "" + sf_lM + s_strU1);
-        test("-1705032704C(87)", "" + sf_lM + sf_o);
-        test("-170503270491", "" + sf_lM + s_strU2);
-        test("-170503270421", "" + sf_lM + f_strU1);
-        test("-170503270418", "" + sf_lM + f_strU2);
-        test("-1705032704null", "" + sf_lM + f_iAN);
-        test("-1705032704null", "" + sf_lM + s_oN);
-        test("-1705032704\u045180", "" + sf_lM + s_strU);
-        test("-1705032704C", "" + sf_lM + sf_c);
-        test("-170503270475", "" + sf_lM + sf_str);
-        test("-1705032704-43", "" + sf_lM + s_bM);
-        test("-170503270480", "" + sf_lM + sf_b);
-        test("-1705032704null", "" + sf_lM + s_IN);
-        test("-1705032704-52.0", "" + sf_lM + s_fM);
-        test("-170503270475000000", "" + sf_lM + sf_i);
-        test("-170503270444", "" + sf_lM + f_b);
-        test("-1705032704-1705032704", "" + sf_lM + sf_lM);
-        test("-1705032704null", "" + sf_lM + f_oAN);
-        test("-170503270483.0", "" + sf_lM + f_d);
-        test("-1705032704I", "" + sf_lM + f_c);
-        test("-170503270494.0", "" + sf_lM + f_f);
-        test("-170503270412.0", "" + sf_lM + sf_d);
-        test("-1705032704-99.0", "" + sf_lM + f_dM);
-        test("-170503270417.0", "" + sf_lM + sf_f);
-        test("-1705032704-84.0", "" + sf_lM + sf_dM);
-        test("-170503270458000000", "" + sf_lM + f_i);
-        test("-1705032704-55000000", "" + sf_lM + f_iM);
-        test("-17050327041460392448", "" + sf_lM + f_l);
-        test("-1705032704C(70)", "" + sf_lM + f_o);
-        test("-1705032704\u04511", "" + sf_lM + sf_strU);
-        test("-17050327048000", "" + sf_lM + f_s);
-        test("-170503270418", "" + sf_lM + s_str);
-        test("-1705032704-1000000", "" + sf_lM + s_iM);
-        test("-17050327041000000", "" + sf_lM + sf_I);
-        test("-1705032704null", "" + sf_lM + f_oNtS);
-        test("-1705032704false", "" + sf_lM + f_bl);
-        test("-1705032704null", "" + sf_lM + sf_iAN);
-        test("-1705032704-2000000", "" + sf_lM + sf_iM);
-        test("-1705032704-820130816", "" + sf_lM + f_lM);
-        test("-1705032704null", "" + sf_lM + sf_oAN);
-        test("-170503270425000000", "" + sf_lM + s_I);
-        test("null-96.0", "" + f_oAN + s_dM);
-        test("nullnull", "" + f_oAN + s_oNtS);
-        test("null\u045176", "" + f_oAN + f_strU);
-        test("null92", "" + f_oAN + sf_strU2);
-        test("null51", "" + f_oAN + sf_strU1);
-        test("nullnull", "" + f_oAN + s_iAN);
-        test("null-54", "" + f_oAN + f_bM);
-        test("null-87.0", "" + f_oAN + f_fM);
-        test("nullnull", "" + f_oAN + s_oAN);
-        test("null19", "" + f_oAN + f_str);
-        test("null-41", "" + f_oAN + sf_bM);
-        test("nullnull", "" + f_oAN + sf_IN);
-        test("nullT", "" + f_oAN + s_c);
-        test("null-42.0", "" + f_oAN + sf_fM);
-        test("null25", "" + f_oAN + s_b);
-        test("nullnull", "" + f_oAN + f_oN);
-        test("null-1410065408", "" + f_oAN + s_lM);
-        test("null8.0", "" + f_oAN + s_d);
-        test("null55.0", "" + f_oAN + s_f);
-        test("null97000000", "" + f_oAN + s_i);
-        test("null-9900", "" + f_oAN + f_sM);
-        test("null935228928", "" + f_oAN + s_l);
-        test("null-8400", "" + f_oAN + sf_sM);
-        test("nullC(82)", "" + f_oAN + s_o);
-        test("nullnull", "" + f_oAN + sf_oNtS);
-        test("nulltrue", "" + f_oAN + s_bl);
-        test("null3900", "" + f_oAN + s_s);
-        test("nullnull", "" + f_oAN + sf_oN);
-        test("null94000000", "" + f_oAN + f_I);
-        test("nullnull", "" + f_oAN + f_IN);
-        test("nulltrue", "" + f_oAN + sf_bl);
-        test("null5500", "" + f_oAN + sf_s);
-        test("null-2900", "" + f_oAN + s_sM);
-        test("null-194313216", "" + f_oAN + sf_l);
-        test("null12", "" + f_oAN + s_strU1);
-        test("nullC(87)", "" + f_oAN + sf_o);
-        test("null91", "" + f_oAN + s_strU2);
-        test("null21", "" + f_oAN + f_strU1);
-        test("null18", "" + f_oAN + f_strU2);
-        test("nullnull", "" + f_oAN + f_iAN);
-        test("nullnull", "" + f_oAN + s_oN);
-        test("null\u045180", "" + f_oAN + s_strU);
-        test("nullC", "" + f_oAN + sf_c);
-        test("null75", "" + f_oAN + sf_str);
-        test("null-43", "" + f_oAN + s_bM);
-        test("null80", "" + f_oAN + sf_b);
-        test("nullnull", "" + f_oAN + s_IN);
-        test("null-52.0", "" + f_oAN + s_fM);
-        test("null75000000", "" + f_oAN + sf_i);
-        test("null44", "" + f_oAN + f_b);
-        test("null-1705032704", "" + f_oAN + sf_lM);
-        test("nullnull", "" + f_oAN + f_oAN);
-        test("null83.0", "" + f_oAN + f_d);
-        test("nullI", "" + f_oAN + f_c);
-        test("null94.0", "" + f_oAN + f_f);
-        test("null12.0", "" + f_oAN + sf_d);
-        test("null-99.0", "" + f_oAN + f_dM);
-        test("null17.0", "" + f_oAN + sf_f);
-        test("null-84.0", "" + f_oAN + sf_dM);
-        test("null58000000", "" + f_oAN + f_i);
-        test("null-55000000", "" + f_oAN + f_iM);
-        test("null1460392448", "" + f_oAN + f_l);
-        test("nullC(70)", "" + f_oAN + f_o);
-        test("null\u04511", "" + f_oAN + sf_strU);
-        test("null8000", "" + f_oAN + f_s);
-        test("null18", "" + f_oAN + s_str);
-        test("null-1000000", "" + f_oAN + s_iM);
-        test("null1000000", "" + f_oAN + sf_I);
-        test("nullnull", "" + f_oAN + f_oNtS);
-        test("nullfalse", "" + f_oAN + f_bl);
-        test("nullnull", "" + f_oAN + sf_iAN);
-        test("null-2000000", "" + f_oAN + sf_iM);
-        test("null-820130816", "" + f_oAN + f_lM);
-        test("nullnull", "" + f_oAN + sf_oAN);
-        test("null25000000", "" + f_oAN + s_I);
-        test("83.0-96.0", "" + f_d + s_dM);
-        test("83.0null", "" + f_d + s_oNtS);
-        test("83.0\u045176", "" + f_d + f_strU);
-        test("83.092", "" + f_d + sf_strU2);
-        test("83.051", "" + f_d + sf_strU1);
-        test("83.0null", "" + f_d + s_iAN);
-        test("83.0-54", "" + f_d + f_bM);
-        test("83.0-87.0", "" + f_d + f_fM);
-        test("83.0null", "" + f_d + s_oAN);
-        test("83.019", "" + f_d + f_str);
-        test("83.0-41", "" + f_d + sf_bM);
-        test("83.0null", "" + f_d + sf_IN);
-        test("83.0T", "" + f_d + s_c);
-        test("83.0-42.0", "" + f_d + sf_fM);
-        test("83.025", "" + f_d + s_b);
-        test("83.0null", "" + f_d + f_oN);
-        test("83.0-1410065408", "" + f_d + s_lM);
-        test("83.08.0", "" + f_d + s_d);
-        test("83.055.0", "" + f_d + s_f);
-        test("83.097000000", "" + f_d + s_i);
-        test("83.0-9900", "" + f_d + f_sM);
-        test("83.0935228928", "" + f_d + s_l);
-        test("83.0-8400", "" + f_d + sf_sM);
-        test("83.0C(82)", "" + f_d + s_o);
-        test("83.0null", "" + f_d + sf_oNtS);
+        test("T-96.0", "" + s_c + s_dM);
+        test("T-96.0suffix", "" + s_c + s_dM + "suffix");
+        test("prefixTsuffix1-96.0suffix2", "prefix" + s_c + "suffix1" + s_dM + "suffix2");
+        test("Tnull", "" + s_c + s_oNtS);
+        test("Tnullsuffix", "" + s_c + s_oNtS + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + s_oNtS + "suffix2");
+        test("T\u045176", "" + s_c + f_strU);
+        test("T\u045176suffix", "" + s_c + f_strU + "suffix");
+        test("prefixTsuffix1\u045176suffix2", "prefix" + s_c + "suffix1" + f_strU + "suffix2");
+        test("T92", "" + s_c + sf_strU2);
+        test("T92suffix", "" + s_c + sf_strU2 + "suffix");
+        test("prefixTsuffix192suffix2", "prefix" + s_c + "suffix1" + sf_strU2 + "suffix2");
+        test("T51", "" + s_c + sf_strU1);
+        test("T51suffix", "" + s_c + sf_strU1 + "suffix");
+        test("prefixTsuffix151suffix2", "prefix" + s_c + "suffix1" + sf_strU1 + "suffix2");
+        test("Tnull", "" + s_c + s_iAN);
+        test("Tnullsuffix", "" + s_c + s_iAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + s_iAN + "suffix2");
+        test("T-54", "" + s_c + f_bM);
+        test("T-54suffix", "" + s_c + f_bM + "suffix");
+        test("prefixTsuffix1-54suffix2", "prefix" + s_c + "suffix1" + f_bM + "suffix2");
+        test("T-87.0", "" + s_c + f_fM);
+        test("T-87.0suffix", "" + s_c + f_fM + "suffix");
+        test("prefixTsuffix1-87.0suffix2", "prefix" + s_c + "suffix1" + f_fM + "suffix2");
+        test("Tnull", "" + s_c + s_oAN);
+        test("Tnullsuffix", "" + s_c + s_oAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + s_oAN + "suffix2");
+        test("T19", "" + s_c + f_str);
+        test("T19suffix", "" + s_c + f_str + "suffix");
+        test("prefixTsuffix119suffix2", "prefix" + s_c + "suffix1" + f_str + "suffix2");
+        test("T-41", "" + s_c + sf_bM);
+        test("T-41suffix", "" + s_c + sf_bM + "suffix");
+        test("prefixTsuffix1-41suffix2", "prefix" + s_c + "suffix1" + sf_bM + "suffix2");
+        test("Tnull", "" + s_c + sf_IN);
+        test("Tnullsuffix", "" + s_c + sf_IN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + sf_IN + "suffix2");
+        test("TT", "" + s_c + s_c);
+        test("TTsuffix", "" + s_c + s_c + "suffix");
+        test("prefixTsuffix1Tsuffix2", "prefix" + s_c + "suffix1" + s_c + "suffix2");
+        test("T-42.0", "" + s_c + sf_fM);
+        test("T-42.0suffix", "" + s_c + sf_fM + "suffix");
+        test("prefixTsuffix1-42.0suffix2", "prefix" + s_c + "suffix1" + sf_fM + "suffix2");
+        test("T25", "" + s_c + s_b);
+        test("T25suffix", "" + s_c + s_b + "suffix");
+        test("prefixTsuffix125suffix2", "prefix" + s_c + "suffix1" + s_b + "suffix2");
+        test("Tnull", "" + s_c + f_oN);
+        test("Tnullsuffix", "" + s_c + f_oN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + f_oN + "suffix2");
+        test("T-1410065408", "" + s_c + s_lM);
+        test("T-1410065408suffix", "" + s_c + s_lM + "suffix");
+        test("prefixTsuffix1-1410065408suffix2", "prefix" + s_c + "suffix1" + s_lM + "suffix2");
+        test("T8.0", "" + s_c + s_d);
+        test("T8.0suffix", "" + s_c + s_d + "suffix");
+        test("prefixTsuffix18.0suffix2", "prefix" + s_c + "suffix1" + s_d + "suffix2");
+        test("T55.0", "" + s_c + s_f);
+        test("T55.0suffix", "" + s_c + s_f + "suffix");
+        test("prefixTsuffix155.0suffix2", "prefix" + s_c + "suffix1" + s_f + "suffix2");
+        test("T97000000", "" + s_c + s_i);
+        test("T97000000suffix", "" + s_c + s_i + "suffix");
+        test("prefixTsuffix197000000suffix2", "prefix" + s_c + "suffix1" + s_i + "suffix2");
+        test("T-9900", "" + s_c + f_sM);
+        test("T-9900suffix", "" + s_c + f_sM + "suffix");
+        test("prefixTsuffix1-9900suffix2", "prefix" + s_c + "suffix1" + f_sM + "suffix2");
+        test("T935228928", "" + s_c + s_l);
+        test("T935228928suffix", "" + s_c + s_l + "suffix");
+        test("prefixTsuffix1935228928suffix2", "prefix" + s_c + "suffix1" + s_l + "suffix2");
+        test("T-8400", "" + s_c + sf_sM);
+        test("T-8400suffix", "" + s_c + sf_sM + "suffix");
+        test("prefixTsuffix1-8400suffix2", "prefix" + s_c + "suffix1" + sf_sM + "suffix2");
+        test("TC(82)", "" + s_c + s_o);
+        test("TC(82)suffix", "" + s_c + s_o + "suffix");
+        test("prefixTsuffix1C(82)suffix2", "prefix" + s_c + "suffix1" + s_o + "suffix2");
+        test("Tnull", "" + s_c + sf_oNtS);
+        test("Tnullsuffix", "" + s_c + sf_oNtS + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + sf_oNtS + "suffix2");
+        test("Ttrue", "" + s_c + s_bl);
+        test("Ttruesuffix", "" + s_c + s_bl + "suffix");
+        test("prefixTsuffix1truesuffix2", "prefix" + s_c + "suffix1" + s_bl + "suffix2");
+        test("T3900", "" + s_c + s_s);
+        test("T3900suffix", "" + s_c + s_s + "suffix");
+        test("prefixTsuffix13900suffix2", "prefix" + s_c + "suffix1" + s_s + "suffix2");
+        test("Tnull", "" + s_c + sf_oN);
+        test("Tnullsuffix", "" + s_c + sf_oN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + sf_oN + "suffix2");
+        test("T94000000", "" + s_c + f_I);
+        test("T94000000suffix", "" + s_c + f_I + "suffix");
+        test("prefixTsuffix194000000suffix2", "prefix" + s_c + "suffix1" + f_I + "suffix2");
+        test("Tnull", "" + s_c + f_IN);
+        test("Tnullsuffix", "" + s_c + f_IN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + f_IN + "suffix2");
+        test("Ttrue", "" + s_c + sf_bl);
+        test("Ttruesuffix", "" + s_c + sf_bl + "suffix");
+        test("prefixTsuffix1truesuffix2", "prefix" + s_c + "suffix1" + sf_bl + "suffix2");
+        test("T5500", "" + s_c + sf_s);
+        test("T5500suffix", "" + s_c + sf_s + "suffix");
+        test("prefixTsuffix15500suffix2", "prefix" + s_c + "suffix1" + sf_s + "suffix2");
+        test("T-2900", "" + s_c + s_sM);
+        test("T-2900suffix", "" + s_c + s_sM + "suffix");
+        test("prefixTsuffix1-2900suffix2", "prefix" + s_c + "suffix1" + s_sM + "suffix2");
+        test("T-194313216", "" + s_c + sf_l);
+        test("T-194313216suffix", "" + s_c + sf_l + "suffix");
+        test("prefixTsuffix1-194313216suffix2", "prefix" + s_c + "suffix1" + sf_l + "suffix2");
+        test("T12", "" + s_c + s_strU1);
+        test("T12suffix", "" + s_c + s_strU1 + "suffix");
+        test("prefixTsuffix112suffix2", "prefix" + s_c + "suffix1" + s_strU1 + "suffix2");
+        test("TC(87)", "" + s_c + sf_o);
+        test("TC(87)suffix", "" + s_c + sf_o + "suffix");
+        test("prefixTsuffix1C(87)suffix2", "prefix" + s_c + "suffix1" + sf_o + "suffix2");
+        test("T91", "" + s_c + s_strU2);
+        test("T91suffix", "" + s_c + s_strU2 + "suffix");
+        test("prefixTsuffix191suffix2", "prefix" + s_c + "suffix1" + s_strU2 + "suffix2");
+        test("T21", "" + s_c + f_strU1);
+        test("T21suffix", "" + s_c + f_strU1 + "suffix");
+        test("prefixTsuffix121suffix2", "prefix" + s_c + "suffix1" + f_strU1 + "suffix2");
+        test("T18", "" + s_c + f_strU2);
+        test("T18suffix", "" + s_c + f_strU2 + "suffix");
+        test("prefixTsuffix118suffix2", "prefix" + s_c + "suffix1" + f_strU2 + "suffix2");
+        test("Tnull", "" + s_c + f_iAN);
+        test("Tnullsuffix", "" + s_c + f_iAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + f_iAN + "suffix2");
+        test("Tnull", "" + s_c + s_oN);
+        test("Tnullsuffix", "" + s_c + s_oN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + s_oN + "suffix2");
+        test("T\u045180", "" + s_c + s_strU);
+        test("T\u045180suffix", "" + s_c + s_strU + "suffix");
+        test("prefixTsuffix1\u045180suffix2", "prefix" + s_c + "suffix1" + s_strU + "suffix2");
+        test("TC", "" + s_c + sf_c);
+        test("TCsuffix", "" + s_c + sf_c + "suffix");
+        test("prefixTsuffix1Csuffix2", "prefix" + s_c + "suffix1" + sf_c + "suffix2");
+        test("T75", "" + s_c + sf_str);
+        test("T75suffix", "" + s_c + sf_str + "suffix");
+        test("prefixTsuffix175suffix2", "prefix" + s_c + "suffix1" + sf_str + "suffix2");
+        test("T-43", "" + s_c + s_bM);
+        test("T-43suffix", "" + s_c + s_bM + "suffix");
+        test("prefixTsuffix1-43suffix2", "prefix" + s_c + "suffix1" + s_bM + "suffix2");
+        test("T80", "" + s_c + sf_b);
+        test("T80suffix", "" + s_c + sf_b + "suffix");
+        test("prefixTsuffix180suffix2", "prefix" + s_c + "suffix1" + sf_b + "suffix2");
+        test("Tnull", "" + s_c + s_IN);
+        test("Tnullsuffix", "" + s_c + s_IN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + s_IN + "suffix2");
+        test("T-52.0", "" + s_c + s_fM);
+        test("T-52.0suffix", "" + s_c + s_fM + "suffix");
+        test("prefixTsuffix1-52.0suffix2", "prefix" + s_c + "suffix1" + s_fM + "suffix2");
+        test("T75000000", "" + s_c + sf_i);
+        test("T75000000suffix", "" + s_c + sf_i + "suffix");
+        test("prefixTsuffix175000000suffix2", "prefix" + s_c + "suffix1" + sf_i + "suffix2");
+        test("T44", "" + s_c + f_b);
+        test("T44suffix", "" + s_c + f_b + "suffix");
+        test("prefixTsuffix144suffix2", "prefix" + s_c + "suffix1" + f_b + "suffix2");
+        test("T-1705032704", "" + s_c + sf_lM);
+        test("T-1705032704suffix", "" + s_c + sf_lM + "suffix");
+        test("prefixTsuffix1-1705032704suffix2", "prefix" + s_c + "suffix1" + sf_lM + "suffix2");
+        test("Tnull", "" + s_c + f_oAN);
+        test("Tnullsuffix", "" + s_c + f_oAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + f_oAN + "suffix2");
+        test("T83.0", "" + s_c + f_d);
+        test("T83.0suffix", "" + s_c + f_d + "suffix");
+        test("prefixTsuffix183.0suffix2", "prefix" + s_c + "suffix1" + f_d + "suffix2");
+        test("TI", "" + s_c + f_c);
+        test("TIsuffix", "" + s_c + f_c + "suffix");
+        test("prefixTsuffix1Isuffix2", "prefix" + s_c + "suffix1" + f_c + "suffix2");
+        test("T94.0", "" + s_c + f_f);
+        test("T94.0suffix", "" + s_c + f_f + "suffix");
+        test("prefixTsuffix194.0suffix2", "prefix" + s_c + "suffix1" + f_f + "suffix2");
+        test("T12.0", "" + s_c + sf_d);
+        test("T12.0suffix", "" + s_c + sf_d + "suffix");
+        test("prefixTsuffix112.0suffix2", "prefix" + s_c + "suffix1" + sf_d + "suffix2");
+        test("T-99.0", "" + s_c + f_dM);
+        test("T-99.0suffix", "" + s_c + f_dM + "suffix");
+        test("prefixTsuffix1-99.0suffix2", "prefix" + s_c + "suffix1" + f_dM + "suffix2");
+        test("T17.0", "" + s_c + sf_f);
+        test("T17.0suffix", "" + s_c + sf_f + "suffix");
+        test("prefixTsuffix117.0suffix2", "prefix" + s_c + "suffix1" + sf_f + "suffix2");
+        test("T-84.0", "" + s_c + sf_dM);
+        test("T-84.0suffix", "" + s_c + sf_dM + "suffix");
+        test("prefixTsuffix1-84.0suffix2", "prefix" + s_c + "suffix1" + sf_dM + "suffix2");
+        test("T58000000", "" + s_c + f_i);
+        test("T58000000suffix", "" + s_c + f_i + "suffix");
+        test("prefixTsuffix158000000suffix2", "prefix" + s_c + "suffix1" + f_i + "suffix2");
+        test("T-55000000", "" + s_c + f_iM);
+        test("T-55000000suffix", "" + s_c + f_iM + "suffix");
+        test("prefixTsuffix1-55000000suffix2", "prefix" + s_c + "suffix1" + f_iM + "suffix2");
+        test("T1460392448", "" + s_c + f_l);
+        test("T1460392448suffix", "" + s_c + f_l + "suffix");
+        test("prefixTsuffix11460392448suffix2", "prefix" + s_c + "suffix1" + f_l + "suffix2");
+        test("TC(70)", "" + s_c + f_o);
+        test("TC(70)suffix", "" + s_c + f_o + "suffix");
+        test("prefixTsuffix1C(70)suffix2", "prefix" + s_c + "suffix1" + f_o + "suffix2");
+        test("T\u04511", "" + s_c + sf_strU);
+        test("T\u04511suffix", "" + s_c + sf_strU + "suffix");
+        test("prefixTsuffix1\u04511suffix2", "prefix" + s_c + "suffix1" + sf_strU + "suffix2");
+        test("T8000", "" + s_c + f_s);
+        test("T8000suffix", "" + s_c + f_s + "suffix");
+        test("prefixTsuffix18000suffix2", "prefix" + s_c + "suffix1" + f_s + "suffix2");
+        test("T18", "" + s_c + s_str);
+        test("T18suffix", "" + s_c + s_str + "suffix");
+        test("prefixTsuffix118suffix2", "prefix" + s_c + "suffix1" + s_str + "suffix2");
+        test("T-1000000", "" + s_c + s_iM);
+        test("T-1000000suffix", "" + s_c + s_iM + "suffix");
+        test("prefixTsuffix1-1000000suffix2", "prefix" + s_c + "suffix1" + s_iM + "suffix2");
+        test("T1000000", "" + s_c + sf_I);
+        test("T1000000suffix", "" + s_c + sf_I + "suffix");
+        test("prefixTsuffix11000000suffix2", "prefix" + s_c + "suffix1" + sf_I + "suffix2");
+        test("Tnull", "" + s_c + f_oNtS);
+        test("Tnullsuffix", "" + s_c + f_oNtS + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + f_oNtS + "suffix2");
+        test("Tfalse", "" + s_c + f_bl);
+        test("Tfalsesuffix", "" + s_c + f_bl + "suffix");
+        test("prefixTsuffix1falsesuffix2", "prefix" + s_c + "suffix1" + f_bl + "suffix2");
+        test("Tnull", "" + s_c + sf_iAN);
+        test("Tnullsuffix", "" + s_c + sf_iAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + sf_iAN + "suffix2");
+        test("T-2000000", "" + s_c + sf_iM);
+        test("T-2000000suffix", "" + s_c + sf_iM + "suffix");
+        test("prefixTsuffix1-2000000suffix2", "prefix" + s_c + "suffix1" + sf_iM + "suffix2");
+        test("T-820130816", "" + s_c + f_lM);
+        test("T-820130816suffix", "" + s_c + f_lM + "suffix");
+        test("prefixTsuffix1-820130816suffix2", "prefix" + s_c + "suffix1" + f_lM + "suffix2");
+        test("Tnull", "" + s_c + sf_oAN);
+        test("Tnullsuffix", "" + s_c + sf_oAN + "suffix");
+        test("prefixTsuffix1nullsuffix2", "prefix" + s_c + "suffix1" + sf_oAN + "suffix2");
+        test("T25000000", "" + s_c + s_I);
+        test("T25000000suffix", "" + s_c + s_I + "suffix");
+        test("prefixTsuffix125000000suffix2", "prefix" + s_c + "suffix1" + s_I + "suffix2");
+        test("-42.0-96.0", "" + sf_fM + s_dM);
+        test("-42.0-96.0suffix", "" + sf_fM + s_dM + "suffix");
+        test("prefix-42.0suffix1-96.0suffix2", "prefix" + sf_fM + "suffix1" + s_dM + "suffix2");
+        test("-42.0null", "" + sf_fM + s_oNtS);
+        test("-42.0nullsuffix", "" + sf_fM + s_oNtS + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + s_oNtS + "suffix2");
+        test("-42.0\u045176", "" + sf_fM + f_strU);
+        test("-42.0\u045176suffix", "" + sf_fM + f_strU + "suffix");
+        test("prefix-42.0suffix1\u045176suffix2", "prefix" + sf_fM + "suffix1" + f_strU + "suffix2");
+        test("-42.092", "" + sf_fM + sf_strU2);
+        test("-42.092suffix", "" + sf_fM + sf_strU2 + "suffix");
+        test("prefix-42.0suffix192suffix2", "prefix" + sf_fM + "suffix1" + sf_strU2 + "suffix2");
+        test("-42.051", "" + sf_fM + sf_strU1);
+        test("-42.051suffix", "" + sf_fM + sf_strU1 + "suffix");
+        test("prefix-42.0suffix151suffix2", "prefix" + sf_fM + "suffix1" + sf_strU1 + "suffix2");
+        test("-42.0null", "" + sf_fM + s_iAN);
+        test("-42.0nullsuffix", "" + sf_fM + s_iAN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + s_iAN + "suffix2");
+        test("-42.0-54", "" + sf_fM + f_bM);
+        test("-42.0-54suffix", "" + sf_fM + f_bM + "suffix");
+        test("prefix-42.0suffix1-54suffix2", "prefix" + sf_fM + "suffix1" + f_bM + "suffix2");
+        test("-42.0-87.0", "" + sf_fM + f_fM);
+        test("-42.0-87.0suffix", "" + sf_fM + f_fM + "suffix");
+        test("prefix-42.0suffix1-87.0suffix2", "prefix" + sf_fM + "suffix1" + f_fM + "suffix2");
+        test("-42.0null", "" + sf_fM + s_oAN);
+        test("-42.0nullsuffix", "" + sf_fM + s_oAN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + s_oAN + "suffix2");
+        test("-42.019", "" + sf_fM + f_str);
+        test("-42.019suffix", "" + sf_fM + f_str + "suffix");
+        test("prefix-42.0suffix119suffix2", "prefix" + sf_fM + "suffix1" + f_str + "suffix2");
+        test("-42.0-41", "" + sf_fM + sf_bM);
+        test("-42.0-41suffix", "" + sf_fM + sf_bM + "suffix");
+        test("prefix-42.0suffix1-41suffix2", "prefix" + sf_fM + "suffix1" + sf_bM + "suffix2");
+        test("-42.0null", "" + sf_fM + sf_IN);
+        test("-42.0nullsuffix", "" + sf_fM + sf_IN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + sf_IN + "suffix2");
+        test("-42.0T", "" + sf_fM + s_c);
+        test("-42.0Tsuffix", "" + sf_fM + s_c + "suffix");
+        test("prefix-42.0suffix1Tsuffix2", "prefix" + sf_fM + "suffix1" + s_c + "suffix2");
+        test("-42.0-42.0", "" + sf_fM + sf_fM);
+        test("-42.0-42.0suffix", "" + sf_fM + sf_fM + "suffix");
+        test("prefix-42.0suffix1-42.0suffix2", "prefix" + sf_fM + "suffix1" + sf_fM + "suffix2");
+        test("-42.025", "" + sf_fM + s_b);
+        test("-42.025suffix", "" + sf_fM + s_b + "suffix");
+        test("prefix-42.0suffix125suffix2", "prefix" + sf_fM + "suffix1" + s_b + "suffix2");
+        test("-42.0null", "" + sf_fM + f_oN);
+        test("-42.0nullsuffix", "" + sf_fM + f_oN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + f_oN + "suffix2");
+        test("-42.0-1410065408", "" + sf_fM + s_lM);
+        test("-42.0-1410065408suffix", "" + sf_fM + s_lM + "suffix");
+        test("prefix-42.0suffix1-1410065408suffix2", "prefix" + sf_fM + "suffix1" + s_lM + "suffix2");
+        test("-42.08.0", "" + sf_fM + s_d);
+        test("-42.08.0suffix", "" + sf_fM + s_d + "suffix");
+        test("prefix-42.0suffix18.0suffix2", "prefix" + sf_fM + "suffix1" + s_d + "suffix2");
+        test("-42.055.0", "" + sf_fM + s_f);
+        test("-42.055.0suffix", "" + sf_fM + s_f + "suffix");
+        test("prefix-42.0suffix155.0suffix2", "prefix" + sf_fM + "suffix1" + s_f + "suffix2");
+        test("-42.097000000", "" + sf_fM + s_i);
+        test("-42.097000000suffix", "" + sf_fM + s_i + "suffix");
+        test("prefix-42.0suffix197000000suffix2", "prefix" + sf_fM + "suffix1" + s_i + "suffix2");
+        test("-42.0-9900", "" + sf_fM + f_sM);
+        test("-42.0-9900suffix", "" + sf_fM + f_sM + "suffix");
+        test("prefix-42.0suffix1-9900suffix2", "prefix" + sf_fM + "suffix1" + f_sM + "suffix2");
+        test("-42.0935228928", "" + sf_fM + s_l);
+        test("-42.0935228928suffix", "" + sf_fM + s_l + "suffix");
+        test("prefix-42.0suffix1935228928suffix2", "prefix" + sf_fM + "suffix1" + s_l + "suffix2");
+        test("-42.0-8400", "" + sf_fM + sf_sM);
+        test("-42.0-8400suffix", "" + sf_fM + sf_sM + "suffix");
+        test("prefix-42.0suffix1-8400suffix2", "prefix" + sf_fM + "suffix1" + sf_sM + "suffix2");
+        test("-42.0C(82)", "" + sf_fM + s_o);
+        test("-42.0C(82)suffix", "" + sf_fM + s_o + "suffix");
+        test("prefix-42.0suffix1C(82)suffix2", "prefix" + sf_fM + "suffix1" + s_o + "suffix2");
+        test("-42.0null", "" + sf_fM + sf_oNtS);
+        test("-42.0nullsuffix", "" + sf_fM + sf_oNtS + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + sf_oNtS + "suffix2");
+        test("-42.0true", "" + sf_fM + s_bl);
+        test("-42.0truesuffix", "" + sf_fM + s_bl + "suffix");
+        test("prefix-42.0suffix1truesuffix2", "prefix" + sf_fM + "suffix1" + s_bl + "suffix2");
+        test("-42.03900", "" + sf_fM + s_s);
+        test("-42.03900suffix", "" + sf_fM + s_s + "suffix");
+        test("prefix-42.0suffix13900suffix2", "prefix" + sf_fM + "suffix1" + s_s + "suffix2");
+        test("-42.0null", "" + sf_fM + sf_oN);
+        test("-42.0nullsuffix", "" + sf_fM + sf_oN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + sf_oN + "suffix2");
+        test("-42.094000000", "" + sf_fM + f_I);
+        test("-42.094000000suffix", "" + sf_fM + f_I + "suffix");
+        test("prefix-42.0suffix194000000suffix2", "prefix" + sf_fM + "suffix1" + f_I + "suffix2");
+        test("-42.0null", "" + sf_fM + f_IN);
+        test("-42.0nullsuffix", "" + sf_fM + f_IN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + f_IN + "suffix2");
+        test("-42.0true", "" + sf_fM + sf_bl);
+        test("-42.0truesuffix", "" + sf_fM + sf_bl + "suffix");
+        test("prefix-42.0suffix1truesuffix2", "prefix" + sf_fM + "suffix1" + sf_bl + "suffix2");
+        test("-42.05500", "" + sf_fM + sf_s);
+        test("-42.05500suffix", "" + sf_fM + sf_s + "suffix");
+        test("prefix-42.0suffix15500suffix2", "prefix" + sf_fM + "suffix1" + sf_s + "suffix2");
+        test("-42.0-2900", "" + sf_fM + s_sM);
+        test("-42.0-2900suffix", "" + sf_fM + s_sM + "suffix");
+        test("prefix-42.0suffix1-2900suffix2", "prefix" + sf_fM + "suffix1" + s_sM + "suffix2");
+        test("-42.0-194313216", "" + sf_fM + sf_l);
+        test("-42.0-194313216suffix", "" + sf_fM + sf_l + "suffix");
+        test("prefix-42.0suffix1-194313216suffix2", "prefix" + sf_fM + "suffix1" + sf_l + "suffix2");
+        test("-42.012", "" + sf_fM + s_strU1);
+        test("-42.012suffix", "" + sf_fM + s_strU1 + "suffix");
+        test("prefix-42.0suffix112suffix2", "prefix" + sf_fM + "suffix1" + s_strU1 + "suffix2");
+        test("-42.0C(87)", "" + sf_fM + sf_o);
+        test("-42.0C(87)suffix", "" + sf_fM + sf_o + "suffix");
+        test("prefix-42.0suffix1C(87)suffix2", "prefix" + sf_fM + "suffix1" + sf_o + "suffix2");
+        test("-42.091", "" + sf_fM + s_strU2);
+        test("-42.091suffix", "" + sf_fM + s_strU2 + "suffix");
+        test("prefix-42.0suffix191suffix2", "prefix" + sf_fM + "suffix1" + s_strU2 + "suffix2");
+        test("-42.021", "" + sf_fM + f_strU1);
+        test("-42.021suffix", "" + sf_fM + f_strU1 + "suffix");
+        test("prefix-42.0suffix121suffix2", "prefix" + sf_fM + "suffix1" + f_strU1 + "suffix2");
+        test("-42.018", "" + sf_fM + f_strU2);
+        test("-42.018suffix", "" + sf_fM + f_strU2 + "suffix");
+        test("prefix-42.0suffix118suffix2", "prefix" + sf_fM + "suffix1" + f_strU2 + "suffix2");
+        test("-42.0null", "" + sf_fM + f_iAN);
+        test("-42.0nullsuffix", "" + sf_fM + f_iAN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + f_iAN + "suffix2");
+        test("-42.0null", "" + sf_fM + s_oN);
+        test("-42.0nullsuffix", "" + sf_fM + s_oN + "suffix");
+        test("prefix-42.0suffix1nullsuffix2", "prefix" + sf_fM + "suffix1" + s_oN + "suffix2");
+        test("-42.0\u045180", "" + sf_fM + s_strU);
+        test("-42.0\u045180suffix", "" + sf_fM + s_strU + "suffix");
+        test("prefix-42.0suffix1\u045180suffix2", "prefix" + sf_fM + "suffix1" + s_strU + "suffix2");
+        test("-42.0C", "" + sf_fM + sf_c);
+        test("-42.0Csuffix", "" + sf_fM + sf_c + "suffix");
+        test("prefix-42.0suffix1Csuffix2", "prefix" + sf_fM + "suffix1" + sf_c + "suffix2");
+        test("-42.075", "" + sf_fM + sf_str);
+        test("-42.075suffix", "" + sf_fM + sf_str + "suffix");
+        test("prefix-42.0suffix175suffix2", "prefix" + sf_fM + "suffix1" + sf_str + "suffix2");